Tải bản đầy đủ (.docx) (36 trang)

Truy hồi thông tin Information Retrieval

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 (836.92 KB, 36 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI PHÂN HIỆU TP. HCM
LỚP CÔNG NGHỆ THÔNG TIN
----------

CHUYÊN ĐỀ: CÔNG NGHỆ THÔNG TIN
Information Retrieval

Giảng viên hướng dẫn: HUỲNH THỊ THANH THƯƠNG
Sinh viên thực hiện:

PHẠM VĂN ĐẠO
PHAN VĂN ĐẠT
NGUYỄN THẾ HÀ
HUỲNH TẤN DUY
TRỊNH ĐÌNH TÙNG

Lớp: Công Nghệ Thông Tin
Khóa: 54

TP. Hồ Chí Minh, 11/2016
Bảng từ vựng, thuật ngữ, viết tắt


Từ viết tắt

Thuật ngữ tiếng Anh

Thuật ngữ tiếng Việt

IR



Information Retrieval

Truy tìm thông tin

DB

Database

Cơ sở dữ liệu

LSI

Latent Semantic Indexing

Chỉ mục ngữ nghĩa tiềm ẩn

NLP

Natural Language Processing

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


Danh mục hình ảnh


Nội dung



TRUY HỒI THÔNG TIN

1. CÁC KHÁI NIỆM CƠ BẢN VỀ TRUY HỒI THÔNG TIN
Hiện nay, khối lượng thông tin khổng lồ khiến con người phải tốn nhiều thời gian hơn dành
cho việc tìm kiếm thông tin thích hợp. Do đó, nhiều kỹ thuật truy hồi thông tin được ra đời
nhằm giải quyết vấn đề về quá tải thông tin.
-

Khái niệm truy tìm thông tin

Truy tìm thông tin là tìm kiếm thông tin ở một dạng không có cấu trúc, thỏa mãn nhu cầu
thông tin từ trong những nguồn thông tin thông tin lớn.
Đây là khái niệm truy tìm thông tin kinh điển nhất và được sử dụng nhiều nhất mỗi khi
nhắc đến truy tìm thông tin. Ngoài ra, còn có một số định nghĩa khác, ví dụ như sau:
Truy tìm thông tin là hoạt động thu thập các nguồn thông tin liên quan đến một thông tin
cần tìm kiếm, có thể dựa trên siêu dữ liệu (metadata) hoặc trên việc đánh chỉ mục toàn văn
(hoặc dựa trên nội dung khác).
-

Các khái niệm liên quan

Tài liệu:
Tài liệu (d): diễn tả những ý tưởng về đề tài nào đó dưới dạng ngôn ngữ tự nhiên, là đơn
vị mà một hệ thống IR được xây dựng dựa trên đơn vị này.
Tài liệu là bất kỳ nội dung nào chứa thông tin và mang ý nghĩa nhất định.
Có nhiều dạng tài liệu khác nhau:
-

Tài liệu văn bản
Dạng ký tự, có cấu trúc đơn giản.


-

Tài liệu phi văn bản
Dạng phương tiện như hình ảnh, âm thanh, video…

Truy vấn:
Truy vấn (q): diễn tả nhu cầu thông tin cho những tài liệu liên quan đến một đề tài nào
đó.
Là thông tin được đưa vào hệ thống để thực hiện công việc tìm kiếm.
ĐẠO – ĐẠT – HÀ – DUY - TÙNG

5


TRUY HỒI THÔNG TIN

Các dạng truy vấn
-

Từ, cụm từ, câu có thể là đoạn văn hoặc một dạng phi văn bản (hình ảnh…)

Từ chỉ mục (k): một đơn vị ngữ nghĩa, một từ, một cụm từ ngắn, hay là dạng gốc của một từ.
Một tài liệu d sẽ được biểu diễn bởi một tập các từ chỉ mục ki. (i = 0, 1, 2, …)
Cơ sở dữ liệu (DB) : Tập n tài liệu, dj ϵ DB. (j = 1, 2, … , n)
Bảng từ vựng T: Tập t từ chỉ mục, k i ϵ T, i = (1, 2, …, t).

2. LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA IR
Ý tưởng về truy tìm thông tin được Vannevar Bush đưa ra vào năm 1945. Tiếp theo đó đến
năm 1948, Holmstrom mô tả hệ thống máy tính tìm kiếm thông tin đầu tiên. Đến năm 1960,

Nhóm nghiên cứu tìm kiếm thông tin lớn đầu tiên được thành lập bởi Gerard Salton tại Cornel.
Và đầu những năm 70, một số hệ thống truy hồi thông tin quy mô lớn được hình thành và đưa
vào sử dụng, chẳng hạn như hệ thống Lockheed Dialog. Và cuối cùng là sự ra đời của các công
cụ tìm kiếm Web, nói các khác là các động cơ tìm kiếm hoặc là máy tìm kiếm đang từng ngày
nâng cao khả năng tìm kiếm “thông minh”.
3. CẤU TRÚC CỦA MỘT HỆ THỐNG IR
Cấu trúc của một hệ thống IR được mô tả như sơ đồ dưới đây:

Hình 1 - Cấu trúc hệ thống IR

ĐẠO – ĐẠT – HÀ – DUY - TÙNG

6


TRUY HỒI THÔNG TIN

Các mục thông tin: Chứa cơ sở dữ liệu lớn các thông tin thu thập được, được lưu trữ ở các hệ
thống máy tính lớn.
Nhu cầu thông tin: Là những truy vấn người dùng muốn thực hiện
Chức năng biễu diễn cấu trúc các tài liệu: Ban đầu, các mục thông tin là không có cấu trúc, hệ
thống IR cần phải biểu diễn cấu trúc các tài liệu hay là các mục thông tin thành dạng cấu trúc
nào đó bằng các mô hình truy tìm thông tin.
Chức năng biểu diễn cấu trúc các nhu cầu thông tin: Mặc định các nhu cầu thông tin của người
dùng là ngôn ngữ tự nhiên, không có cấu trúc. Đòi hỏi hệ thống IR cần phải phân tách yêu cầu
người dùng thành các thông tin theo một cấu trúc nào đó để thực hiện so khớp với các tài liệu.
So khớp: Thực hiện so khớp nhu cầu thông tin của người dùng và các mục thông tin bằng các
thuật toán và các phương pháp của hệ thống IR.
Xếp hạng/kết quả: Đưa ra kết quả truy tìm với mức độ liên quan giảm dần nhờ chức năng xếp
hạng của hệ thống.

4. CÁC PHƯƠNG PHÁP TRUY HỒI THÔNG TIN
4.1. Mô hình boolean
Mô hình boolean là mô hình truy vấn đơn giản nhất, bao gồm mối quan hệ giữa các thuật
ngữ của yêu cầu thông tin và các tài liệu. Ví dụ như các truy vấn sau:
-

Những tài liệu chứa từ “Java”
Những tài liệu chứa từ “Java” nhưng không chứa từ “coffee”
Các tài liệu chứa cụm “Java beans” hoặc thuật ngữ “API”
Các tài liệu mà “Java” và “Island” xuất hiện trong cùng một câu.

Hai truy vấn đầu được gọi là những truy vấn “gần” (proximity queries) bởi chúng bao gồm
khoảng cách từ vựng giữa các dấu hiệu. Các câu hỏi này có thể được trả lời sử dụng chỉ số
ngược. Phần sau sẽ mô tả việc các chỉ số được xây dựng từ một tập hợp các tài liệu ngược như
thế nào.
Các câu truy vấn được biểu diễn bởi tập từ khóa kết nối với tập phép toán Bool. Ba loại
toán tử hay được sử dụng là OR, AND và NOT. Quy tắc truy tìm kiếm như sau:
Toán tử OR: Xem xét hai thuật ngữ đồng nghĩa. Ví dụ, cho trước câu truy vấn (term1 OR
term2) thì hiện diện của một trong hai thuật ngữ trong bản ghi (hay trong tài liệu) đủ để đáp
ứng truy tìm bản ghi này.
ĐẠO – ĐẠT – HÀ – DUY - TÙNG

7


TRUY HỒI THÔNG TIN

Toán tử AND: Tổ hợp các thuật ngữ (hay từ khóa) vào một câu thuật ngữ. Vậy, truy vấn (term1
AND term2) chỉ ra cả hai thuật ngữ phải đồng thời hiện diện trong tài liệu để đem lại kết quả.
Toán tử NOT: Là hạn chế hay thuật ngữ hẹp, thông thường nó được sử dụng với toán tử AND.

Câu truy vấn (term1 AND NOT term2) dẫn tới truy tìm bản ghi có term1 nhưng không có
term2.
Ví dụ:
Những tác phẩm nào của “Kim Dung” xuất hiện “Quách Tĩnh” và “Hoàng Dung” nhưng
không xuất hiện “Dương Quá”
Đầu tiên, xác định những từ ngữ có hoặc không nằm trong tác phẩm như bảng sau:

Giá trị “1” là từ chỉ mục có xuất hiện trong tác phẩm. Giá trị “0” là từ chỉ mục không xuất hiện
trong tác phẩm.
Tiếp theo, xác định cú pháp câu truy vấn:
QuachTinh And HoangDung And (Not DuongQua)
Xác định vector biểu diễn cho các từ chỉ mục từ bảng trên
-

QuachTinh {1 1 1 0 0 }
HoangDung {1 1 1 0 0 }
DuongQua {0 0 1 0 0 }

Thực hiện các phép toán logic
ĐẠO – ĐẠT – HÀ – DUY - TÙNG

8


TRUY HỒI THÔNG TIN

11100 And 11100 And [Bù (00100)] = 11000
 Kết quả là: Bích Huyết Kiếm và Anh Hùng Xạ Điêu.
Xét trường hợp n = 1.000.000 tài liệu, và t = 500.000 từ chỉ mục. Khi đó ma trận tài
liệu, từ chỉ mục sẽ có kích thước: 500.000 * 1.000.000, tương đương với 500 tỉ số 0 và 1 được

lưu trữ. Như vậy, vấn đề về lưu trữ đã xuất hiện. Mặt khác, quan sát kỹ ma trận Từ chỉ mục –
Tài liệu, có thể nhận thấy một điều rất quan trọng, đó là “nó có rất ít số thành phần khác 0” hay
nói cách khác là số lượng phần tử bằng “1” là rất ít. Giải pháp đặt là là chỉ cần lưu những phần
tử có giá trị “1”.
Kỹ thuật chỉ mục ngược

Ý tưởng:
Với mỗi từ chỉ mục t, lưu một danh sách những tài liệu (Doc ID) chứa t. Ví dụ như:

Đánh chỉ mục – xây dựng chỉ mục:
Các bước được thực hiện như hình sau:

ĐẠO – ĐẠT – HÀ – DUY - TÙNG

9


TRUY HỒI THÔNG TIN

Hình 2 - Các bước lập chỉ mục

Phân tích thành các token: là tách câu truy vấn thành các từ riêng biệt. Sau khi phân tích ta sẽ
có một dãy các token.
Xử lý ngôn ngữ: Xử lý từng token, áp dụng các kỹ thuật xử lý ngôn ngữ tự nhiên sẽ trình bày ở
phần sau. Đây là một phần rất phức tạp.
Đánh chỉ mục:
Ví dụ cho hai tài liệu như sau:
Tài liệu 1: “I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me.”
Tài liệu 2: “So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious.”
Sau khi đánh chỉ mục:


ĐẠO – ĐẠT – HÀ – DUY - TÙNG

10


TRUY HỒI THÔNG TIN

Sắp xếp các từ chỉ mục

ĐẠO – ĐẠT – HÀ – DUY - TÙNG

11


TRUY HỒI THÔNG TIN

Sau đó, những từ chỉ mục giống nhau sẽ được nhóm lại, sau khi nhóm sẽ tách thành Dictionary
và Postings.

ĐẠO – ĐẠT – HÀ – DUY - TÙNG

12


TRUY HỒI THÔNG TIN

Ví dụ: Xét truy vấn đơn giản: Brutus AND Caesa
Xác định Brutus trong Dictionary bằng cách truy tìm những posting của “Brutus”
Tương tự, xác định Caesar trong Dictionary bằng cách truy tìm những posting của “Caesar”


ĐẠO – ĐẠT – HÀ – DUY - TÙNG

13


TRUY HỒI THÔNG TIN

Trộn hai danh sách các posting
Thuật toán trộn như sau:

Hình 3 - Thuật toán trộn posting

Kết quả sau khi trộn:

4.2.

Mô hình không gian vector

Nói một cách ngắn gọn, Vector space model (Mô hình không gian vector) là một mô
hình đại số (algebraic model) thể hiện thông tin văn bản như một vector, các phần tử của vector
này thể hiện mức độ quan trọng của một từ và cả sự xuất hiện hay không xuất hiện (Bag of
words) của nó trong một tài liệu.
Mô hình này biểu diễn văn bản như những điểm trong không gian Euclid n-chiều, mỗi
chiều tương ứng với một từ trong tập hợp các từ. Phần tử thứ i, là di của vector văn bản cho
biết số lần mà từ thứ i xuất hiện trong văn bản. Sự tương đồng của hai văn bản được định nghĩa
là khoảng cách giữa các điểm, hoặc là góc giữa những vector trong không gian.
ĐẠO – ĐẠT – HÀ – DUY - TÙNG

14



TRUY HỒI THÔNG TIN

Mỗi từ trong không gian vector sẽ có một trọng số, có nhiều phương pháp xếp hạng
khác nhau, nhưng tf-idf (term frequency–inverse document frequency) là một phương pháp
phổ biến để đánh giá và xếp hạng một từ trong một tài liệu. MySQL fulltext search cũng sử
dụng phương pháp này. Về cơ bản thì tf-idf là một kỹ thuật (cụ thể là ranking function) giúp
chuyển đổi thông tin dưới dạng văn bản thành một Vector space model thông qua các trọng số.
Vector space model và tf-idf được phát triển bởi Gerard Salton vào đầu thập niên 1960s.
Mặc dù đơn giản, nhưng mô hình không gian vector và những biến thể của nó hiện nay
vẫn là cách phổ biến để biểu diễn văn bản trong Data mining và Information retrieval. Tuy
nhiên, một trong những điểm yếu của vector space model số chiều lớn (high-dimensonal), có
khoảng cỡ chục triệu chiều trong không gian vector nếu như chúng ta áp dụng nó vào web
search engine.
Ma trận các tài liệu và từ chỉ mục
Ví dụ: Hàng đầu tiên là danh sách các vở kịch của Shakespeare. Cột đầu tiên là các từ, và các ô
thể hiện sự xuất hiện hay không xuất hiện của các từ đó trong các tác phẩm.

Mỗi tài liệu được biễu diễn dưới dạng một vector, ví dụ Julius Caesar {73 157 227 19 0
0 0}
Bây giờ mỗi tài liệu (trong trường hợp này là tác phẩm) được thể hiện dưới dạng một
vector đếm.
Term frequency tft,d xác định số lần từ t xuất hiện trong tài liệu d. Nhưng chỉ tần suất
xuất hiện của một từ thôi thì chưa đủ.
Ví dụ trong một tài liệu, sự xuất hiện của một từ 10 lần thì tài liệu đó được coi là phù
hợp hơn tài liệu mà từ đó chỉ xuất hiện 1 lần. Nhưng không phải là phù hợp hơn tài liệu kia 10
lần. Sự phù hợp không tỷ lệ thuận với số lần xuất hiện của từ đó trong một tài liệu.

ĐẠO – ĐẠT – HÀ – DUY - TÙNG


15


TRUY HỒI THÔNG TIN

Phương pháp tính trọng số tần suất logarit (log-frequency)
Log-frequency của một term t trong document d được tính như sau: wt,d = 1 + log(t ft,d)
Nếu từ đó không xuất hiện trong một tài liệu, thì t ft,d bằng 0. Và bởi vì log(0) là một số
âm vô cùng, cho nên chúng ta phải cộng 1.
Một từ xuất hiện trong tài liệu: 1 lần có w=1; 2 lần có w=1.3; 10 lần có w=2; 1000 lần
w=4.
Điểm cho một cặp document-query được tính bằng tổng của các trọng số của term t
trong cả document d và query q = . Điểm sẽ bằng 0 nếu như query terms không xuất hiện trong
document.
Phương pháp tính trọng số nghịch đảo văn bản (Inverse document weighting)
Từ hiếm thì quan trọng hơn những từ có tần suất xuất hiện cao. Trong mỗi ngôn ngữ có
những từ lặp đi lặp lại nhiều lần nhưng vô nghĩa (ví dụ trong tiếng Anh là a, the, to, of v.v),
trong full-text search nó được gọi là stopwords.
Đối với term frequency, thì những từ càng xuất hiện nhiều thì có điểm càng cao, còn
những từ hiếm thì điểm xếp hạng lại thấp hơn. Do đó chúng ta cần một cách đánh giá khác với
các từ hiếm, vì nó sẽ mang nhiều thông tin hơn là những từ phổ biến trong văn bản.
Ví dụ trong một tập hợp các tài liệu về nghành công nghiệp ô-tô, thì từ khóa “ô-tô” sẽ
có khả năng có mặt hầu hết trong tất cả các tài liệu. Để hạn chế nhược điểm này, người ta giới
thiệu cơ chế để giảm thiểu sự ảnh hưởng của việc này và tăng tính chính xác khi quyết định sự
phù hợp của tài document và query. Ý tưởng là giảm trọng số của từ nào có document
frequency cao, bằng cách lấy tổng số tài liệu (N) chia cho số tài liệu mà một từ xuất hiện.
Nếu gọi dft là số văn bản chứa một term t thì dft là cách đánh giá ngược sự hữu ích của
t. (dft bé hơn N → số tài liệu trong tập hợp mà chúng ta có).
Chúng ta định nghĩa trọng số idf của một từ t bởi: .

Chúng ta sử dụng thay vì để giảm tác dụng ảnh hưởng của idf, như đã nói ở trên do số
lần một từ xuất hiện nhiều lần thì không có nghĩa là nó quan trọng về ngữ nghĩa.
Ảnh hưởng của idf trên việc xếp hạng
idf không có ảnh hưởng trên việc xếp hạng tài liệu (so với 1 từ khóa), nó chỉ giúp phân
loại tài liệu. idf chỉ có ảnh hưởng lên sự xếp hạng các tài liệu nếu như query có ít nhất 2 terms.
ĐẠO – ĐẠT – HÀ – DUY - TÙNG

16


TRUY HỒI THÔNG TIN

Ví dụ người dùng search từ khóa “capricious person”, idf làm cho sự xuất hiện của từ
capricious được tính nhiều hơn trong kết quả xếp hạng tài liệu cuối cùng, so với từ “person” vì
từ này phổ biến hơn.
Câu truy vấn cũng được xem như một vector
Để tìm một cụm từ trong tập hợp các tài liệu sẵn có (giống khi thực hiện một câu truy
vấn full-text), thì chúng ta cần so sánh cụm từ đó (query) với các tài liệu sẵn có. Ý tưởng là
chúng ta cũng xem các câu truy vấn như là một vector (xem ở trên), và chúng ta sẽ xếp hạng
(rank) các tài liệu mà chúng ta có dựa vào sự tương đồng (proximity) với câu truy vấn (query).
Để xếp hạng các tài liệu mà chúng ta có (và trả về các tài liệu có hạng cao), thì chúng ta
so sánh câu truy vấn với tập hợp tài liệu. Tài liệu nào càng gần với câu truy vấn thì có điểm cao
hơn.
Để so sánh hai vector chúng ta có thể tính khoảng cách giữa hai vector, hoặc tính góc
tạo ra bởi hai vector. Tuy nhiên cách tính khoảng cách có nhược điểm không chính xác, bởi vì
khoảng cách lớn với các vector có chiều dài khác nhau (ví dụ: tài liệu d′ là nhân đôi nội dung
tài liệu d).
Khoảng cách Euclid giữa q⃗ q→ và d⃗ d→ 2 là rất lớn ngay cả khi sự phân phối của các từ
trong query q và trong tài liệu d2 là rất giống nhau.


Hình 4 - Khoảng cách Euclid giữa 2 vector

Nhìn hình trên ta có thể thấy khoảng cách giữa q⃗ q→ và d⃗ d→ 2 là khá lớn mặc dù sự
phân bố các terms trong query q và document d2 khá tương đồng.
ĐẠO – ĐẠT – HÀ – DUY - TÙNG

17


TRUY HỒI THÔNG TIN

Do vậy chúng ta sẽ dựa vào GÓC trong không gian vector hơn là khoảng cách giữa cách
điểm.
Sử dụng góc thay vì khoảng cách

Hình 5 - Góc giữa các vector

Qua thực nghiệm, lấy một tài liệu d và gắn vào chính nó, ta có tài liệu d’ . Về mặt ngữ
nghĩa thì hai tài liệu này hoàn toàn giống nhau về nội dung. Khi đó vector d’ sẽ có độ lớn gấp
đôi vector d và có cùng chiều với d.
Nhưng khoảng cách Euclid giữa hai tài liệu này khá lớn, mặc dù giống nhau về nội
dung.

ĐẠO – ĐẠT – HÀ – DUY - TÙNG

18


TRUY HỒI THÔNG TIN


Hình 6 - Khoảng cách Euclid giữa hai tài liệu

Cho nên, thay vì xếp hạng tài liệu dựa trên khoảng cách Euclid, thì chúng ta nên xếp
hạng dựa trên góc giữa tài liệu và câu truy vấn.
Ta có thể thấy góc giữa hai vector càng lớn thì cosin hay điểm xếp hạng sẽ càng thấp.
Khi góc giữa vector bằng 0 thì điểm sẽ lớn nhất (=1).
Có hai cách ghi tương đương nhau:
-

Xếp hạng tài liệu theo thứ tự giảm dần dựa trên góc giữa query và document
Xếp hạng tài liệu theo thứ tự tăng dần dựa trên cosin của query và document

Hình 7 - Biểu đồ xếp hạng tài liệu

Tài liệu được xếp hạng bởi giá trị cosine giảm dần:
-

cos(d,q) = 1 khi d = q
cos(d,q) = 0 khi tài liệu d và query q không có bất kỳ từ chung nào.

Tại sao phải chuẩn hóa độ dài của tài liệu?

ĐẠO – ĐẠT – HÀ – DUY - TÙNG

19


TRUY HỒI THÔNG TIN

Với cái tài liệu dài (hơn): Tài liệu dài có tần suất các từ xuất hiện cao hơn (higher term

frequencies). Một từ giống nhau sẽ có khả năng xuất hiện thường xuyên hơn. Có nhiều từ hơn,
tăng khả năng xuất hiện của các từ trùng với câu truy vấn.
Sự “chuẩn hóa cosine” giảm sự ảnh hưởng của tài liệu dài (so với tài liệu ngắn). Một
vector có thể được chuẩn hóa (về độ dài) bằng cách chia từng phần tử của nó cho độ dài của
nó. Để tính độ dài của vector chúng ta làm như sau (định mức L2 hay L2 norm):

Giả sử chúng ta có vector d
Giả sử chúng ta có vector d’
Chia một vector cho định mức L2 của nó sẽ tạo ra một vector đơn vị chiều dài (unit length
vector)

Khoảng cách Euclid giữa hai vector là khá lớn (trong khi góc bằng nhau). Sau khi chuẩn
hóa hai tài liệu d và d’chúng ta có hai vector hoàn toàn giống nhau . Những tài liệu dài và ngắn
bây giờ (sau khi chuẩn hóa) sẽ có trọng số so sánh được.
Mặc dù vậy cách chuẩn hóa này vẫn chưa đúng hoàn toàn, cho nên người ta còn giới
thiệu thêm phương pháp “pivoted document length normalization”.
Tương đồng Cosine (cosine similarity)

ĐẠO – ĐẠT – HÀ – DUY - TÙNG

20


TRUY HỒI THÔNG TIN

qi là trọng số tf-idf của từ i trong câu truy vấn. di là là trọng số tf-idf của từ i trong tài
liệu cos(q⃗ ,d⃗ ) là sự tương đồng cosine giữa q⃗ và d⃗ hay là cosine của góc giữa q⃗ và d⃗
Đối với những vector đã được chuẩn hóa về độ dài, sự tương đồng cosine chỉ đơn giản
là tích vô hướng của hai vector (scalar product).


Khi truy tìm, danh sách cho lại sẽ được xếp hạng theo thứ tự tính tương đồng giảm dần.
Ví dụ, có 4 tài liệu và truy vấn được đại diện bởi các véctơ sau:
D1 = [0.2, 0.1, 0.4, 0.5]
D2 = [0.5, 0.6, 0.3, 0]
D3 = [0.4, 0.5, 0.8, 0.3]
D4 = [0.1, 0, 0.7, 0.8]
Q = [0.5, 0.5, 0, 0]
Tính tương đồng giữa câu truy vấn và từng tài liệu như sau:
S(D1, Q) = 0.31
S(D2, Q) = 0.931
S(D3, Q) = 0.66
S(D4, Q) = 0.07
Hệ thống sẽ cho lại danh sách tài liệu theo thứ tự D2, D3, D1 và D4.
Hạn chế chính của mô hình không gian véctơ là nó coi các thuật ngữ không có quan hệ
với nhau và nó chỉ làm việc tốt với tài liệu và câu truy vấn ngắn. Nếu M là tổng số tài liệu, cần
O(M) so sánh trong trường hợp tồi nhất. Nếu có N thuật ngữ, cần O(N) thời gian so sánh. Vậy
tổng số thời gian đòi hỏi tính toán sẽ là O(N x M). Thông thường N x M là một số rất lớn, do
vậy, người ta phải phát triển các kỹ thuật khác để tìm kiếm thuật ngữ trong tập tài liệu.
4.3.

Mô hình xác suất

Mô hình truy tìm theo xác suất xem xét các phụ thuộc và quan hệ của các thuật ngữ. Nó
dựa trên bốn tham số sau đây:
ĐẠO – ĐẠT – HÀ – DUY - TÙNG

21


TRUY HỒI THÔNG TIN


-

P(rel): Xác suất tính phù hợp của tài liệu.
P(nonrel): Xác suất tính không phù hợp của tài liệu.
a1 : Giá trị kết hợp với việc truy tìm tài liệu không liên quan.
a2 : Giá trị kết hợp với việc không truy tìm tài liệu liên quan.

Vì việc truy tìm tài liệu không phù hợp hết a1P(nonrel) và loại bỏ các tài liệu phù hợp hết
a2P(rel), tổng số thời gian truy tìm sẽ tối ưu nếu: a2P(rel) >= a1P(nonrel)
Nhiệm vụ chính của mô hình truy tìm xác suất là dự báo P(rel) và P(nonrel) như thế nào.
Thông thường, điều được thực hiện với giả sử rằng sự phân bổ xuất hiện một số thuật ngữ
trong các tài liệu. Mô hình xác suất cung cấp chỉ dẫn quan trọng cho đặc trưng hóa tiến trình
truy tìm. Tuy nhiên, hiệu quả truy tìm không được nâng cao là mấy, vì rất khó khăn để có được
P(rel) và P(nonrel).
4.4.

Mô hình lập chỉ mục ngữ nghĩa tiềm ẩn

Khái niệm chỉ mục ngữ nghĩa tìm ẩn (Latent Semantic Indexing - LSI)
Chỉ mục ngữ nghĩa tiềm ẩn (LSI - Latent Semantic Indexing) được Falotsos, Foltz,
Dumais và Bently phát triển để giải quyết một phần khó khăn trên. Ý tưởng cơ bản của LSI là
thực hiện nhóm các thuật ngữ tương đương để hình thành “khái niệm” hay “chủ đề” và tài liệu
sẽ được đại diện bởi các khái niệm hay chủ đề này. Vì tổng số khái niệm sẽ nhỏ hơn nhiều so
với tổng số thuật ngữ, do vậy đòi hỏi ít bộ nhớ lưu trữ hơn và thời gian tính toán sẽ nhanh hơn.

Nội dung phương pháp (Latent Semantic Indexing-LSI)
Chỉ mục ngữ nghĩa tiềm ẩn (LSI) là một kỹ thuật được thiết kế để giải quyết vấn đề
đồng nghĩa và các vấn đề đa nghĩa của từ ngữ. Kỹ thuật chỉ mục ngữ nghĩa tiềm ẩn giả thiết
rằng có một số cấu trúc tiềm ẩn trong các mẫu có các từ đồng thời xuất hiện, thông qua các tập

và các phép thử tài liệu để mô hình hóa những phần phụ thuộc giữa các từ và tài liệu. LSI dùng
kỹ thuật tách các giá trị đơn (SVD-Singular Value Decomposition) để giảm bớt kích thước ma
trận term - doc, không gian r chiều xuống một không gian s chiều, s<được gọi là không gian khái niệm.
Ở phần trước ta tính giá trị liên quan giữa tài liệu và câu truy vấn qua hệ số cosin được
tính bởi các giá trị Tf, idf
Còn ở phương pháp LSI ta sử dụng kỷ thuật SVD (Singular Value Decomposition), Ở
kỷ thuật SVD nó tách một ma trận thành tích 3 ma trận. từ đó ta tính giá trị của các ma trận..
ĐẠO – ĐẠT – HÀ – DUY - TÙNG

22


TRUY HỒI THÔNG TIN

sau khi tính toán được giá trị các ma trận thì ta có được các tọa độ của các vectors tài liệu riêng
trong không gian khái niệm.
Thuật giải của LSI
Bước 1: Đánh trọng số thuật ngữ và xây dựng ma trận term-doc và ma trận truy vấn Q
Bước 2: Tách ma trận A thành tích của các ma trận và tìm các ma trận U, S, V trong đó

Bước 3: Thực hiện giảm chiều ma trận bằng cách tạo một ma trận vuông S s có chiều là s x s từ
ma trận S. Tương tự như vậy cho ma trận Vs có chiều là sxN, và ma trận Us có chiều là sxM.
Bước 4: Tìm các tọa độ vector tài liệu mới trong không gian giảm chiều này.
Bước 5: Tìm các tọa độ vector truy vấn mới trong không gian giảm chiều này.

Bước 6: Sắp xếp các tài liệu theo thứ tự giảm dần của giá trị tương đồng cosin giữa câu truy
vấn và tài liệu. Công thức tính toán để tính các giá trị tương đồng cosin trong mô hình không
gian vector cơ sở. Thực chất là tính tích điểm giữa các toạ độ vector câu truy vấn và tài liệu
chia cho tích của độ dài vector truy vấn và vector tài liệu.


Ví dụ:
Cho 3 tài liệu sau:
d1: Shipment of gold damaged in a fire.
d2: Delivery of silver arrived in a silver truck.
d3: Shipment of gold arrived in a truck.
Sử dụng kỹ thuật LSI để sắp xếp các tài liệu này cho truy vấn “gold silver truck”.
Bước1: Đánh trọng số thuật ngữ và xây dựng ma trận term-doc A và ma trận truy vấn:
ĐẠO – ĐẠT – HÀ – DUY - TÙNG

23


TRUY HỒI THÔNG TIN

Tách ma trận A thành tích của các ma trận và tìm các ma trận U, S, V, trong đó:

Bước 3: Thực hiện giảm chiều vector bằng cách giữ lại các cột đầu tiên của U và V và các cột
và hàng đầu tiên của S.
ĐẠO – ĐẠT – HÀ – DUY - TÙNG

24


TRUY HỒI THÔNG TIN

Bước 4: Tìm các toạ độ vector tài liệu mới trong không gian 2 chiều rút gọn này. Các hàng của
V giữ các giá trị vector đặc trưng. Đây là các tọa độ của các vectors tài liệu riêng, vì vậy
d1(-0.4945, 0.6492)
d2(-0.6458, -0.7194)

d3(-0.5817, 0.2469)
Bước 5: Tìm các tọa độ véc tơ truy vấn mới trong không gian 2 chiều rút gọn

ĐẠO – ĐẠT – HÀ – DUY - TÙNG

25


×