Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

ĐẠI HỌC KHOA HỌC TỰ NHIÊN THÀNH PHỐ HỒ CHÍ MINH

XỬ LÍ NGÔN NGỮ TỰ NHIÊN

Đồ án môn học
Đề tài: WORD SIMILARITY - Semantics

Giảng viên hướng dẫn: PGS-TS. Đinh Điền


Sinh viên thực hiện: Phạm Quỳnh Thi 20C29037
Phan Quang Khánh 20C29026
Lê Thị Thúy Hằng 20C29020

TP. Hồ Chí Minh, tháng 3 năm 2021


MỤC LỤC

Mục lục

1 Giới thiệu 3
1.1 Một số định nghĩa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Phạm vi đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Ứng dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Một số phương pháp thông dụng trong tính toán độ tương đồng giữa 2 từ 3
2.1 Phương pháp dựa trên ý điển Thesaurus-based method) . . . . . . . . . . . . . 3
2.1.1 Thuật toán 1: Tính toán độ tương đồng dựa trên độ dài đường đi (Path-
length based Similarity) . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Thuật toán 2: Tính toán độ tương đồng dựa trên nội dung thông tin
(Information Content Word Similarity) . . . . . . . . . . . . . . . . . . 5
2.1.3 Thuật toán 3: Tính toán độ tương đồng dựa trên từ điển (Dictionary-based) 7
2.1.4 Đánh giá chung về phương pháp dựa trên ý điển . . . . . . . . . . . . . 8
2.2 Phương pháp phân tán (Distributional method) . . . . . . . . . . . . . . . . . . 8
2.2.1 Giới thiệu về giải thuật phân tán . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Định nghĩa vector đồng xuất hiện của một từ . . . . . . . . . . . . . . . 10
2.2.3 Định nghĩa sự giống nhau của hai vec-tơ . . . . . . . . . . . . . . . . . 11

3 Đánh giá chung về các phương pháp tính độ tương đồng giữa 2 từ 14

1
DANH SÁCH HÌNH VẼ

Danh sách hình vẽ


1 Một phần của hệ phân cấp ý điển WordNet biểu diễn một số khái niệm và khoảng
cách giữa các khái niệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Một phần của hệ phân cấp ý điển WordNet biểu diễn một số khái niệm và các giá
trị xác suất của từng khái niệm . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Vector đồng xuất hiện của từ "cell" . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Hai độ đo Manhattan và Euclidean . . . . . . . . . . . . . . . . . . . . . . . . 12

2
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

1 Giới thiệu
1.1 Một số định nghĩa
• Sự đồng nghĩa (Synonymy): quan hệ nhị phân cho biết 2 từ có đồng nghĩa hay không.
• Sự tương đồng (Similarity): một định nghĩa thoáng hơn của đồng nghĩa, phát biểu rằng 2
từ tương đồng nhau nếu chúng có chung nhiều đặc điểm về nghĩa, không cần phải là 2 từ
đồng nghĩa tuyệt đối.
Ví dụ: Trong tiếng Anh, xét 2 nghĩa của từ “bank”:
• Nghĩa thứ nhất tương đồng với nghĩa của từ “fund”, nhưng không nói rằng từ “bank” tương
đồng với từ “fund”
• Nghĩa thứ 2 tương đồng với nghĩa của từ “slope”, nhưng không nói rằng từ “bank” tương
đồng với từ “slope”

1.2 Phạm vi đề tài


Phạm vi đề tài này sẽ tính toán sự tương đồng về mặt ngữ nghĩa giữa 2 từ:
• Cấp độ: từ
• Bình diện: Ngữ nghĩa

1.3 Ứng dụng


Ứng dụng của việc tính toán sự tương đồng giữa 2 từ trong một số bài toán:
• Dịch máy (Machine Translation)
• Nhận biết đạo văn (Plagiarism Detection)
• Phân loại văn bản (Document Clustering)
• Trả lời câu hỏi (Question Answering)
• Chấm điểm bài luận tự động (Automatic Essay Grading)

2 Một số phương pháp thông dụng trong tính toán độ


tương đồng giữa 2 từ
2.1 Phương pháp dựa trên ý điển Thesaurus-based method)
Các thuật toán này tính toán sự tương đồng giữa 2 từ dựa trên các ý điển trực tuyến (như
WordNet hay MeSH). Các ý điển này được cấu trúc theo dạng phân cấp nghĩa đi từ tổng quát
đến cụ thế.

3
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

Phương pháp này chủ yếu tính toán độ tương đồng giữa 2 từ dựa trên sự phân cấp thượng vị
và hạ vị trong ý điển. Một từ A được gọi là hạ vị của từ B (hyponym) khi nghĩa của B tổng quát
hơn A. Khi đó, B được gọi là thượng vị (hypernym) của A.
Ví dụ: “car” (xe hơi) là hạ vị của “vehicle” (phương tiện), và “vehicle” (phương tiện) là thượng
vị của “car” (xe hơi).
Tuy nhiên, trong ý điển WordNet, chúng ta chỉ có thể tính toán độ tương đồng giữa 2 từ có
cùng loại từ (ví dụ: danh từ và danh từ, động từ và động từ).

2.1.1 Thuật toán 1: Tính toán độ tương đồng dựa trên độ dài đường đi (Path-length
based Similarity)

Ý tưởng: 2 nghĩa (sense) hay 2 khái niệm (concept) càng gần nhau trên hệ phân cấp ý điển
(thesaurus hierarchy) thì chúng càng tương đồng về ngữ nghĩa. Nói cách khác, 2 nghĩa/khái niệm
có khoảng cách càng ngắn trên hệ phân cấp ý điển thì chúng càng tương đồng nhau về ngữ nghĩa.
Khoảng cách giữa 2 khái niệm (concept) được tính bằng tổng số cạnh giữa chúng trên hệ
phân cấp ý điển như công thức dưới đây:
pathlen(c1 , c2 ) = số cạnh nằm trên đường đi ngắn nhất nối 2 khái niệm c1 , c2
Mức độ tương đồng giữa 2 khái niệm hoặc nghĩa c1 , c2 :
simpath (c1 , c2 ) = −logpathlen(c1 , c2 )
Mức độ tương đồng giữa 2 từ w1 và w2 có giá trị bằng mức độ tương đồng lớn nhất trong số
các mức độ tương đồng của các cặp nghĩa (sense) là ci và cj , với ci là một nghĩa của w1 và cj là
một nghĩa của w2 :
wordsim(w1 , w2 ) = maxci ∈senses(w1 ),cj ∈senses(w2 ) sim(c1 , c2 )
Ví dụ:

Hình 1: Một phần của hệ phân cấp ý điển WordNet biểu diễn một số khái niệm và khoảng cách
giữa các khái niệm

Từ hình 1 ta tính được khoảng cách giữa các khái niệm “nickel”, “coin” và “money”:

4
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

pathlen(“nickel”, “coin”) = 1

pathlen(“nickel”, “money”) = 5

Ở đây ta chỉ xét một khái niệm của các từ “nickel”, “coin” và “money” nên độ tương đồng
giữa 2 cặp từ (“nickel” và “coin”) và (“nickel” và “money”) là:

wordsim(“nickel”, “coin”) = sim(“nickel”, “coin”) = −log1 = 0

wordsim(“nickel”, “money”) = sim(“nickel”, “money”) = −log5 = −0.69

Dựa vào kết quả trên có thể kết luận rằng từ “nickel” có độ tương đồng với “coin” cao hơn so
với “money”.
Nhận xét: Phương pháp này ngầm giả định rằng các cạnh nối các nút trên hệ phân cấp ý
điển có độ dài như nhau. Tuy nhiên điều này không đúng trong thực tế vì các cạnh nối các khái
niệm nằm ở cấp bậc càng sâu trên hệ phân cấp sẽ có độ dài ngắn hơn các khái niệm nằm ở cấp
bậc cao hơn. Ví dụ, trong hình 1, khoảng cách giữa “nickel” và “money” có vẻ ngắn hơn so với
khoảng cách giữa “nickel” và “standard” vì “standard” mang ý nghĩa trừu tượng hơn. Do đó cần
một cách tiếp cận khác có khả năng biểu diễn độ dài của các cạnh một cách độc lập và chính
xác hơn.

2.1.2 Thuật toán 2: Tính toán độ tương đồng dựa trên nội dung thông tin (Information
Content Word Similarity)

2.1.2.1 Định nghĩa các yếu tố liên quan

• P(c) là xác suất để một từ được chọn ngẫu nhiên trong kho ngữ liệu (corpus) là một
instance của khái niệm c trên hệ phân cấp ý điển.

• Xác suất của “khái niệm gốc” (root): P (c) = 1, vì tất cả các từ đều là nhánh con của root.
Các khái niệm nằm ở cấp bậc càng sâu trên hệ phân cấp ý điển sẽ có xác suất càng thấp.

• Mỗi khái niệm c trên hệ phân cấp ý điển sẽ có một giá trị xác suất P(c) và được tính bằng
tổng số lượng các từ là khái niệm con của c chia cho tổng số từ trong kho ngữ liệu được
biểu diễn trên ý điển:
P
w∈words(c) count(w)
P (c) = N

Trong đó:
words(c): tập hợp tất cả các từ là khái niệm con của c
N : tổng số từ trong kho ngữ liệu được biểu diễn trên ý điển
Ví dụ:

5
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

Hình 2: Một phần của hệ phân cấp ý điển WordNet biểu diễn một số khái niệm và các giá trị
xác suất của từng khái niệm

Dựa trên hình 2, tập hợp tất cả các từ thuộc về khái niệm “geological-formation”, tức
là words(“geological-formation”) gồm có: hill, ridge, grotto, coast, natural elevation, cave,
shore.
• Nội dung thông tin (information content – IC) của một khái niệm c được tính bằng công
thức sau:

IC(c) = −logP (c)

• Nút cha chung gần nhất (Least Common Subsumer – LCS) của 2 khái niệm c1 và c2 :

LCS(c1 , c2 ) = thượng vị gần nhất củac1 và c2

Ví dụ: Dựa trên hình 2 ta thấy:


LCS(“hill”, “coast”) = “geological-formation”
LCS(“hill”, “shore”) = “shore”

2.1.2.2 Các phương pháp tính toán độ tương đồng dựa trên nội dung thông tin
(1) Phương pháp Resnik (1995): Tính toán độ tương đồng giữa 2 từ dựa trên thông tin chung
giữa chúng. 2 từ có càng nhiều thông tin chung thì chúng càng tương đồng nhau về nghĩa.
Resnik đã đề xuất cách ước lượng thông tin chung giữa 2 khái niệm c1 và c2 dựa trên
nội dung thông tin của nút cha chung gần nhất của chúng bằng công thức sau:
simresnik (c1 , c2 ) = − log P (LCS(c1 , c2 ))
(2) Phương pháp Dekang Lin (1998):
Dekang Lin đã mở rộng giả thuyết của Resnik bằng cách chỉ ra rằng mức độ tương đồng giữa
2 đối tượng A và B không chỉ là lượng thông tin chung giữa A và B mà còn là sự khác biệt giữa
chúng. Nói cách khác, A và B càng có nhiều lượng thông tin chung thì chúng càng tương đồng;
và A và B càng có nhiều thông tin khác nhau thì chúng càng ít tương đồng.
Nội dung thông tin chung giữa A và B được tính bằng:

6
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

IC(common(A, B))

Nội dung thông tin khác biệt giữa A và B được tính bằng:

IC(description(A, B)) − IC(common(A, B))

trong đó, description(A, B) gồm tất cả những thông tin của A và B


Sự tương đồng giữa A và B được tính bằng công thức:
IC(common(A,B) log P (common(A,B)
simlin (A, B) = IC(description(A,B))
= log P (description(A,B))

Từ công thức này có thể nhận xét rằng nội dung thông tin chung giữa A và B càng nhiều,
tức IC(common(A,B)) càng lớn, thì A và B càng tương đồng nhau.
Áp dụng cách tiếp cận trên vào việc tính toán độ tương đồng dựa trên ý điển, D.Lin [2] đưa
ra công thức tính độ tương đồng giữa 2 khái niệm c1 và c2 như sau:
2∗log P (LCS(c1 ,c2 ))
simlin (c1 , c2 ) = log P (c1 )+log P (c2 )

Ví dụ: Tính độ tương đồng giữa “hill” và “coast” dựa vào hình 2 như sau:
2 ∗ log P (LCS(”hill”, ”coast”))
simlin (”hill”, ”coast”) =
log P (”hill”) + log P (”coast”)
2 ∗ log P ("geological-formation")
=
log P (text”hill”) + log P (text”coast”)
2 ∗ log 0.00176
= ≈ 0.59
log 0.0000189 + 0.0000216

(3) Phương pháp khoảng cách Jiang-Conrath (1997): So sánh độ tương đồng dựa trên
khoảng cách tính bằng công thức:

distJC (c1 , c2 ) = 2 ∗ log P (LCS(c1 , c2 )) − (log P (c1 ) + log P (c2 ))

Khoảng cách này có thể được biến đổi thành độ tương đồng bằng cách lấy giá trị nghịch đảo.
Phương pháp này đã được chứng minh về hiệu quả tốt hơn các phương pháp dựa trên ý điển đã
trình bày trước đó.

2.1.3 Thuật toán 3: Tính toán độ tương đồng dựa trên từ điển (Dictionary-based)

Phương pháp này sử dụng bộ chú giải (glosses) của từ điển thay vì hệ phân cấp (hierarchy ) của
ý điển.
Ý tưởng: 2 nghĩa hay 2 khái niệm có càng nhiều từ giống nhau trong nội dung chú giải thì
chúng càng tương đồng về nghĩa.
Mức độ trùng nhau (overlap) của 2 chú giải được tính bằng tổng của các giá trị n2 , với n là
độ dài của mỗi cụm từ chung.
Ví dụ: Ta có 2 khái niệm “drawing paper” và “decal” và chú giải của chúng:

• drawing paper: “paper that is specially prepared for use in drafting”

7
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

• decal: “the art of transfering designs from specially prepared paper to a wood or glass or
metal surface”

2 chú giải của 2 khái niệm này có các cụm từ chung là “paper” (n=1) và “specially prepared”
(n=2). Do đó, mức độ trùng nhau của 2 chú giải “drawing paper” và “decal” là 1 + 22 = 5.
Để tính toán mức độ tương đồng giữa 2 khái niệm, phương pháp này không chỉ xem xét mức
độ trùng nhau giữa chú giải của 2 khái niệm này, mà còn giữa các chú giải của các mối liên hệ
WordNet khác (ví dụ như chú giải của các thượng vị (hypernym), hạ vị (hyponym), v.v...). Ví dụ,
nếu chỉ xét các hạ vị thì mức độ tương đồng giữa 2 khái niệm A và B được tính bằng công thức:

similarity(A, B) = overlap(gloss(A), gloss(B))


+ overlap(gloss(hypo(A)), gloss(hypo(B)))
+ overlap(gloss(A), gloss(hypo(B)))
+ overlap(gloss(hypo(A)), gloss(B))

trong đó, gloss(hypo(A)) là chú giải được gộp từ chú giải của tất cả hạ vị của A.
Công thức tổng quát cho mức độ tương đồng giữa 2 khái niệm c1 , c2 là:
P
simeLesk (c1 , c2 ) = r,q∈RELS overlap(gloss(r(c1 )), gloss(q(c2 )))

với, RELS là tập hợp các mối liên hệ WordNet đang xét.

2.1.4 Đánh giá chung về phương pháp dựa trên ý điển

Để áp dụng phương pháp này cần phải sử dụng ý điển, vì thế phương pháp này thích hợp cho các
ngôn ngữ có nhiều nguồn ý điển (ví dụ tiếng Anh có ý điển các từ thông thường như WordNet
và ý điển về y học như MeSH). Tuy nhiên, phương pháp này không hiệu quả một lĩnh vực cụ thể
vì không đủ nguồn tài nguyên ý điển. Để giải quyết vấn đề này, ta sẽ sử dụng phương pháp phân
tán (Distributional method ) được trình bày trong phần tiếp theo.

2.2 Phương pháp phân tán (Distributional method)


Ở phần trước, chúng ta đã nói về phương pháp tính toán sự tương đồng giữa nghĩa hai từ bất kì
trong một ý điển bằng cách quan sát qua cây phân cấp ý điển (thesaurus hierarchy). Tuy nhiên
phương pháp này tiềm ẩn một số vấn đề như sau:

• Chúng ta không có bộ ý điển cho mọi ngôn ngữ.

• Cho dù ngôn ngữ đó có bộ ý điển riêng thì thường việc thiếu từ, đặc biệt là những từ mới
có hay những từ nằm trong các miền đặc biệt (domain-specific) cũng là một trong những
vấn đề của phương pháp này.

• Nếu hai từ mà chúng ta so sánh nằm ở hai từ loại khác nhau (ví dụ danh từ và động từ)
thì đó cũng là một thử thách khi dùng phương pháp dựa trên ý điển bởi vì chúng nằm ở
phân cấp khác nhau.

8
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

Vì những lí do đó mà nhu cầu phát triển một phương pháp mà có thể tự động trích xuất được
từ đồng nghĩa và các quan hệ từ khác nhau từ kho ngữ (corpora) được đặt ra, và phương pháp
mà chúng ta đang nhắc đến đó chính là phương pháp phân tán (distributional method).

2.2.1 Giới thiệu về giải thuật phân tán

Ý tưởng của giải thuật phân tán đó chính là nghĩa của một từ có liên hệ với phân phối của các
từ xuất hiện xung quanh nó.
Chúng ta xem xét một ví dụ sau đây:

• Cô gái đi đến trường bằng xxxxxxx.

• Tôi mới mua một chiếc xxxxxxx mới.

• Người thợ đang sửa một chiếc xxxxxxx bị hỏng.

Ngữ cảnh mà từ xxxxxxx xuất hiện giúp chúng ta liên tưởng đến một trong những loại phương
tiện giao thôngthông, dùng để di chuyển. Phương pháp phân tán giờ đây là cố gắng biểu diễn
một vector đặc trưng trong ngữ cảnh từ xxxxxxx xuất hiện bằng cách tìm sự trùng lặp với các từ
có nghĩa tương tự như là: xe đạp, xe máy, xe điện, ...
Chúng ta có thể biểu diễn từ w bằng một vector đặc trưng bằng cách như sau:

• Nếu chúng ta có một vector đặc trưng fi chỉ chứa trị binary (0 hoặc 1). Giả sử bộ từ vựng
chúng ta có N từ, thì vector fi sẽ có N phần tử tương ứng với các từ v1 , v2 , v3 , ..., vN .

• Khi w có xuất hiện như là một hàng xóm lân cận của từ vi thì lúc đó fi nhận giá trị là 1,
và 0 trong trường hợp ngược lại.

• Tóm lại, chúng ta có thể biểu diễn nghĩa của một từ w bằng một vector đặc trưng có dạng
như sau: w~ = (f1 , f2 , f3 , ..., fN )

Xét trong ví dụ ở trên, nếu từ w = xe đạp, v1 = đi, v2 = mua, v3 = bay, v4 = sửa thì vector
đồng xuất hiện (co-occurrence vector) cho từ w từ kho ngữ liệu ở ví dụ như trên sẽ là:

~ = (1, 1, 0, 1)
w

Giải thuật phân tán gồm có ba bước chính đó chính là:

1. Thuật ngữ đồng xuất hiện (co-occurrence) được định nghĩa như thế nào (có thể xem xét
là hàng xóm lân cận được hay không).

2. Các thuật ngữ đồng xuất hiện này được đánh trọng số như thế nào (có thể nhận giá trị
binary, tần suất hay lí thuyết mutual information).

3. Độ đo khoảng cách vector nào sẽ được sử dụng (có thể xem xét độ đo Cosine, Euclidean )

9
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

2.2.2 Định nghĩa vector đồng xuất hiện của một từ

Ở ví dụ trước đã đề cập, chúng ta đã nhắc đến một từ w xuất hiện như là một hàng xóm lân cận
của một từ vi và với một bộ từ vựng gồm N từ, mỗi từ w sẽ gồm N đặc trưng.
Mặc dù việc loại bỏ các stop words như là một trong những các bước xử lí phải thực hiện
trong xử lí ngôn ngữ tự nhiên, tuy nhiên kích thước bộ từ vựng còn rất lớn, điều này dẫn đến
vector đặc trưng của w sẽ rất thưa và không hiệu quả. Vì vậy, thay vì sử dụng tất cả các từ trong
bộ từ vựng thì theo thuyết Hindle (1990) ta sẽ chọn một số từ mà chúng xuất hiện trong quan
hệ ngữ pháp hoặc có sự phụ thuộc vào từ w. Theo thuyết Hindle, những danh từ nào có cùng
quan hệ ngữ pháp với cùng một động từ thì có thể có khả năng tương tự nhau. Ví dụ từ cơm,
cháo, bún, phở thường đi cùng với động từ ăn.
Mặc khác, với mỗi từ có thể có nhiều mối quan hệ phụ thuộc với các từ khác, chúng ta sẽ
sử dụng khái niệm mới, đó chính là không gian đặc trưng (feature space). Với mỗi đặc trưng bây
giờ sẽ là một cặp từ và quan hệ từ, vì vậy thay vì một vector có N đặc trưng, bây giờ ta sẽ có
một vector gồm NxR đặc trưng, trong đó R là số lượng quan hệ có thể có.
Đo lường sự liên kết với ngữ cảnh
Ở phần trên, chúng ta đã thảo luận về định nghĩa của vector ngữ cảnh đặc trưng, và số chiều
của một vector ngữ cảnh của một từ. Ở phần này, chúng ta sẽ thảo luận về giá trị mà các đặc
trưng này nên mang là gì. Những giá trị này được nhắc tới như là trọng số hay là sự đo lường
mối liên hệ giữa từ đích w và vector đặc trưng f.
Quan sát hình dưới đây, tác giả sử dụng tần suất xuất hiện như là một độ đo cho sự liên kết:

Hình 3: Vector đồng xuất hiện của từ "cell"

Bây giờ, chúng ta sẽ định nghĩa một số thuật ngữ để tính toán xác suất độ đo liên kết. Với
từ đích w, mỗi phần tử đồng xuất hiện là mọt đặc trưng f, bao gồm mối liên hệ r và một từ w’,
chúng ta có thể viết lại là: f = (r, w’). Xác suất của đặc trưng f khi biết từ đích w là P(f|w), và
một ước lượng maximum likelihood của nó đó là:
count(f,w)
P (f |w) = count(w)

Vì vậy, nếu chúng ta định nghĩa một xác suất đơn giản như là một độ đo liên kết thì có thể
biễu diễn là: assocprob (f, w) = P (f |w)

10
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

Tuy nhiên, với một xác suất đơn giản sẽ không hoạt động hiệu quả trong các trường hợp phức
tạp. Chúng ta sẽ xem xét thêm một số các độ đo khác như sau:
Mutual information, Church and Hanks (1989, 1990)
Mutual information giữa hai biến ngẫu nhiên X, Y là:

I(X, Y ) = x y P (x, y)log2 PP(x)P


(x,y)
P P
(y)

Pointwise mutual information (Fano, 1961) Pointwise mutual information sẽ đo lường


tần suất xảy ra hai sự kiện x và y như thế nào, được so sánh với cái mà chúng ta kì vọng trong
trường hợp chúng độc lập.

I(x, y) = log2 PP(x)P


(x,y)
(y)

Chúng ta áp dụng lí thuyết này vào vector đồng xuất hiện bằng cách định nghĩa Pointwise mutual
information giữa từ đích w và một đặc trưng f như sau: assocP M I (f, w) = log2 PP(w)P
(w,f )
(f )
Mặc khác, f là một tổ hợp của hai biến r và w’, vì vậy ta có biến thể của Lin (1998a), khai
triển P(f) như sau:

assocLin (f, w) = log2 P (w)PP(r|w)P


(w,f )
(w0 |w)

t-test, Curran and Moens (2002), Curran (2003)


Một trong những độ đo thành công nhất cho bài toán word similarity là sử dụng độ đo t-test.
T-test sẽ đi tính toán sự sai khác giữa trung bình quan sát và trung bình kì vọng, chuẩn hoá bằng
phương sai. Giá trị t càng cao thì khả năng chúng ta bác bỏ giả thiết H0 rằng trung bình quan
x−µ
sát và trung bình kì vọng là giống nhau. t = q s2
N

Khi áp dụng vào mối liên kết giữa các từ, giả thiết H0 là hai từ độc lập, vì vậy P(w, f) =
P(w)P(f). Khi đó kết quả của t-test là:
P (w,f −P (w)P (f )
assoct−test (w, f ) = √
P (f )P (w)

2.2.3 Định nghĩa sự giống nhau của hai vec-tơ

Sau khi xây dựng mối tương quan giữa từ đang xét w với các từ xung quanh, phần này chúng ta
xét đến sự giống nhau giữa hai từ w và v với cùng tính chất tức so sánh sự giống nhau của từ
dựa vào mối liên hệ của chúng với một bộ từ nhất định.

t1 t2 t3 ... t4
w assoc(f1 ) assoc(f2 ) assoc(f3 ) ... assoc(fn )
w assoc(f1 ) assoc(f2 ) assoc(f3 ) ... assoc(fn )

Với ti ∈ bộ từ Σ và fi là trọng số của mối tương quan của w hay v đối với từ ti . Để xác định
sự giống nhau của w và v, ta có thể dùng hai độ đo đơn giản nhất là Manhattan và Euclidean.
Hình bên dưới sẽ cho thấy tư tưởng về mặt hình học của các độ đo đối với vec-tơ ~a và ~b.

11
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

Hình 4: Hai độ đo Manhattan và Euclidean

Mặc dù Manhattan và Euclidean cho thấy trực quan tốt về sự khác nhau của hai vec-tơ, tuy
nhiên hai độ đo này rất ít khi được được vì sự nhạy cảm của chúng đối với giá trị lớn hơn so với
các giá trị của phần còn lại. Ví dụ về vấn đề này được minh họa như sau:

cơm quýt nước thuốc cam


ăn 1300 5 0 1 4
xơi 1200 1 10 5 3

Xét bảng trên độ đo Ecuclidean của từ xơi và ăn sẽ là 100.66 nhưng nếu thay đổi biến cơm
của hai từ trên lần lượt trở thành 13 và 12 thì giá trị độ đo sẽ là 11.58. Có thể thấy độ ảnh hưởng
của biến giá trị lớn đến giá trị độ đo. Vì vậy, các độ đo sau đây được sử dụng rộng rãi hơn.
Ta có thể định nghĩa độ đo sử dụng tích vô hướng của đại số tuyến tính nnhư sau:
n
X
~ = ~v • w
simdot_product (~v , w) ~= vi × wi
i

Tuy nhiên, tốc độ thực hiện phép tính tích vô hướng của hai vec-tơ phụ thuộc vào chiều dài
và giá trị từng thành phần của một vec-tơ. Mà trong vec-tơ đặc trưng của chúng ta lại có thể
rất thưa và có thể gồm các giá trị rất lớn (mặc dù chỉ số PMI đã được chuẩn hóa). Vì vậy ta sử
dụng độ đo cosine sẽ tốt hơn khi điều chỉnh simdot_product chuẩn hóa các vec-tơ bằng việc chia
cho độ dài của chúng.
Pn
~v w
~ vi × wi
simcosine (~v , w)
~ = • = pPn i 2 pPn 2
|~v | |w|
~ i vi i wi

Vì chuyển thành các vec-tơ đơn vị, ta sẽ tránh được sự nhạy cảm xảy với giá trị lớn khi các
giá trị của độ đo từ -1 đến 1. Với giá trị -1, hai vec-tơ sẽ ngược hướng nhau; với giá trị 0, hai
vec-tơ sẽ vuông góc nhau (biểu thị giữa chúng không có điểm gì giống nhau); với giá trị 1, hai
vec-tơ cùng chiều nhau (biểu thị cho sự giống nhau hoàn toàn giữ hai vec-tơ). Trong thực dụng,
các giá trị thường sẽ dương khi các trọng số assoc(fi ) thường dương.

12
2 MỘT SỐ PHƯƠNG PHÁP THÔNG DỤNG TRONG TÍNH TOÁN ĐỘ TƯƠNG ĐỒNG
GIỮA 2 TỪ

Ngoài ra trong hồi quy thông tin, ta có độ đo Jaccard ban đầu được sử dụng cho vec-tơ nhị
phân. Sau đó, được mở rộng ra dùng cho trọng số mối tương quan assoc (fi ) như dưới đây:
PN
min(vi , wi )
~ = PNi
simJaccard (~v , w)
i max(vi , wi )

Sử dụng hàm min ở đây là phép tính số lượng các đặc trưng trùng lặp nhau (bởi vì một trong
hai vec-tơ có giá trị 0 cho đặc trưng thì kết quả cũng là 0). Hàm max ở mẫu được xem như là
nhân tố chuẩn hóa. Ngoài ra, độ đo Dice cũng gần giống độ đo Jaccard khi giữ tử số nhưng mẫu
số là tổng các phần tử khác không của hai vec-tơ.

2× N
P
min(vi , wi )
simDice (~v , w)
~ = PNi
i (vi + wi )

Sau cùng là một phương pháp dựa trên xác suất có điều kiện P (f, w). Ý tưởng chính của
phương pháp là nếu từ w và từ v giống nhau thì mở rộng theo xác suất điều kiện của chúng phải
giống nhau tức P (f, w) và P (f, v). Các tiếp cận đơn giản để so sánh hai độ đo này là toán tử
Kullback-Leibler:
X P (x)
D(P ||Q) = P (x) log
x
Q(x)

Có thể thấy trên công thức, toán tử này không thể xác định khi Q(x) = 0 mà điều này rất
dễ xảy ra trong words similariy, vì các vec-tơ thường rất thưa. Một sự thay thế có thể khắc phục
điều này là toán tử Jenson-Shannon:
P +Q P +Q
JS(P ||Q) = D(P || ) + D(Q|| )
2 2
Viết lại đẳng thức trên với bài toán của ta

w
~ + ~v w
~ + ~v
simJS (w||~
~ v ) = D(w||
~ ) + D(~v || )
2 2

13
3 ĐÁNH GIÁ CHUNG VỀ CÁC PHƯƠNG PHÁP TÍNH ĐỘ TƯƠNG ĐỒNG GIỮA 2 TỪ

assocprob (w, f ) = P (f |w)


P (w, f )
assocP M I (w, f ) = log2
P (w)P (f )
P (w, f )
assocLin (w, f ) = log2
P (w)P (r|w)P (w0 |w)
P (w, f ) − P (w)P (f )
assoct−test (w, f ) = p
P (f )P (w)

Pn
×wi
i vi√
simcosine (~v , w)
~ = ~v
|~v |
• w
~
|w|
~
= √ P n 2 Pn 2
PN i vi i wi
i min(vi ,wi )
simJaccard (~v , w)
~ = PN
i max(vi ,wi )
2× N
P
i min(vi ,wi )
simDice (~v , w)
~ = PN
i (vi +wi )
w
~ + ~v w
~ + ~v
simJS (w||~
~ v) = D(w||
~ ) + D(~v || )
2 2

Bảng 1: Bảng tóm tắt các công thức trọng số và độ đo

3 Đánh giá chung về các phương pháp tính độ tương đồng


giữa 2 từ
Có 2 cách đánh giá:

• Đánh giá tự nhiên (Instrinic Evaluation): đánh giá bằng cách so sánh kết quả từ thuật toán
với kết quả từ con người. Nói cách khác là so sánh sự tương quan giữa kết quả tính toán
mức độ tương đồng giữa 2 từ của một thuật toán với mức độ tương đồng giữa 2 từ đó do
con người đưa ra.

• Đánh giá khách quan (Extrinsic Evaluation): đưa kết quả tính toán mức độ tương đồng
giữa 2 từ của một thuật toán vào các ứng dụng để kiểm tra xem ứng dụng được cải thiện
như thế nào. Một số ứng dụng phổ biến:

– Word-sense disambiguation (WSD)


– Nhận diện lỗi dùng từ (Malapropisms/Spelling error detection)
– Chấm điểm bài luận (Essay grading)
– Trả lời câu hỏi trắc nghiệm từ vựng trong bài thi TOEFL
Ví dụ: Với câu hỏi: “Levied is closest in meaning to which of these following words:
imposed/believed/requested/correlated?”, ta sẽ tính độ tương đồng giữa các cặp từ
(levied, imposed ), (levied, believed ), (levied, requested ), (levied, correlated ) để tìm
ra từ có độ tương đồng cao nhất với từ “levied”. Nếu kết quả tính toán trùng khớp với
đáp án của câu hỏi (đáp án là từ “imposed”), thì thuật toán đó hiệu quả.

14

You might also like