1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm kiếm bằng ngôn ngữ tự nhiên

79 16 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 1,83 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm kiếm bằng ngôn ngữ tự nhiên Tìm kiếm bằng ngôn ngữ tự nhiên Tìm kiếm bằng ngôn ngữ tự nhiên luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

NGƯỜI HƯỚNG DẪN KHOA HỌC:

TS Thân Quang Khoát

HÀ NỘI - 2019

Trang 2

Lời cam đoan

Tôi - Nguyễn Minh Phương - cam kết luận văn này là công trình nghiên cứu của bảnthân tôi, dưới sự hướng dẫn của TS Thân Quang Khoát Các kết quả công bố trongbáo cáo này là trung thực, không phải là sao chép của bất kỳ một cá nhân, hoặc tổchức đã được công bố nào khác Tất cả các trích dẫn được tham chiếu rõ ràng

Ngày 23 tháng 9 năm 2019Tác giả luận văn:

Nguyễn Minh Phương

Xác nhận của người hướng dẫn

Ngày 23 tháng 9 năm 2019Người hướng dẫn:

TS Thân Quang Khoát

Trang 3

Lời cảm ơn

Đầu tiên, em xin được gửi lời cảm ơn chân thành đến các thầy giáo, cô giáo thuộctrường đại học Bách Khoa Hà Nội Đặc biệt là các thầy giáo, cô giáo thuộc ViệnCông nghệ Thông tin và Truyền Thông Chính các thầy cô giáo đã trang bị cho emnhững kiến thức quý báu trong thời gian em học tập và nghiên cứu tại trường Đồngthời em cũng xin được gửi lời cảm ơn đặc biệt đến TS Thân Quang Khoát Các thầy

là người đã chỉ dẫn tận tình, cho em những kinh nghiệm quý báu để em có thể hoànthành luận văn tốt nghiệp này Thầy cô luôn động viên, giúp đỡ em trong những thờiđiểm khó khăn nhất

Em cũng xin gửi lời cảm ơn chân thành tới các thầy cô thuộc Data Science Labthuộc viện Công Nghệ Thông Tin và Truyền Thông đã tạo điều kiện cho em thựchành thử nghiệm trên các máy tính của lab

Em xin gửi lời cảm ơn tới gia đình và bạn bè Lời động viên tinh thần từ gia đình

và bạn bè luôn là động lực để em tiến lên phía trước

Học viên: Nguyễn Minh Phương, CA180161, khoá 2018A, lớp 18A.HTTT.KH

Trang 4

Tóm tắt nội dung

Với sự phát triển của khoa học công nghệ hiện nay, càng ngày, nhu cầu tìm kiếmthông tin của con người càng cao Các hệ thống tìm kiếm phổ biến thường so khớpmột cách chính xác các từ hoặc các cụm từ trong câu và đưa ra kết quả Việc này đôikhi dẫn đến các kết quả tìm kiếm không chính xác, gây khó khăn cho người dùng Vì

vậy, nghiên cứu này thử nghiệm và đề xuất giải pháp dựa trên Học máy giúp việc tìm

kiếm trở nên đơn giản, hiệu quả đúng theo ngữ nghĩa của câu nói tự nhiên

Ý tưởng chính là nhận diện các thành phần thông tin và quan hệ giữa chúng trongcâu nói Dựa trên đó, sinh ra các truy vấn mang tính ngữ nghĩa để đạt được kết quảchính xác hơn Các nghiên cứu trước đây đã đề xuất phương án sử dụng mô hìnhSequence-to-sequence (Seq2seq) để chuyển hoá ngôn ngữ tự nhiên thành cấu trúcbiểu diễn logic ngữ nghĩa Chúng tôi thử nghiệm dựa trên kết quả này và đề xuất cơchế đánh dấu (Marking mechanism) để cải thiện chất lượng mô hình, đặc biệt trongtrường hợp lĩnh vực tìm kiếm có tên của thực thể đa dạng

Trang 5

Mục lục

2.1 Bài toán Phân tích ngữ nghĩa 16

2.2 Mô hình học máy sử dụng Deep learning 23

2.2.1 Neuron 24

2.2.2 Hàm đánh giá lỗi 25

2.2.3 Giải thuật học - Backpropagation Through Time 25

2.3 Các mô hình Recurrent Neural Network (RNN) 27

2.3.1 Mô hình RNN cơ bản 29

2.3.2 Mô hình RNN kết hợp Long Short-Term Memory 31

2.3.3 Mô hình Sequence to Sequence - Attention 34

3 Các nghiên cứu liên quan 39 3.1 Bài toán Phân tích ngữ nghĩa trong NLP 41

3.1.1 Văn phạm danh mục kết nối (CCG) 41

3.1.2 Mô hình Dịch máy với Neural Network (NMT) 44

3.2 Vấn đề từ hiếm (rare-word) trong mô hình NMT 47

3.2.1 Biểu diễn từ hiếm bởi ký tự đại diện <unk> 47

3.2.2 Cơ chế copy (copy mechanism) trong mô hình Seq2seq 50

Trang 6

4 Mô hình đề xuất 52

4.1 Vấn đề và ý tưởng giải quyết bài toán 52

4.2 Cơ chế đánh dấu trongSeq2seq 56

5 Thử nghiệm và đánh giá 59 5.1 Dữ liệu kiểm thử 59

5.2 Cài đặt thử nghiệm 62

5.3 Kết quả thử nghiệm và đánh giá 63

5.3.1 Đánh giá khả năng học mô hình đề xuất (Seq2seq-2) 64

5.3.2 Mô hình đề xuất trong môi trường đa dạng từ hiếm 66

5.3.3 So sánh mô hình đề xuất và các mô hình liên quan 67

Trang 7

Danh sách hình vẽ

1.1 Tỉ lệ số lượng tìm kiếm của google 12

1.2 Tổng số tìn kiếm của google mỗi năm 12

2.1 Triple trong Web ngữ nghĩa 17

2.2 Ontology đơn giản 17

2.3 Biểu diễn ngữ nghĩa AMR câu "The boy wants to go" . 22

2.4 Cấu trúc Neuron 24

2.5 Kiến trúc mạng RNN 28

2.6 Mạng lan truyền tiến 3 layer 29

2.7 Mạng RNN 30

2.8 Cấu trúc 1 state 33

2.9 Mạng RNN sử dụng LSTM 33

2.10 Mô hình Seq2seq 34

2.11 Kiến trúc mô hình Seq2seq kết hợp Attention 35

3.1 Các bước áp dụng luật kết hợp văn phạm CCG 43

3.2 Mô hình Seq2seq cho Phân tích ngữ nghĩa: what state border Texas →λx.state(x) ∧ borders(x, texas) 45

3.3 Module Decoder của mô hình Seq2tree - mẫu giải mã: what state border Texas → lambda $0 e ( and ( state:t $0 ) ( next_to:t $0 texas ) ). 46 3.4 Ví dụ thay thế từ hiếm bởi <unk> trong Dịch máy 48

3.5 Ví dụ thay thế từ hiếm bởi <unk>ntrong Copyable Model 49

Trang 8

3.6 Ví dụ thay thế từ hiếm bởi <unkposn> trong Positional Unknown

Model 49

3.7 Kiến trúc cơ chế Copy mechanism (Hình ảnh từ See cùng cộng sự, 2017 [32]) 50

4.1 Sự thay đổi số lượng từ hiếm trong Phân tích ngữ nghĩa 53

4.2 Ví dụ về cơ chế đánh dấu (marking mechanism) 54

4.3 Sự thay đổi không gian từ điển khi sử dụng Cơ chế đánh dấu. 55

4.4 Mô hình Seq2seq với Cơ chế đánh dấu (Marking mechanism) . 56

5.1 Độ chính xác mô hình Seq2seq-2 trên Geo (3) khi thay đổi learning rate 65

5.2 Độ chính xác mô hình Seq2seq-2 trên Geo (2), Geo (3) khi thay đổi λ 66 5.3 Độ chính xác của các mô hình trên dữ liệu phiên bản (2) 68

5.4 Độ chính xác của các mô hình trên dữ liệu phiên bản (3) 69

Trang 9

Danh sách bảng

2.1 Câu truy vấn SPARQL 18

2.2 Địa danh trong dữ liệu Geo 19

2.3 Quan hệ dưới dạng vị từ 19

2.4 Một số luật suy diễn về quan hệ vị trí (location) 20

2.5 Mẫu truy vấn với Logical form trong dữ liệu Geo . 21

3.1 Ánh xạ các từ (word) sang các ngữ nghĩa thành phần tương ứng 42

5.1 Một số thống kê của dữ liệu version (2) 61

5.2 Độ chính xác mô hình đề xuất trên dữ liệu GEO, ATIS, JOBS 64

5.3 Độ chính xác của các mô hình trên dữ liệu Artificial 67

5.4 Các nghiên cứu liên quan vấn đề Semantic Parsing . 71

Trang 10

Danh sách từ viết tắt

AMR Abstract Meaning Representation

ANN Artificial Neural Network

BPTT Backpropagation Through Time

CCG Combinatory Categorial Grammar

CSDL Cơ sở dữ liệu

CSDLQH Cơ sở dữ liệu quan hệ

CSDLSD Cơ sở dữ liệu suy diễn

LSTM Long Short-Term Memory

NER Named Entity Recognition

NLP Natural Language Processing

NMT Neural Machine Translation

RNN Recurrent Neural Network

RNN-LSTM Recurrent Neural Network kết hợp sử dụng Long

Short-Term MemorySeq2seq Sequence to Sequence

Seq2tree Sequence to tree

XLNNTN Xử lý ngôn ngữ tự nhiên

Trang 11

Danh sách các ký hiệu

Phép nhân từng thành phần (element-wise multiplication)

m Số chiều vector input

n Kích thước tầng ẩn

k Số chiều vector ouput

L Số tầng RNN trong mạng Deep RNN

D Tập dữ liệu

Lt Hàm lỗi tương ứng với input xt

xt Vector input thứ t trong chuỗi input

Trang 12

1 Tổng quan

Tổng quan chung. Như đã biết, ngày nay, công nghệ là một phần không thể thiếutrong cuộc sống, nó ảnh hưởng đến mọi mặt trong sinh hoạt, lao động Dữ liệu hàngngày được con người ta ra và lưu trữ trong máy tính với số lượng đáng kinh ngạc Theotạp chí Forbes1, chỉ trong hơn 2 năm gần đây (2016 - 2018) tổng số lượng dữ liệu sinh

ra chiếm đến hơn 90% tổng số lượng dữ liệu trên thế giới Nhu cầu tìm kiếm thôngtin cũng không ngừng tăng lên, mỗi giây google thực hiện trung bình hơn 40000 tìmkiếm trên toàn thế giới, 3.5 tỷ tìm kiếm kiếm mỗi ngày, chiếm hơn 75% tổng số tất cảcác thao tác tìm kiếm trên internet2

Hình 1.1: Tỉ lệ số lượng tìm kiếm của

https://www.forbes.com/sites/bernardmarr/2018/05/21/how-much-data-do-we-create-every-day-2 https://www.internetlivestats.com/google-search-statistics/

Trang 13

tìm kiếm các sản phẩm mua hàng online, tìm kiếm các tour du lịch, tìm kiếm món

ăn, Các công cụ hỗ trợ tìm kiếm hiện tại thường chỉ thực hiện các thao tác tách

từ, hoặc các cụm từ trong câu tìm kiếm của người dùng và thực hiện tìm kiếm bằng

cách so khớp chính xác các ký tự Ví dụ như “Kem dừa hoặc kem ốc quế ở khu vực

hồ Tây” Các hệ thống tìm kiếm thông thường sẽ theo xu hướng tìm các quán có cảkem dừa và kem ốc quế có địa chỉ ở hồ Tây Tuy nhiên điều này không phải là mụctiêu của người dùng, mong muốn của người dùng chỉ là tìm quán có một trong 2 loạikem Kết quả không phù hợp với yêu cầu của người dùng có thể gây khó khăn hoặc

khó chịu cho người thực hiện tìm kiếm Một ví dụ khác, khi muốn tìm “chuyến bay

xuất phát từ Hà nội”, hệ thống tìm kiếm cũ có thể trả ra cả các chuyến bay đến Hànội, hoặc bay ngang qua Hà nội Việc tìm kiếm không chính xác đôi khi có thể gây

ra những tổn thất về thời gian và tiền bạc của người sử dụng nếu họ không hiểu đúngcách Đây cũng là một điểm khó khăn cản trở những người cao tuổi hoặc những người

ít tiếp cận với công nghệ có thể sử dụng công cụ tìm kiếm trên máy tính

Nhận thức được tầm quan trọng của vấn đề này, chúng tôi nghiên cứu tập trung vàogiải quyết vấn đề làm sao để tạo ra công cụ tìm kiếm hiệu quả hơn, đúng theo mongmuốn của người dùng Ý tưởng chính là xây dựng hệ thống tìm kiếm có ngữ nghĩa,giúp máy tính phân tích và hiểu được một cách rõ ràng các thành phần ngữ nghĩa củacâu nói và tiến hành tìm kiếm trên một cơ sở dữ liệu thông minh để trả về kết quả.Các nghiên cứu trực tiếp liên quan đến vấn đề này trên thực tế có thể quy về bài toán

Phân tích form ngữ nghĩa trong lĩnh vực Xử lý ngôn ngữ tự nhiên (XLNNTN) Đây

là một bài toán quan trọng thu hút được sự quan tâm của các nhà nghiên cứu trongnhiều năm, là bước tiến quan trọng trong việc giúp máy tính hiểu hơn ngôn ngữ củacon người Tiến tới phá bỏ rào cản ngôn ngữ, thay đổi cách con người sử dụng máytính sao cho dễ dàng và thuận tiện hơn

Phạm vi và Mô tả bài toán. Luận văn này thực hiện việc nghiên cứu các phương

pháp giải quyết bài toán Phân tích ngữ nghĩa, đặc biệt trong hướng sử dụng Neural

Trang 14

Network Đây là bài toán cốt lõi cho các hệ thống tìm kiếm dựa trên ngữ nghĩa Ngoài

ra, nghiên cứu này cũng đề xuất mô hình giải quyết một vấn đề nhỏ - vấn đề từ hiếm,

giúp các mô hình cũ làm việc tốt hơn trong môi trường đa dạng tên các thực thể, đốitượng Các thử nghiệm đưa ra để chứng minh sự hiệu quả trong hoạt động của mô

hình đề xuất và so sánh với các mô hình đã công bố trên thế giới Bài toán Phân tích

ngữ nghĩađược mô tả như sau:

Bài toán: Phân tích ngữ nghĩa trong Xử lý ngôn ngữ tự nhiên.

Mục tiêu: Ánh xạ một câu nói ở dạng ngôn ngữ tự nhiên về dạng cấu trúc ngữ

nghĩa

Input: Câu nói ngôn ngữ thông thường đã được phân tích hình thái.

Output: Dạng logical form theo chuẩn lambla calculus (hoặc prolog).

Ví dụ:

Ngôn ngữ tự nhiên Cấu trúc ngữ nghĩa (cú pháp prolog)

- job use languageid0 job ( ANS ) , language ( ANS , languageid0 )

- job on platformid0 job ( ANS ) , platform ( ANS , platformid0 ) ,

in areaid0 area ( ANS , areaid0 )

Từ những năm 1973, các nghiên cứu (Woods, 1973 [42], Manaris, 1998 [23]) đãquan tâm đến vấn đề tạo ra hệ thống học máy có khả năng hiểu ngôn ngữ tự nhiên

để tăng tương tác người máy, hoặc hỗ trợ cho những người khuyết tật Có nhiều cáchtiếp cận để giải quyết bài toán này như dựa trên phương pháp XLNNTN truyền thống

- thông qua hình thái từ, nhãn từ loại và cây cú pháp để xác định các thành phần vàquan hệ giữa chúng, hoặc dựa trên mô hình dịch máy thông qua xác suất xuất hiện

của các thành phần của văn phạm phi ngữ cảnh (Context-Free Grammar - CFG).

Nghiên cứu này được thực hiện theo hướng tiếp cận sử dụng Deep learning đưavấn đề về dạng bài toán dịch máy Với hướng tiếp cận này, ta coi ngôn ngữ tự nhiên vàngôn ngữ biểu diễn logic là hai ngôn ngữ khác nhau Hệ thống học máy cần chuyển

Trang 15

đổi (dịch) từ ngôn ngữ tự nhiên thành ngôn ngữ biểu diễn logic tương ứng Các phươngpháp nghiên cứu trước đây đã đặt nền móng, và cho thấy hướng tiếp cận này hiệu quảvới tính cạnh tranh cao Tuy nhiên tồn tại một số vấn đề về sự đa dạng của tên thựcthể gây khó khăn cho mô hình tổng quát hoá ngữ nghĩa Đây cũng là vấn đề chungcủa các bài toán dịch máy Một số nghiên cứu để giải quyết vấn đề này đã được thựchiện bởi Luong cùng cộng sự, 2015 [21], Vinyals cùng cộng sự, 2015 [35], nhưng vẫnchưa thực sự hiệu quả, đặc biệt trong trường hợp tên các thực thể có độ dài thay đổi.

Trong nghiên cứu này, chúng tôi đề xuất mô hình Seq2seq với cơ chế Đánh dấu

(Marking mechanism) có thể hoạt động hiệu quả hơn ngay cả trong trường hợp tênthực thể đa dạng và có chiều dài thay đổi Thử nghiệm của chúng tôi trên các bộ dữ

liệu công khai cho bài toán Phân tích ngữ nghĩa (Geo, Jobs, Atis) cạnh tranh cao với

các phương án cũ Ngoài ra, mô hình đề xuất đạt kết quả cao vuợt trội trong bộ dữ liệu

Artificial90% trong khi các phương pháp cũ bị mất hiệu suất và chỉ đạt 40% − 60%.Kết quả của Luận văn đã được chấp nhận công bố tại hội nghị quốc tế KSE 2019(Nguyen cùng cộng sự, 2019 [27])

Trang 16

2 Kiến thức cơ sở

Tổng quan Chương này cung cấp những kiến thức cơ sở để hiểu về phương pháp xử

lý bài toán Phân tích ngữ nghĩa cho các hệ thống tìm kiếm bằng ngôn ngữ tự nhiên.

Để xây dựng các hệ thống tìm kiếm có tính ngữ nghĩa cao thì việc hiểu các cách biểudiễn ngữ nghĩa, tri thức của con người trong các Cơ sở dữ liệu nâng cao cũng là mộtphần quan trọng Vì vậy, để hiểu và có cái nhìn tổng quan, chương này giới thiệu mộtcách sơ lược các hướng tiếp cận thường được sử dụng để xây dựng cơ sở dữ liệu tươngứng phù hợp với từng cách biểu diễn ngữ nghĩa Đồng thời cũng đưa ra các mô hình

cơ bản trong Neural Network và kiến trúc của từng mô hình để giúp ta hiểu rõ hơn vềvai trò của chúng trong việc giải quyết bài toán này

2.1 Bài toán Phân tích ngữ nghĩa

Phân tích ngữ nghĩa là một trong số những vấn đề quan trọng nhất của Xử lý ngônngữ tự nhiên (XLNNTN) Đóng vai trò quan trọng trong giao tiếp người và máy, đồngthời cũng ảnh hưởng lớn đến cách máy tính tổ chức, lưu trữ và suy diễn tri thức của

con người Ngữ nghĩa trong XLNNTN có thể ở nhiều mức, mức đơn giản có thể là ý

định của câu hoặc đoạn, ở mức sâu hơn có thể trích xuất thông tin của các thực thể,

sự kiện trong đó Ngoài ra, sự liên kết giữa các thông tin trong câu hoặc đoạn cũngđóng vai trò ngữ nghĩa quan trọng Một vài cách biểu diễn thông tin ngữ nghĩa củacâu trong XLNNTN có thường được sử dụng như sau:

Dạng ontology ngữ nghĩa trong web ngữ nghĩa (semantic web)

Trang 17

Là một dạng cấu trúc mạng lưới mà trong đó mọi thông tin dữ liệu đều liên kếtvới nhau một cách có ý nghĩa Được coi là ngôn ngữ web thế hệ 3.0, trong cấutrúc Web ngữ nghĩa mọi thông tin được lưu trữ dưới dạng bộ ba: chủ thể (subject)

- quan hệ (predicate) - đối tượng (object) thường được xây dựng dựa trên RDF

1 Ontology là công cụ hiệu quả và linh động trong biểu diễn sự liên hệ và ngữ

Subject Predicate object

Hình 2.1: Triple trong Web ngữ nghĩa

nghĩa tiềm ẩn của các thực thể, đối tượng Hơn nữa, ta có thể thiết kế các luậtsuy diễn để tìm ra các tri thức ngầm hay mối liên hệ ngầm giữa các thực thể.Ontology về loài chim (Hình 2.2) là một ví dụ đơn giản về cách tổ chức và mối

có_hoạt_động

động vật

là ăn

ạt_độ ng

Hình 2.2: Ontology đơn giản

quan hệ ngữ nghĩa của các đối tượng: như chim sẻ là một loại chim, chim là một loại động vật, động vật có hoạt động là ăn, chim có hoạt động là hót Ngoài ra ta

cũng có thể dựa trên một số luật đơn giản để suy diễn ra các quan hệ ngầm định

như: chim sẻ là một loài chim nên cũng có hoạt động là hót, cũng là một động

vật nên cũng có hoạt động là ăn Vì vậy ta có thể coi dạng cơ sở dữ liệu có khả

năng suy diễn này như một cơ sở tri thức (Knowledge base - KB), giúp máy tínhhiểu và hoạt động như cách suy nghĩ của con người

1 RDF là một framework cho việc thể hiện thông tin trên web được W3C khuyến nghị.

Trang 18

Để xây dựng các mối quan hệ ngữ nghĩa như ví dụ trên, thông thường ta sử dụngmột số mô hình dựa trên xác suất, trích rút ra các mối quan hệ (tương tự bài toán

Trích rút quan hệ trong XLNNTN) như sử dụng mô hình Snowball (Agichteincùng cộng sự, 2000 [1]), KB-LDA (Movshovitz-Attias cùng cộng sự, 2015 [26]),hay tiếp cận theo hướng Neural Network qua mô hình CNN kết hợp RNN ( Minhcùng cộng sự, 2018 [25]) Để truy vấn thông tin từ cơ sở dữ liệu dạng Ontologythường sử dụng ngôn ngữ truy vấn SPARQL (chuẩn SPARQL là một chuẩn đượckhuyến cáo chính thức bởi W3C)

Natural sentence tìm các động vật biết hót

SPARQL query SELECT ?dongvat WHERE {

?dongvat rdf:type bird_db:động_vật

?dongvat bird_db:có_hoạt_động bird_db:hót }

Bảng 2.1: Câu truy vấn SPARQL

Bảng 2.1 hiển thị một dạng câu truy vấn SPARQL đơn giản, có thể sử dụng đểtruy vấn vào Ontology đã đề cập ở trên (Hình 2.2) Câu truy vấn này biểu diễn đầy

đủ quan hệ thông tin có trong câu nói tự nhiên, gồm có: lấy thông tin các động vật

(biến ?dong_vat) sao cho động vật đó có hoạt động (bird_db:có_hoạt_động) là hót (bird_db:hót) Một số nghiên cứu sử dụng SPARQL cho việc truy vấn dữ liệu

từ Ontology được thực hiện bởi Wang cùng cộng sự, 2007 [39], Lehmann cùngcộng sự, 2011 [17] Với sự phát triển nhanh chóng của các mô hình học máy sử

dụng Deep learning, hướng tiếp cận xây dựng end-to-end model để chuyển hoá

từ một câu ở ngôn ngữ tự nhiên sang database query (như SPARQL, SQL )ngày càng được quan tâm nhiều hơn vì tính thực tiễn cao của nó

Dạng logical form ngữ nghĩa (cú pháp prolog hoặc lambda calculus)

Là một dạng biểu diễn của logic vị từ, có tính cấu trúc và suy diễn cao, tuân theo

Trang 19

một số lý thuyết về cú pháp và ngữ pháp của ngôn ngữ, có tính trừu tượng hoá và

có khả năng mô tả được những nhập nhằng trong ngôn ngữ một cách rõ ràng đầyđủ

Để xây dựng được hệ cơ sở dữ liệu lưu trữ tri thức sử dụng logic vị từ ta phải địnhnghĩa trước các luật suy diễn, các hàm (vị từ) Với hướng tiếp cận này ta giả sửthế giới được bao đóng: mọi luật, vị từ, thực thể phải được định nghĩa trước trongtập khai báo (assert) một cách rõ ràng, ngoài ra tất cả những luật, hay vị từ chưa

được định nghĩa mặc định đều mang giá trị False Cơ sở dữ liệu này có thể coi

là một dạng Cơ sở dữ liệu suy diễn (CSDLSD) dựa trên logic vị từ Cơ sở dữ liệu

nổi tiếng thường được sử dụng nhất trong các hệ thống tìm kiếm bằng ngôn ngữ

tự nhiên (Zelle cùng cộng sự, 1996 [45], Zettlemoyer cùng cộng sự, 2005 [46]),

có thể kể đến như là GeoBase2, JobQueries,

_river(X) Xlà một con sông

_answer(X, Y) in ra kết quả của biến X

với số lượng được giới hạn

Bảng 2.3: Quan hệ dưới dạng vị từ

2 http://www.cs.utexas.edu/users/ml/geo.html

Trang 20

Trong cơ sở dữ liệu Geo, có khoảng hơn 200 khái niệm (fact) được định nghĩatrước theo ngôn ngữ logic quy lạp (Prolog): một số tên của các thực thể như dòng

sông, bang, đất nước, (Bảng 2.2) tương tự như các bản ghi trong Cơ sở dữ liệu

quan hệ (CSDLQH), các liên kết phụ thuộc giữa các đối tượng (Bảng 2.3) là cáchàm được định nghĩa, một phần cũng đóng vai trò như các kết nối ràng buộctrong CSDLQH Các luật suy diễn cũng được định nghĩa từ trước, ví dụ địnhnghĩa luật về thuộc tính vị trí trong bộ dữ liệu Geo:

r1 _river(_riverid(R)) :- _river(R,_,_).

r2 _loc(_riverid(R), _stateid(S)) :- _river(R,_,States),_member(S,States).

r3 _loc(X,_countryid(usa)) :- _city(X); _state(X); _river(X) ;

_place(X);_lake(X);_mountain(X).

Bảng 2.4: Một số luật suy diễn về quan hệ vị trí (location)

Mỗi luật trong CSDLSD (Bảng 2.4) là một biểu thức logic gồm có 2 thành phầnchính, thân (điều kiện) luật ở bên phải và kết quả của luật ở bên trái, phân tách

nhau bởi ký tự “:-” Cả điều kiện và kết quả trong luật đều là các biểu thức logic, gồm nhiều vị từ Các vị từ phân tách nhau bởi dấu “,” cho quan hệ AND, “;” cho quan hệ OR, kết thúc luật bởi ký tự “.” Luật r1 trong bảng được hiểu là nếu

có một bản ghi _river(R,_,_) thì trường đầu tiên là id của dòng sông Luật r2 định nghĩa một biến R là tên của một con sông được coi là có vị trí ở bang S nếu tồn tại ràng buộc S là một thành phần (_member(S,States)) trong danh sách các bang có dòng sông R (_river(R,_,States)) Luật r3 định nghĩa mọi thành phố,

bang, con sông, vị trí, hồ, ngọn núi trong dữ liệu thì đều có vị trí tại nước Mỹ

(_loc(X,_countryid(usa))).

Đối với phương pháp sử dụng Logical form trong biểu diễn ngữ nghĩa, các câu

truy vấn cũng sử dụng phương pháp này để biểu diễn câu truy vấn như trong

ví dụ Bảng 2.5, với cú pháp Prolog, các trường thông tin được liên kết với

Trang 21

Natural sentence name all the rivers in colorado ?

Logical form (prolog) _answer ( A , (_river(A) , _loc(A,B) ,

_const (B , _stateid(colorado))))

Logical form (lambda calculus) lambda $0 e ( and ( river:t $0 ) ( loc:t

$0 colorado ) )

Bảng 2.5: Mẫu truy vấn với Logical form trong dữ liệu Geo.

nhau thông qua các biến (các ký tự bắt đầu bằng chữ in hoa), các ràng buộc

là các hàm được định nghĩa: _river (A) có nghĩa ràng buộc biến A là một con sông, con sông đó có vị trí B thông qua vị từ _loc(A,B) và B là bang Colorado

_const(B,_stateid(colorado)) Tương tự với cú pháp lambda, các ràng buộc của

thông tin cũng được thể hiện qua các biến ($0) và hàm (river:t, loc:t).

Như vậy có thể hình dung cách biểu diễn dựa trên Logical form có khả năng lưu

trữ thông tin tri thức một cách đầy đủ hơn về mặt ngữ nghĩa Nó cũng có khảnăng khai phá các quan hệ tiềm ẩn dựa trên các luật tương tự như hướng tiếp cận

sử dụng Web ngữ nghĩa Tuy nhiên phương pháp này đòi hỏi nhiều công sức củacon người, xây dựng chương trình suy diễn một cách đầy đủ và chính xác là mộtnhiệm vụ không dễ dàng, cần lượng lớn tri thức chuyên gia

• Ngữ nghĩa trừu tượng (Abstract Meaning Representation - AMR)

Là một ngôn ngữ đại diện ngữ nghĩa có tính trừu tượng cao (được mô tả bởiBanarescu cùng cộng sự, 2013 [4]), có thể biểu diễn dưới dạng đồ thị có một nútgốc để mô phỏng mối quan hệ giữa các thành phần quan trọng trong câu Phươngpháp này thường được sử dụng trong các nhiệm vụ như trích xuất sự kiện (Raocùng cộng sự, 2017 [30]), tóm tắt văn bản (Dohare cùng cộng sự, 2017 [6]), Một số đặc điểm của cách biểu diễn ngữ nghĩa này:

– Dễ đọc, dễ hiểu cho con người, có tính cấu trúc thống nhất cho máy tính dễ

dàng sử dụng

Trang 22

– Tạo ra biểu diễn ngữ nghĩa chung trong các trường hợp diễn đạt khác nhau

của ngôn ngữ (ví dụ: "anh ấy mô tả cô ấy là một thiên tài", "sự mô tả của cô

ấy về anh ấy là: thiên tài", "cô ấy được anh ấy mô tả là thiên tài", )

– Sử dụng nhiều khung ngữ nghĩa được định nghĩa từ trước3 (ví dụ: Hình 2.3,

khung ngữ nghĩa của "want-01" cần phải thống nhất được định nghĩa với tham số ":arg0" là chủ thể của sự mong muốn, ":arg1" là điều mong muốn)

– Có tính linh động cao trong việc định nghĩa các khung ngữ nghĩa mới.

AR G0

want-01

AR G1 ARG0

in stan ce

instance

instance

( w / want-01 :arg0 ( b / boy ) :arg1 ( g / go-01 :arg0 b ) )

Hình 2.3: Biểu diễn ngữ nghĩa AMR câu "The boy wants to go".

Hình 2.3 là một ví dụ về biểu diễn ngữ nghĩa sử dụng AMR (Banarescu cùngcộng sự, 2013 [4]) Theo phương pháp này, có thể biểu diễn dưới cả 3 dạng:Logic vị từ, cấu trúc AMR dạng cây, cấu trúc AMR dạng đồ thị Trong đó, khởitạo bắt đầu từ nút (node) gốc (root), ở mỗi node, mỗi cạnh mang một ý nghĩa khác

nhau và có nhãn tương ứng: cạnh "instance" trỏ đến ý nghĩa của node hiện tại, cạnh ":arg<number>" trỏ tới các khung ngữ nghĩa khác có vai trò như tham số

bổ sung ý nghĩa cho khung "instance", một số loại cạnh được định nghĩa chung như ":location", ":time", ":name", Mỗi khung ngữ nghĩa có thể là từ trong câu,

hoặc có thể là một node con khác Trong ví dụ này, khung ngữ nghĩa chính trỏ tới

sự kiện w/want-01 (chữ cái w là viết tắt tên node), tiếp sau đó là các thành phần tham số chủ thể của sự mong muốn b/boy, cái được mong muốn là g/go-01.

3sử dụng framesets PropBank khung ngữ nghĩa được định nghĩa chung.

Trang 23

Ngoài các cách biểu diễn ngữ nghĩa trên, trong XLNNTN còn một số cách biểu

diễn khác như sử dụng Gán vai ngữ nghĩa (Semantic Role Labeling), Cây phụ thuộc

(Dependency tree) , tuy nhiên công việc nghiên cứu này tập trung vào việc biểu diễn

ngữ nghĩa phục vụ các hệ thống tìm kiếm, nên các hướng tiếp cận sử dụng Ontology

ngữ nghĩa và Logical form được tập trung nhiều hơn.

2.2 Mô hình học máy sử dụng Deep learning

Học máy: (thường được viết tắt là ML - Machine Learning) là một lĩnh vực của trí

tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các

hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể Khái niệm họccủa con người được hiểu là bổ sung, trau dồi các kiến thức, kinh nghiệm, giá trị, nhậnthức, trong quá trình tiếp nhận thông tin và xử lý các vấn đề của thế giới thực tế.Tương tự, chương trình giúp máy có thể tích lũy được thông tin, kiến thức từ các vấn

đề cho trước và giải quyết các vấn đề tương tự trong tương lai thì được coi là máy

"học"

Deep learning: là một nhánh đặc biệt của ngành Học máy Deep learning sử dụngNeural Netwok nhân tạo (Artificial Neural Network - ANN) để mô hình dữ liệu trừutượng hóa ở mức cao ANN là mô hình xử lý thông tin được mô phỏng dựa trên hoạtđộng của hệ thống thần kinh sinh học Chúng ta đều biết cấu tạo bộ não sinh vật baogồm hàng tỷ các tế bào thần kinh (Neuron) được liên kết với nhau và truyền thông tincho nhau thông qua các xung thần kinh Dựa trên ý tưởng đó, ANN được xây dựngbao gồm số lượng lớn các Neuron được gắn kết với nhau, mỗi Neuron là một hàm biếnđổi trong toán học và được liên kết với nhau thông qua các ma trận trọng số Dạngtín hiệu lan truyền là các ma trận hoặc vector Các thông tin từ thế giới thực sẽ đượcchuyển hóa thành các ma trận, lan truyền qua ANN và kết quả thu được lại chuyểnhóa về các quyết định trên thế giới thực

Trang 24

2.2.1 Neuron

Khái niệm: Neuronlà một đơn vị cấu tạo nên ANN Cấu trúc của Neuron cơ bảnbao gồm có năm thành phần chính:

Hình 2.4: Cấu trúc Neuron

• Các dữ liệu đầu vào x= [x1, x2, , xm]

• Trọng số w = [w1, w2, , wm] tương ứng với dữ liệu đầu vào (mỗi tín hiệu đầuvào xi =1→mgắn với một trọng số wi) Ngoài ra để tăng khả năng phân loại, Neuronthường được bổ sung thêm x0 = 1 tương ứng với trọng số điều chỉnh w0(hay còngọi là bias)

• Đầu vào tổng thể (Net) là hàm tích hợp các tín hiệu đầu vào theo công thức:

• Hàm tác động (hàm chuyển tiếp) tính giá trị đầu ra của Neuron: f (Net(x, w))

Giá trị đầu ra (Output) của Neuron: Out= f (Net(x, w))

Trang 25

Ví dụ: (Để đơn giản, trong ví dụ này ta sử dụng hàm đánh giá lỗi dựa trên khoảng cách Euclid, các hàm đánh giá lỗi khác hiệu quả và phức tạp hơn sẽ được trình bày ở từng mô hình cụ thể của đồ án này).

• Giả sử ANN có k output (hay k Neuron ở tầng ouput) Out ∈ Rk

• Với một tập các ví dụ học D = {(x, y)}:

– x là vector đầu vào

– y là vector đầu ra mong muốn

2.2.3 Giải thuật học - Backpropagation Through Time

Gradient của L (ký hiệu là ∇L) là một vectơ, ∇L xác định hướng gây ra việc tăngnhanh nhất (steepest increase) đối với giá trị lỗi L Vì vậy, hướng gây ra việc giảm

Trang 26

nhanh nhất (steepest decrease) là giá trị phủ định của ∇L Ta sử dụng ∇wL(w) để cậpnhật trọng số cho w cho đến khi L(w) đạt được cực tiểu.

Giải thuật học Backpropagation Through Time (BPTT) là giải thuật học các trọng

số cho mạng RNN Giải thuật này dựa trên kĩ thuật Gradient Descent thực hiện cậpnhật trọng số cho mạng RNN qua từng vòng lặp Qua các vòng lặp, giá trị hàm lỗi sẽgiảm dần đến cực tiểu (giá trị của hàm lỗi nhỏ hơn 1 giá trị cực bé hoặc số vòng lặp dữliệu đủ lớn) Mô hình RNN thu được sau khi thực hiện giải thuật này có khả năng đưa

ra các dự đoán với độ chính xác cao nếu các dữ liệu đưa vào quá trình học đủ lớn và tốt

Trang 27

Algorithm 1: Thuật toán Backpropagation Through Time

Require: Dữ liệu D= {(x, y)}, tham số η

Ensure: w

Khởi tạo w (wi ←khởi tạo ngẫu nhiên (nên chọn giá trị nhỏ))

for iE poch = 1, , MAX_EPOCH do

// Khởi tạo giá trị lỗi

2.3 Các mô hình Recurrent Neural Network (RNN)

Khái niệm: Mô hình Recurrent Neural Network (RNN) là mô hình mạng hồi quy,

có khả năng xử lý được thông tin dạng chuỗi (sequential information) Dữ liệu dạngchuỗi (sequence) là các dữ liệu có tính tuần tự, nối tiếp nhau và trình tự đó là một

Trang 28

phần thông tin của dữ liệu.

Trong thực tế có rất nhiều dữ liệu ở dạng chuỗi (ví dụ: chuỗi các từ trong một câunói, dữ liệu âm thanh trong một bản nhạc, ) Đồng thời, cũng có khá nhiều bài toáncần phải xử lý dữ liệu dạng chuỗi như phân tích cảm xúc trong câu nói, nhận diệntên thực thể trong câu nói (Named Entity Recognition - NER), nhận dạng hành độngtrong video, Các mô hình mạng khác như Neural Network dạng tích chập, NeuralNetwork dạng truyền thẳng thường phát huy hiệu quả tốt ở các bài toán phân loại tuynhiên các mạng này không tận dụng được các đặc trưng trong quan hệ của dữ liệu.RNN ra đời để khắc phục các nhược điểm đó và trở thành một trong những mô hìnhđược đánh giá có nhiều ưu điểm trong các tác vụ xử lý ngôn ngữ tự nhiên (NaturalLanguage Processing - NLP)

Kiến trúc: Như ta thấy (Hình 2.5) mô hình mạng RNN mang tính chất của mộtmạng hồi quy, output của bước hiện tại là một phần input của bước kế tiếp Vì vậy,khi ta giải đệ quy và trải ra (unfold) thì ta sẽ được một máy trạng thái theo thời gian

Hình 2.5: Kiến trúc mạng RNN

Điểm khác biệt của mạng RNN sau khi giải đệ qui so với mạng lan truyền tiếnthông thường (Hình 2.6) ở chỗ RNN tái sử dụng lại các W giữa các layer liên tiếp,trong khi mạng lan truyền tiến thì sử dụng các bộ Wi khác nhau

Mô hình RNN với dữ liệu tầng input là một chuỗi, mô hình thực hiện lặp cùng một

Trang 29

Hình 2.6: Mạng lan truyền tiến 3 layer

tác vụ với từng phần tử của chuỗi Các phần tử của chuỗi lần lượt được đẩy vào môhình, do các kết quả ouput từng phần tử tại một thời điểm t không chỉ phụ thuộc vàoinput xt mà còn phụ thuộc vào kết quả của bước trước đó st−1, vì vậy mà mô hìnhRNN có khả năng học được mối quan hệ của chuỗi input, hay nói cách khác, RNN làmột mô hình có trí nhớ (memory), có khả năng nhớ được các thông tin đã tính toántrước đó

Tổng quan: Mô hình RNN cơ bản đầu tiên ra đời vào những năm 80 của thế kỉ XX,trên lý thuyết mô hình RNN có khả năng nhớ được thông tin của một chuỗi chiều dàibất kì, tuy nhiên trên thực tế mô hình RNN cơ bản chỉ nhớ được thông tin của vài bướctrước đó, hay nói cách khác những ảnh hưởng của input xt− ∆tđến ouput otbị tiêu biếnkhi∆t lớn

Cơ sở để có thể ứng dụng các mô hình RNN vào các mô hình ngôn ngữ được là do

mô hình ngôn ngữ cũng có xác suất dự đoán tương tự như kiến trúc của RNN:

Trang 30

– m: Số chiều vector input

– Hàm lỗi: Đối với các mô hình có nhiệm vụ phân loại, tầng ouput sử dụng

softmax thì hàm lỗi thường được sử dụng nhất là Cross − Entropy Hàm này

có ưu điểm hội tụ nhanh hơn so với hàm lỗi sử dụng khoảng cách Euclid vàcông thức Gradient cập nhập trọng số cũng đơn giản, thuận tiện trong tínhtoán

Trang 31

Tổng quan: Như đã nói trên mô hình RNN trên lý thuyết có thể nhớ được chuỗiinput với chiều dài bất kì, tuy nhiên trên thực tế thì RNN cơ bản chỉ nhớ được thôngtin của vài bước trước đó Vấn đề này là do đạo hàm bị tiêu biến trong quá trình cậpnhật trọng số của chuỗi dài (Vanishing Gradient) Và đây cũng là lý do ra đời củaLong Short-Term Memory (LSTM) Hochreiter cùng cộng sự, 1997 [11] để khắc phụcvấn đề Vanishing Gradient trong chuỗi dài.

Vấn đề Vanishing Gradient: Từ các biểu thức cài đặt của mô hình RNN cơ bảnphần 2.7 ta có:

Trang 33

∗ xt ∈ Rm: input thứ t trong chuỗi input

∗ U(i) ∈ Rn×m: trọng số liên kết tầng input

∗ W(i) ∈ Rn×n: trọng số liên kết giữa các tầng ẩn của RNN-LSTM

Trang 34

– Hàm lỗi: Vẫn mang các đặc điểm tương tự của RNN nên LSTM RNN cũng

sử dụng hàm lỗi Cross − Entropy để đánh giá độ lỗi và là hàm mục tiêu cầntối thiểu hóa

2.3.3 Mô hình Sequence to Sequence - Attention

Tổng quan: Mô hình Sequence to Sequence (Sutskever cùng cộng sự, 2014 [33]) làmột biến thể của mạng RNN Mô hình này kết hợp 2 RNN nối tiếp nhau, một RNNđóng vai trò mã hóa chuỗi input (Encoder), RNN còn lại đóng vai trò là bộ giải mã dữliệu (Decoder) (Hình 2.10)

Mô hình này thường được áp dụng vào các bài toán mà đầu vào là một chuỗi các

từ (input) và ta cần sinh ra một chuỗi các từ khác (ouput) Các bài toán thực tế dạngnhư vậy có thể kể đến như dịch máy, tóm tắt văn bản, robot trả lời tự động, phân tíchngữ nghĩa của câu Nếu coi chuỗi đầu vào là x = x1 xn chuỗi giải mã ra được là

Trang 35

y= y1 ymta có biểu thức xác suất để sinh được y từ x là:

p(y|x) =

m

Y

t =1

p(yt|y<t, x) với: y<t = y1 yt−1 (2.26)

Tuy nhiên, mô hình Seq2seq cơ bản như Hình 2.10 cơ bản rất khó để giải mã đượcchuỗi ouput, đặc biệt trong các nhiệm vụ cần dịch lượng lớn thông tin Kiến trúc của

mô hình này sử dụng một vector trạng thái ẩn (hidden state) cuối cùng đóng vai trònhư bộ nhớ lưu trữ toàn bộ thông tin chuỗi Encoder Và nó được sử dụng làm trạngthái khởi tạo cho quá trình giải mã (decode) bên Decoder Kiến trúc này trong các bàitoán phức tạp thường không phát huy hiệu quả do mất mát thông tin trong quá trìnhnén và giải nén Để khắc phục nhược điểm này, một số nghiên cứu đề xuất cơ chếAttention (Bahdanau cùng cộng sự, 2014 [3]; Luong cùng cộng sự, 2015 [19]) bằngcách tạo liên kết biểu diễn sự phụ thuộc giữa các input trong chuỗi mã hoá với từngbước của quá trình giải mã Mô hình Seq2seq kết hợp Attention (Hình 2.11) thêm mộtvector context chứa ngữ cảnh của toàn bộ chuỗi input để tăng cường thông tin cho quátrình giải mã

Trang 36

Cũng theo nghiên cứu của nhóm tác giả Luong cùng cộng sự, 2015 [19],với môhình Seq2seq thông thường, trong quá trình giải mãi, mô hình chỉ dựa trên trạng thái

ẩn hiện tại (hidden state), và vector biểu diễn từ (word embedding) - đã được giải mã

ở bước trước - để dự đoán Như vậy, mô hình không có thông tin về các thành phần

đã được chú ý (Attention score) Để khắc phục nhược điểm này, nhóm tác giả đề xuất

hướng tiếp cận sử dụng cơ chế Input-feeding (Feed LSTM) Cơ chế được thực hiện

bằng cách đưa Attention Vector đã được học ở bước hiện tại kết hợp với vector inputEmbedding ở bước kế tiếp Như vậy, vector tổng hợp cho từng input sẽ có cả thông tinEmbedding của từ và thông tin đã được chú ý thông qua Attention vector

Để kết hợp ưu thế của các kiến trúc mạng RNN trong mạng Seq2seq, Encoder ta sửdụng mô hình Stacked Bidirectional LSTM, Decoder ta sử dụng Stacked Feed LSTM(Luong cùng cộng sự, 2015 [20])

Kiến trúc triển khai:

• Tầng input embedding: Biểu diễn từ dưới dạng vector Chuỗi input, output gồmcác từ đã được chuyển về dạng vector onehot đại diện tương ứng [x1, x2, , xN],[y1, y2, , yM]

embenci = Embedding(xi) với 1 ≤ i ≤ N (2.27)embdect = Embedding(yt) với 1 ≤ t ≤ M (2.28)

Trong đó: xi, yt là các vector onehot định danh cho từng từ Embedding làhàm ánh xạ vector onehot của từ thành vector embedding Vector embedding banđầu thường được khởi tạo ngẫu nhiên theo phân phối chuẩn và sẽ cập nhật trọng

số qua từng vòng lặp của giải thuật học

• Tầng Seq2seq: Như đã mô tả, tầng này gồm hai phần chính là Encoder và coder

De-Encoder Sử dụng Stacked Bidirectional LSTM Cơ chế Stacked sử dụng nhiều

lớp LSTM xếp chồng lên nhau, đặt L là số layer LSTM, l là chỉ số với 1 ≤ l ≤ L

Trang 37

Cơ chế Bidirectional, mỗi tầng sử dụng 2 chiều LSTM ngược nhau để học thôngtin cả chiều xuôi (forward ký hiệu f ) và ngược (backward ký hiệu b) Ta biểudiễn trạng thái ẩn của input thứ i layer thứ l bằng cách concat vector ẩn của haichiều xuôi và ngược:

hencl,i = [henc, f

Trong đó: Với chiều xuôi, henc, fl, i được tổng hợp từ vector trạng thái ẩn củatầng trước đó (hencl−1, i) và trạng thái liền trước (henc, fl, i−1) Với chiều ngược, vector

henc,bl, i được tổng hợp từ tầng trước và trạng thái liền sau nó (henc,bl, i+1):

Với hàm φ(embenci ) = embenc

i ở layer đầu tiên (l = 1) và φ(embenc

i ) = henc

l−1, i

từ layer thứ 2 (2 ≤ l ≤ L)

Decoder Sử dụng Stacked Feed LSTM Tương tự Encoder cơ chế Stacked sử

dụng nhiều lớp LSTM xếp chồng lên nhau Tuy nhiên ở Decoder, do quá trìnhsinh ngôn ngữ là 1 chiều, nên trong từng layer, ta sử dụng Unidirectional LSTM.Như đã mô tả, ở mỗi bước decode, thông tin để sinh ra từ trong chuỗi giải mãphụ thuộc vào vector embedding của từ hiện tại và vector ẩn chứa thông tin chú

ý (hcontextl, t−1 ), bằng cách concat 2 vector này tạo vector đại diện chung:

hdecl, t, sdec

l, t = LS T M (φ(embdec

t ), henc, fl, t−1, sdec

Với hàm φ(embdect ) = [embdec

t ; hcontextt−1 ] ở layer đầu tiên (l = 1) và có giá trị

là vector zeros trong bước khởi tạo (t = 0) và φ(embdec

t ) = hdec

l−1, t từ layer thứ 2

• Tầng Attention: Sử dụng cơ chế Luong Attention (Luong cùng cộng sự, 2015[20]) để tăng cường thông tin từ Encoder cho quá trình giải mã Để đơn giản trong

triển khai, ta ta sử dụng Global attention kết hợp general score Tầng attention

chỉ sử dụng các thông tin mã hoá ở tầng trên cùng của Stacked LSTM (layer thứ

Trang 38

L- Hình 2.11) Vì vậy, để đơn giản trong biểu diễn công thức dưới đây mặc định

l = L cho các vector trạng thái ẩn (hdec

hcontextt = attt = tanh(Watthdect + Uattct) (2.34)

Trong đó: Wa, Watt, Uatt

là ma trận trọng số cần học, được cập nhật giá trịqua mỗi vòng lặp training

• Tầng Softmax:Dựa trên các vector đặc trưng đã trích xuất được từ các tầng trước,mỗi vector được tính xác suất khả năng được gán nhãn vào 1 từ trong từ điểnDecoder Trong quá trình training, ta sử dụng force teaching (Luong cùng cộng

sự, 2015 [20]), giả định rằng ở tất cả các bước decode, hệ thống đều dự đoánđúng, và học dựa trên gold label của tập dữ liệu training

odect = so f tmax(WprobYat tt) (2.35)p(yt|y1:t−1, x) ∝ odec

t

Lt = − 1

MX

t

ytlog(ot) (2.37)

Trong đó: M là số lượng word của chuỗi output, yt là đầu ra mong muốn ởbước giải mã thứ t, ot là giá trị dự đoán của mô hình về xác suất từ thứ t đối vớicác nhãn

Trang 39

3 Các nghiên cứu liên quan

Tổng quan Chương này cung cấp thông tin các nghiên cứu liên quan trên thế giới

hoặc trong nước phục vụ việc giải quyết bài toán Tìm kiếm bằng ngôn ngữ tự nhiên.

Đây là một vấn đề thu hút được nhiều sự quan tâm của các nhà nghiên cứu trong nhiềunăm

Một trong những nghiên cứu đầu tiên khá nổi tiếng được biết đến là hệ thốngLUNAR (Woods, 1973 [43]) cho phép người dùng có thể dựa trên ngôn ngữ tự nhiên

để tìm kiếm từ cơ sở dữ liệu chứa thông tin của các loại đá, sỏi trên mặt trăng (loại đáthu thập được từ tàu Apollo 11 Wikipedia1) Tiếp đó, năm 1976 Waltz và cộng sự xâydựng hệ thống tìm kiếm các thông tin về bảo dưỡng máy bay cho Không quân Hoa Kỳ

- PLANES (Waltz cùng cộng sự, 1976 [37]) dựa trên Augmented Transition Networks

(Woods, 1970 [41]) Tương tự như PLANES, hệ thống LADDER được ra đời bởiHendrix cùng cộng sự, 1978 [10], giúp những người không có kiến thức chuyên sâu

về máy tính có thể tìm kiếm thông tin của các tàu Hải quân Mỹ (US Navy ships) Hệ

thống này sử dụng bộ phân tích cú pháp để thu được cây ngữ nghĩa, và chuyển nóthành câu truy vấn của một cơ sở dữ liệu phân tán Nghiên cứu của Manaris, 1998[23] ra đời với mục tiêu tạo ra giao diện ngôn ngữ cho các hệ thống máy tính, chophép người dùng thông qua ngôn ngữ tự nhiên làm một số thao tác cơ bản điều khiểncác thành phần như cửa sổ (windows), biểu tượng (icons), con chuột (points), Như đã giới thiệu, nghiên cứu này tập trung vào việc biểu diễn ngữ nghĩa của câunói ở ngôn ngữ tự nhiên theo hướng sử dụng Neural Network, và tìm kiếm dựa trên

1 https://en.wikipedia.org/wiki/William_Aaron_Woods

... data-page="13">

tìm kiếm sản phẩm mua hàng online, tìm kiếm tour du lịch, tìm kiếm món

ăn, Các cơng cụ hỗ trợ tìm kiếm thường thực thao tác tách

từ, cụm từ câu tìm kiếm người dùng thực tìm kiếm. ..

lý tốn Phân tích ngữ nghĩa cho hệ thống tìm kiếm ngơn ngữ tự nhiên.

Để xây dựng hệ thống tìm kiếm có tính ngữ nghĩa cao việc hiểu cách biểudiễn ngữ nghĩa, tri thức người Cơ...

ngữ nghĩađược mơ tả sau:

Bài tốn: Phân tích ngữ nghĩa Xử lý ngơn ngữ tự nhiên.

Mục tiêu: Ánh xạ câu nói dạng ngơn ngữ tự nhiên dạng cấu trúc ngữ< /b>

Ngày đăng: 13/02/2021, 08:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w