1. Trang chủ
  2. » Luận Văn - Báo Cáo

Truy hồi thông tin Information Retrieval

36 1,8K 24

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 1,27 MB

Nội dung

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

Trang 1

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

Trang 2

IR Information Retrieval Truy tìm thông tin

LSI Latent Semantic Indexing Chỉ mục ngữ nghĩa tiềm ẩnNLP Natural Language Processing Xử lý ngôn ngữ tự nhiên

Trang 5

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ànhcho 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 đờinhằ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ầuthô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 khinhắ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 tincầ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:

Trang 6

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 đó đếnnă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à đưavà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àynâ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

Trang 7

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úcnà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ầungườ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

- 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ồmkhoả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

Trang 8

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ệntrong 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

Trang 9

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àiliệ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 đượclư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” haynó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

Trang 10

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:

Trang 11

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

Trang 12

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

Trang 13

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”

Trang 14

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 vectornà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 ofwords) 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ỗichiề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 chobiế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

Trang 15

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ạngkhác nhau, nhưng tf-idf (term frequency–inverse document frequency) là một phương phápphổ 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úpchuyể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 nayvẫn là cách phổ biến để biểu diễn văn bản trong Data mining và Information retrieval Tuynhiê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 websearch engine

Trang 16

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: w t,d = 1 + log(t f t,d )

Nếu từ đó không xuất hiện trong một tài liệu, thì t f t,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ầnw=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ònnhữ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ớicá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ớithiệ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ó documentfrequency 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ânloạ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

Trang 17

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 truyvấ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 caohơ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óctạ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 dungtà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

Trang 18

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ộidung

Trang 19

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ếphạ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:

Trang 20

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 termfrequencies) 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ộtvector 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):

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ớithiệu thêm phương pháp “pivoted document length normalization”

Tương đồng Cosine (cosine similarity)

Trang 21

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àiliệ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:

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ầnO(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ậytổ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, dovậ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

Trang 22

- 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ếta2P(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ìnhtruy 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ó đượcP(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 sovớ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ếtrằ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 matrận term - doc, không gian r chiều xuống một không gian s chiều, s<<r, không gian mới nàyđượ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 đượctí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

Ngày đăng: 23/11/2016, 21:39

TỪ KHÓA LIÊN QUAN

w