Chương 1 VEC TO TỪ VÀ BIEU DIEN VEC TO TỪ
CHO TIENG VIET 1.1 Cơ sở lý luận
1.1.1 Biểu diễn từ trong xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên là lĩnh vực đã được nghiên cứu từ nhiều năm nay và đạt được
nhiều bước tiễn quan trọng trong những năm gan đây, đặc biệt trong việc xây dung các ứng dụng như dịch máy, tìm kiếm thông tin, trích chọn thông tin, tóm tắt văn bản, trả lời tự động, khai phá quan điểm
Bắt ké nghiên cứu theo hướng nao trong lĩnh vực xử lý ngôn ngữ tự nhiên thì trước tiên người nghiên cứu bắt buộc phải tiễn hành bước biêu diễn ngôn ngữ tự nhiên trước Thông
thường bat đầu từ biểu diễn từ và cụm từ, trên cơ sở đó biểu diễn câu và văn bản Các bước
phân tích xử lý đều dựa trên dit liệu biểu diễn này chứ hiếm khi thực hiện trực tiếp trên dữ liệu
văn bản.
Tùy theo mục đích nghiên cứu mà người ta đưa ra các mô hình biểu diễn thích hợp Việc
lựa chọn mô hình biểu diễn thích hợp ảnh hưởng rat lớn đến tính chính xác của kết quả phân tích Hiện tại có 2 mô hình phô biến dé biểu diễn từ là mô hình “one-hot” và véc tơ từ(word
vector) Ca hai mô hình đều sử dung mô hình toán học không gian nhiều chiều dé biểu diễn các
từ, sau đó là câu và văn bản Điểm khác là hai mô hình sử dụng các hướng tiếp cận khác nhau
dẫn đến sử dụng số chiều khác nhau và giá trị các chiều khác nhau.
1.1.2 Mô hình one-hot
Về co ban mô hình này có cách biểu diễn khá đơn giản Trước tiên người ta đánh số tất cả các từ trong tập từ tìm được Giả sử tập có n từ và từ w được đánh số là kw thì biểu diễn của w là một véc tơn chiều: w= {0,0,0, 1,0,0,0, 0}
Trong đó tất cả các chiều đều là 0 trừ chiều thứ kw có giá trị là 1 Việc biểu diễn một câu hay một đoạn chi đơn giản là cộng các véc tơ biéu diễn của từng từ lại Cách biểu diễn này tập trung vào các từ cụ thê hơn là quan hệ ngữ nghĩa giữa các từ Phương pháp này thích hợp với
các phân tích không cần quan tâm ngữ nghĩa của từ, đơn giản va dé tính toán.
Nhược điểm của nó là không biểu hiện quan hệ giữa các từ, do đó không áp dụng được cho nhiều bài toán Một nhược điểm khác của cách biểu diễn này là cồng kênh, giá trị thông tin của véc tơ thấp Việc này gây trở ngại trong việc tính toán lưu trữ và phân tích thông tin từ văn
bản.
Trang 21.1.3 Mô hình véc tơ từ (word vector)
a Cách biểu diễn véc to từ
Mô hình này cũng biểu diễn các từ thành véc tơ trong không gian nhiều chiều, nhưng
với mô hình véc tơ từ thì số chiều không phụ thuộc kích thước tập từ mà do nhà nghiên cứu lựa chọn Mặt khác chỉ số của mỗi thành phần trong véc to biểu diễn đều là số thực và có giá tri
(không chi là 0 hay 1 như one-hot).
Ví dụ nếu nhà nghiên cứu lựa chọn kích thước véc tơ là 100 chiều thì véc tơ có biểu diễn của từ w có dạng : w = {XI,Xa, X1o0} Véc to biểu diễn này về cơ bản là véc tơ trích chọn đặc
trưng của từ.
Mô hình này hướng đến việc phân tích ngữ nghĩa của từ và biểu diễn quan hệ giữa các
từ thông qua véc tơ biểu diễn của chúng Ta hoàn toàn có thé xác định độ tương đồng ngữ
nghĩa, trái nghĩa hay một số quan hệ khác của các từ dựa trên véc tơ biểu diễn của chúng.
Đặc biệt cách biéu diễn này có thé thé hiện được một số quan hệ về ngữ pháp và ngữ nghĩa giữa các từ Ví dụ quan hệ số ít — số nhiều (danh từ tiếng Anh), so sánh bằng — so sánh hon(tinh từ tiếng Anh), đồng nghĩa, trái nghĩa
b Các bước thực hiện
Các biểu diễn của từ trong phương pháp này thu được thông qua tiến hành học máy
(không giám sát) trên các mô hình ngôn ngữ mạng nơ-ron nhân tạo Người ta đưa vào mạng
nơ-ron một tập dữ liệu huấn luyện lớn có độ bao quát rộng dé xác định trọng số thích hợp nhất
của các nơ-ron trong mạng Cuối quá trình huấn luyện, sau khi đã xác định trọng số người ta
đưa từng từ vào input của mang và lay kết quả là biéu diễn dạng véc tơ của từ ở output.
Có 2 thuật toán học máy thường dùng trong việc học các biéu diễn từ của máy là CROW
(continuous bag of words) và Skip-gram CBOW dựa vào các từ xung quanh (đứng trước và
đứng sau từ đang xét trong văn bản) dé dự đoán từ đang xét Còn skip-gram thì ngược lại, nó
dự đoán các từ xung quanh từ đang xét. c Đánh giá chất lượng véc tơ từ
Đề đánh giá tập véc tơ từ tạo ra có tốt hay không người ta thiết kế một bộ test dé đánh
giá tỉ lệ phân tích đúng của mô hình Các phép thử thường dùng là đánh giá độ tương đồng của
từ và tính toán trên véc tơ biểu diễn của từ.
Cách đánh giá độ tương đồng của từ (câu hay đoạn văn đã biểu diễn thành véc tơ cũng tương tự) thì có thé dựa trên xác định khoảng cách cosine giữa 2 từ.
Nhìn chung chất lượng tập véc tơ phụ thuộc vào:
Trang 3+ Sô lượng và chât lượng dữ liệu huân luyện: dữ liệu nên có độ phủ rộng và đượcchuân hóa trước.
+ Số chiều của véc tơ: thường thì nhiều chiều sẽ chính xác hơn nhưng không phải tuyệt đối.
+ Thuật toán huấn luyện: ảnh hưởng đến tốc độ chạy của mô hình và chất lượng, có thuật toán sẽ tốt hơn với số chiều thấp.
1.1.4 Tình hình nghiên cứu về véc tơ từ
Với ưu điểm về khả năng phân tích ngữ nghĩa của từ, các ứng dụng phân loại, phân tích
ngữ nghĩa sẽ thích hợp với cách biéu diễn véc tơ từ Một số ứng dụng có thé ké đến như phân tích phản hồi của khách hàng, xác định thư rác, các bài toán khai phá quan diém,
Hiện đã có nhiều nghiên cứu về biểu diễn véc tơ từ nói chung và biểu diễn véc tơ từ
trong tiếng Anh nói riêng của các tác giả như Rumelhart, Hinton, Williams,Tomas Mikolov Với ngôn ngữ tiếng Anh đã có nhiều nghiên cứu về cách thức biéu diễn từ bằng véc tơ từ và đã có các ứng dụng chạy thực tế cho kết quả khả quan Các thử nghiệm với véc tơ từ tiếng Anh đạt
độ chính xác khoảng 70% đối với các bài test về độ tương đồng ngữ nghĩa và một số quan hệ
ngữ pháp, ngữ nghĩa giữa các từ.
Mặc dù đây là hướng nghiên cứu mới và đã chứng tỏ được hiệu quả với tiếng Anh, nhưng chưa có nghiên cứu nào về biéu diễn véc tơ từ cho tiếng Việt được công bố.
1.2 Biểu diễn véc tơ từ cho tiếng Việt
1.2.1 Các đặc trưng can lưu ý của tiếng Việt trong biểu diễn từ
Tiếng Việt thuộc loại hình ngôn ngữ đơn lập không biến đổi hình thái Đặc điểm loại hình này thể hiện ở tất cả các mặt ngữ âm, từ vựng, ngữ pháp.
a Ngữ âm tiếng Việt
Khác với tiếng Anh, đơn vị cở sở nhỏ nhất trong tiếng Việt là âm tiết (syllable) chứ
không phải từ (word) Có một số cách gọi là “tiếng , “âm tiết” hay là “chữ”, ví dụ: đi, học, ăn, nói, và, nhưng, đã, đang, thiên, sơn, bắt
Về mặt chữ viết, từ chữ Nôm trước kia cho đến chữ Quốc ngữ hiện nay, mỗi âm tiết bao
gio cũng việt rời ra thành từng chữ một.
Ở tiếng Việt, tuyệt đại đa số các âm tiết đều có ý nghĩa Hay, ở tiếng Việt, gần như toàn bộ các âm tiết đều hoạt động như từ Điều này dẫn tới một khó khăn khi phân tích văn bản
tiếng Việt là không biết từng tiếng trong câu là một từ độc lập hay kết hợp với các tiếng đằng trước hoặc đằng sau dé kết hợp thành một từ.
Trang 4b Về từ vựng và ngữ pháp
Trong hoạt động ngôn ngữ tiếng Việt, từ không biến đổi hình thái, tức là chúng không
đòi hỏi ở nhau sự hợp dạng như trong các ngôn ngữ hòa kết Cụ thé là không phân chia thì của
c Chữ viết của tiếng Việt là thứ chữ ghi âm vị
Chữ viết của tiếng Việt (chữ quốc ngữ) là loại chữ ghi âm vi, xây dựng dựa trên cơ sở
chữ cái Latinh Điều này nghĩa là chữ viết tiếng Việt không biểu thị ý nghĩa của từ mà tái hiện chuỗi âm thanh nối tiếp ở trong từ.
Chữ ghi âm vị có ưu điểm là số chữ cần thiết dé biéu diễn ngôn ngữ tiếng Việt sẽ ít hơn so với loại chữ ghi ý Nhược điềm của nó là sẽ dẫn đến hiện tượng đồng âm khác nghĩa, do là ngôn ngữ ghi âm nên đồng âm thì giống cách viết (ở loại chữ ghi ý thì các từ đồng âm sẽ có
cách viết khác nhau nên khi phân tích văn ban sẽ không nhằm lẫn) Điều này dẫn tới biểu diễn của các từ đó sẽ thiếu chính xác hơn so với các từ khác (vì một biểu diễn không biéu diễn được
hai nghĩa hoàn khác nhau).
1.2.2 Các khó khăn và giải pháp trong việc biểu diễn tiếng Việt thành véc tơ
Với các đặc trưng ở trên có thé kế đến các van dé cần giải quyết dé biểu diễn véc tơ từ tiếng Việt là:
+ Xác định các từ đơn âm tiết và đa âm tiết trong câu + Các từ đồng âm khác nghĩa và từ nhiều nghĩa.
+ đánh giá chất lượng véc tơ từ.
a Xác định các từ trong câu — bài toán tách từ
Về mặt ngữ âm học thì tiếng là đơn vị nhỏ nhất trong tiếng Việt nhưng xét về mặt ngữ
nghĩa thì từ mới là đơn vị thích hợp Bởi vì có những tiếng đứng độc lập thì không có nghĩa, và các tiếng ghép lại với nhau thành từ thì có nghĩa khác nhiều so với nguyên bản các tiếng đó.
Bởi vậy khi phân tích và biéu diễn ngôn ngữ tiếng Việt thì nên lấy từ là đơn vị ngôn ngữ nhỏ
Trong tiếng anh, các từ được viết cách nhau bởi dấu khoảng trang và phan lớn các từ là
từ đơn do đó xác định các từ trong văn bản rất dé dàng Đối với tiếng Việt thi lại khác, do đặc
điêm cách nói và viét tiêng Việt mà các từ được việt cách nhau trong khi các tiéng trong nội bộ
Trang 5từ (các từ đa âm tiết) cũng được viết cách nhau Ta không có một quy tắc chính xác và đơn giản
dé xác định một tiếng trong câu là một từ đơn hay là một thành phần của một từ đa âm tiết khi
kết hợp với các tiếng đứng trước và sau nó.
b Các từ đồng âm và từ nhiều nghĩa
Từ đồng âm trong tiếng Việt là những từ phát âm giống nhau hay cấu tạo âm thanh giống nhau, nhưng nghĩa hoàn toàn khác nhau.
Từ góc độ biểu diễn từ trong máy tính thì hai loại từ trên có thể coi là một và sau đây gọi chung là từ nhiều nghĩa Biéu diễn một từ nhiều nghĩa bằng một véc tơ cụ thé và xác định các
từ có nghĩa tương tự thông thường sẽ tìm được các từ có nghĩa gần với nghĩa chính (nghĩa
thường gặp nhất của từ đó) hơn Điều đó nghĩa là các nghĩa phụ có ít giá trị hơn trong biéu diễn
c Đánh giá chất lượng véc tơ từ
Hai loại phép thử cơ bản trong tập test là kiểm tra các quan hệ ngữ pháp và ngữ nghĩa của tập từ Vé mặt ngữ pháp biểu hiện trên từ trong tiếng Anh thường lựa chọn các quan hệ so
sánh (ví du big — bigger — biggest), quan hệ thời của động từ (ví dụ go — went —gone),
Với tiếng Việt thì lại khác, tiếng Việt là ngôn ngữ đơn lập nên từ không biến đổi khi
chúng đảm nhận các vai trò khác nhau câu, do đó bản thân từ không biểu thị vai trò ngữ pháp cụ thê của nó nếu tách rời ngữ cảnh của văn bản Vì vậy các phép thử kiểm tra quan hệ ngữ
pháp trên từ không dùng để đánh giá tập véc tơ từ tiếng Việt được.
1.2.3 Thực nghiệm biểu diễn véc tơ từ tiếng Việt
Thực nghiệm được tiến hành theo 3 bước như sau: + Thu thập dữ liệu ngữ cảnh tiếng Việt
+ Thực hiện học máy trên công cụ word2vec với tham số mặc định sử dụng thuật
toán “Bag of word” và “Skip gram” với số chiều véc tơ là 100, 300 và 500 chiều.
+ Khảo sát kết quả thu được
Các kết quả thực nghiệm (xem thêm bản chính của luận văn) cho thấy phương pháp
biểu diễn véc tơ từ tiếng Việt phù hợp với các bài toán xử lý ngôn ngữ tiếng Việt Nó có nhiều
ý nghĩa với các bài toán phân tích ngữ nghĩa của từ, văn bản.
Trang 6CHƯƠNG 2 : UNG DUNG VEC TO TỪ TIENG VIET CHO BÀI TOAN PHAN LOAI QUAN DIEM
2.1 Các dạng khai phá quan điểm
Trong cuộc sống hàng ngày, khi con người cần đưa ra một quyết định thì việc tham khảo ý kiến của người khác là một chuyện rat dễ hiểu, và thực sự là quyết định của chúng ta chịu ảnh hưởng khá nhiều từ ý kiến của người khác Những vi dụ cụ thé có rất nhiều, nhà sản xuất muốn biết ý kiến của khách hàng, người tiêu dùng muốn cân nhắc sản phẩm nào tốt hơn, Bài toán khai phá quan điểm xuất phát từ nhu cầu đó, mục đích là đưa ra đánh giá chính xác về một sản phẩm, dịch vu, lựa chon,
Theo Bing Liu[2], có ba bài toán chính trong khai phá quan điểm :
+ Bài toán phân lớp quan điểm.
+ Khai phá và tổng hợp quan điểm dựa trên đặc trưng
+ Khai phá quan hệ (so sánh câu)
Trong thực nghiệm này tác gia lựa chọn bài toán phân lớp quan điểm, cụ thể là phân loại các đánh giá của khách hàng về dịch vụ của các khách sạn thuộc loại nào trong ba loại : tích
cực, bình thường và tiêu cực.
2.2 Các nghiên cứu về bài toán phân lớp quan điểm trên tiếng Việt
Hiện các nghiên cứu về khai phá quan điểm nói chung và bài toán phân lớp quan điểm trên tiếng Việt nói riêng vẫn còn ít Đáng chú ý trong thời gian gần đây là công trình về phân
loại quan điểm tiếng Viét[15] và phân tích ngữ nghĩa tiếng Việt[21] Trong nghiên cứu về phân loại quan điểm[ 15] tác giả tập trung vào nhiệm vụ phân loại quan điểm đánh giá của khách
hàng thành ba loại “positive”,”negative” và “neutral” trên miền dit liệu về khách sạn Nghiên
cứu chỉ ra hướng dé tiếp cận bài toán phân loại quan điểm cho tiếng Việt, mang một ý nghĩa rất
to lớn trong việc tiếp cận bài toán khai phá quan điểm tiếng Việt.
Luận văn này tiếp tục mở rộng bài toán trên với hướng tiếp cận biéu diễn véc tơ từ kết
hợp SVM, qua đó đánh giá tính hiệu quả và khả năng ứng dụng của phương pháp véc tơ từ
trong các bài toán xử lý ngôn ngữ tự nhiên trên tiếng Việt Luận văn sử dụng lại bộ dữ liệu thí nghiệm của nhóm tác giả đồng thời mở rộng thêm một phan.
Trang 72.3 Phát biểu bài toán phân lớp quan điểm
Với bài toán này có thể coi khai phá quan điểm như bài toán phân lớp văn bản Bài toán
chỉ đơn giản là phân lớp một văn bản đánh giá là loại nào trong các nhãn được chỉ định, khôngquan tâm quan tâm các khía cạnh khác.
Cụ thê ở đây là đánh giá phản hồi của khách hàng về dịch vụ của các khách sạn Đầu
vào của hệ thống là một tập các ý kiến đánh giá của khách hàng đã được gán nhãn phân loại là “tốt”, “bình thường” hoặc “kém” Từ đữ liệu trên hệ thống phải xây dựng một mô hình phân
loại để xác định một ý kiến phản hồi của khách hàng là loại nào trong ba loại kể trên.
2.4 Các bước thực hiện bài toán phân lớp quan điểm
Các bài toán phân lớp quan điểm đều thực hiện theo hai pha cơ bản là pha huấn luện và
pha phân lớp.
Pha huấn luyện sẽ sử dụng một tập dữ liệu ban đầu đã được xác định nhãn trước Tập dữ liệu này sẽ được biểu diễn đưới dang các văn bản cần phân lớp Sau đó, dữ liệu sẽ được biến
đổi thành một mô hình dữ liệu phân lớp thông qua các thuật toán học máy Các bước thực hiện
của giai đoạn huấn luyện được biểu diễn như sau:
Pha phân lớp là giai đoạn sử dụng mô hình phân lớp để phân lớp cho các văn bản mới
chưa có nhãn Trong luận văn này tôi thực hiện phân lớp trên một tập test có gán nhãn và so
sánh kết quả gán nhãn với nhãn gốc dé xác định độ chính xác Các bước thực hiện giống với
pha huấn luyện ở bốn bước đầu chỉ khác ở 2 bước cuối cùng:
Trang 8» Tiên xử lí
Trích chọn đặc trưng
¢ Véc tơ hóa dữ liệu
° Dữ liệu đã gan nhãn
Hình 3.2: Sơ đồ pha phân lớp
2.4.1 Bước thu thập dữ liệu
Bước này lấy các đánh giá của người dùng về các khách sạn được viết bằng tiếng Việt
từ các trang đặt phòng khách sạn qua mạng Ở đây nguồn sưu tam được lựa chọn dé lay thêm
dữ liệu là trang http://www.agoda.com.
2.4.2 Bước tiền xử lý
Dữ liệu sẽ được chuyên tat cả các ký tự viết hoa thành viết thường Tách từ trong văn bản bằng công cụ vntokenizer Sau khi tách từ, dit liệu được gán nhãn từ loại bằng công cụ
JvnTagger Việc gán nhãn cho các từ trong dữ liệu sẽ có ích với phương pháp phân tích văn
bản dựa trên các thành phần quan trọng của câu.
Dé trở thành dữ liệu huấn luyện thì phải tiến hành tách câu và gan nhãn phân loại cho
từng câu Mỗi câu đã được tách ở trên sẽ được gan một nhãn phân loại, giá tri của nhãn có thể
là “NEGATIVE?” (tiêu cực), “POSITIVE” (tích cực) hoặc “NEUTRAL” (bình thường)
2.4.3 Trích trọn đặc trưng và véc tơ hóa
Ở bước huấn luyện ta sẽ sử dụng thuật toán SVM, trong khi đó dữ liệu như trên chỉ thích
hợp cho con người đọc, muốn đưa vào máy học SVM để tạo ra mô hình phân loại và kiểm tra mô hình trên bộ test thì ta phải chuyên đôi các file văn bản ở trên thành các véc tơ vì máy học
SVM chỉ nhận dữ liệu ở dang này.
Trang 9Tại bước này ta phải quyết định lựa chọn các đặc trưng nao trong câu dé biểu diễn câu
thành véc tơ, việc này gọi là trích chọn đặc trưng Có thể lay toàn bộ các từ hoặc chỉ một số từ
nhất định Trong thực nghiệm này tôi lựa chọn các tập đặc trưng như sau:
Bảng 3.2 Danh sách tập đặc trưng sẽ sử dụng Tập đặc trưng | Lay tất cả các từ
Tập đặc trưng 2 Lay tat cả các từ + điềm số (overall score) Tập đặc trưng 3 Lay các từ quan trong
Tap đặc trưng 4 Lay các từ quan trong + diém số (overall score)
(chu thich: overall score la điểm số người dùng chấm cho dịch vụ)
Trong đó các từ quan trọng được xác định là : danh từ riêng(được kí hiệu là Np), danh từ
chung(ki hiệu N), động từ(V), tính từ(A), trạng từ( R) và liên từ(C) Còn điểm số là điểm đánh
giá khách sạn mà người dùng cho điểm.
Thực nghiệm sẽ thực hiện chuyền đổi dữ liệu văn bản thành dữ liệu véc tơ theo hai
phương pháp Phương pháp thứ nhất là phương pháp “one-hot” truyền thống , phương pháp thứ hai sử dụng tập véc tơ từ tiếng Việt thu được ở chương hai.
2.4.4 Huấn luyện và kiểm tra mô hình phân loại bằng SVM
Trong thực nghiệm này tôi chọn máy học SVM (Support vector machine) dé xây dựng
mô hình phân loại Các bước thực hiện bao gồm:
+ Chuân hóa độ dài của véc tơ: các véc tơ được nhân với một sô nhât định đê
chuân hóa độ dài của tât cả các véc tơ giông nhau.
+ Xác định các tham số đầu vào của mô hình: ngoại trừ tập dữ liệu huấn luyện
người dùng còn phải xác định 2 tham số c và g của máy học SVM hỗ trợ một cơ chế dé xác định giá trị tốt nhất của hai tham số này nhằm đạt độ chính xác cao nhất.
+ Chạy SVM với tham số đã lựa chọn ở trên và tập dữ liệu huấn luyện.
+ Chạy mô hình phân loại đạt được ở bước trên với dữ liệu kiểm thử
Kết quả chạy của SVM là một mô hình phân loại thích hợp nhất với tập dữ liệu huấn luyện Đề kiểm tra độ chính xác của mô hình phân loại do SVM trả lại ta tiễn hành phân loại các mẫu trong tập test bằng mô hình trên và tính toán độ trùng khớp kết quả để tính tỉ lệ phân
loại đúng của mô hình.
2.5 Các kết quả thực nghiệm
Chi tiết kết quả xin xem thêm ban day đủ.
Trang 102.6 Phân tích kết quả và kết luận
Với bài toán này phương pháp biểu diễn bằng véc tơ từ cho kết quả tốt hơn phương pháp
one-hot một cách rõ ràng.
Kết quả thực nghiệm cho thay biéu diễn véc tơ từ với số chiều lớn hơn thường cho kết
quả tốt hơn.
Trong một số trường hợp thì phương pháp chỉ lấy các từ quan trọng cho kết quả tốt hơn
lây tất cả các từ nhưng một số trường hợp thì không.
Đa số trường hợp thì phân tích có lấy thêm overall score cho kết quả tốt hơn.
Có sự tương quan khá rõ nét giữa sô lượng mâu và độ chính xác của từng nhãn phân
loại.