Tải bản đầy đủ (.pdf) (48 trang)

Nghiên cứu, phát triển phương pháp tính độ tương tự câu truy vấn trong hệ tìm kiếm và ứng dụng thử nghiệm vào một hệ tìm kiếm thực thể tiếng Việt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.76 MB, 48 trang )


igure
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ




Nguyễn Thị Thu Chung
NGHIÊN CỨU, PHÁT TRIỂN PHƯƠNG PHÁP
TÍNH ĐỘ TƯƠNG TỰ CÂU TRUY VẤN TRONG HỆ
TÌM KIẾM VÀ ỨNG DỤNG THỬ NGHIỆM VÀO MỘT
HỆ TÌM KIẾM THỰC THỂ TIẾNG VIỆT



LUẬN VĂN THẠC SĨ







Hà Nội - 2011





ĐẠI HỌC QUỐC GIA HÀ NỘI


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





Nguyễn Thị Thu Chung


NGHIÊN CỨU, PHÁT TRIỂN PHƯƠNG PHÁP
TÍNH ĐỘ TƯƠNG TỰ CÂU TRUY VẤN TRONG HỆ
TÌM KIẾM VÀ ỨNG DỤNG THỬ NGHIỆM VÀO MỘT
HỆ TÌM KIẾM THỰC THỂ TIẾNG VIỆT

Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.05
LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Hà Quang Thụy



Hà Nội - 2011
3
Mục lục
Lời cảm ơn 1
Lời cam đoan 2
Bảng ký hiệu các chữ viết tắt 4
Danh sách các bảng 5

Danh sách các hình 6
MỞ ĐẦU 7
Chương 1. Bài toán tính độ tương tự câu truy vấn trong máy tìm kiếm 8
1.1 Đặc trưng của truy vấn 9
1.2 Bài toán tính độ tương tự truy vấn 9
1.2.1. Bài toán tính độ tương tự truy vấn 9
1.2.2. Các vấn đề cần quan tâm khi tính độ tương tự câu truy vấn 10
1.3 Tóm tắt chương 1 13
Chương 2. Các phương pháp tính độ tương tự 14
2.1 Phương pháp thống kê 14
2.1.1 Phát biểu bài toán 14
2.1.2 Tính toán độ tương tự dựa trên từ vựng 14
2.2 Phương pháp sử dụng xử lý ngôn ngữ tự nhiên 16
2.2.1. Phương pháp tính độ tương tự câu sử dụng Wordnet corpus 16
2.2.2. Phương pháp tính độ tương tự câu sử dụng chủ đề ẩn 21
2.3. Phương pháp sử dụng lưu vết truy vấn của máy tìm kiếm 26
2.4 Tóm tắt chương 2 28
Chương 3. Mô hình đề xuất và thực nghiệm 30
3.1 Cơ sở thực tiễn 30
3.2 Mô hình đề xuất 30
3.3. Thực nghiệm 33
3.3.1. Môi trường thực nghiệm 33
3.3.2. Quá trình thực nghiệm 33
3.3.3. Đánh giá 35
KẾT LUẬN 40
TÀI LIỆU THAM KHẢO 41
PHỤ LỤC 43
Kết quả trả về từ máy tìm kiếm sau khi truy vấn 43
4
Bảng ký hiệu các chữ viết tắt

Ký hiệu viết tắt
Ý nghĩa
TF
Term Frequency -
IDF
Inverse Document Frequency
LDA
Latent Dirichlet Allocation
Userlog
Lưu vết truy vấn của máy tìm kiếm

5
Danh sách các bảng
Bảng 1: Kết quả so sánh các độ đo 19
Bảng 2: Kết quả tính độ tương tự giữa các truy vấn 34
Bảng 3: Bảng phân loại đánh giá 35
Bảng 4: Bảng đánh giá kết quả theo phân loại 36
6

Danh sách các hình
Hình 1: Lược đồ tính toán độ tương tự câu 17
Hình 2: Hệ thống cây phân cấp ngữ nghĩa 19
Hình 3: Mô hình biểu diễn của LDA 22
Hình 4: Mô hình đề xuất 31
Hình 5: Tìm kiếm với câu truy vấn 1 43
Hình 6: Tìm kiếm với câu truy vấn 2 44
Hình 7: Tìm kiếm với câu truy vấn tổng hợp 1 45
Hình 8: Tìm kiếm với câu truy vấn 3 46
Hình 9: Tìm kiếm với câu truy vấn 4 47
Hình 10: Tìm kiếm với câu truy vấn mở rộng 2 48


7

MỞ ĐẦU
Tìm kiếm thông tin trên web là nhu cầu không thể thiếu trên thế giới cũng như
ở Việt Nam. Với tốc độ phát triển internet rất nhanh chóng và mạnh mẽ tại Việt Nam,
theo báo cáo mới đây – tháng 4/2011 của Netcitizens [20], Việt Nam là quốc gia có tỷ
lệ tăng trưởng Internet nhanh nhất trong khu vực và nằm trong số các quốc gia có tỷ lệ
tăng trưởng cao nhất thế giới. Từ năm 2000 đến nay số người sử dụng Internet đã nhân
lên khoảng 120 lần. Việc sử dụng trang web tìm kiếm chiếm 92% trên tổng các hoạt
động trực tuyến [20]. Trong bối cảnh, lượng thông tin trên Internet ngày càng lớn và
cập nhật kịp thời như hiện tại thì người dùng càng cần một công cụ để tìm kiếm những
thông tin họ cần một cách hiệu quả nhất.
Trong các hệ thống tìm kiếm, hầu hết các truy vấn đặt ra là từ khóa, cụm từ
khóa hoặc là một đoạn văn bản ngắn. Biểu diễn lại, làm truy vấn phù hợp hơn là một
bài toán đặc trưng trong các hệ tìm kiếm, trong đó mở rộng truy vấn (query expansion)
và biểu diễn truy vấn có tính tương tự (query similarity) là hai giải pháp điển hình
nhất. Nhiều công trình nghiên cứu về tính tương tự truy vấn cũng như tính tương tự
của các văn bản ngắn đã được công bố, chẳng hạn như [18][7][1][8]. Tính tương tự
văn bản không chỉ hỗ trợ việc biểu diễn lại truy vấn mà còn được sử dụng trong nhiều
bài toán khác, chẳng hạn như bài toán phân cụm truy vấn.
Luận văn với đề tài “Nghiên cứu, phát triển phương pháp tính độ tương tự truy
vấn trong hệ tìm kiếm và ứng dụng thử nghiệm vào một hệ tìm kiếm thực thể tiếng
Việt” thực hiện khảo sát, nghiên cứu các phương pháp tính độ tương tự truy vấn trong
hệ tìm kiếm. Từ đó đưa ra hướng phát triển cho phương pháp tính độ tương tự truy vấn
phù hợp để áp dụng thử nghiệm vào một hệ tìm kiếm tiếng Việt. Đồng thời, luận văn
cũng tiến hành đánh giá ở bước cuối cùng để đưa ra so sánh giữa việc tìm kiếm thông
thường trên máy tìm kiếm tiếng Việt với việc sử dụng tính độ tương tự truy vấn để đưa
ra câu trả lời. Trong thời gian tiếp theo, luận văn sẽ nghiên cứu để áp dụng tính độ
tương tự câu hỏi và áp dụng vào hệ tìm kiếm thực thể Tiếng Việt.

Luận văn được trình bày thành bốn chương, nội dung được trình bày sơ bộ như
dưới đây:
Chương 1. Bài toán tính độ tương tự truy vấn trong máy tìm kiếm
Chương 2. Các phương pháp tính độ tương tự truy vấn
Chương 3. Mô hình đề xuất và thực nghiệm
Phần kết luận: Tổng kết, tóm lược nội dung và kết quả đạt được của luận văn.
8

Chương 1. Bài toán tính độ tương tự câu truy vấn
trong máy tìm kiếm

Máy tìm kiếm là công cụ hữu ích giúp người dùng tìm kiếm được những thông
tin họ cần nhanh nhất. Vấn đề đặt ra khi người dùng đưa truy vấn vào truy vấn tại máy
tìm kiếm là làm thế nào giúp người dùng hiểu, lựa chọn được chính xác nhất những gì
họ cần hỏi. Bài toán tính độ tương tự giữa các truy vấn (query similarity) được đưa ra
để giải quyết vấn đề này. Đây là một trong những bài toán khó nhưng rất thu hút sự
chú ý của các nhà nghiên cứu về lĩnh vực tìm kiếm.
Một phương pháp đo độ tương tự giữa hai truy vấn có độ chính xác cao rất hữu
ích cho các ứng dụng giúp hỗ trợ người dùng trong việc tìm kiếm cũng như giúp máy
tìm kiếm đưa ra được những câu trả lời đúng với mục đích người hỏi hơn. Các ứng
dụng của nó là: Mở rộng truy vấn (question expansions) [13][5][18], gợi ý truy vấn
(query recommendations) [15], quảng cáo trực tuyến (online advertising) [9]
Bên cạnh đó, ngày càng có nhiều công việc đòi hỏi việc tính toán độ tương tự
giữa các văn bản và các đoạn văn bản ngắn, đặc biệt là độ tương tự giữa hai truy vấn.
Các bài toán này bao gồm: viết lại truy vấn (query reformulation) - tính độ tương tự
giữa hai câu truy vấn, tìm kiếm quảng cáo (sponsored search) - tính độ tương tự giữa
truy vấn của người dùng và các từ khóa quảng cáo, tìm kiếm hình ảnh (image
retrieval) – tính độ tương tự giữa câu truy vấn và tiêu đề của hình ảnh.
Như đã biết, bài toán tính độ tương tự giữa các văn bản đã được quan tâm
nghiên cứu từ rất lâu, nó là nền tảng quan trọng để phát triển các bài toán quan trọng

khác trong lĩnh vực khai phá dữ liệu như phân cụm [2][3], tóm tắt văn bản [10], ….
Việc tính toán độ tương tự giữa văn bản thường dựa vào nội dung, ngữ cảnh của văn
[4]. Các thuật toán thông thường được sử dụng là: độ đo cosin, độ đo TF-IDF, Dice, …
[8] . Với văn bản, thường có khối lượng từ ngữ nhiều, có khả năng thể hiện được đầy
đủ nội dung và ngữ cảnh thì việc sử dụng các phương pháp truyền thống thường tỏ ra
hiệu quả, tuy nhiên, do đặc trưng của câu truy vấn thường ngắn và mang ít ngữ cảnh so
với văn bản ví dụ câu truy vấn: apple có thể biểu thị một loại hoa quả, đồng thời nó
cũng là tên của một công ty máy tính. Ngoài ra, câu truy vấn của người dùng thường
rất đa dạng mà không phải bao giờ cũng đúng mẫu hay được biểu diễn đúng với nội
dung mà người dùng muốn tìm kiếm. Truy vấn có những đặc trưng riêng mà ta cần
nắm bắt đề có thể lựa chọn áp dụng phương pháp phù hợp nhất cho việc tính độ tương
tự giữa các truy vấn. Dưới đây luận văn sẽ trình bày về các đặc trưng của truy vấn.
9

1.1 Đặc trưng của truy vấn
Truy vấn là một dạng biểu diễn đặc biệt của văn bản. Truy vấn có những đặc
điểm riêng, đặc trưng cho những truy vấn mà người dùng đưa vào máy tìm kiếm.
Truy vấn được đưa vào máy tìm kiếm thường mang tính chủ quan của người
dùng. Nó không phải lúc nào cũng biểu diễn đúng những điều mà người dùng mong
muốn thể hiện. Do trình độ của người dùng mỗi người là khác nhau, nên các câu truy
vấn đưa vào cũng có những định dạng khác nhau, đôi khi còn xuất hiện lỗi chính tả,
Ngoài ra, không giống với văn bản với lượng lớn câu chữ, thường thể hiện bối
cảnh, nội dung rõ ràng, các câu truy vấn thường ngắn, nó không thể hiện được đầy đủ
nội dung mà người dùng mong muốn. Ví dụ: Khi người dùng đưa vào câu truy vấn
apple – quả táo. Khi đọc câu truy vấn này, máy tìm kiếm sẽ khó để hiểu được người
dùng đang muốn ám chỉ một loại hoa quả hay ám chỉ một hãng máy tính nổi tiếng.
Để đáp ứng được các đặc trưng riêng này của truy vấn, người ta thường áp dụng
phương pháp biểu diễn truy vấn bằng chính những từ ngữ nội tại của nó. Tức là không
thêm bớt từ khóa nào trong truy vấn. Ngoài ra, để tăng thêm ngữ nghĩa cho truy vấn,
người ta cũng sử dụng phương pháp mở rộng câu truy vấn, giúp máy tìm kiếm xác

định được rõ hơn mục đích của người dùng.
Một vấn đề khác cần quan tâm khi biểu diễn câu truy vấn, đó là vấn đề từ đồng
nghĩa. Hai câu truy vấn có thể được biểu diễn khác nhau dưới dạng truy vấn của người
dùng nhưng nó lại mang cùng một mục đích, cùng một ý nghĩa. Nếu hai câu truy vấn
này là đồng nghĩa với nhau, máy tìm kiếm cũng có thể dễ dàng hơn trong việc đưa ra
được câu trả lời thỏa đáng cho người dùng.
1.2 Bài toán tính độ tương tự truy vấn
1.2.1. Bài toán tính độ tương tự truy vấn
Khi sử dụng hệ thống tìm kiếm, người dùng sẽ nhập vào câu truy vấn và yêu
cầu máy tìm kiếm trả về tập các tài liệu liên quan. Tuy nhiên, máy tìm kiếm thông
thường dựa vào các từ ngữ của truy vấn mà trả về các tài liệu với nội dung khác nhau,
cụ thể là:
 Máy tìm kiếm hiển thị kết quả với nội dung liên quan tới chính xác các từ
ngữ thuộc truy vấn. Ví dụ: nếu ta đưa vào truy vấn “Du lịch sinh thái” vào máy
tìm kiếm thì các kết quả sẽ hiển thị ra các trang web có chứa chính xác cụm từ
“du lịch sinh thái” hoặc có từ “du lịch” “sinh thái” “du” “lịch” “sinh” “thái”
sẽ được hiển thị.
10

 Máy tìm kiếm hiển thị kết quả với nội dung các từ ngữ liên quan đến truy
vấn và các từ đồng nghĩa với truy vấn. Ví dụ: nếu ta đưa vào máy tìm kiếm câu
truy vấn “decease” thì máy tìm kiếm có thể đưa ra được các kết quả liên quan
đến từ khóa “decease” hoặc từ “die”, “death”, “demise”, “dying”, “fate” … là
các từ đồng nghĩa của “decease” (nghĩa là “chết” trong tiếng Việt)
 Máy tìm kiếm hiển thị các kết quả có liên quan đến các lĩnh vực khác nhau
liên quan đến truy vấn. Ví dụ: Người dùng đưa vào từ khóa Apple thì máy tìm
kiếm sẽ hiển thị các tài liệu liên quan đến máy tính apple hoặc apple fruit.
Để máy tìm kiếm có thể hiển thị kết quả phù hợp với mục đích người dùng, cần
tìm ra các câu truy vấn mới mà theo người dùng những câu truy vấn này có cùng ý
nghĩa (tương tự) với câu truy vấn hiện thời để máy tìm kiếm có thể tự động viết lại

truy vấn của người dùng, tiến hành tìm kiếm và đưa ra được kết quả tốt hơn. Đấy là
nội dung của bài toán tính độ tương tự câu truy vấn.
Ví dụ: Người dùng đưa vào truy vấn: Lê Hồng Phong thì người ta cũng muốn
có những kết quả liên quan đến Lê Huy Doãn hoặc Tổng bí thư giai đoạn 1935-1936.
Như vậy, máy tìm kiếm cần viết lại truy vấn Lê Hồng Phong thành Tổng bí thư Lê
Hồng Phong, Lê Huy Doãn.
1.2.2. Các vấn đề cần quan tâm khi tính độ tương tự câu truy vấn
a. Biểu diễn truy vấn
Do đặc trưng riêng của truy vấn, để tính toán độ tương tự giữa các truy vấn, ta
cần có cách biểu diễn truy vấn phù hợp.
Truy vấn có thể được biểu diễn theo các phương pháp: Biểu diễn nguyên thể,
Biểu diễn rút gọn, Biểu diễn mở rộng [7]. Các phương pháp biểu diễn câu truy vấn sẽ
được trình bày dưới đây:
 Biểu diễn không thay đổi từ ngữ - Surface representation
Biểu diễn truy vấn bằng chính từ ngữ nội tại của nó là phương pháp biểu diễn
văn bản ngắn đơn giản nhất.
Việc biểu diễn truy vấn bằng phương pháp này có thể đưa lại dữ liệu rời rạc, tuy
nhiên nó có chất lượng khá cao vì không có sự thay đổi nào (tự động hoặc thủ công)
tác động để thay đổi nó. Phương pháp này có thể gây nhiều nhiễu khi xử lý tính độ
tương tự truy vấn tuy nhiên ta lại không tốn công sức để xử lý nó.
Ví dụ: Nếu người dùng đưa vào truy vấn

11

 Biểu diễn rút gọn - Stemmed representation
Lược giản từ đã được biết đến rộng rãi như một công nghệ cơ bản trong khai
phá dữ liệu đặc biệt là máy tìm kiếm, khai phá văn bản và phân tích tâm lý (sentiment
analysis) như là bước tiền xử lý dữ liệu. Do đây là phương pháp lược bỏ bớt một phần
của từ về dạng đơn giản hơn nên dung lượng từ sẽ được giảm bớt.
Ví dụ: Từ clustering trong tiếng Anh (phâm cụm trong tiếng Việt) sẽ được

lược bỏ bớt để đưa về dạng nguyên thủy là clusty. Hoặc từ carefully trong tiếng Anh
(cẩn thận trong tiếng Việt) sẽ được lược bỏ bớt để đưa về dạng nguyên thủy là care.
Với cơ sở dữ liệu thì đây là phương pháp hữu hiệu để lưu trữ cho khối lượng
dữ liệu lớn. Lý do lớn nhất là làm giảm bộ nhớ và tính toán lệnh cần thiết để xử lý
lượng lớn dữ liệu. Tuy vậy, phương pháp này khó để con người áp dụng bằng tay vì nó
tốn rất nhiều công sức. Để thực hiện tự động, cần xây dựng bộ từ điển lược giản cho
từng loại ngôn ngữ hoặc xây dựng một bộ luật để có thể tự động biểu diễn từ từ dạng
này sang dạng khác, nhưng phương pháp này cũng tốn thời gian và công sức để xây
dựng bộ luật với từng ngôn ngữ. Ngoài ra, với đặc trưng của từng ngôn ngữ, không
phải tất cả các từ ngữ đều có chung quy luật lược giản, có rất nhiều biến thể bất quy
tắc của từ, điều này cũng là một lý do khiến cho việc xây dựng bộ luật là rất khó khăn
để thực hiện.
 Biểu diễn mở rộng - Extended representation
Biểu diễn mở rộng là dạng biểu diễn dữ liệu dưới dạng thêm vào, mở rộng nội
dung thông tin của văn bản/ câu. Phương pháp này thường được áp dụng đối với đối
tượng dữ liệu ngắn, cần thêm thông tin phù hợp để sử dụng. Phương pháp biểu diễn
này rất phù hợp cho truy vấn, nhằm làm giàu ngữ nghĩa của truy vấn giúp việc xử ký,
tính toán độ tương tự của truy vấn dễ dàng hơn.
Hiện nay, bài toán mở rộng truy vấn đã và đang nhận được sự quan tâm rất lớn
từ các nhà nghiên cứu của các trường đại học. Mở rộng truy vấn liên quan đến các kỹ
thuật như [22]:
- Tìm từ đồng nghĩa của từ và tìm kiếm các từ đồng nghĩa
- Tìm tất cả các hình thức, hình thái khác nhau của từ xuất phát từ truy vấn
gốc
- Sửa lỗi chính tả và tự động tìm kiếm với các cách tìm kiếm đó, thể hiện nó
trong kết quả trả về.
- Đánh lại trọng số cho câu truy vấn ban đầu.
Có ba phương pháp chính được sử dụng để mở rộng truy vấn, đó là:
12


- Phương pháp thủ công
- Phương pháp tự động
- Phương pháp kết hợp (kết hợp giữa thủ công và tự động)
 Phương pháp thủ công
Đây là phương pháp mở rộng truy vấn cơ bản nhất, nó chủ yếu kết hợp việc tìm kiếm
Boolean. Có rất nhiều mô hình tìm kiếm trực tuyến đã được phát triển dựa trên mô hình
Boolean và các phương pháp tương tác giữa người dùng và hệ thống truy hồi. Theo Có nhiều
phương pháp được công bố, như: xây dựng khối (building block), tìm kiếm đơn giản (brief
search), successive fraction,…
 Phương pháp tự động
Phương pháp này tận dụng các khái niệm có sẵn trong tập tài liệu và các mối
quan hệ giữa chúng để thực hiện mở rộng truy vấn.
Mối quan hệ giữa các khái niệm (khái niệm ở đây có thể là một từ hoặc một
cụm danh từ) được biểu diễn dưới dạng cấu trúc phân cấp. Dựa vào những đặc trưng
và đặc tính ngữ nghĩa, ta có thể phân thành nhiều loại mối quan hệ khác nhau.
 Phương pháp kết hợp
Khác với các phương pháp đã trình bày ở trên, việc mở rộng truy vấn sử dụng
phương pháp này được thực hiện kết hợp giữa hệ thống và người sử dụng. Hệ thống sẽ
thực hiện liệt kê và xếp hạng tập các từ có liên quan và người sử dụng phải quyết định
lựa chọn các khái niệm theo quan điểm tìm kiếm để tự thêm vào câu truy vấn. Vì vậy,
người dùng là người quyết định cuối cùng việc mở rộng của một từ. Nó phản ảnh tầm
quan trọng tương đối và tính hữu dụng của các khái niệm dựa vào quan điểm của
người sử dụng, do đó tăng sự hài lòng của người sử dụng. Có nhiều cách kết hợp để
mở rộng truy vấn, ví dụ một phương pháp mở rộng câu truy vấn phổ biến hiện nay là
phương pháp sử dụng lưu vết truy vấn của máy tìm kiếm. Từ bộ userlog mà máy chủ
tìm kiếm ghi lại được lịch sử truy vấn và lịch sử lựa chọn tài liệu mở của người dùng,
người ta tiến hành mở rộng để đưa câu truy vấn về dạng giàu ngữ nghĩa hơn.
b. Tìm ra ngưỡng phù hợp để định nghĩa tính tương tự
Như ta đã biết, hai câu truy vấn có độ tương tự càng cao thì chúng càng giống
nhau, hai câu truy vấn có độ tương tự càng thấp thì chúng càng ở xa nhau hơn. Vì vậy,

khi tính toán được độ tương tự giữa hai câu truy vấn, thì vấn đề được đặt ra là, độ
tương tự giữa hai câu truy vấn bằng bao nhiêu thì hai câu truy vấn đó được coi là
giống nhau.
13

Việc tìm được chính xác một số cụ thể cho ngưỡng này là rất khó, nó phụ thuộc
nhiều vào lượng dữ liệu cũng như phương pháp tính toán độ tương tự của các câu truy
vấn. Ngưỡng này thường được rút ra qua quá trình nhiều lần tiến hành thực nghiệm và
chọn kết quả phù hợp nhất.
Với lý do này, luận văn sau khi thực hiện tính toán độ tương tự giữa các câu
truy vấn sẽ tiến hành xác định ngưỡng để đưa ra một con số phù hợp nhất để đưa ra
được câu trả lời những câu truy vấn nào là giống nhau.
1.3 Tóm tắt chương 1
Trong chương này, luận văn giới thiệu tổng thể về bài toán tính độ tương tự
truy vấn trong máy tìm kiếm. Đồng thời chỉ ra các đặc trưng của truy vấn, các vấn đề
cần quan tâm khi tính độ tương tự của truy vấn.


14

Chương 2. Các phương pháp tính độ tương tự
Trong phần này, luận văn mô tả ba phương pháp để xác định độ tương tự giữa
các phân đoạn ngắn của văn bản – cụ thể là xác định tính tương tự giữa các câu truy
vấn.
Độ tương tự giữa hai câu truy vấn được xác định bằng một giá trị từ 0 đến 1.
Giá trị độ tương tự giữa hai câu càng gần 1 thì chứng tỏ hai câu truy vấn càng gần
nhau (giống nhau), ngược lại, giá trị độ tương tự càng gần 0 thì chứng tỏ hai truy vấn
càng xa nhau (không giống nhau, không có sự tương tự)
2.1 Phương pháp thống kê
Phương pháp cơ bản nhất để tính độ tương tự giữa các phân đoạn ngắn của văn

bản là dựa trên từ ngữ của văn bản [7] . Tùy thuộc vào cách biểu diễn, phương pháp
này chỉ dựa trên số từ chung giữa hai truy vấn.
2.1.1 Phát biểu bài toán
Cho hai câu truy vấn q và s. Đặt Q, S tương ứng là tập hợp các từ thuộc q và s
 
 
n
n
sssS
qqqQ
, ,,
, ,,
21
21


( 1)
Trong đó:
 n là số từ thuộc q
 m là số từ thuộc s
Xác định độ tương tự giữa hai truy vấn q, s bằng cách xác định số từ chung thuộc
cả hai câu truy vấn. Việc tính toán độ tương tự giữa hai câu truy vấn q và s được xác
định bằng một số công thức như liệt kê dưới đây.
2.1.2 Tính toán độ tương tự dựa trên từ vựng
Để tính độ tương tự giữa hai truy vấn dựa trên từ vựng, người ta sử dụng
phương pháp biểu diễn truy vấn đơn giản nhất là dựa trên chính những từ ngữ nội tại
của truy vấn – “surface representation”.
Chúng ta xác định một số tiêu chuẩn sau để tính toán tính phù hợp giữa các truy
vấn [7] :
15


 Chính xác: Q và S là hai tập hoàn toàn tương đương.
o Ví dụ: hai câu truy vấn
 q = “An là học sinh giỏi”
 s = “An là học sinh giỏi”
 Cụm từ: S là một phần trong Q.
o Ví dụ: Hai câu truy vấn
 q = “An là học sinh giỏi”
 s = “học sinh giỏi”
 Tập con: các từ nằm trong S nằm hoàn toàn trong Q nhưng sắp xếp không đồng
nhất.
o Ví dụ: Hai câu truy vấn
 Q = “An là học sinh giỏi”
 S = “An học giỏi”
Độ tương tự giữa hai câu truy vấn q và s có thể tính được bằng một trong các
công thức sau [17]:
 Độ đo kết hợp
||),( SQsqsim 
( 2)

 Độ đo Dice
||||
||
2),(
SQ
SQ
sqsim




( 3)
 Độ đo Jaccard
||
||
),(
SQ
SQ
sqsim



( 4)
 Độ đo Overlap
|||,min(|
||
),(
SQ
SQ
sqsim


( 5)
16

 Độ đo Cosin
||||
||
),(
SQ
SQ

sqsim



( 6)
Cách tính độ tương tự giữa các câu truy vấn theo phương pháp này đưa ra kết quả
là một số từ 0 đến 1. Hai câu truy vấn được coi là tương tự hoặc không tương tự chỉ
dựa trên việc tính toán xem chúng có chung từ hoặc cụm từ hay không.
Ưu, nhược điểm
 Ưu điểm
o Cách biểu diễn truy vấn đơn giản
o Tính toán độ tương tự giữa các truy vấn đơn giản
o Độ chính xác cao
 Nhược điểm
o Độ hồi tưởng thấp
2.2 Phương pháp sử dụng xử lý ngôn ngữ tự nhiên
Tính độ tương tự giữa các truy vấn sử dụng xử lý ngôn ngữ tự nhiên sử dụng
một số cách tiếp cận đặc trưng như: sử dụng phân tích cấu trúc ngữ pháp, sử dụng
mạng ngữ nghĩa đối với từ ví dụ như: sử dụng Wordnet corpus hoặc Brown corpus.
Phương pháp tính độ tương tự bằng xử lý ngôn ngữ tự nhiên tuy xử lý chậm hợn, tốn
nhiều chi phí hơn, nhưng xét về mặt ngữ nghĩa, độ chính xác thì nó cao hơn tính độ tự
tượng câu dựa trên phương pháp thống kê. Dưới đây, luận văn sẽ trình bày một số
phương pháp tính độ tương tự câu dựa trên phương pháp xử lý ngôn ngữ tự nhiên.
2.2.1. Phương pháp tính độ tương tự câu sử dụng Wordnet corpus
WordNet là một cơ sở dữ liệu lớn các từ vựng tiếng Anh. Danh từ, động từ, tính
từ, trạng từ được chia thành các nhóm, trong mỗi nhóm được tập hợp các từ đồng
nghĩa về nhận thức gọi là synsets. Các synset được liên kết với nhau bằng các mối
quan hệ ngữ nghĩa và từ vựng. Để tính độ tương tự câu sử dụng Wordnet ta có thể thực
hiện theo mô hình sau [6] [19].



17

a. Mô hình

Hình 1: Lược đồ tính toán độ tương tự câu

b. Các bước xử lý
Bước 1: Tiền xử lý
 Tách mỗi câu thành một danh sách các từ tố (token): Mỗi câu được tách
ra thành một danh sách các từ và xóa đi các từ dừng. Từ dừng là các từ
xuất hiện thường xuyên, các từ không có ý nghĩa.
 Xác định từ loại (part of speech: từ loại): Sau khi câu được tách thành
danh sách các từ. Bước này sẽ xác định đúng từ loại (POS - như danh từ,
động từ, trạng từ, tính từ, ) của mỗi từ trong câu.
Bước 2: Tính độ tương tự từ
 Sau khi đã có danh sách các từ được gán nhãn, ta xác định được một tập
từ chung cho hai câu. Tập từ chung này bao gồm tất cả những từ phân
biệt có trong hai câu đó.
 Dựa vào tập từ chung đồng thời sử dụng wordnet ta sẽ ước tính được độ
tương tự về ngữ nghĩa cho các từ trong mỗi câu với tập từ chung. Từ đó
đưa ra được vector ngữ nghĩa cho hai câu.


18

Bước 3: Tính độ tương tự ngữ nghĩa cho hai câu
 Khi tính được độ tương tự từ, ta đưa ra được vector ngữ nghĩa s
i
cho mỗi

câu. Sử dụng vector ngữ nghĩa của hai câu để tính độ tương tự về ngữ
nghĩa cho hai câu đó.
Bước 4: Tính độ tương tự thứ tự từ
 Dựa tập từ chúng ta xác định vector thứ tự từ cho mỗi câu.
Bước 5: Tính độ tương tự cho toàn bộ câu
 Kết hợp giữa vector ngữ nghĩa và vector thứ tự của hai câu ta tính ra
được độ tương tự cho hai câu.
c. Tính độ tương tự từ dựa trên WordNet
Vì một đoạn văn bản gồm nhiều câu và mỗi câu có thể xem như một chuỗi các
từ mang thông tin cần thiết nên từ được xem như là đơn vị thấp nhất về mặt ngữ nghĩa
khi xét cho một văn bản. Vậy, muốn tính độ tương tự câu yêu cầu bắt buộc phải dựa
vào độ tương tự của từ có trong câu.
Độ tương tự giữa các từ có ý nghĩa trong các bài toán trích chọn thông tin từ
corpus và trong NLP được dùng để hỗ trợ cho việc biên soạn các từ điển từ đồng
nghĩa. Bên cạnh đó, nó cũng được ứng dụng để mở rộng và sửa các truy vấn ngôn ngữ
tự nhiên.
d. Phương pháp tiến hành đo độ tương tự từ dựa vào wordnet
Như trên đã giới thiệu, WordNet là một mạng ngữ nghĩa trong đó có chứa rất
nhiều node. Mỗi node sẽ biểu diễn một khái niệm về thế giới thực. Wordnet được xây
dựng dưới dạng cây phân cấp nên thể hiện được mối quan hệ giữa các từ. Vì thế, việc
sử dụng wordnet cho việc tính độ tương tự từ sẽ thuận tiện rất nhiều. Ví dụ đối với hai
từ boy và teacher, khi xét mối quan hệ giữa 2 từ này trên tập corpus wordnet ta có thể
xây dựng được một cấu trúc cây thể hiện mối quan hệ ngữ nghĩa giữa hai từ thông qua
các nút khác như trong hình vẽ. Teacher – educator – professional – adult – person –
male – male child – boy.
19


Hình 2: Hệ thống cây phân cấp ngữ nghĩa
Cho hai từ c

1
, c
2
, chúng ta cần tính độ tương tự từ cho hai từ đó dựa vào
WordNet. Ta sẽ tìm một lớp nào đó trong cây phân cấp để xác định các từ trong nhóm
lớp đó, rồi tiến hành so sánh. Phương pháp này có thể được thực hiện dựa vào nhiều
độ đo như: độ đo Jiang Conrath (JCN), độ đo Lin, Extended Gloss Overlaps, Hirst-St
Onge, Resnik, Leacock-Chodorow. Theo [16] có bảng sau:
Measure
Nouns Only
All POS
Jiang-Conrath
0.46
N/A
Ex.Gloss Overlaps
0.43
0.34
Lin
0.39
n/a
Vector
0.33
0.29
Hirst-St.Onge
0.33
0.23
Leacock Chodorow
0.28
n/a
Bảng 1: Kết quả so sánh các độ đo

Độ đo JCN luôn có giới hạn dưới là 0 nhưng không có giới hạn trên. JCN sử
dụng nội dung thông tin (Information Content) của các khái niệm (concept).
20

IC = IC(concept) = –log(P(concept)) ( 7)
Xác suất xuất hiện của khái niệm trong một corpus được tính bằng tần số của từ
đó trong corpus:
P(concept) = freq(concept)/N ( 8)
Trong đó: N là tổng số khái niệm có trong corpus.
Công thức tính khoảng cách ngữ nghĩa:
distance = IC(c
1
) + IC1c
2
) – 2. IC(lcs(c
1
,c
2
)) ( 9)
Trong đó:
 lcs(c
1
,c
2
): Khái niệm thấp nhất trong hệ thống cấp bậc quan hệ is-a hay
nó là cha của hai từ c
1
và c
2


 distance: Khoảng cách của hai từ. Từ đó, đưa ra được mối quan hệ giữa
hai từ c
1
và c
2
như sau:
Relatedness(c
1
, c
2
) = 1 / distance ( 10)
Ví dụ: Xét hai từ boy và teacher. Dựa vào hình 4 ta có lcs(boy, teacher) là
person
e. Độ tương tự về ngữ nghĩa giữa hai câu
Sau khi tính được độ tương tự từ, ta đưa ra được vector ngữ nghĩa s
i
cho mỗi
câu. Giá trị của từng thành phần có trong vector là giá trị về độ tương tự từ của từng từ
trong câu với tập từ chung . Sự giống nhau về ngữ nghĩa giữa hai câu là hệ
số cosin giữa hai vector :
2.
.
1
21
ss
ss
S
s

( 11)

f. Độ tương tự về thứ tự của các từ trong câu
Mục tiêu của phần này là từ hai câu input, đưa ra được vector thứ tự từ cho mỗi
câu.
Ví dụ: Ta có hai câu T
1
và T
2
với
 T
1
: A quick brown dog jumps over the lazy fox
 T
2
: A quick brown fox jumps over the lazy dog
21

 Tập từ chung T = {A quick brown dog jumps over the lazy fox }
Nếu chỉ xét đến độ tương tự về ngữ nghĩa giữa các từ trong câu thì hai câu này
giống nhau hoàn toàn. Tuy nhiên thực tế lại khác, hai câu mang ý nghĩa hoàn toàn trái
ngược nhau. Vì vậy, nãy sinh vấn đề cần phải tính đến thứ tự của các từ có trong câu.
Cách ước tính độ tương tự về thứ tự của các từ trong mỗi câu như sau:
 Nếu như từ trong tập từ chung mà có trong câu thì từ đó sẽ có cùng thứ
tự với từ trong câu đó.
 Ngược lại, nếu như từ trong tập từ chung không giống với từ nào trong
câu thì thứ tự của nó sẽ là 0.
Gọi r là vector thứ tự từ trong câu. Với hai câu T
1
và T
2
thì ta có hai vector r

1

r
2
tương ứng như sau:
r
1
={1 2 3 4 5 6 7 8 9}
r
2
={1 2 3 9 5 6 7 8 4}
Công thức để tính độ tương tự về thứ tự của từ trong câu như sau:
21
21
1
rr
rr
S
r



( 12)

g. Tính độ tương tự cho toàn bộ câu
Sự giống nhau về toàn bộ câu được định nghĩa là sự kết hơp giữa độ tương tự
về mặt ngữ nghĩa và thứ tự của từ trong câu
( 13)
Với
10 


, quyết định việc đóng góp về ngữ nghĩa và thứ tự từ tới toàn bộ
câu.
2.2.2. Phương pháp tính độ tương tự câu sử dụng chủ đề ẩn
Phương pháp tính độ tương tự câu sử dụng Hidden Topic – chủ đề ẩn có mục
tiêu chính là làm thế nào để thu được lợi từ các nguồn tài nguyên lớn của dữ liệu trực
tuyến nhằm tăng tính ngữ nghĩa trong việc tính độ tương tự câu.
22

Phương pháp tiếp cận vấn đề dựa trên cơ sở các nghiên cứu thành công gần đây
của mô hình phân tích topic ẩn LDA (Latent Dirichlet Allocation) … Ý tưởng cơ bản
của mô hình là với mỗi lần học, ta tập hợp một tập dữ liệu lớn được gọi là “Universal
dataset” và xây dựng một mô hình học trên cả dữ liệu học và một tập giàu các topic ẩn
được tìm ra từ tập dữ liệu đó. [14]
a. Latent Dirichlet Allocation (LDA)
Latent Dirichlet Allocation (LDA) là một mô hình sinh xác suất cho tập dữ liệu
rời rạc như text corpora. David Blei, Andrew Ng và Michael Jordan đã phát triển LDA
vào năm 2003. LDA dựa trên ý tưởng: mỗi tài liệu là sự trộn lẫn của nhiều topic, mỗi
topic là một phân bố xác suất trên các từ. Về bản chất, LDA là một mô hình Bayesian
3 cấp (three-level hierarchical Bayes model: corpus level, document level, word level)
trong đó mỗi phần của một tập hợp được mô hình như một mô hình trộn hữu hạn trên
cơ sở tập các xác suất topic. Trong ngữ cảnh của mô hình văn bản, xác suất topic cung
cấp một biểu diễn tường minh của một tài liệu. Trong phần tiếp theo sẽ thảo luận nhiều
hơn về mô hình sinh, ước lượng tham số cũng như inference trong LDA.
 Mô hình sinh trong LDA
Cho một corpus của M tài liệu biểu diễn bởi D={d
1
, d
2
, , d

M
}, trong đó, mỗi
tài liệu m trong corpus bao gồm N
M
từ w
i
rút từ một tập từ vựng (Vocabulary) của các
từ (term) {t
1
, t
2
, , t
v
}, V là số từ. LDA cung cấp một mô hình sinh đầy đủ chỉ ra kết
quả tốt hơn các phương pháp trước. Quá trình sinh ra document như sau:

Hình 3: Mô hình biểu diễn của LDA
Trong đó:
 Các khối vuông trong Hình biểu diễn các quá trình lặp.
 Tham số đầu vào: α và β (corpus-level parameter)
23

o α: Dirichlet prior on
m

(theta)
o β: Dirichlet prior on
k



o
m

(theta): phân phối của topic trong tài liệu thứ m
o Z
m,n
: chỉ mục topic (từ thứ n của văn bản m)
o W
m,n
: từ thứ n của văn bản m chỉ bởi z
m,n

o
k

: phân phối của các từ được sinh từ topic zm,n
o M: số lượng các tài liệu
o N
m
: số lượng các từ trong tài liệu từ m
o K: số lượng các topic ẩn
LDA sinh một tập các từ wm,n cho các văn bản
m
d
bằng cách:
 Với mỗi văn bản m, sinh ra phân phối topic
m

cho văn bản
 Với mỗi từ, z

m,n
được lấy mẫu dựa vào phân phối topic trên.
 Với mỗi topic chỉ mục z
m,n
, dựa vào phân phối từ
k

, W
m,n
, được sinh
ra.

k

được lấy 1 lần cho toàn bộ copus

24

Ở đây, Dir, Poiss and Mult lần lượt là các phân phối Dirichlet, Poisson,
Multinomial. (Lấy mẫu theo phân phối Dirichlet, Poisson, Multinomial).
Ước lượng tham số và Inference thông qua Gibbs Sampling
Cho trước một tập các văn bản, tìm xem topic model nào đã sinh ra tập các văn
bản trên. Bao gồm:
 Tìm phân phối xác suất trên tập từ đối với mỗi topic
k


 Tìm phân phối topic của mỗi tài liệu
m



Gibbs Sampling
Thuật toán nhằm lấy mẫu từ phân phối xác suất có điều kiện của hai hoặc nhiều
biến ngẫu nhiên. Quá trình ước lượng tham số cho LDA gồm các bước:
Khởi tạo: lấy mẫu lần đầu

Trong đó:

)( x
m
n
: số topic z trong văn bản m
 n
m
: tổng số topic trong văn bản m

)(t
z
n
: số term t trong topic z
 n
z
: tổng số term trong topic z
25

Mỗi lần lấy mẫu cho một từ, các thao số đối với từng term và topic trên lần lượt
được tăng lên
Burn-in period: quá trình lấy mẫu lại cho đến khi đạt được một độ chính xác
nhất định


Trong mỗi lần lấy mẫu lại: các tham số tương ứng với các topic và term cũ
giảm đi 1, các tham số tương ứng với các topic và term mới tăng lên 1.
Check convergence and read out parameters: Quá trình kết thúc, đọc các
tham số đầu ra Φ và Θ
hai phân phối ẩn
k


m

được tính như sau:

×