Phản hồi thông tin Phản hồi thông tin Lê Thanh Hương Bộ môn Hệ thống thông tin Viện CNTT&TT Phản hồi thông tin (Information Retrieval - IR) việc tìm tài liệu phi cấu trúc (thường văn bản) thỏa điều kiện tìm kiếm từ kho liệu lớn (thường lưu máy tính) Các vấn đề Các hệ thống dựa từ khóa tập từ khóa có khả xuất tài liệu (vd., JFK, assasination) Các phép toán AND OR: AND(Kennedy, conspiracy, OR(assasination, murder)) or AND(OR(Kennedy,JFK), OR(conspiracy, plot), OR(assasination,assasinated,assasinate,murder, murdered,kill,killed) Đa nghĩa: từ - n nghĩa Đồng nghĩa: n từ - nghĩa Kích thước: hệ thống ố IR phải có khả xử lý tập ngữ liệu cỡ ~Gb Độ phủ: Các hệ thống IR phải có khả xử lý câu truy vấn thuộc lĩnh vực Lấy từ gốc Từ dừng Gắn thuật ngữ câu truy vấn với biến thể từ (cùng gốc từ) tài liệu VD: assassination Æ assassinat Assassination Assassinate Assassinating Assassinations Assassinated Vấn đề: Lỗi: organization - organ past - paste Bỏ qua: analysis - analyzes matrices - matrix Là từ thường xuất hầu hết tài liệu Các từ không chứa nhiều thông tin Không đưa vào file nghịch đảo Æ giảm kích thước file Các từ dừng: a, an, the, he, she, of, to, by, should, can,… Nhược điểm việc bỏ từ dừng Từ chức từ nội dung Có thể bỏ tên người “The” Các từ dừng thành phần quan trọng đoạn Ví dụ, câu nói Shakepeare: to be or not to be” “to Một số từ dừng (vd., giới từ) cung cấp thông tin quan trọng mối quan hệ Bộ nhớ ngày rẻ Æ tiết kiệm nhớ không vấn đề quan trọng trước Muốn loại bỏ từ chức giảm ảnh hưởng Xác định từ nội dung: Nó có xuất thường xuyên không? Nó có xuất số tài liệu không? Tần suất có thay đổi tài liệu không? Sec 1.2 File nghịch đảo (Inverted Files) Để biểu diễn tài liệu kho ngữ liệu Là bảng từ với danh sách tài liệu chứa từ Chỉ số nghịch đảo Assassination: (doc1 (doc1, doc4 doc4, doc35 doc35,…)) Murder: (doc3, doc7, doc36,…) Kennedy: (doc24, doc27, doc29,…) Conspiracy: (doc3, doc55, doc90,…) Thông tin bổ sung: Với thuật ngữ t, lưu danh sách tài liệu chứa t vị trí từ tài liệu thông tin xấp xỉ: để so khớp so gần đoạn Định nghĩa tài liệu docID, số thứ tự tài liệu Brutus Caesar Calpurnia 2 31 11 31 45 173 16 174 57 132 54 101 Vấn đề xảy từ Caesar thêm vào tài liệu 14? 10 Sec 1.2 Sec 1.2 Chỉ số nghịch đảo Xây dựng số nghịch đảo Friends, Romans, countrymen Các tài liệu cần đánh số Ta cần danh sách với độ dài thay đổi Có thể sử dụng linked list mảng có độ dài thay đổi Tokenizer Xâu từ Brutus Caesar Calpurnia 2 31 11 31 45 173 16 174 Friends Countrymen roman countryman Linguistic modules 57 132 friend Các từ biến đổi 54 101 Indexer Từ điển Romans Sắp theo docID Inverted index 11 friend roman countryman 13 16 Sec 1.2 Bước đánh số: Chuỗi từ Chuỗi cặp (từ biến đổi, Document ID) Doc Sắp theo từ, theo docID Bước đánh số ố cốt ố lõi Doc I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me Sec 1.2 Bước đánh số: Sắp xếp So let it be with Caesar The noble Brutus hath told you Caesar was ambitious Sec 1.2 Sec 1.2 Bước đánh số: Từ điển danh sách Lưu trữ Nhiều mục từ tài liệu trộn lẫn Đưa vào từ điển danh sách Thêm số lần xuất tài liệu Danh sách docIDs Thuật ngữ số lần xuất Con trỏ Sec 1.3 Sec 1.3 Xử lý truy vấn: AND Phép trộn Xét câu truy vấn: Brutus AND Caesar Định vị Brutus từ điển; Lấy y danh sách Định vị Caesar từ điển; Lấy danh sách Trộn danh sách 16 32 64 13 128 21 34 Duyệt qua danh sách, thời gian tỉ lệ với số nút 16 32 64 13 128 21 34 Brutus Caesar Brutus Nếu danh sách có độ dài x y, phép trộn có độ phức tạp O(x+y) Vấn đề cốt yếu: danh sách theo docID Caesar 17 18 Sec 1.3 Trộn danh sách Câu truy vấn logic: so khớp Mô hình phản hồi Boolean trả lời câu truy vấn dạng biểu thức Boolean Câu truy vấn sử dụng AND, OR NOT để kết nối thuật ngữ Coi tài liệu tập từ Chính xác: tài liệu thỏa điều kiện không Đây mô hình IR đơn giản 19 20 Sec 1.3 Sec 1.3 Câu truy vấn logic: phép trộn tổng quát Phép trộn Bài tập: Thực phép trộn cho câu truy vấn: Brutus AND NOT Caesar Brutus OR NOT Caesar Thực phép trộn cho câu truy vấn: (Brutus OR Caesar) AND NOT (Antony OR Cleopatra) Có thể thực thời gian tuyến tính? Có thể làm tốt không? Thời gian thực O(x+y)? 21 22 Sec 1.3 Sec 1.3 Tối ưu hóa truy vấn Tối ưu hóa truy vấn – Ví dụ Đâu trật tự tốt để xử lý truy vấn? Xét câu truy vấn phép AND n thuật ngữ Với thuật ậ ngữ, g , lấy y danh sách , sau làm phép AND Brutus Caesar Calpurnia 13 16 32 64 128 16 21 34 16 Query: Brutus AND Calpurnia AND Caesar 23 Xử lý theo trật tự tăng tần suất: khởi đầu với tập nhỏ, sau tiếp tục loại bỏ Brutus Caesar Calpurnia 13 16 32 64 128 16 21 34 16 Thực câu truy vấn (Calpurnia AND Brutus) AND Caesar 24 Sec 1.3 Tối ưu hóa truy vấn Bài tập vd., (madding OR crowd) AND (ignoble OR strife) Lấy tần suất xuất cho thuật ngữ Đánh giá kích thước câu lệnh OR cách tính tổng tần suất Xử lý theo trật tự tăng kích thước danh sách phép OR Đưa trình tự xử lý truy vấn cho (tangerine OR trees) AND (marmalade OR skies) AND (kaleidoscope OR eyes) Term eyes y kaleidoscope marmalade skies tangerine trees Freq 213312 87009 107913 271658 46653 316812 25 Bài tập 26 Các kỹ thuật nâng cao Cho câu truy vấn friends AND romans AND (NOT countrymen), ta sử dụng tần suất countrymen nào? Mở rộng phép trộn cho câu truy vấn ngẫu nhiên Có thể đảm bảo thực thời gian tuyến tính với tổng kích thước danh sách không Cụm từ: Stanford University Xấp xỉ: Tìm Gates NEAR Microsoft Cần đánh số để lấy thông tin vị trí tài liệu Vị trí tài liệu: Tìm tài liệu có (author = Ullman) AND (text contains automata) Từ khóa tìm kiếm xuất tài liệu nhiều tốt Cần thông tin tần suất thuật ngữ tài liệu Cần độ đo xấp xỉ câu truy vấn với tài liệu Cần định trả tài liệu thỏa câu truy vấn hay nhóm tài liệu phủ khía cạnh khác câu truy vấn 27 Từ thuật ngữ Từ thuật ngữ IR quan tâm đến thuật ngữ VD: câu truy vấn 28 What kind of monkeys live in Costa Rica? Wh t ki What kind d of f monkeys k li live i in C Costa t Ri Rica? ? 29 từ? từ nội dung? gốc từ? nhóm từ? đoạn? 30 Tìm cụm từ Cụm từ (các từ thường liền nhau) kick the bucket directed graph iambic pentameter O Osama bin bi L Laden d United Nations real estate quality control international best practice … có ý nghĩa riêng, cách dịch riêng Sử dụng bigrams? Không tốt: 80871 58841 26430 … 15494 … 12622 11428 10007 of the in the to the to be from the New York he said Giải quyết: bỏ từ dừng 31 32 Tìm cụm từ Tìm cụm từ Sử dụng bigrams? Tốt hơn: lọc theo thẻ : A N, N N, N P N … Vẫn muốn bỏ “new companies” Các từ thường xuất từ thường xuất Q Quan sát át xác suất ất ủ từ từ xác suất ất ủ cụm từ 11487 New York 7261 United States 5412 Los Angeles 3301 last year … 1074 chief executive 1073 real estate … p(new) p(companies) p(new companies) thông tin tương hỗ = p(new) p(companies | new) 33 34 data from Manning & Schütze textbook (14 million words of NY Times) data from Manning & Schütze textbook (14 million words of NY Times) Thông tin tương hỗ _ companies new _ ¬new _ 4,667 Phép thử mức độ quan trọng TOTAL 4,675 _ companies new _ 14 287 181 14,303,001 14,287,181 14 303 001 _ ¬companies p 1978 (“old companies”) _ ¬companies 15 820 15,820 15,828 TOTAL 14,291,848 14,307,676 p(new companies) = p(new) p(companies) ? N MI = log2 p(new companies) / p(new)p(companies) = log2 (8/N) /((15828/N)(4675/N)) = log2 1.55 = 0.63 35 1,787,876 ¾ 1979 1,786,481 1,788,460 Dữ liệu thưa Giả sử chia tất giá trị cho MI > nhỏ Với cụm từ thường xuất hiện, giá trị lớn 1,785,898 (“old machines”) TOTAL 584 (“old companies”) (“old machines”) TOTAL ¬new _ 583 Giá trị MI có thay đổi không? Không Nhưng khả cụm từ Điều xảy từ xuất cạnh nhau? Cần thử mức độ quan trọng Kích thước liệu yếu tố quan trọng 36 data from Manning & Schütze textbook (14 million words of NY Times) data from Manning & Schütze textbook (14 million words of NY Times) Mức độ quan trọng nhị thức new _ ¬new _ Mức độ quan trọng nhị thức TOTAL _ companies _ ¬companies 15,820 4,667 4,675 14,287,181 14,303,001 TOTAL 15,828 14,291,848 14,307,676 Giả sử có đồng xu dùng để sinh văn Tiếp theo new, ta dùng xu A để định xem có từ companies không Tiếp theo ¬ new, ta dùng xu B để định xem có từ companies không Ta thấy A tung 15828 lần lần có mặt ngửa B tung 14291848 lần 4667 lần có mặt ngửa Câu hỏi: đồng xu có trọng số khác không? Nói cách khác, đồng xu hay đồng xu ¬new _ new _ TOTAL _ companies _ ¬companies 15,820 4,667 4,675 14,287,181 14,303,001 TOTAL 15 828 15,828 14 291 848 14,307,676 14,291,848 14 307 676 Giả thiết Null: đồng xu giả sử pnull(co’s | new) = pnull(co’s | ¬new) = pnull(co’s) = 4675/14307676 pnull(data) = pnull(8 out of 15828)*pnull(4667 out of 14291848) = 00042 Giả thiết đồng xuất hiện: đồng xu khác giả sử pcoll(co’s | new) = 8/15828, pcoll(co’s | ¬new) = 4667/14291848 pcoll(data) = pcoll(8 out of 15828)*pcoll(4667 out of 14291848) = 00081 Do giả thiết đồng xuất gấp đôi liệu p(data) 37 Ta xếp bigrams theo giá trị log pcoll(data)/pnull(data) nghĩa là, mức độ chắn “companies” sau “new” 38 data from Manning & Schütze textbook (14 million words of NY Times) Mức độ quan trọng nhị thức Phân tích ngữ nghĩa tiềm ẩn _ companies _ ¬companies new _ 1978 ¬new _ 583 1,785,898 TOTAL 584 1,787,876 TOTAL 1979 786 481 1,786,481 788 460 1,788,460 Mỗi tài liệu coi vector có độ dài k Giả thiết Null: đồng xu giả sử pnull(co’s | new) = pnull(co’s | ¬new) = pnull(co’s) = 584/1788460 pnull(data) = pnull(1 out of 1979)*pnull(583 out of 1786481) = 0056 (0, Giả thiết đồng xuất hiện: đồng xu khác giả sử pcoll(co’s | new) = 1/1979, pcoll(co’s | ¬new) = 583/1786481 pcoll(data) = pcoll(1 out of 1979)*pcoll(583 out of 1786418) = 0061 3, 3, 1, 0, 7, 1, 0) tài liệu Giả thiết đồng xuất tăng p(data), nhỏ Nếu nhiều liệu, mô hình đồng xu không thuyết phục Thông tin tương hỗ có giá trị, dựa liệu Do 39 tin giả thiết Null trùng hợp ngẫu nhiên 40 Phân tích ngữ nghĩa tiềm ẩn Phân tích ngữ nghĩa tiềm ẩn Mỗi tài liệu biểu diễn thành điểm không gian vector Các điểm không gian thu gọn Các điểm không gian k chiều 41 41 Giảm điểm: điểm thực chuyển không gian chiều ∃ lựa chọn tốt cho chiều - biểu diễn cách tốt đặc tính liệu Tìm nhờ sử dụng đại số tuyến tính “Singular Value Decomposition” (SVD) Các điểm không gian thu gọn Các điểm không gian k chiều 42 42 Phân tích ngữ nghĩa tiềm ẩn Phân tích ngữ nghĩa tiềm ẩn Các điểm SVD cho phép phục hồi điểm thực ( phục hồi không gian chiều với méo nhất) Bỏ qua sai khác cạnh mà không chọn Hy vọng sai khác nhiễu muốn bỏ qua theme A Các điểm không gian thu gọn Các điểm không gian k chiều theme A 43 Phân tích ngữ nghĩa tiềm ẩn Có chủ đề A tài liệu? Có chủ đề B tài liệu? Có chủ đề tập từ thường xuất theme B Các điểm không gian k chiều theme B Các điểm không gian thu gọn SVD tìm vài vector chủ đề Mỗi tài liệu xấp xỉ kết hợp tuyến tính chủ đề Liên kết không gian thu gọn = hệ số tuyến tính Phân tích ngữ nghĩa tiềm ẩn Các tọa độ hữu ích IR Để so sánh tài liệu, câu hỏi tài liệu: Chiếu vào không gian thu gọn: chúng có chủ đề không? Thậm chí chúng từ chung Các điểm không gian thu gọn Các điểm không gian k chiều Các chủ đề IR dùng phân giải nhập nhằng Mỗi từ tài liệu: (0,0,0,1,0,0,…) Biể diễ Biểu diễn từ h kế kết h hợp tuyến ế tính í h chủ hủ đề Mỗi chủ đề tương ứng với nghĩa? theme B Một từ có nhiều nghĩa; nhiều từ có nghĩa 46 45 Phân tích ngữ nghĩa tiềm ẩn Vd., “Jordan” có chủ đề Mideast Sports Nghĩa từ tài liệu: chủ đề mạnh tài liệu? Nhóm tách nghĩa theme A Phân tích ngữ nghĩa tiềm ẩn Cách nhìn khác (tương tự mạng nơron): terms Thuật ngữ đóng vai trò quan trọng tài liệu terms ma trận trọng số (mỗi thuật ngữ tài liệu có tác dụng nào) 44 tài liệu 2,5,6 Mỗi cạnh có trọng số cho ma trận documents documents 47 48 Phân tích ngữ nghĩa tiềm ẩn Phân tích ngữ nghĩa tiềm ẩn Thuật ngữ đóng vai trò quan trọng tài liệu terms Ngược lại, thuật ngữ mạnh tài liệu 5? terms cho tọa độ tài liệu Điều trả lời cho câu truy vấn chứa thuật ngữ 7 phép nhân ma trận: documents vector thuật ngữ(query) x trọng số ma trận = vector tài liệu 49 documents 50 Phân tích ngữ nghĩa tiềm ẩn Phân tích ngữ nghĩa tiềm ẩn Nghĩa là, làm trơn liệu thưa ma trận xấp xỉ: M ≈ A B A mã hóa qua chủ đề, B – tài liệu có tập thuật ngữ SVD xấp xỉ mạng nơron tầng Đưa liệu thưa qua nút cổ chai làm trơn terms terms 9 matrix M themes 7 documents documents documents A themes B documents 51 52 Phân tích ngữ nghĩa tiềm ẩn Phân tích ngữ nghĩa tiềm ẩn Coi A B thuật ngữ tài liệu chuyển không gian chủ đề chiều, xác định độ tương tự chúng matrix M documents A themes B Phân nhóm tài liệu (có thể giải liệu thưa) Phân nhóm từ So sánh từ với tài liệu Xác định chủ đề từ với nghĩa documents 53 Phân giải nhập nhằng cách nhìn vào nghĩa tài liệu Xác định chủ đề tài liệu với chủ đề phân loại chủ đề 54 IR vs CSDL: cấu trúc phi cấu trúc Dữ liệu có cấu trúc: thông tin lưu bảng Employee Manager Salary S h Smith Jones 50000 0000 Chang Smith 60000 Smith 50000 Ivy Dữ liệu phi cấu trúc Thường đề cập đến liệu văn dạng tự Cho phép Cho phép tìm kiếm khoảng tìm kiếm so khớp, ví dụ Salary < 60000 AND Manager = Smith Các truy vấn sử dụng từ khóa kết hợp phép toán truy vấn ngữ nghĩa tinh vi, tìm tất trang web có liên quan đến drug abuse 55 Dữ liệu bán cấu trúc Dữ liệu bán cấu trúc Trên thực tế hầu hết liệu không dạng phi cấu trúc Hỗ trợ tìm kiếm bán cấu trúc 56 Title contains data AND Bullets contain search Title is about Object Oriented Programming AND Author something like stro stro*rup rup Vấn đề: 57 làm cách xử lý “about”? xếp hạng kết quả? Đây trọng tâm tìm kiếm XML 58 Các hệ thống IR phức tạp IR đa ngôn ngữ Hỏi đáp Tóm tắt văn Khai phá văn … 59 10 ... doc27, doc29,…) Conspiracy: (doc3, doc55, doc90,…) Thông tin bổ sung: Với thuật ngữ t, lưu danh sách tài liệu chứa t vị trí từ tài liệu thông tin xấp xỉ: để so khớp so gần đoạn Định nghĩa tài... Cần đánh số để lấy thông tin vị trí tài liệu Vị trí tài liệu: Tìm tài liệu có (author = Ullman) AND (text contains automata) Từ khóa tìm kiếm xuất tài liệu nhiều tốt Cần thông tin tần suất thuật... companies) thông tin tương hỗ = p(new) p(companies | new) 33 34 data from Manning & Schütze textbook (14 million words of NY Times) data from Manning & Schütze textbook (14 million words of NY Times) Thông