(Luận Văn Thạc Sĩ Công Nghệ Thông Tin) Tự Động Nhận Dạng Ngôn Ngữ Dựa Vào Học Sâu

58 0 0
Tài liệu đã được kiểm tra trùng lặp
(Luận Văn Thạc Sĩ Công Nghệ Thông Tin) Tự Động Nhận Dạng Ngôn Ngữ Dựa Vào Học Sâu

Đ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

Trang 1

Đ¾I HàC QUàC GIA HÀ NàI

TR¯äNG Đ¾I HàC CÔNG NGHÞ

LUÀN VN TH¾C S) CÔNG NGHÞ THÔNG TIN

NG¯äI H¯âNG D¾N KHOA HàC: TS NGUYỄN VN VINH

Hà Nái 2021

Trang 2

Đ¾I HàC QUÞC GIA HÀ NàI TR¯äNG Đ¾I HàC CÔNG NGHÞ

LUÀN VN TH¾C S) CÔNG NGHÞ THÔNG TIN

NG¯äI H¯âNG D¾N KHOA HàC: TS NGUYỄN VN VINH

Hà Nái 2021

Trang 3

LàI CAM ĐOAN

Tôi cam đoan luận văn đưÿc thực hiện dưới sự hướng dẫn của TS.Nguyễn Văn Vinh Các sá liệu, kết quả kiểm tra dữ liệu kiểm thử trong luận văn là trung thực và chưa từng đưÿc ai công bá trong bất kỳ công trình nào khác

Hà Nái, Ngày 01 tháng 12 năm 2021 Ngưßi cam đoan

Nguyễn Hồng Thanh

Trang 4

LàI CÀM ¡N

Lßi đầu tiên em xin gửi lßi cảm ơn đến toàn thể các giảng viên trong Khoa Công nghệ thông tin - Trưßng Đ¿i hác Công nghệ - Đ¿i hác Quác gia Hà Nái đã truyền đ¿t kiến thức và đßnh hướng nghiên cứu cho em trong thßi gian em hác tập t¿i Trưßng

Em xin gửi lßi cảm ơn đến các cán bá phā trách thuác Khoa Công nghệ thông tin đào t¿o sau đ¿i hác, những ngưßi đã quản lý, tư vấn và hß trÿ em trong quá trình hác tập cũng như làm luận văn

Em xin gửi lßi cảm ơn sâu sắc đến TS Nguyễn Văn Vinh, ngưßi thầy đã trực tiếp tận tình hướng dẫn, t¿o mái điều kiện thuận lÿi cho em trong suát thßi gian làm luận văn tát nghiệp

Cuái cùng, Em xin gửi lßi cảm ơn đến b¿n bè, đồng nghiệp cũng như gia đình luôn t¿o điều kiện để em hoàn thành luận văn

Tuy nhiên, do thßi gian h¿n hẹp, mặc dù đã nß lực hết sức mình nhưng chắc rằng luận văn này khó tránh khßi những thiếu sót Em rất mong nhận đưÿc sự chia sẽ, đóng góp ý kiến của giảng viên và các b¿n

Hà Nái, Ngày 01 tháng 12 năm 2021 Hác viên

Nguyễn Hồng Thanh

Trang 5

CHƯƠNG 1: TàNG QUAN VÂ BÀI TOÁN NHẬN BIÀT NGÔN NGþ 3

1.1 Giới thiệu chung 3

1.2 Các phương pháp xác đßnh ngôn ngữ 3

1.2.1 Mô hình ngôn ngữ 3

1.2.2 Phương pháp xác đßnh ngôn ngữ dựa trên n-gram 6

1.2.3 Phương pháp xác đßnh ngôn ngữ dựa vào Naive Bayes 7

1.2.4 Phương pháp xác đßnh ngôn ngữ dựa vào máy hß trÿ vectơ (SVM) 8

1.2.5 Phương pháp láng giềng gần nhất (K-Nearest Neighbor) 9

1.2.6 Phương pháp Word2vec 10

1.2.6.1 Skip-gram 12

1.2.6.2 Túi từ liên tāc (CBOW) 16

1.2.7 Phương pháp xác đßnh ngôn ngữ dựa vào hác sâu 17

CHƯƠNG 2: MÔ HÌNH MẠNG LSTM 18

2.1 M¿ng Nơ ron nhân t¿o 18

2.1.1 Hàm kích ho¿t 19

2.1.2 Chức năng kích ho¿t đầu ra 22

2.2 M¿ng nơ ron hồi qui RNN 25

Trang 6

2.4.1 Drop-Out 31

2.4.2 Ho¿t đáng của Drop-Out 31

2.4.3 Tính hiệu quả của Drop-Out 32

CHƯƠNG 3: ÁP DþNG MÔ HÌNH LSTM CHO BÀI TOÁN NHẬN BIÀT NGÔN NGþ 34

3.3.4 Kết quả đánh giá thử nghiệm 44

3.3.5 Phân tích và thảo luận 45

KÀT LUẬN 47

Tài liệu tham kh¿o: 48

Trang 7

Danh māc các ký hiệu và chā viÁt tắt

LI Language Identification Xác đßnh ngôn ngữ

LID Automatic Language Identification Tự đáng nhận biết ngôn ngữ

ANN Artifical Neural Network M¿ng nơ ron nhân t¿o

FFNN Feed Forward Neural Network M¿ng nơ ron chuyển tiếp nguồn cung cấp

GRU Gate Recurrent Unit Đơn vß hồi qui có cổng RNN Recurrent Neural Network M¿ng Nơ ron hồi qui LSTM Long Short-Term Memory Bá nhớ ngắn h¿n dài

NLP Nature Language Processing Xử lý ngôn ngữ tự nhiên NB Naive Bayes

KNN K-Nearest Neighbor K láng giềng gần nhất SVM Support Vector Machine Máy hß trÿ vectơ

Trang 8

Danh māc các bÁng

Bảng 3.1 Cấu hình phần cứng máy tính 38Bảng 3.2 Gán nhãn cho 10 ngôn ngữ 39Bảng 3.3 Thử nghiệm trên 2 lớp LSTM và BiLSTM với đá dài vector

Embedding = 256 40Bảng 3.4 Kết quả thực nghiệm với các vector embedding có kích thước khác nhau nhưng có cùng batch size khi sử dāng mô hình BiLSTM 41Bảng 3.5 Kết quả thực nghiệm với cùng mát đá dài của vector embedding nhưng batch_size có kích thước khác nhau 41Bảng 3.6 Đá chính xác mô của hình huấn luyện với các batch size khác nhau 42Bảng 3.7 Đá chính xác f1-score trong quá trình huấn luyện trên 10 ngôn ngữ với batch_size = 64 42

Trang 9

Danh māc các hình v¿, đß thị

Hình 1.1 Kiến trúc hệ tháng 6

Hình 1.2 Máy hß trÿ vectơ SVM 9

Hình 1.3 Minh háa Skip-gram dưới d¿ng m¿ng neural 14

Hình 1.4 Minh háa CBOW dưới d¿ng m¿ng neural 16

Hình 2.1 Mát m¿ng nơron chuyển tiếp nguồn cấp dữ liệu đơn giản 19

Hình 2.2 Hàm kích ho¿t ReLU() đưÿc sử dāng trong NN 20

Hình 2.3 Hàm kích ho¿t sigmoid() đưÿc sử dāng trong NN 20

Hình 2.4 M¿ng nơron hai lớp đưÿc xây dựng bái mát lớp ẩn, bao gồm M sá đơn vß ẩn hi 21

Hình 2.5 M¿ng nơ ron hác sâu với L lớp ẩn 22

Hình 2.6 Lớp đầu ra softmax trong mát bài toán phân lo¿i, mang l¿i xác suất cho mßi lớp cho mát mẫu đầu vào 22

Hình 2.12 Các phép tính toán trong ô nhớ tiềm năng của LSTM 29

Hình 2.13 Sử dāng phép nhân theo từng phần tử trong ô nhớ của LSTM 30

Hình 2.14 Phép tính nhân đưÿc thực hiện trên từng phần tử của tr¿ng thái ẩn 30

Hình 2.15 Mô tả kỹ thuật drop-out 31

Hình 3.1 Mô hình LSTM áp dāng cho bài toán 34

Hình 3.2 Mô tả chi tiết lớp LSMT 35

Hình 3.3 Mô tả ho¿t đáng của lớp DROP-OUT 35

Hình 3.4 Mô tả cấu trúc của lớp DENSE 36

Hình 3.5 Đá chính xác (accuracy) với epochs = 4 với mô hình 10 ngôn ngữ 43

Hình 3.6 Đá mất mát (loss) với hơn 4 epochs đái với mô hình 10 ngôn ngữ 43

Hình 3.7 Mô hình nhận biết ngôn ngữ tự đáng dựa vào hác sâu cho kết quả chính xác 44

Hình 3.8 Gán nhãn sai dẫn đến kết quả dự đoán sai trong quá trình nhận biết ngôn ngữ 44

Hình 3.9 Kết quả dự đoán sai 45

Trang 10

MỞ ĐÀU

Hiện nay, công nghệ thông tin ngày càng phát triển và ứng dāng m¿nh mẽ trên mái lĩnh vực kinh tế, xã hái, Hơn nữa, chúng ta đã và đang trải qua đ¿i dßch Covid19 vì vậy, việc liên l¿c và giao dßch trực tuyến ngày càng quan tráng và thực hiện thưßng xuyên trong công việc hàng ngày Lưÿng thông tin chúng ta tìm kiếm và giao tiếp ngày càng nhiều và thể hiện với nhiều ngôn ngữ khác nhau Chính vì vậy, việc tự đáng nhận biết ngôn ngữ tự đáng (Automatic Language Identification - LID) giúp cho việc tìm kiếm thông tin và dßch máy chính xác và hiệu quả hơn Do đó, chúng tôi tập trung nghiên cứu và giải quyết bài toán nhận biết ngôn ngữ tự đáng

Hiện nay có nhiều cách tiếp cận cho bài toán nhận biết ngôn ngữ tự đáng như coi bài toán nhận biết ngôn ngữ là bài toán phân lớp văn bản và các kỹ thuật hác máy đưÿc áp dāng cho bài toán trên Gần đây, các kỹ thuật hác sâu thể hiện vưÿt trái trong việc áp dāng cho các bài toán phân lớp văn bản Chính vì vậy, chúng tôi lựa chán mô hình bá nhớ ngắn dài h¿n (LSTM - Long Short Term Memory) để áp dāng cho bài toán tự đáng xác đßnh ngôn ngữ Đây là mô hình hiệu quả cho các bài toán xử lý văn bản

Chúng tôi cũng xây dựng tập dữ liệu cho 10 ngôn ngữ và thử nghiệm việc nhận biết ngôn ngữ tự đáng trên 10 ngôn ngữ đó Đánh giá và thử nghiệm trên 10 ngôn ngữ cho kết quả khả quan

Ch°¡ng 2: Mô hình m¿ng LSTM:

Trình bày các mô hình nhận biết ngôn ngữ tự động dựa vào học sâu mà đầu vào là các đoạn văn bản Chúng tôi tập trung vào mô tả chi tiết về lý thuyết mô hình LSTM Mô hình này được đánh giá là tốt trong các mô hình nhận biết ngôn ngữ dựa vào đoạn văn bản hiện nay và sử dụng chúng trong bài toán xác định ngôn ngữ của luận văn này

Trang 11

Ch°¡ng 3: Áp dụng mô hình LSTM cho bài toán nhÁn biết ngôn ngā:

Trình bày mô hình LSTM trong nhận biết ngôn ngữ tự động dựa vào học sâu áp dụng cho bài toán với đầu vào là các đoạn văn bản, dựa trên việc mô hình hóa dữ liệu và thuật toán học máy cho LID Với mỗi một đoạn văn bản đưa vào, thuật toán học máy này sẽ xác định được ngôn ngữ

Kết luÁn

Trình bày vắn tắt những công việc mà luận văn đã làm được đồng thời nêu định hướng phát triển tiếp theo của luận văn

Trang 12

CH¯¡NG 1: TàNG QUAN V BÀI TOÁN NH¾N BIÀT NGÔN

Giới thiệu tổng quan về nhận biết ngôn ngữ tự động dựa vào học sâu với đầu vào là các đoạn văn bản, giới thiệu một vài phương pháp nhận biết ngôn ngữ hiện tại, so sánh các phương pháp này với nhau

1.1 Gißi thiệu chung

Trong những năm gần đây, các trang web sử dāng tính năng tự đáng nhận biết ngôn ngữ trá nên phổ biến hơn, các trang web của các m¿ng xã hái như Facebook, Twitter các website tìm kiếm như Bing, Baidu, Google [1] Điều ấn tưÿng là cách dßch và nhận biết ngôn ngữ thưßng chính xác Mặc dù đôi khi bản dßch của mát biểu thức hoặc mát đo¿n văn bản không hoàn toàn phù hÿp với ý nghĩa thực sự của nó

Nhận d¿ng ngôn ngữ tự đáng (LID - language Identification) nhằm māc đích xác đßnh tự đáng ngôn ngữ mà không cần có sự can thiệp của con ngưßi [2] LID là mát quy trình hiện diện trong nhiều dßch vā web ngày nay Khi tìm kiếm trên web, nhiều trang web có hß trÿ LID cho văn bản đưÿc viết trên thanh tìm kiếm, các kết quả tìm kiếm phù hÿp nhất sau đó đưÿc hiển thß đầu tiên

Các ngôn ngữ liên tāc phát triển và thay đổi, điều này có thể trá thành mát vấn đề khi xây dựng các mô hình tự đáng nhận biết ngôn ngữ Trong thßi đ¿i mà mái ngưßi giao tiếp trực tuyến, những thay đổi diễn ra nhanh chóng, từ ngày này sang ngày khác, mát cáng đồng trực tuyến có thể bắt đầu sử dāng mát từ hoặc tiếng lóng hoàn toàn mới Nó phổ biến với văn bản viết xấu hoặc các từ viết sai chính tả trực tuyến do giao tiếp nhanh chóng trên các nền tảng trực tuyến Khả năng xác đßnh mát ngôn ngữ của các đo¿n văn bản vẫn cần đưÿc khám phá thêm Trí tuệ nhân t¿o và máy hác cá gắng bắt chước cách thức ho¿t đáng của bá não con ngưßi [3] Mát sá phương pháp tiếp cận khác nhau đã đưÿc nghiên cứu từ những năm 60 trong lĩnh vực nhận d¿ng ngôn ngữ tự đáng [2], nhưng cũng giáng như AI, đã có sự gia tăng nhanh chóng về hiệu suất trong 10 năm qua LID có thể đưÿc sử dāng trên dữ liệu từ giáng nói, ngôn ngữ ký hiệu hoặc từ văn bản

1.2Các ph°¢ng pháp xác định ngôn ngā 1.2.1 Mô hình ngôn ngā

Mô hình ngôn ngữ (Language Model - LM) là các phân phái xác suất trên mát ngữ liệu đơn ngữ, đưÿc sử dāng trong nhiều bài toán khác nhau của xử lý

Trang 13

ngôn ngữ tự nhiên, ví dā: dßch máy bằng phương pháp tháng kê, nhận d¿ng giáng nói, nhận d¿ng chữ viết tay, sửa lßi chính tả hay phân đo¿n từ,… Thực chất, mô hình ngôn ngữ là mát hàm chức năng có đầu vào là mát chußi các từ và đầu ra là điểm đánh giá xác suất mát ngưßi bản ngữ có thể nói chußi đó

Nói đơn giản, mô hình ngôn ngữ có thể cho biết xác suất mát câu (hoặc cām từ) thuác mát ngôn ngữ nào đó là bao nhiêu?

Ví dā: khi áp dāng mô hình ngôn ngữ cho tiếng Việt: P[<thứ 6 tôi đi hác Trí Tuệ Nhân T¿o=] = 0.9

P[<đi hác thứ 6 tôi Nhân Trí Tuệ T¿o=] = 0.02

Trong mô hình ngôn ngữ, nếu tập văn bản càng lớn, càng đa d¿ng thì kết quả của mô hình ngôn ngữ càng chính xác

Mô hình ngôn ngữ đưÿc áp dāng trong rất nhiều lĩnh vực của xử lý ngôn ngữ tự nhiên như: kiểm tra lßi chính tả, dßch máy hay phân đo¿n từ Chính vì vậy, nghiên cứu mô hình ngôn ngữ chính là tiền đề để nghiên cứu các lĩnh vực tiếp theo

Mô hình ngôn ngữ có nhiều hướng tiếp cận, nhưng chủ yếu đưÿc xây dựng theo mô hình n-gram

Mô hình ngôn ngā n-gram:

Cách thông dāng nhất đưÿc dùng để mô hình hóa ngôn ngữ vào trong LM là thông qua các n-gram Với mô hình n-gram, chúng ta coi mát văn bản, đo¿n văn bản là chußi các từ liền kề nhau, ā1, ā2, , āÿ21, āÿ, và sau đó phân tích xác suất của chußi với công thức xác suất kết hÿp:

P(ā1, ā2, , āþ21, āþ) =

P(ā1)*P(ā2|ā1)*P(ā3|ā1ā2)* *P(āþ|ā1ā2& āþ21)

Theo công thức (1.1), mô hình ngôn ngữ cần phải có mát lưÿng bá nhớ vô cùng lớn để có thể lưu hết xác suất của tất cả các chußi đá dài nhß hơn m Rõ ràng, điều này là không thể khi m là đá dài của các văn bản ngôn ngữ tự nhiên (m có thể tiến tới vô cùng) Để có thể tính đưÿc xác suất của văn bản với lưÿng bá nhớ chấp nhận đưÿc, ta sử dāng xấp xỉ Markov bậc n [4]:

P(āþ|ā1, ā1, , āþ21) = P(āþ|āþ2ÿ, āþ2ÿ+1, , āþ21) Và do vậy, mßi từ sẽ liên quan có điều kiện tới toàn bá các từ trước nó (ta sẽ gái đây là lßch sử của sự kiện hoặc từ đó)

1.1

1.2

Trang 14

Tuy nhiên, việc sử dāng toàn bá các từ trước đó để đoán nhận từ tiếp theo là không thể thực hiện đưÿc vì hai nguyên nhân sau Đầu tiên là phương pháp này không khả thi về mặt tính toán do tán quá nhiều thßi gian, tán tài nguyên hệ tháng cho mßi lần dự đoán Hai là, trong rất nhiều trưßng hÿp, chỉ sau khi duyệt vài từ trong lßch sử, ta đã nhận thấy rằng đó là mát câu chưa từng gặp trước đây Bái vậy kể cả khi đã biết toàn bá lßch sử của mát từ, xác suất của nó vẫn có thể là không biết

Thay vào đó, các mô hình ngôn ngữ thưßng ước lưÿng tương đái xác suất dựa trên giả đßnh Markov (hay mô hình Markov ẩn [4]), rằng từ tiếp theo chỉ chßu ảnh hưáng từ mát vài từ trước đó Mát mô hình Markov bậc n giả đßnh rằng chỉ n từ trước đó có liên hệ ngữ cảnh với từ đang cần xác đßnh Việc quyết đßnh bao nhiêu từ trước đó mà LM quan tâm đưÿc gái là bậc n (order) của mô hình ngôn ngữ

Với n = 1, gái là unigram, đó là tập hÿp các chữ cái hoặc các từ đơn Với n = 2, gái là bigram, đó là tập gồm hai chữ cái hoặc hai từ

Với n = 3, gái là trigram, đó là tập gồm các cām ba chữ cái hoặc ba từ Ví dā, nếu chúng ta muán ước lưÿng xác suất 2-gram của mát từ āÿ với mô hình Markov [4] bậc 2 thì chúng ta sẽ dựa trên hai từ trước đó:

P(ā1ā2 āÿ) = P(āÿ|āÿ22āÿ21)

Mát cách tổng quát, xác suất xuất hiện của mát từ (āþ) đưÿc coi như chỉ phā thuác vào n từ đứng liền trước nó (āþ2ÿ, āþ2ÿ+1, , āþ21) chứ không phải phā thuác vào toàn bá dãy từ đứng trước (ā1, ā2, , āþ21) Như vậy, công thức tính xác suất văn bản đưÿc tính l¿i theo công thức:

P(ā1ā2 …āþ) = P(ā1)*P(ā2|ā1)*P(ā3|ā1ā2)*…*

P(āþ21|āþ2ÿ21āþ2ÿ …āþ22)*P(āþ|āþ2ÿāþ2ÿ+1 …āþ21)

Xây dăng mô hình ngôn ngā:

Để xây dựng (huấn luyện) mát mô hình ngôn ngữ ta cần mát ngữ liệu đơn ngữ (corpus) có kích thước tương đái và mát bá ước lưÿng tháng kê có nhiệm vā mô hình hóa lưÿng xác suất của ngữ liệu Các bá ước lưÿng đưÿc mà LM sử dāng, theo những cách khác nhau, đều cần đến tần suất của các n-gram, do đó chúng ta cần phải đếm sá lần xuất hiện của các n-gram từ 1-gram cho đến n-gram với n là sá bậc mô hình chúng ta đang huấn luyện

1.4 1.3

Trang 15

Xác đßnh ngôn ngữ chính là bài toán phân lo¿i văn bản nên trong phần này, chúng tôi sẽ giới thiệu mát vài phương pháp xác đßnh ngôn ngữ cũng như phương pháp phân lo¿i văn bản Có thể kể tên các lo¿i phương pháp này như: mô hình Markov [4], vectơ tần suất 3-gram (Trigram Frequency Vector), phân lớp văn bản dựa trên n-gram, phương pháp Naive Bayes, phương pháp Support Vector Machine (SVM), phương pháp K-Nearest Neighbor (KNN)

Hình 1.1 miêu tả kiến trúc chung của các hệ tháng Tất cả đều là phương pháp tháng kê, và làm việc với mát tập các ngôn ngữ đưÿc xác đßnh trước Khi huấn luyện hệ tháng với mát ngôn ngữ nó lưu thông tin trong đưßng trung tâm

Mßi hệ tháng có mát mô hình tháng kê cho mßi ngôn ngữ mà nó huấn luyện Khi mát đo¿n văn bản đưÿc phân lớp, hệ tháng sẽ so sánh các đo¿n văn bản l¿ với mßi mô hình ngôn ngữ, tính toán về khoảng cách và đá tương đồng sau đó chán ngôn ngữ gần giáng nhất

1.2.2Ph°¢ng pháp xác định ngôn ngā dựa trên n-gram

(đưa vào đây)

Kỹ thuật này là phương pháp phân lo¿i văn bản, đưÿc giới thiệu trong [5] rằng có thể đưÿc áp dāng trong xác đßnh ngôn ngữ, với mßi lớp (category) là mát ngôn ngữ

Hệ tháng này dựa trên việc so sánh các hồ sơ tần suất n-gram (n-gram frequency profiles) Mát tập tần suất n-gram là mát danh sách các n-gram xảy ra đưÿc xắp sếp theo thứ tự tăng dần Với mßi lo¿i ngôn ngữ chúng ta muán huấn luyện hệ tháng, chúng ta t¿o ra tập n-gram của nó sử dāng tất cả n-gram với n từ 1 đến 5

Hình 1.1 Kiến trúc hệ tháng

Trang 16

Khi muán phân lớp mát đo¿n văn bản phải xây dựng tập tần suất n-gram cho đo¿n văn bản đó rồi so sánh với tập ngôn ngữ mà đã tính toán khi huấn luyện hệ tháng Việc so sánh này là tính toán khoảng cách giữa các tập với nhau, bao gồm khác nhau về vß trí rank(þÿ, text) của n-gram þÿ trong hồ sơ đo¿n văn bản chưa xác đßnh với vß trí rank(þĀ, ýĀ) của n-gram tương ứng trong tài liệu j của ngôn ngữ Khoảng cách giữa 2 hồ sơ đưÿc tính là tổng tất cả các khoảng cách cho mßi n-gram

ĀĀ = 3þÿ=1|rank(þÿ, text) - rank(þĀ, ýĀ) Trong đó:

N là sá lưÿng trigrams

Hệ tháng tính toán khoảng cách giữa các hồ sơ của ngôn ngữ chưa đưÿc nhận d¿ng với ngôn ngữ đã biết và lấy ngôn ngữ có khoảng cách ngắn nhất

1.2.3Ph°¢ng pháp xác định ngôn ngā dựa vào Naive Bayes

Naive Bayes [6] là phương pháp phân lo¿i dựa vào xác suất đưÿc sử dāng ráng rãi trong lĩnh vực máy hác và nhiều lĩnh vực khác như trong các công cā tìm kiếm, các bá lác mail, …

Ý tưáng cơ bản của cách tiếp cận này là sử dāng xác suất có điều kiện giữa từ hoặc cām từ và chủ đề để dự đoán xác suất chủ đề của mát văn bản cần phân lo¿i Điểm quan tráng của phương pháp này chính là á chß giả đßnh rằng sự xuất hiện của tất cả các từ trong văn bản đều đác lập với nhau Như thế NB không tận dāng đưÿc sự phā thuác của nhiều từ vào mát chủ đề cā thể Chính giả đßnh đó làm cho việc tính toán NB hiệu qủa và nhanh chóng hơn các phương pháp khác với đá phức t¿p theo sá mũ vì nó không sử dāng cách kết hÿp các từ để đưa ra phán đoán chủ đề

Māc đích chính là làm sao tính đưÿc xác suất P(ÿĀ|d’), xác suất để văn bản d’ nằm trong lớp ÿĀ Theo luật Bayes, văn bản d’ sẽ đưÿc gán vào lớp ÿĀ nào có xác suất P(ÿĀ|d’) cao nhất

Công thức để tính P(ÿĀ|d’) như sau:

ÿþý�㕌ýÿ(d’) = arg max ( P(ÿĀ)./|þ2|ÿ=1P(āÿ|ÿĀ)

3�㔶2∈ �㔶P(ÿ2)./|þ2|P(āÿ|ÿ2)

)ÿĀ ∈ ÿTrong đó:

|d’| là sá lưÿng các từ trong văn bản d’

1.5

1.6

Trang 17

āÿ là mát từ trong không gian đặc trưng F với sá chiều là |F|

P(ÿĀ) đưÿc tính dựa trên tỷ lệ phần trăm của sá văn bản mßi lớp tương ứng P(ÿĀ) = ||ÿ||ÿ||Ā|| = ||ÿĀ||

3�㔶2 ∈�㔶||ÿ2|| trong tập huấn luyện:

P(āÿ|ÿĀ) = 1+Āþ(āÿ|ÿĀ)

|þ|+3ý2∈|�㔹|Āþ(ā2|ÿĀ)

Naive Bayes là mát công cā rất hiệu quả trong mát sá trưßng hÿp Kết quả có thể rất xấu nếu có ít dữ liệu huấn luyện và các tham sá dự đoán (như không gian đặc trưng) có chất lưÿng kém Nhìn chung, đây là mát thuật toán phân lo¿i tuyến tính thích hÿp trong phân lo¿i văn bản nhiều chủ đề Naive Bayes có ưu điểm là cài đặt đơn giản, tác đá thực hiện thuật toán nhanh, dễ dàng cập nhật dữ liệu huấn luyện mới và có tính đác lập cao với tập huấn luyện

1.2.4Ph°¢ng pháp xác định ngôn ngā dựa vào máy hỗ trÿ vect¢ (SVM)

Phương pháp máy hß trÿ vectơ (Support Vector Machine - SVM) là phương pháp phân lo¿i rất hiệu quả đưÿc Vapnik giới thiệu năm 1995 [7] Ý tưáng của phương pháp là cho trước mát tập huấn luyện đưÿc biểu diễn trong không gian vector, trong đó mßi mát văn bản đưÿc xem như mát điểm trong không gian này

Phương pháp này tìm ra mát siêu mặt phẳng h quyết đßnh tát nhất có thể chia các điểm trên không gian này thành hai lớp riêng biệt tương ứng, t¿m gái là lớp + (cáng) và lớp – (trừ) Chất lưÿng của siêu mặt phẳng này đưÿc quyết đßnh bái mát khoảng cách (đưÿc gái là biên) của điểm dữ liệu gần nhất của mßi lớp đến mặt phẳng này Khoảng cách biên càng lớn thì càng có sự phân chia tát các điểm ra thành hai lớp, nghĩa là sẽ đ¿t đưÿc kết quả phân lo¿i tát Māc tiêu của thuật toán SVM là tìm đưÿc khoảng cách biên lớn nhất để t¿o kết qủa phân lo¿i tát

Có thể nói SVM thực chất là mát bài toán tái ưu, māc tiêu của thuật toán là tìm đưÿc mát không gian H và siêu mặt phẳng quyết đßnh h trên H sao cho sai sá khi phân lo¿i là thấp nhất, nghĩa là kết qủa phân lo¿i sẽ cho kết quả tát nhất

1.8 1.7

Trang 18

Phương trình siêu mặt phẳng chứa vector āÿ trong không gian như sau: ā�㕖

⃗⃗⃗ ā⃗⃗ + b = 0

h(ā⃗⃗⃗ ) = sign(ā�㕖 ⃗⃗⃗ ā⃗⃗ ) = {+, ā�㕖 ⃗⃗⃗ ā⃗⃗ + ÿ > 0�㕖

2, ā⃗⃗⃗ ā⃗⃗ + ÿ < 0�㕖 Như thế vector h(ā⃗⃗⃗ ) biểu diễn sự phân lớp của vector ā�㕖 ÿ vào hai lớp Gái Āÿ mang giá trß +1 hoặc -1, khi đó Āÿ = +1 văn bản tương ứng với vector āÿ thuác lớp (+) và ngưÿc l¿i nó sẽ thuác vào lớp (-) Bây giß để có siêu mặt phẳng h, ta sẽ giải bài toán sau:

Tìm Min ||ā⃗⃗ || với ā⃗⃗ và b thßa mãn điều kiện:

∀ I ∈ 1, n: Āÿ(sign(āÿ – w + b)) ≥ 1

Chúng ta thấy rằng SVM là mặt phẳng quyết đßnh chỉ phā thuác vào các vector hß trÿ có khoảng cách đến mặt phẳng quyết đßnh là 1/āÿ Khi các điểm khác bß xóa đi thì thuật toán vẫn cho kết quả giáng như ban đầu Chính đặc điểm này làm cho SVM khác với các thuật toán khác vì tất cả dữ liệu trong tập huấn luyện đều đưÿc dùng để tái ưu hóa kết quả

1.2.5Ph°¢ng pháp láng giÃng gÁn nh¿t (K-Nearest Neighbor)

Phương pháp láng giềng gần nhất (K-Nearest Neighbor - KNN) [8] là phương pháp truyền tháng khá nổi tiếng theo hướng tiếp cận tháng kê đã đưÿc nghiên cứu trong nhiều năm qua KNN đưÿc đánh giá là mát trong những phương

Hình 1.2 Máy hß trÿ vectơ SVM

1.9 1.10

1.11

Trang 19

pháp tát nhất đưÿc sử dāng từ những thßi kỳ đầu trong nghiên cứu về phân lo¿i văn bản

Ý tưáng của phương pháp này đó là khi cần phân lo¿i mát văn bản mới, thuật toán sẽ xác đßnh khoảng cách của tất cả các văn bản trong tập huấn luyện đến văn bản này để tìm ra K văn bản gần nhất, gái là K láng giềng gần nhất (K Nearest Neighbor), sau đó dùng các khoảng cách này đánh tráng sá cho tất cả các chủ đề Khi đó, tráng sá của mát chủ đề chính là tổng tất cả các khoảng cách á trên của các văn bản trong K láng giềng có cùng chủ đề, chủ đề nào không xuất hiện trong K láng giềng sẽ có tráng sá bằng 0 Sau đó các chủ đề sẽ đưÿc sắp xếp theo giá trß tráng sá giảm dần và các chủ đề có tráng sá cao sẽ đưÿc chán làm chủ đề của văn bản cần phân lo¿i

Tráng sá của chủ đề ĀĀ đái với văn bản x đưÿc tính như sau: W(ā⃗⃗ ,ĀĀ) = 3āÿ ∈ {�㔾þþ⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗⃗ }ýÿþ(Ă,⃗⃗⃗ ā⃗⃗⃗⃗⃗ y(ā�㕖) ⃗⃗⃗ , Ā�㕖 Ā) - ÿĀ Trong đó: y(ā⃗⃗⃗ , Ā�㕖 Ā) thuác {0,1}, với:

y = 0: văn bản āĀ không thuác về chủ đề ĀĀy = 1: văn bản āĀ thuác về chủ đề ĀĀ

ÿĀ là ngưỡng phân lo¿i của chủ đề ĀĀ đưÿc tự đáng hác sử dāng mát tập văn bản hÿp lệ đưÿc chán ra từ tập huấn luyện

ýÿþ( Ă , ā⃗⃗⃗⃗⃗ : đá giáng nhau giữa văn bản cần phân lo¿i x và văn bản d �㕖)Chúng ta có thể sử dāng đá đo cosine để tính khoảng cách:

ýÿþ(Ă , ā⃗⃗⃗⃗⃗ = cos(Ă ,ā�㕖) ⃗⃗⃗⃗⃗ = �㕖) Ă x ā⃗⃗⃗⃗⃗ �㕖

||Ă || x ||ā⃗⃗⃗⃗ ||�㕖

Để chán đưÿc tham sá k tát nhất cho thao tác phân lo¿i, thuật toán cần đưÿc ch¿y thử nghiệm trên nhiều giá trß K khác nhau, giá trß K càng lớn thì thuật toán càng ổn đßnh và sai sót càng thấp

1.2.6Ph°¢ng pháp Word2vec

Word2vec là mát mô hình đơn giản và nổi tiếng giúp t¿o ra các biểu diễn embedding của từ trong mát không gian có sá chiều thấp hơn nhiều lần so với sá từ trong từ điển Ý tưáng của word2vec đã đưÿc sử dāng trong nhiều bài toán với dữ liệu khác xa với dữ liệu ngôn ngữ

Ý tưáng cơ bản của word2vec có thể đưÿc tóm tắt trong các ý sau:

(1.12)

(1.13)

Trang 20

• Hai từ xuất hiện trong những văn cảnh giáng nhau thưßng có ý nghĩa gần với nhau

• Ta có thể đoán đưÿc mát từ nếu biết các từ xung quanh nó trong câu Ví dā, với câu <sông Nil là con sông … thế giới = thì từ trong dấu ba chấm khả năng cao là <dài nhất= Với câu hoàn chỉnh <sông Nil là con sông dài nhất thế giới=, mô hình word2vec sẽ xây dựng ra embeding của các từ sao cho xác suất để từ trong dấu ba chấm là <dài nhất= là cao nhất

Mát vài đßnh ngh*a

Trong ví dā trên đây, từ <dài nhất= đang đưÿc xét và đưÿc gái là từ đích

(target word) Những từ xung quanh nó đưÿc gái là hay từ ngữ cảnh (context words) Với mßi từ đích trong mát câu của cơ sá dữ liệu, các từ ngữ cảnh đưÿc đßnh nghĩa là các từ trong cùng câu có vß trí cách từ đích mát khoảng không quá C/2, với C là mát sá tự nhiên dương Như vậy, với mßi từ đích, ta sẽ có mát bá không quá C từ ngữ cảnh

Xét ví dā sau đây với câu tiếng Anh: <The quick brown fox jump over the lazy dog= với C=4

(the, quick) (the, brown) (quick, the) (quick, brown) (quick, fox) (brown, the) (brown, quick) (brown, fox) (brown, jumps) (fox, quick) (fox, brown) (fox, jumps) (fox, over) Trên đây là mát ví dā về các cặp (từ đích, từ ngữ cảnh)1

1 Word2Vec Tutorial - The Skip-Gram Model

over the lazy dog the quick brown

the quick brown fox jumps over the lazy dog

fox jumps over the lazy dog

the quick brown fox jumps

the quick brown fox jumps over the lazy dog

Trang 21

Khi <the= là từ đích, ta có cặp dữ liệu huấn luyện là (the, quick) và (the, brown) Khi <brown= là từ đích, ta có cặp dữ liệu huấn luyện là (brown, the), (brown, quick), (brown, fox) và (brown, jumps)

Word2vec đßnh nghĩa hai embedding vector cùng chiều cho mßi từ w trong từ điển Khi nó là mát từ đích, embedding vector của nó là u, khi nó là mát từ ngữ cảnh, embedding của nó là v Sá dĩ ta cần hai embedding khác nhau vì ý nghĩa của từ đó khi nó là từ đích và từ ngữ cảnh là khác nhau Tương ứng với đó, ta có hai ma trận embedding U và V cho các từ đích và các từ ngữ cảnh

Có hai cách khác nhau xây dựng mô hình word2vec:

• Skip-gram: Dự đoán những từ ngữ cảnh nếu biết trước từ đích

• CBOW (Continuous Bag of Words): Dựa vào những từ ngữ cảnh để dự đoán từ đích

Mßi cách có những ưu nhưÿc điểm khác nhau và áp dāng với những lo¿i dữ liệu khác nhau

1.2.6.1 Skip-gram

Xây dựng hàm mất mát

Mái tính toán trong māc này đưÿc xây dựng xung quanh mát từ ngữ cảnh Hàm mất mát tổng cáng sẽ là tổng của hàm mất mát t¿i mßi từ ngữ cảnh Việc tái ưu hàm mất mát có thể đưÿc thực hiện thông qua Gradient Descent trên từng từ ngữ cảnh hoặc mát batch các từ ngữ cảnh

Xét ví dā bên trên với từ đích là <fox= và các từ ngữ cảnh là <quick=, <brown=, <jumps= và <over= Việc dự đoán xác suất xảy ra các từ ngữ cảnh khi biết từ đích đưÿc mô hình hóa bái:

P("quick","brown","jumps","over"|"fox")

Ta có thể giả sử rằng sự xuất hiện của mát từ ngữ cảnh khi biết từ đích đác lập với các từ ngữ cảnh khác để xấp xỉ xác suất trên đây bái:

P("quick"|"fox")P("brown"|"fox")P("jumps"|"fox")P("over"|"fox") Note: Giả sử về việc các từ ngữ cảnh xuất hiện đác lập với nhau xunh quanh từ đích mâu thuẫn với ý tưáng của word2vec là những từ trong cùng văn cảnh có liên quan đến nhau Tuy nhiên, giả thiết này giúp mô hình và đá phức t¿p giảm đi rất nhiều trong khi vẫn mang l¿i kết quả khả quan

Trang 22

Giả sử từ đích có chỉ sá t trong từ điển V và tập hÿp các chỉ sá của các từ ngữ cảnh tương ứng là ÿþ Sá lưÿng phần tử của ÿþ dao đáng từ C/2 (nếu āþ đứng đầu hoặc cuái câu) tới C (nếu āþ đứng á giữa câu và có đủ C/2 từ ngữ cảnh á mßi phía)

Từ dữ liệu đã có, ta cần mát mô hình sao cho xác suất dưới đây càng lớn càng tát với mßi từ ngữ cảnh āþ:

∏ ÿ(ÿ ∈ ÿ�㕡

āĀ| āþ)

Để tránh các sai sá tính toán khi nhân các sá nhß hơn 1 với nhau, bài toán tái ưu này thưßng đưÿc đưa về bài toán tái thiểu đái sá của log (thưßng đưÿc gái là negative log loss):

∑ logP(āĀ|āþ)ÿ ∈ ÿ�㕡

Xác suất có điều kiện P(āĀ| āþ) đưÿc đßnh nghĩa bái: P(āĀ|āþ) = exp(ÿ�㕡�㕇�㖗�㖄)

Biểu thức này rất giáng với công thức Softmax Việc đßnh nghĩa xác suất như biểu thức (1.14) á trên đảm bảo rằng:

Biểu diễn dưới d¿ng m¿ng neural Ta có thể thấy:

skip-gram word2vec là mát m¿ng neural vô cùng đơn giản với chỉ mát tầng ẩn không có hàm kích ho¿t

(1.14)

Trang 23

Nhận xét này có thể đưÿc minh háa trên hình 1.3 à đây, ÿþ chính là kết quả của phép nhân vector one-hot tương ứng với āþ với ma trận tráng sá U, vì vậy đây chính là giá trß đầu ra của của tầng ẩn á giữa khi xét từ đích āþ Tiếp theo, đầu ra của tầng ẩn không hàm kích ho¿t này đưÿc nhân trực tiếp với ma trận tráng sá đầu ra V để đưÿc ÿþĀý, đây chính là giá trß vector logarit trước khi đi vào hàm kích ho¿t softmax như trong biểu thức (1.14)

Kiến trúc đơn giản này giúp word2vec ho¿t đáng tát ngay cả khi sá lưÿng từ trong từ điển là cực lớn (có thể lên tới nhiều triệu từ) Lưu ý rằng kích thước đầu vào và đầu ra của m¿ng word2vec này bằng với sá lưÿng từ trong từ điển

Tßi °u hàm mất mát

Việc tái ưu hai ma trận tráng sá U và V đưÿc thực hiện thông qua các thuật toán Gradient Descent Các thuật toán tái ưu d¿ng này yêu cầu tính gradient cho từng ma trận

Xét riêng sá h¿ng:

logP(āĀ| āþ) = 3log exp(ÿ�㕡�㕇Āý)3�㕁ÿ=1exp(ÿ�㕡�㕇Āý)

ÿ ∈ ÿ�㕡 =ÿþĀĀĀ - log3þÿ=1exp (ÿþĀĀĀ) Đ¿o hàm theo ÿþ:

�㔕ýĀĄ�㕃(āý| ā�㕡)

�㔕ÿ�㕡 = ĀĀ - 3 exp(ÿ�㕡�㕇Āý)3�㕁ÿ=1exp(ÿ�㕡�㕇Āý)þ

Ā21 = ĀĀ - 3þ ÿ(āĀ|Ā=1 āþ)ĀĀ

Như vậy, mặc dù gradient này rất đẹp, chúng ta vẫn cần phải tính toán các xác suất P(āĀ| āþ) Mßi xác suất này phā thuác toàn bá ma trận tráng sá V và vector ÿþ Như vậy ta cần cập nhập tổng cáng N∗d + d tráng sá Đây rõ ràng là mát con sá rất lớn với N lớn

Hình 1.3 Minh háa Skip-gram dưới d¿ng m¿ng neural

Trang 24

Xấp xỉ hàm mất mát và lấy m¿u âm

Để tránh việc cập nhật rất nhiều tham sá này trong mát lưÿt, mát phương pháp xấp xỉ đưÿc đề xuất giúp cải thiện tác đá tính toán đáng kể Mßi xác suất P(āĀ| āþ) đưÿc mô hình bái mát hàm sigmoid thay vì hàm softmax:

P(āĀ| āþ) = 1

1+ exp(ÿ�㕡�㕇Āÿ)

Lưu ý rằng tổng các xác suất 3āý∈ vP(āĀ|āþ) không còn bằng 1 nữa Tuy nhiên, nó vẫn mang ý nghĩa về xác suất có mặt của riêng từ ngữ cảnh āĀ đi cùng với từ đích āþ

Lúc này, việc tính toán P(āĀ| āþ) chỉ còn phā thuác vào vector ÿþ và vector ĀĀ (thay vì cả ma trận V) Tương ứng với sá h¿ng này, sẽ chỉ có 2d tráng sá cần đưÿc cập nhật cho mßi cặp (āĀ, āþ) Sá lưÿng tráng sá này không phā thuác vào kích thước từ điển, khiến cho cách mô hình này có thể ho¿t đáng tát với N rất lớn

Có mát vấn đề lớn với cách mô hình hóa này

Vì không có sự ràng buác giữa các xác suất P(āĀ| āþ), khi cá gắng tái đa hóa mßi xác suất sẽ dẫn đến việc nghiệm thu đưÿc thßa mãn mái P(āĀ| āþ) đều cao Điều này sẽ đ¿t đưÿc khi exp(2ÿþĀĀĀ) xấp xỉ 0 Chỉ cần toàn bá các phần tử của U và V tiến tới dương vô cùng là thßa mãn Việc xấp xỉ này bây giß trá nên tầm thưßng và vô nghĩa Để tránh vấn đề này, ta cần thêm đưa thêm các ràng buác sao cho tồn t¿i các xác suất P(āĀ| āþ) khác cần đưÿc tái thiểu hóa khi xét tới từ đích āþ

Bản chất của bài toán tái ưu ban đầu là xây dựng mô hình sao cho với mßi từ đích āþ, xác suất của mát từ ngữ cảnh āĀ xảy ra là cao trong khi xác suất của toàn bá các từ ngoài ngữ cảnh đó là thấp, việc này đưÿc thể hiện trong hàm softmax() Để h¿n chế tính toán, trong phương pháp này ta chỉ lấy mẫu ngẫu nhiên mát vài từ ngoài ngữ cảnh đó để tái ưu Các từ trong ngữ cảnh đưÿc gái là <từ dương=, các từ ngoài ngữ cảnh đưÿc gái là <từ âm=; vì vậy phương pháp này còn có tên gái khác là <lấy mẫu âm= (negative sampling)

Khi đó, với mßi từ đích, ta có mát bá các từ ngữ cảnh với nhãn là 1 và 0 tương ứng với các từ ngữ cảnh ban đầu (gái là ngữ cảnh dương) và các từ ngữ cảnh âm đưÿc lấy mẫu từ ngoài tập ngữ cảnh dương đó Với các từ ngữ cảnh dương, - log(P(āĀ| āþ), tương tự với hàm mất mát trong hồi quy logistic với nhãn bằng 1 Tương tự, ta có thể dùng - log(1 - P(āĀ| āþ)) như là hàm mất mát cho các từ ngữ cảnh âm với nhãn bằng 0

Trang 25

1.2.6.2 Túi từ liên tục (CBOW)

Ngưÿc với Skip-gram, túi từ liên tāc (Continuous Bag of Words) đi tìm xác suất xảy ra từ đích khi biết các từ ngữ cảnh xung quanh Ta cần mô hình hóa dữ liệu sao cho xác suất sau đây đ¿t giá trß lớn:

P("fox"|"quick","brown","jumps","over")

Vì có nhiều từ ngữ cảnh trong điều kiện, chúng thưßng đưÿc đơn giản hóa bằng cách lấy mát từ <trung bình= làm đ¿i diện

P(āþ|ā̅ÿ�㕡) Trong đó:

ā̅ÿ�㕡là trung bình cáng của các từ trong ngữ cảnh của từ đích āþ

Embedding của từ trung bình này là trung bình của embedding các từ ngữ cảnh Xác suất này cũng đưÿc đßnh nghĩa tương tự như trong Skip-gram:

ÿ(āþ|ā̅ÿ�㕡) = exp(ÿ�㕡�㕇1ý3C∈Ct�㖗�㖄)3�㕁ÿ=1exp(ÿ�㕡�㕇1ý3C∈Ct�㖗�㖄)

Biểu diễn m¿ng neural cho CBOW đưÿc thể hiện như trong hình 1.4 dưới đây:

Lưu ý rằng giá trị tại tầng ẩn là trung bình cộng của các embedding của các từ ngữ cảnh

Kỹ thuật tái ưu likelihood này cũng tương tự như trong Skip-gram và phương pháp lấy mẫu âm với các từ đích cũng có thể đưÿc sử dāng mát cách tương tự

Hình 1.4 Minh háa CBOW dưới d¿ng m¿ng neural

Trang 26

1.2.7Ph°¢ng pháp xác định ngôn ngā dựa vào học sâu

M¿ng nơ-ron sâu (Deep Neural Network - DNN) đã đưÿc áp dāng thành công cho nhiều lĩnh vực, bao gồm cả nhận d¿ng giáng nói và thß giác máy Đái với các bài toán trong lĩnh vực xử lý ngôn ngữ tự nhiên, m¿ng nơ-ron hồi qui (Recurrent Neural Network - RNN) [9] đưÿc sử dāng ráng rãi hơn vì khả năng ghi nhớ phā thuác d¿ng dãy của nó

Tuy nhiên, mô hình RNN có vấn đề về sự biến mất gradient (vanishing gradient) Vì RNN có thể đưÿc coi là mát m¿ng nơ ron sâu theo thßi gian (đá dài dãy đầu vào), các ngữ cảnh á đầu câu có thể không truyền và nhớ để dự đoán thành phần cuái câu, vì nhiều lớp ẩn trong m¿ng RNN đã biến đổi phi tuyến

M¿ng nơ-ron bá nhớ thuật ngữ ngắn dài (LSTM) [10] là phần má ráng của m¿ng RNN [11] Thay vì sử dāng kết nái phi tuyến giữa các hàm kích ho¿t của lớp ẩn trong quá khứ và lớp ẩn của lớp hiện t¿i, nó sử dāng sự phā thuác tuyến tính để liên kết bá nhớ trong quá khứ với bá nhớ hiện t¿i Quan tráng là, mát cổng quên đưÿc giới thiệu trong LSTM để điều chỉnh từng phần tử của bá nhớ trong quá khứ đưÿc đóng góp vào ô nhớ hiện t¿i

LSTM và các phần má ráng của nó, chẳng h¿n như đơn vß hồi tiếp có cổng (GRU - Gated Recurrent Unit)[12] đã đưÿc sử dāng thành công trong nhiều bài toán xử lý ngôn ngữ tự nhiên, bao gồm dßch máy[13] và hiểu ngôn ngữ[14]

Để xây dựng mát m¿ng nơ-ron sâu, cách thưßng làm là xếp chồng nhiều lớp m¿ng nơ-ron (tầng ẩn) Tuy nhiên, điều này có cùng mát vấn đề là xây dựng các m¿ng lặp l¿i đơn giản Sự khác biệt á đây là các tín hiệu lßi từ phía trên, thay vì từ lần trước, phải truyền ngưÿc trá l¿i qua nhiều lớp biến đổi phi tuyến và do đó các tín hiệu lßi bß giảm nhanh hoặc bùng nổ

Trang 27

CH¯¡NG 2: MÔ HÌNH M¾NG LSTM

Trình bày các mô hình nhận biết ngôn ngữ tự động dựa vào học sâu mà đầu vào là các đoạn văn bản Chúng tôi tập trung vào mô tả chi tiết về lý thuyết mô hình LSTM Mô hình này được đánh giá là tốt trong các mô hình nhận biết ngôn ngữ dựa vào đoạn văn bản hiện nay và sử dụng chúng trong bài toán xác định ngôn ngữ của luận văn này

2.1 M¿ng N¢ ron nhân t¿o

M¿ng nơ-ron nhân t¿o (Artifical Neural Network - ANN) hay còn gái là m¿ng nơ-ron (NN) đang bắt chước cấu trúc của bá não của con ngưßi Ý tưáng chính của m¿ng nơ ron là t¿o ra mát m¿ng bao gồm nhiều tế bào nơ ron sẽ nhận kiến thức về mát nhiệm vā thông qua huấn luyện, giáng như bá não con ngưßi đưÿc đào t¿o để hác những điều mới trong suát cuác đßi

Ý tưáng về trí tuệ nhân t¿o và cā thể là m¿ng nơ ron đã có từ rất lâu, và đã phát triển trong nhiều năm, ngày nay đôi khi đưÿc nhắc đến như là hác sâu Hác sâu chính là khi m¿ng nơ ron trá nên sâu hơn có nghĩa là có nhiều lớp ẩn đưÿc thêm vào m¿ng nơ ron

Thập kỷ vừa qua đã mang l¿i sự phát triển và cải tiến lớn của m¿ng nơ ron không chỉ do sức m¿nh tính toán đưÿc cải thiện mà còn do khả năng thu thập dữ liệu Dữ liệu lớn, khai thác dữ liệu, cơ sá dữ liệu, nguồn má và điện toán đám mây đã giúp các nhà khoa hác dữ liệu có thể xây dựng các thuật toán về trí tuệ nhân t¿o và mô hình hác máy m¿nh mẽ hơn Hác sâu có thể thực hiện đưÿc bái vì cho đến ngày nay, các máy tính có thể xử lý lưÿng lớn dữ liệu và kiến trúc lớn của m¿ng Hác sâu có thể đưÿc thực hiện trong các hệ tháng cho mát sá lĩnh vực khác nhau như chẩn đoán bệnh, nhận d¿ng hình ảnh và nhận d¿ng ngôn ngữ

M¿ng nơ-ron nhân t¿o (Neural Network - NN) là mát mô hình lập trình mô phßng cách thức ho¿t đáng của m¿ng nơ-ron thần kinh của con ngưßi Kết hÿp với các kĩ thuật hác sâu (Deep Learning - DL), m¿ng nơ-ron nhân t¿o đang trá thành mát công cā rất m¿nh mẽ mang l¿i hiệu quả tát nhất cho nhiều bài toán khó như nhận d¿ng ảnh, giáng nói hay xử lý ngôn ngữ tự nhiên

Mát m¿ng nơ ron cơ bản nhất là m¿ng nơ-ron chuyển tiếp Mát NN chuyển tiếp nguồn cấp dữ liệu có thể đưÿc sử dāng cho cả ba lo¿i hác máy đó là hác có giám sát, không giám sát và hác tăng cưßng Tất cả chúng đều dựa trên cấu trúc cơ bản giáng nhau M¿ng nơ-ron đưÿc xây dựng bái mát sá lớp nơ-ron, còn đưÿc gái là nút, là các đơn vß <ẩn= đang đưÿc huấn luyện khi dữ liệu đưÿc ch¿y qua

Trang 28

chúng Các nút đưÿc kết nái với nhau trong mát lớp ẩn, ho¿t đáng giáng như mát háp đen của phần hác của mô hình m¿ng nơ-ron Các kết nái giữa các nút có thể đưÿc biểu diễn toán hác dưới d¿ng tráng sá, tráng sá đưÿc cập nhật khi dữ liệu mới đưÿc sử dāng làm đầu vào Mát m¿ng nơ-ron thưßng bao gồm mát sá lớp ẩn, với nhiều tráng sá đưÿc cập nhật trong quá trình huấn luyện mô hình m¿ng nơ ron [15] M¿ng nơ ron chuyển tiếp nguồn cấp dữ liệu đưÿc kết nái, nghĩa là mßi nút trong mßi lớp đưÿc kết nái với mái nút trong lớp ẩn tiếp theo (hình 2.1) Mát m¿ng nơ ron chuyển tiếp nguồn cấp cơ bản bao gồm mát lớp đầu vào, các lớp ẩn và cuái cùng là mát lớp đầu ra

NN là các mô hình phi tuyến, đưÿc thiết kế để mô tả và xử lý các mái quan hệ phi tuyến M¿ng cho mát đầu ra z với mát đầu vào x, đưÿc cung cấp bái mát sá lớp ẩn của các hàm tuyến tính và các hàm kích ho¿t phi tuyến Bài toán hồi quy tuyến tính cơ bản đưÿc đưa ra bái phương trình (2.1)

z(x) = β01 + β1Ă1 + β2Ă2 + + βýĂā

à đây đầu ra z đưÿc cho bằng tổng tất cả các giá trß đầu vào của x = [1 Ă1Ă2 Ăā]T, mßi giá trß đưÿc nhân với mát tham sá βý Để mô tả các mái quan hệ phi tuyến giữa z và x, các yếu tá này đưÿc đưa vào mát hàm phi tuyến, đưÿc gái là hàm kích ho¿t, thưßng đưÿc ký hiệu là σ, phương trình (2.2)

z(x) = σ(β01 + β1Ă1 + β2Ă2 + + βýĂā)

2.1.1 Hàm kích ho¿t

Hai hàm kích ho¿t (Activation functions) phổ biến đưÿc sử dāng trong NN là hàm logistic (sigmoid) và hàm (ReLU - Rectified Linear Unit) Chúng đưÿc mô tả bằng phương trình (2.3) và (2.4) và đưÿc mô tả trong hình 2.2 và 2.3 Ý tưáng về chức năng kích ho¿t là bắt chước ho¿t đáng của bá não con ngưßi và ho¿t đáng

Hình 2.1 Một mạng nơron chuyển tiếp nguồn cấp dữ liệu đơn giản

(2.1)

(2.2)

Trang 29

giáng như mát "công tắc", trong đó đóng góp đầu vào hoặc là giá trß của 1 hoặc đưÿc giữ nguyên là 0

Hàm sigmoid() đã đưÿc lựa chán đầu tiên làm hàm kích ho¿t trong nhiều năm, nhưng trong những năm gần đây, hàm ReLU đơn giản hơn đã trá nên phổ biến đưÿc sử dāng Lý do chính là vì sự đơn giản của ReLU và m¿ng hác nhanh hơn so với hàm sigmoid [16] Mát vài nhưÿc điểm của ReLU là các nơ-ron tiêu cực sẽ đưÿc giữ á mức 0 và rất khó phāc hồi, nếu tác đá hác tập quá cao, mô hình có thể ngừng cập nhật các tráng sá Chức năng ReLU chỉ đưÿc sử dāng cho các lớp ẩn, không phải cho lớp đầu ra

Phương trình hàm ReLU: σ(x) = max(0,x)

Phương trình hàm sigmoid như sau: σ(x) = 11 + Ă2þ

Đái với m¿ng nơ-ron và các m¿ng nơ-ron sâu hơn nữa, mát sá đơn vß kích ho¿t đưÿc ghép l¿i với nhau và sau đó chúng đưÿc mô tả là các đơn vß ẩn hi

/ÿ = σ( β0ÿ1 + β1ÿĂ1 + β2ÿĂ2 + + βāÿĂā), i=1, 2, M

Hình 2.2 Hàm kích hoạt ReLU() được sử dụng trong NN

Hình 2.3 Hàm kích hoạt sigmoid() được sử dụng trong NN

(2.4) (2.3)

(2.5)

Ngày đăng: 08/05/2024, 07:24

Tài liệu cùng người dùng

Tài liệu liên quan