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

Tìm kiếm và truy xuất 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 (328.46 KB, 34 trang )

Tìm kiếm và truy xuất thông
tin(Information Retrieval)

1


Nội dung








Đặt bài toán IR ?
Các quá trình xử lý trong IR?
Lập chỉ mục (Indexing)
Thu thập và tìm kiếm (Retrieval)
Đánh giá hệ thống (System evaluation)
Một số hướng nghiên cứu hiện nay?
Báo cáo môn học?
2


1. Bài toán IR


Mục tiêu = tìm tập tài liệu phù hợp từ tập rất lớn
các tài liệu để có được thông tin thích hợp.
Info.


need

Query
Document
collection

Retrieval

IR
system

Answer list

3


Ví dụ

Google

Web

4


Các phương pháp tiếp cận
1. Sử dụng các thuật toán đối sánh chuỗi (String
matching):
- Chậm vì thực hiện đối sánh tuyến tính (linear
search).

- Khó khăn trong khi phát triển hệ thống.
2. Sử dụng kỹ thuật Indexing: (*)
- Thực hiện nhanh vì tài liệu được tìm thông
qua index.
- Mềm dẻo và dễ dàng cải tiến
5


Indexing-based IR
Document

Query

indexing

indexing
(Query analysis)

Representation
(keywords)

Query
evaluation

Representation
(keywords)

6



2. Ba vấn đề cơ bản của IR






Đánh chỉ mục cho tài liệu và câu hỏi: làm
thế nào để có biểu diễn tốt nhất cho tài liệu
(docurments) và câu hỏi (query)?
Phương pháp tìm kiếm và thu thập: mức độ
phù hợp của tài liệu đối với một query?
Đánh giá hệ thống:




Làm thế nào ta biết hệ thống IR là tốt?
Tài liệu tìm kiếm được có phù hợp hay không?
Tài liệu tìm kiếm được có đầy đủ hay không?

7


3. Lập chỉ mục tài liệu




Mục tiêu: tìm ngữ nghĩa quan trọng và tạo nên biểu

diễn trong của tài liệu.
Các nhân tố xem xét:







Độ chính xác của phương pháp biểu diễn ngữ nghĩa(semantics)
Tính toàn diện (Exhaustiveness) hay mức độ bao phủ(cover)
đến tất cả nội dung
Khả năng thực thi trên máy tính

Phương pháp nào biểu diễn tốt nhất nội dung tài liệu





Coverage
(Recall)

Char. string (char trigrams): không đủ độ chính xác
Word: độ bao phủ tốt, độ chính xác thấp
Phrase: độ bao phủ thấp, độ chính xác cao
Concept: độ bao phủ thấp, độ chính xác cao
String

Word


Phrase

Concept

Accuracy
(Precision)
8


Lựa chọn và ước lượng trọng số
từ khóa (key works)


Làm thế nào để lựa chọn được từ khóa tốt?


Sử dụng tần xuất xuất hiện trung bình (middlefrequency words)
F r e q u e n c y / In f o r m a ti v i ty
fr e q u e n c y

i n f o r m a ti v i ty

M ax.

M in .
1 2 3 …

R ank


9


Lược đồ ước lượng trọng số tf*idf


tf (term frequency): tần xuất xuất hiện từ




df (document frequency): tần xuất tài liệu





Tần xuất xuất hiện của từ bằng thương giữa số lần xuất hiện từ và
tổng số từ trong một tài liệu. Giá trị tf cao phản ánh từ đó quan trọng.
Số lượng tài liệu chứa đựng từ
Phân bố của từ trên toàn bộ tài liệu

idf (inverse document frequency): tần xuất nghịch đảo



Sự thay đổi phân bố của từ trên toàn bộ tài liệu
Sự riêng biệt của từ đối với mỗi tài liệu

The more the term is distributed evenly, the less it is specific to a document


weight(t,D) = tf(t,D) * idf(t)
10


Một số lược đồ xác định tf*idf





tf(t,
tf(t,
tf(t,
tf(t,

D)=freq(t,D)
D)=log[freq(t,D)]
D)=log[freq(t,D)]+1
D)=freq(t,d)/Max[f(t,d)]

idf(t) = log(N/n)
n = #số tài liệu chứa t
N = #số tất cả tài liệu

weight(t,D) = tf(t,D) * idf(t)


Phép chuẩn hóa: Cosine normalization, /max, …
11



Từ dừng (Stopwords /
Stoplist)




Một số từ không đem theo thông tin ví dụ
of, in, about, with, I, although, …
Stoplist: contain stopwords, not to be used as index









Giới từ (Prepositions)
Mạo từ (Articles)
Đại từ (Pronouns)
Một số phó từ và tính từ (Some adverbs and adjectives)
Một số từ thông dụng (e.g. document)

Lược bỏ stopwords thường nâng cao hiệu quả cho IR.
Một số ít stoplists được sử dụng (e.g compare,
however…).
12



Phần sau của từ (Stemming)


Lý do:




Các từ khác nhau có thể có thông tin tương tự
nhau (e.g. search, searching): ta tạo biểu diễn cho
tất cả các từ này.

Stemming:


Loại bỏ phần sau của từ để có được từ gốc
computer
compute
computes
computing
computed
computation

comput

13



Porter algorithm
(Porter, M.F., 1980, An algorithm for suffix stripping,
Program, 14(3) :130-137)


Step 1: Gặp số nhiều hoặc động tính từ quá khứ:







(m>0) ICATE -> IC

triplicate -> triplic

Step 4:





(m>0) OUSNESS -> OUS callousness -> callous
(m>0) ATIONAL -> ATE
relational -> relate

Step 3:





caresses -> caress
motoring -> motor

Step 2: adj->n, n->v, n->adj, …




SSES -> SS
(*v*) ING ->

(m>1) AL ->
(m>1) ANCE ->

revival -> reviv
allowance -> allow

Step 5:


(m>1) E ->

probate -> probat



(m > 1 and *d and *L) -> single letter


controll -> control
14


Kết quả của indexing


Mỗi văn bản được biểu diễn bởi tập trọng số các từ
khóa keywords (terms):
D1  {(t1, w1), (t2,w2), …}
e.g. D1  {(comput, 0.2), (architect, 0.3), …}
D2  {(comput, 0.1), (network, 0.5), …}



Đảo ngược lại biểu diễn file:
comput  {(D1,0.2), (D2,0.1), …}
Đây chính là dữ liệu đầu vào được sử dụng trong tìm kiếm
và thu thập thông tin một cách hiệu quả.
15


4. Retrieval


Những vấn đề cơ bản của retrieval


Mô hình tìm kiếm và thu thập







Làm thế nào một tài liệu được biểu diễn với tập
từ khóa cho trước?
Làm thế nào một tài liệu và một câu hỏi biểu
diễn và so sánh để tính toán điểm số?

Một số vấn đề về cài đặt (Implementation)

16


Tình huống


1-word query:
Các tài liệu được tìm kiếm là những tài liệu chứa
đựng từ
- Tập các từ đã được lưu trong inverted list của tài
liệu
- Sắp xếp theo trọng số các từ



Multi-word query?
-


Kết hợp với một số danh sách từ?
Làm thể nào để ước lượng trọng số?
17


Các mô hình IR


Mô hình đối sánh điểm (Matching score)






Tài liệu D = tập các từ khóa đã được đánh
trọng số.
Câu hỏi Q = tập các từ khóa chưa được
đánh trọng số.
Kết quả tìm kiếm: R(D, Q) = i w(ti , D)
trong đó ti là từ khóa trong Q.

18


Mô hình logic





e.g.

Tài liệu = Phép hội các từ khóa
Query = biểu diễn logic các từ khóa
Kết quả: R(D, Q) = D Q (mệnh đề D suy ra Q).
D = t1  t2  …  tn
Q = (t1  t2)  (t3  t4)
D Q, thus R(D, Q) = 1.

Vấn đề:





Kết quả R chỉ là 1 hoặc 0 (không có thứ tự trong tập kết
quả)
Kết quả có thể rất nhiều hoặc rất ít tài liệu
Người dùng khó biểu diễn các câu hỏi logic.

19


Mở rộng mô hình logic



D = {…, (ti, wi), …}: các từ khóa đã đánh trọng số
Mở rộng:




D là thành viên của lớp ti với mức độ wi.
Trong tập mờ: ti(D) = wi

Một số đánh giá có thể dùng:
R(D,
R(D,
R(D,
R(D,

ti) = ti(D);
Q1  Q2) = min(R(D, Q1), R(D, Q2));
Q1  Q2) = max(R(D, Q1), R(D, Q2));
Q1) = 1 - R(D, Q1).
20


Mô hình không gian Vector








Vector space = tập tất cả các từ khóa có được
<t1, t2, t3, …, tn> //rất lớn
Tài liệu:

D = < a1, a2, a3, …, an>
ai = trọng số của ti trong D
Câu hỏi:
Q = < b1, b2, b3, …, bn>
bi = trọng số của ti trong Q
R(D,Q) = Sim(D,Q)
21


Biểu diễn bằng ma trận
Document space

D1
D2
D3

Dm
Q

t1
t2
t3
a11 a12 a13
a21 a22 a23
a31 a32 a33







tn
a1n
a2n
a3n

am1 am2 am3 …
b1 b2 b3 …

amn
bn

Term vector
space

22


Một số cách đo độ tương tự
Dot product

Sim( D, Q)   (ai * bi )

t1

 (a * b )
i

Cosine


i

Sim( D, Q) 

2

 ai *  bi
i

Dice

Q

2

i

t2

2 (ai * bi )
Sim( D, Q) 

i
2

 ai   bi
i

Jaccard


D

i

2

i

 (a * b )
Sim( D, Q) 
 a   b   (a * b )
i

i

i

2

2

i

i

i

i

i


i

i

23


Mô hình thống kê





Cho D, ước lượng P(R|D) and P(NR|D)
P(R|D)=P(D|R)*P(R)/P(D)
(P(D), P(R) constant)
 P(D|R)
1 present
xi  
D = {t1=x1, t2=x2, …}
 0 absent
P ( D | R) 

 P(t

i

 xi | R)


( t i  xi )D

x

  P(ti  1 | R ) xi P(ti  0 | R) (1 xi )   pi i (1  pi ) (1 xi )
ti

ti
x

P ( D | NR )   P(ti  1 | NR) xi P(ti  0 | NR) (1 xi )   qi i (1  qi ) (1 xi )
ti

ti

24


Prob. model
Xếp hạng tài liệu
x

P( D | R)
Odd ( D)  log
 log
P( D | NR)

(1 xi )
i
p

(
1

p
)
 i
i
ti

x

(1 xi )
i
q
(
1

q
)
 i
i
ti

pi (1  qi )
1  pi
  xi log
  log
qi (1  pi ) ti
1  qi
ti

pi (1  qi )
  xi log
qi (1  pi )
ti
25


×