Sau đó, hệ thống tính điểm đánh giá giữa thực thể và câu truy vấn dựa trên việc tổng hợp điểm của các đánh giá về thực thể đã khớp với câu truy vấn.. Đề xuất giải thuật tìm kiếm thực thể
Trang 1KIẾM ĐỐI TƯỢNG
LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN
Hà Nội – Năm 2012
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Huỳnh Tuấn Anh
TÌM KIẾM THỰC THỂ DỰA TRÊN ĐÁNH GIÁ CỦA NGƯỜI DÙNG VÀ ỨNG DỤNG MAPREDUCE TRONG BÀI TOÁN TÌM KIẾM ĐỐI TƯỢNG
Chuyên ngành : Công Nghệ Thông Tin
Trang 3i
LỜI CAM ĐOAN
Tôi xin cam đoan những gì mà tôi viết ra trong luận văn này là do sự tìm hiểu
và nghiên cứu của bản thân Mọi kết quả nghiên cứu cũng như ý tưởng của các tác giả khác nếu có đều được trích dẫn đầy đủ
Luận văn này cho đến nay vẫn chưa hề được bảo vệ tại bất kỳ một hội đồng bảo vệ luận văn thạc sĩ nào trên toàn quốc cũng như nước ngoài và cho đến nay chưa
hề được công bố trên bất kỳ phương tiện thông tin nào
Tôi xin hoàn toàn chịu trách nhiệm về những gì mà tôi đã cam đoan trên đây
Hà Nội, ngày 30 tháng 8 năm 2012
Tác giả
Huỳnh Tuấn Anh
Trang 4Xin cảm ơn các đồng nghiệp ở Đại học Nha Trang đã tạo điều kiện, động viên tôi trong thời gian thực hiện luận văn
Hà Nội, ngày 30 tháng 8 năm 2012
Huỳnh Tuấn Anh
Trang 5iii
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT v
DANH MỤC CÁC HÌNH VẼ vi
DANH MỤC CÁC BẢNG BIỂU vii
MỞ ĐẦU 1
0.1 Giới thiệu về tìm kiếm thực thể 2
0.2 Tìm kiếm thực thể dựa vào đánh giá người dùng 3
0.2.1 Đánh giá sản phẩm của cộng đồng người dùng 3
0.2.2 Tìm kiếm sản phẩm dựa vào đánh giá của người dùng 5
0.3 Nhiệm vụ trong luận văn 6
0.4 Các nghiên cứu liên quan 7
0.5 Cấu trúc của luận văn 7
CHƯƠNG 1 BÀI TOÁN TÌM KIẾM THÔNG TIN 9
1.1 Đánh chỉ mục văn bản (indexing) 9
1.2 Tìm kiếm văn bản 10
1.2.1 Mô hình không gian vector (Vector Space Model - VSM) 11
1.2.2 Mô hình thống kê 14
1.3 Kiến trúc cơ bản của một hệ thống IR 16
Kết chương 17
CHƯƠNG 2 TÌM KIẾM THỰC THỂ DỰA TRÊN CÁC ĐÁNH GIÁ 18
2.1 Xếp hạng thực thể dựa trên các đánh giá 19
2.2 Tính điểm đánh giá có xét các chiều hướng đánh giá của người sử dụng trong các đánh giá 21
2.2.1 Tính mức độ tích cực (positive) hay tiêu cực (negative) của đánh giá 23
2.2.1.1 Phân lớp Sentiment (Sentiment Classification) 23
2.2.1.2 Tính điểm đánh giá của một đánh giá với câu truy vấn có xét đến SO của đánh giá 24
2.2.1.3 Tính chỉ số SO 24
2.2.1.4 Chỉ số SO đối với một khía cạnh của thực thể 25
2.2.2 Tính trọng số của các từ đánh giá trong hai vector pos và neg 27
2.2.3 Tóm tắt mô hình tính chỉ số SO đối với các khía cạnh của thực thể 31
Trang 6iv
Kết chương 32
CHƯƠNG 3 THUẬT TOÁN TÌM KIẾM THỰC THỂ DỰA TRÊN CÁC ĐÁNH GIÁ VỚI MAPREDUCE 33
3.1 MapReduce Framework 33
3.1.1 Cấu trúc dữ liệu trong MapReduce 33
3.1.2 Map và Reduce hai hàm cơ bản trong MapReduce 33
3.1.3 Partitioner và Combiner: 2 thành phần phụ của MapReduce 35
3.1.4 Ví dụ minh họa MapReduce 37
3.2 Giới thiệu Apache Hadoop 38
3.3 Thuật toán MapReduce Entity Search cho bài toán tìm kiếm thực thể dựa trên các đánh giá 41
3.3.1 Thành phần Mapper 43
3.3.2 Thành phần Reducer 44
3.3.3 Thành phần Combiner 44
Kết chương 46
CHƯƠNG 4 CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ 47
4.1 Dữ liệu cho cài đặt thử nghiệm 47
4.2 Các công cụ sử dụng 48
4.2.1 Lucene 48
4.2.2 Từ điển đồng nghĩa WordNet 52
4.2.3 MIT Java Wordnet Interface (JWI) 52
4.2.4 SentiWordNet 53
4.2.5 Mô hình thống kê BM25 trong Lucene 53
4.3 Xác định hai vector pos và neg 53
4.4 Đánh giá 57
4.4.1 Tiêu chuẩn đánh giá 57
4.4.3 Kết quả thử nghiệm 58
4.4.4 Một số ví dụ về kết quả tìm kiếm 62
Kết chương: 65
KẾT LUẬN 66
Đánh giá chung về luận văn 66
Các đóng góp khoa học của luận văn 67
Hướng phát triển của luận văn 67
TÀI LIỆU THAM KHẢO 68
Trang 7v
DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
1 ESE Entity Search Engine Máy tìm kiếm thực thể
2 OSE Object Search Engine Máy tìm kiếm đối tượng
3 IR Information Retrieval Truy hồi thông tin
Information
Thông tin tương hỗ giữa
hai sự kiện
9 SO Sentiment Orientation Định hướng thiện cảm
10 HDFS Hadoop Distributed File
quan)
Đánh giá (Đánh giá của người dùng về thực thể)
Trang 8vi
DANH MỤC CÁC HÌNH VẼ
Hình 0.1: Tóm tắt các đặc tính của một cellular phone dựa trên các đánh giá [1] 2
Hình 1.1 Ví dụ về postings list cho term “windows” trong inverted index 10
Hình 1.2 Ví dụ về một inverted index với vị trí xuất hiện của term windows trong văn bản 10
Hình 1.3 độ tương tự giữa hai văn bản d1, d2 và câu truy vấn q 12
Hình 1.4 Kiến trúc cơ bản của một hệ thống IR [17] 16
Hình 2.1 Mô hình tìm kiếm thực thể dựa trên đánh giá 19
Hình 2.1 Đồ thị của hàm relate(x) với k=5; β=2 27
Hình 3.1 Hai pha map và reduce của một MapReduce job [8] 34
Hình 3.2 MapReduce với đầy đủ các thành phần [8] 36
Hình 3.3 Sơ đồ một ứng dụng MapReduce ở mức cao [20] 37
Hình 3.4 Sơ đồ theo dõi một ứng dụng MapReduce [6] 39
Hình 3.5 Sơ đồ thực thi chi tiết một ứng dụng MapReduce [20] 40
Hình 3.6 Sơ đồ thuật toán MapReduce Entity Search cho bài toán tìm kiếm thực thể dựa trên các đánh giá 42
Hình 4.1 Điểm số chi tiết cho một đánh giá trong tập posReviwew, negReview 48
Hình 4.2 Một khối các document biểu diễn các đánh giá về một mẫu xe 50
Hình 4.3 nDCG trung bình của top 10 kết quả trả về trong từng trường hợp thử nghiệm 61
Hình 4.4 So sánh nDCG trong hai trường hợp tốt nhất khi f=2 và f=0 61
Hình 4.5 top 10 kết quả tìm kiếm với câu truy vấn: good + fuel economy, với f=0, sum score, BM25 nDCGaspect=0.933 nDCGoverall=0.965 63
Hình 4.6 top 10 kết quả tìm kiếm với câu truy vấn: q= fuel với f=2, α=0.4, BM25, nDCGaspect=0.967, nDCGoverall=0.977 63
Trang 9vii
DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1 Các phương pháp tổng hợp điểm đánh giá 20
Bảng 4.1 Lucene Document của một đánh giá 49
Bảng 4.2 Lucene Document của một thực thể 49
Bảng 4.3 Danh sách các từ trong vector pos 55
Bảng 4.4 Danh sách các từ trong vector neg 56
Bảng 4.5 Các câu truy vấn trên từng khía cạnh thực thể có xét đến ảnh hưởng của các từ đánh giá 58
Bảng 4.6 Các câu truy vấn trên từng khía cạnh thực thể không xét đến ảnh hưởng của các từ đánh giá 59
Bảng 4.7 nDCG của top 10 kết quả trả về của các câu truy vấn ở bảng 4.6 với f=0 60 Bảng 4.8 nDCG của top 10 kết quả trả về của các câu truy vấn ở bảng 4.5 với f=2 60
Trang 101
MỞ ĐẦU
Sự phát triển nhanh chóng các ứng dụng của công nghệ thông tin và Internet vào các lĩnh vực trong đời sống xã hội đã tạo ra nhiều nguồn dữ liệu khổng lồ Trong số đó phải kể đến một lượng rất lớn các nhận xét, đánh giá (sau đây gọi là các đánh giá-review) về các sản phẩm trên các trang thương mại điện tử và các diễn đàn, các hồ sơ liên quan đến các cá nhân…
Các ý kiến đánh giá của các chuyên gia hay của cộng đồng người dùng Internet rất có ích trong việc trợ giúp khách hàng lựa chọn sản phẩm muốn mua Ví
dụ, khách hàng thường đọc qua các đánh giá về một sản phẩm trước khi ra quyết định mua nó Nhưng với một số lượng rất lớn các đánh giá, khách hàng không thể nào đọc hết tất cả các đánh giá về các sản phẩm Thông thường với sự trợ giúp của các công cụ tìm kiếm hiện tại như Google, Yahoo, Bing, khách hàng thường tìm đọc các đánh giá về sản phẩm sau khi cung cấp cho máy tìm kiếm tên của sản phẩm Việc lựa chọn sản phẩm như vậy chủ yếu dựa vào sự chủ quan của khách hàng chứ không dựa trên các đánh giá sẵn có
Với sự phát triển của kỹ thuật máy tính và khai phá dữ liệu, đã có một số nghiên cứu trên dữ liệu các đánh giá nhằm trợ giúp khách hàng có thể đưa ra các quyết định của mình dựa trên các đánh giá như:
1 Tóm tắt các đánh giá [1] [10], [11]: Tóm tắt các đặc tính của một sản phẩm từ các
đánh giá của người dùng Kết quả tóm tắt có thể được trình bày một cách trực quan Khách hàng có thể xem một cách tổng quan về sự đánh giá của người dùng đối với một sản phẩm Khi cần thiết, khách hàng có thể “khoan sâu” trên một thuộc tính cụ thể để xem xét từng đánh giá cho thuộc tính đó
Trang 112
Hình 0.1: Tóm tắt các đặc tính của một cellular phone dựa trên các đánh giá [1]
2 Sentiment classification [2], [3], phân lớp các đánh giá thành các lớp phân cực:
positive, negative và neutral Sentiment classification tương tự như phân lớp văn
bản, nhưng nó cũng có những điểm khác biệt Trong phân lớp văn bản thành các chủ đề (topic), các từ chủ đề đóng vai trò quan trọng Trong khi đó, các từ đánh giá thể hiện sự đánh giá tích cực (positive) hay tiêu cực (negative) đóng vai trò quan trọng trong sentiment classification
3 Tìm kiếm thực thể dựa vào các đánh giá: Chủ yếu dựa vào sự so khớp các đánh
giá với câu truy vấn, sau đó tổng hợp các điểm đánh giá (score) giữa câu truy vấn và các đánh giá và đưa ra kết quả là các thực thể có các đánh giá khớp với câu truy vấn nhất [12]
0.1 Giới thiệu về tìm kiếm thực thể
Tìm kiếm thực thể là một lĩnh vực nghiên cứu mới trong thời gian gần đây Khác với các hệ thống tìm kiếm thông thường, các hệ thống tìm kiếm thực thể (Entity Search Engine - ESE) và hệ thống tìm kiếm đối tượng (Object Search Engine - OSE) trả về các thực thể theo yêu cầu của người dùng thay vì trả về một tập các trang web Các thực thể trong hệ thống ESE là các đối tượng được rút trích
từ các trang web [18] hoặc là một đối tượng có nhiều văn bản liên quan [12], [15] Một số hệ thống ESE điển hình:
- Hệ thống Cazoodle, http://www.cazoodle.com/, do nhóm nghiên cứu của giáo sư Kevin Chang Chuan của trường University of Illinois at Urbana-Champain
Trang 123
(UIUC, USA) phát triển Cazoodle cho phép tìm kiếm các đối tượng ở hai lĩnh vực: Các thiết bị điện tử (máy tính, thiết bị giải trí, camera, video…) và các căn hộ cho thuê
- Hệ thống tìm kiếm các chuyên gia, nhà nghiên cứu, Arnetminer,
University China phát triển
Khác với các máy tìm kiếm thông thường, hiện nay chưa có một hệ thống tìm kiếm thực thể chung Mỗi hệ thống tìm kiếm thực thể thường hướng tới một lĩnh vực nào đó Các hệ thống tìm kiếm như vậy gọi là các máy tìm kiếm theo lĩnh vực (Vertical Seach Engine)
0.2 Tìm kiếm thực thể dựa vào đánh giá người dùng
0.2.1 Đánh giá sản phẩm của cộng đồng người dùng
Sự phát triển thương mại điện tử đã làm thay đổi thói quen mua sắm của người dùng Khách hàng thường tìm hiểu thông tin về sản phẩm muốn mua bằng cách đọc các đánh giá của những người đã sử dụng qua sản phẩm đó trên Internet Ngược lại, ngày càng có nhiều người dùng chia sẽ các đánh giá, cảm nhận của mình
về một sản phẩm mà họ đã dùng Theo một nghiên cứu trên 2000 người dùng ở Mỹ [2]:
81% người dùng (hoặc 60% người dùng Mỹ) đã từng tham gia các khảo sát trực tuyến ít nhất một lần
20% người dùng (hoặc 15% người dùng Mỹ) thực hiện những công việc này hàng ngày
Trong số những thành viên của các trang web đánh giá nhà hàng, khách sạn
và các dịch vụ khác, từ 73% đến 87% cho rằng đánh giá của cộng đồng người dùng có tầm ảnh hưởng quan trọng đến hành vi mua hàng của họ Người dùng có thể trả thêm từ 20% đến 99% cho một sản phẩm 5 sao so với giá của một sản phẩm 4 sao
32% người dùng cung cấp những đánh giá trên sản phẩm, dịch vụ cho một
Trang 1328% cho rằng lý do chính cho việc tìm kiếm các thông tin trên mạng là để thu thập những thông tin dưới góc nhìn của cộng đồng mà người dùng có tham gia, còn 34% cho rằng lý do chính cho việc tìm kiếm các thông tin trên mạng là để thu thập những thông tin dưới góc nhìn của các cộng đồng khác 27% đã từng tìm kiếm trực tuyến cho các chứng thực hay đánh giá của các tổ chức bên ngoài
28% cho rằng hầu hết những trang web họ sử dụng có cùng quan điểm, còn 29% lại cho rằng hầu hết những trang web họ sử dụng có quan điểm trái ngược nhau, tức là rất nhiều người không chỉ đơn giản là tìm kiếm những chứng thực cho những đánh giá đã tồn tại trước đó
8% cung cấp những quan điểm chính trị của bản thân cho những trang web trực tuyến
Đánh giá sản phẩm của cộng đồng người dùng tồn tại dưới rất nhiều hình thức khác nhau trên Web: Các trang web chuyên đánh giá một hoặc một vài loại sản phẩm nào đó (như là máy tính xách tay hoặc máy nghe nhạc MP3), các trang báo hoặc tạp chí điện tử, các trang kết hợp việc đánh giá với việc bán sản phẩm (như là Amazon) và các trang tập trung vào thu thập những đánh giá của chuyên gia trên nhiều lĩnh vực khác nhau (Cnet, ZDnet, ) Những đánh giá kém hình thức hơn có thể tìm thấy ở các trang thảo luận hoặc danh sách thư tín, hoặc các nhóm thảo luận trên mạng Người dùng cũng đăng tải những đánh giá về sản phẩm họ đang dùng trên những trang web cá nhân hoặc blog [13]
Trang 145
Khi tìm kiếm thông tin về một sản phẩm nào đó, những công cụ tìm kiếm thông thường trả về một hoặc một vài trang web đánh giá hữu ích, nhưng tìm những thông tin đặc trưng về sản phẩm từ những trang web đó là một công việc không hề
dễ dàng: Tốn thời gian và làm nản chí những người không kiên trì
Sự quan tâm của từng người dùng vào các trang web đánh giá trực tuyến và ảnh hưởng tiềm tàng của những đánh giá này mang lại là những điều đang được những nhà cung cấp sản phẩm ngày càng quan tâm đến Với sự bùng nổ của nền tảng Web 2.0 như là blog, diễn đàn thảo luận, mạng ngang hàng và nhiều loại khác, người dùng có thể dễ dàng chia sẻ những kinh nghiệm và đánh giá của bản thân về một nhãn hiệu nào đó Đánh giá có thể là tốt hoặc xấu đối với bất kỳ loại sản phẩm hay dịch vụ nào Cùng với đó là việc những công ty lớn càng ngày càng nhận ra tầm ảnh hưởng quan trọng của ý kiến của người dùng trong việc đánh giá và hình thành
ý kiến của những người dùng khác Các công ty có thể đáp lại ý kiến đánh giá của cộng đồng người dùng bằng việc phân tích những đánh giá, qua đó điều chỉnh chiến lược tiếp thị, vị trí thương hiệu, phát triển sản phẩm và những hoạt động khác
Nhưng những nhà phân tích cũng cho rằng sự tận dụng các công cụ trực tuyến để theo dõi hình ảnh của một sản phẩm nào đó đòi hỏi những công nghệ mới Các nhà tiếp thị luôn cần các phương tiện truyền thông theo dõi về những thông tin liên quan đến công ty của họ - đó là những hoạt động quảng bá, sự vi phạm pháp lý, thông tin về đối thủ cạnh tranh Nhưng sự phân đoạn các phương tiện truyền thông
và sự thay đổi thói quen của người tiêu dùng đã làm tê liệt các phương thức theo dõi truyền thống Technorati đã ước lượng rằng mỗi ngày có khoảng 75000 blog được tạo ra cùng với 1200000 bài viết, rất nhiều trong số đó là đánh giá của người dùng
về sản phẩm [2] Những chiến lược cũ đã không còn chỗ đứng trong thế giới hiện tại
0.2.2 Tìm kiếm sản phẩm dựa vào đánh giá của người dùng
Các đánh giá về một sản phẩm rất có ích đối với khách hàng trong việc lựa chọn sản phẩm mà họ cần Nhưng với một lượng rất lớn các đánh giá về các sản
Trang 156
phẩm như hiện nay trên các trang thương mại điện tử, diễn đàn, blog, người sử dụng khó có thể đưa ra một lựa chọn khách quan để chọn ra một sản phẩm phù hợp với mình Muốn đưa ra một quyết định đúng đắn, khách hàng phải đọc qua tất cả các đánh giá về sản phẩm mà họ muốn mua Điều này làm cho khách hàng tốn khá nhiều thời gian
Các công cụ tìm kiếm hiện nay, Google, Yahoo, Bing…chỉ có thể trợ giúp người sử dụng trong việc tìm kiếm các đánh giá về sản phẩm khi người dùng cung cấp các thông tin về sản phẩm, thường là tên của sản phẩm, cho máy tìm kiếm Trong khi đó, khách hàng lại mong muốn có những hệ thống tìm kiếm có thể đưa ra những danh sách sản phẩm khi người dùng cung cấp cho máy tìm kiếm các từ khóa
là những đặc tính của các sản phẩm đó
0.3 Nhiệm vụ trong luận văn
Luận văn tập trung vào việc nghiên cứu phương pháp tìm kiếm thực thể dựa trên ý kiến người dùng bằng cách mở rộng mô hình tìm kiếm văn bản theo từ khóa Khi người dùng đưa ra câu truy vấn, hệ thống tìm kiếm sẽ tìm tất cả các đánh giá của từng thực thể khớp với câu truy vấn Sau đó, hệ thống tính điểm đánh giá giữa thực thể và câu truy vấn dựa trên việc tổng hợp điểm của các đánh giá về thực thể
đã khớp với câu truy vấn Với mong muốn nghiên cứu phát triển một hệ thống tìm
kiếm sản phẩm dựa vào đánh giá của người dùng, luận văn đề ra 04 nhiệm vụ chính sau đây:
1 Xây dựng phương pháp tìm kiếm thực thể dựa trên đánh giá của người dùng
2 Xây dựng và thử nghiệm công thức tính điểm đánh giá, Sum-Average, giữa thực thể và câu truy vấn dựa trên điểm của từng đánh giá về thực thể đã khớp với câu truy vấn
3 Xây dựng phương pháp cải thiện kết quả tìm kiếm thực thể bằng cách xét đến các chiều hướng đánh giá (tích cực hay tiêu cực) của người dùng trong các đánh giá về thực thể Đề xuất phương pháp tính điểm đánh giá giữa từng đánh giá và câu
Trang 167
truy vấn
4 Đề xuất giải thuật tìm kiếm thực thể dựa trên đánh giá người dùng bằng MapReduce Framework
0.4 Các nghiên cứu liên quan
Tìm kiếm thực thể là một trong những vấn đề được tập trung nghiên cứu hiện nay Một trong số đó là tìm cách xếp hạng (rank) các thực thể liên quan tới yêu cầu truy vấn của người dùng thay cho việc xếp hạng các văn bản liên quan đến câu truy vấn Do sự tồn tại của một lượng lớn đánh giá về các sản phẩm trên Internet nên đã đặt ra các vấn đề về khai thác chúng để phục vụ cho việc tìm kiếm sản phẩm, phát triển và tiêu thụ sản phẩm Một số các nghiên cứu điển hình về các đánh giá của người dùng được giới thiệu sau đây:
- Sentiment Analysis: Phân lớp các đánh giá của người dùng thành các lớp
như: “positive”, “negative” và “neutral” Các phương pháp được sử dụng như phân lớp có giám sát hay không có giám sát hay cả hai cách tiếp cận [1], [2], [3], [4] Sentiment analysis chỉ ra các mức độ phân cực của một đánh giá (“positive” hay
“negative”) một cách tổng quát chứ không phân cực theo một khía cạnh cụ thể nào
đó của thực thể
- SentiWordnet: Một công cụ tra cứu từ vựng được dùng để hỗ trợ cho việc
phân lớp và khai phá các đánh giá do các tác giả Stefano Baccianella, Andrea Esuli, and Fabrizio Sebastiani phát triển dựa trên từ điển WordNet của Stanford University Hiện tại, SentiWordNet đã được phát triển lên phiên bản 3.0 và được cung cấp miễn phí cho công việc nghiên cứu [15]
- Xếp hạng thực thể dựa trên các đánh giá (Opinion-Based Entity
Ranking): Đưa ra mô hình tìm kiếm các thực thể dựa trên các đánh giá bằng cách
mở rộng mô hình tìm kiếm văn bản Nghiên cứu cũng đưa ra các cách cải thiện độ chính xác của kết quả tìm kiếm dựa trên việc mở rộng câu truy vấn bằng cách thêm các từ đánh giá tương đương vào câu truy vấn [12]
0.5 Cấu trúc của luận văn
Trang 178
Luận văn được trình bày trong 4 chương:
- Phần mở đầu: Giới thiệu sơ lược về luận văn, nhu cầu tìm kiếm thực thể
dựa trên các đánh giá của người dùng, các nghiên cứu liên quan trên các đánh giá của người dùng
- Chương 1: Trình bày tổng quan về truy vấn thông tin bao gồm các phần:
Đánh chỉ mục tập văn bản; tìm kiếm văn bản theo mô hình không gian vector và theo mô hình thống kê
- Chương 2: Phần chính của luận văn, trình bày phương pháp tìm kiếm thực
thể dựa trên các đánh giá của người dùng bao gồm:
1 Các phương pháp tính điểm đánh giá giữa thực thể và câu truy vấn,
đề xuất công thức tính điểm: Sum-Average
2 Cải thiện kết quả xếp hạng thực thể bằng cách xét các chiều hướng đánh giá của người dùng về thực thể
3 Đề xuất công thức tính điểm đánh giá giữa mỗi đánh giá và câu truy vấn
- Chương 3: Đề xuất giải thuật tìm kiếm thực thể dựa trên đánh giá người
dùng bằng MapReduce Framework
- Chương 4: Cài đặt thử nghiệm phương pháp tìm kiếm thực thể đề xuất ở
chương 2 và đánh giá kết quả
- Phần kết luận: Đánh giá kết quả đạt được của luận văn và các hướng phát
triển tiếp theo
Trang 189
CHƯƠNG 1 BÀI TOÁN TÌM KIẾM THÔNG TIN
Tìm kiếm thông tin (Information Retrieval - IR ) chủ yếu giải quyết các vấn
đề về biểu diễn, tìm kiếm và xử lý trên những tập lớn các văn bản điện tử hay dữ liệu ngôn ngữ Thông thường, các hệ thống IR tìm kiếm thông tin dựa trên các từ khóa, được biểu diễn thành các câu truy vấn gọi là query Các văn bản liên quan đến câu truy vấn được hệ thống IR xếp hạng dựa trên điểm đánh giá giữa văn bản trả về
và câu truy vấn Danh sách các văn bản trả về được hệ thống IR sắp xếp theo thứ tự giảm dần của điểm hay mức độ liên quan giữa văn bản và câu truy vấn
Tiến trình IR được mô tả vắn tắt như sau, trước hết văn bản được phân tích thành các phần cơ bản, gọi là các token, để đánh chỉ mục Câu truy vấn cũng được phân tích thành các token (gọi là query token) Hệ thống IR xác định văn bản xuất hiện các query token, tính toán điểm đánh giá giữa câu truy vấn và văn bản sau đó sắp xếp kết quả và trả về cho người dùng
1.1 Đánh chỉ mục văn bản (indexing)
Cấu trúc chỉ mục ngược (Inverted index) được sử dụng để đánh chỉ mục các
từ trong văn bản Inverted index, đôi khi còn được gọi là inverted file, là một cấu trúc dữ liệu chính trong hầu hết các hệ thống IR Một inverted index cung cấp một ánh xạ giữa các từ (sau đây được gọi là term) và vị trí xuất hiện của chúng trong tập văn bản C [17] Một inverted index có hai thành phần cơ bản:
- Từ điển (dictionary): là một danh sách các term trong tập từ vựng, V, của tập văn bản C
- Mỗi term được liên kết với một danh sách các văn bản mà nó xuất hiện
trong tập C Danh sách này được gọi là postings list
Nếu biểu diễn các số hiệu của văn bản (docid) trong index bằng các số nguyên thì postings list cho một term có thể được biểu diễn bằng một dãy các số nguyên, docid, tăng dần và một dãy số nguyên nhỏ tương ứng biểu diễn tần số xuất hiện của term trong các văn bản
Ví dụ 1.1:
Trang 1910
windows
Hình 1.1 Ví dụ về postings list cho term “windows” trong inverted index
Trong ví dụ 1.1 term “windows” xuất hiện trong các văn bản 1, 5, 20, 50 với tần số lần lượt là 1, 2, 1, 3
Để hệ thống IR có thể tìm kiếm các văn bản liên quan đến sự xuất hiện của
cả một cụm từ trong một văn bản, cấu trúc chỉ mục ngược còn lưu trữ cả vị trí xuất hiện của term trong các văn bản trong tập C Do đó bên cạnh 2 dãy docid và tần số (frequency) xuất hiện của term trong văn bản, dãy số nguyên nhỏ biểu diễn vị trí xuất hiện của term trong các văn bản cũng được lưu trữ
Hình 1.2 Ví dụ về một inverted index với vị trí xuất hiện của term windows trong văn bản
Độ dài của dãy số nguyên biểu diễn vị trí của các term trong một văn bản bằng tổng tần số xuất hiện của chúng trong văn bản đó
Trong ví dụ 1.2, term “windows” xuất hiện trong văn bản có docid=50 với tần số freq=3, tại các vị trí 10, 30 và 100
1.2 Tìm kiếm văn bản
Quá trình tìm kiếm các văn bản liên quan đến câu truy vấn có thể được tóm tắt như sau: Đầu tiên câu truy vấn được token hóa thành các term theo cùng cách token hóa các văn bản để tạo chỉ mục ngược Ở bước thứ hai, dựa vào cấu trúc chỉ mục ngược, các danh sách các văn bản có sự xuất hiện mỗi term trong câu truy vấn được tìm thấy Ở bước cuối cùng, danh sách các văn bản có sự xuất hiện của các term trong câu truy vấn được tổng hợp từ các danh sách ở bước thứ hai và liệt kê
Trang 2011
cho người dùng theo sự giảm dần của điểm đánh giá giữa văn bản và câu truy vấn
Một hệ thống IR thường được đánh giá dựa trên 3 chỉ số sau [7]:
Precision: Phần trăm của các văn bản được tìm thấy thật sự liên quan đến
câu truy vấn:
relevant retrieved precision
- {relevant}: Tập các văn bản liên quan đến câu truy vấn
- {retrieved}: Tập các văn bản được hệ thống IR tìm thấy
Thông thường, các văn bản được cho là khớp (matching) với câu truy vấn nếu có ít nhất một term trong câu truy vấn xuất hiện trong văn bản Do đó tập văn bản tìm thấy được có thể rất lớn nên các hệ thống IR luôn tìm cách trả về các kết quả mà nó cho là khớp nhất ở các vị trí đầu tiên Một hệ thống IR tốt luôn cho kết quả mà người dùng mong đợi nhất ở n vị trí đầu tiên (top n)
1.2.1 Mô hình không gian vector (Vector Space Model - VSM)
VSM là một trong những mô hình tìm kiếm văn bản đầu tiên VSM được phát triển bởi Gerald Salton trong thập niên 1960 và tiếp tục phát triển trong trong thập niên 1990 Gần đây, các ứng dụng của VSM bị thu hẹp lại do sự phát triển của một số mô hình khác như: Mô hình thống kê (Propabilistic Models), mô hình ngôn ngữ (Language Model) và các tiếp cận học máy khác (Machine Learning)
Trang 2112
Trong mô hình vector, các câu truy
vấn và các văn bản được biểu diễn bằng
các vector trong một không gian đa chiều
Trong đó, mỗi thành phần của vector
tương ứng với một term trong bộ từ vựng
của tập văn bản Cho một vector truy vấn
(query vector) và một tập các vector văn
bản (document vector), độ tương tự của
một văn bản và câu truy vấn chính là độ
tương tự của document vector và query
vector và cũng chính là góc giữa hai vector Hai vector có độ tương tự càng cao thì góc giữa chúng càng nhỏ và ngược lại
Kí hiệu document vector biểu diễn cho văn bản d và câu truy vấn q lần lượt
là: d và q Độ tương tự giữa d và q, sim d q ( , ), là cosin của góc giữa hai vector d
và q:
( , )
| | | |
d q sim d q
Trong VSM, các thành phần của document vector và query vector được biểu diễn bằng trọng số của term trong văn bản hay câu truy vấn tương ứng với thành phần đó Trọng số thường sử dụng trong VSM cho document vector là TF-IDF
Trọng số của term t trong văn bản, d, kí hiệu là tf-idf , được tính bằng tích:
Trang 2213
log( ( , )) 1 if ( , ) 0( , )
0 ( ) 0
q t if q t
tf t q
idf(t): Hàm theo tần số văn bản ngƣợc của t; idf(t) có giá trị càng lớn nếu t
xuất hiện trong ít văn bản và ngƣợc lại
( ) log( )
t
N idf t
t
N idf t
Trang 23bằng mô hình “bag of word” Hơn nữa, phép chuẩn hóa chiều dài bằng khoảng
cách Euclide đã được chứng minh là không hiệu quả trong trường hợp tập văn bản
C có các văn bản khác biệt nhau về chiều dài nên VSM cần phải được điều chỉnh
được sử dụng tốt trong những tập văn bản như vậy [17] Một trong những công thức được điều chỉnh là:
hệ thống tới người sử dụng sẽ được cực đại hóa [17]
Cho câu truy vấn, q, mô hình thống kê tìm xác xuất liên quan, p, của mỗi văn bản trong tập văn bản, C, với câu truy vấn q và sắp xếp các văn bản theo thứ tự giảm dần của xác xuất p Robertion và các cộng sự (1994) đã đưa ra công thức tính
,
score d q nổi tiếng trong chuỗi các mô hình Best-Match (BM) như sau:
1 1
Trang 24n r : Số lượng các văn bản trong tập C liên quan đến câu truy vấn
n t,r : Số lượng văn bản trong tập C chứa term t và liên quan đến câu truy vấn N: Số lượng văn bản trong tập C
N t : Số lượng văn bản trong tập C có chứa term t
Nếu không có những thông tin về n r , n t,r , công thức (1.12) có thể viết đơn
giản như sau:
log( 0.5)
t t
t
w
Công thức (1.11) có hai tham số tự do: và k1 và b
nhận các giá trị mặc định lần lượt là 1.2 và 0.75 Công thức (1.11) thường được gọi
là công thức Okapi BM25 hay chỉ đơn giản là BM25
Nếu N – N t +0.5 ≤ N t + 0.5 hay N ≤ 2N t ,, w t có giá trị nhỏ hơn hay bằng 0
Để tránh trường hợp này, w t có thể tính bẳng công thức tính idf(t) (1.8.1):
Trang 2516
1.3 Kiến trúc cơ bản của một hệ thống IR
Hình 1.4 Kiến trúc cơ bản của một hệ thống IR [17]
Hình 1.4 là kiến trúc cơ bản của một hệ thống IR [17] Nhu cầu thông tin (Information Need) của người dùng (User) là những thông tin, thường là những văn bản, đã được máy tìm kiếm đánh chỉ mục Tùy vào nhu cầu thông tin của mình, người dùng xây dựng câu truy vấn (Query) cung cấp cho hệ thống IR Thông thường, câu truy vấn có độ dài khoảng một vài term, từ hai đến ba term, cho các tác
vụ tìm kiếm thông tin trên Web
Câu truy vấn của người dùng được xử lý bởi một máy tìm kiếm (Search Engine) thường chạy trên máy cục bộ hay một cụm máy ở một vị trí cách xa người
dùng Nhiệm vụ chính của máy tìm kiếm là quản lý và xử lý trên một inverted index của một tập văn bản Sau khi câu truy vấn của người dùng đã được xử lý
xong, máy tìm kiếm trả về một danh sách các kết quả (Result) đã được xếp hạng
Trang 2617
theo điểm đánh giá giữa văn bản và câu truy vấn Sau khi xếp hạng các kết quả, máy tìm kiếm còn có thể thực hiện các thao tác trên danh sách kết quả như: Loại bớt các kết quả trùng lắp hoặc các kết quả dư thừa
Kết chương
Trong chương 1, luận văn đã trình bày một cách tổng quan về truy vấn thông tin, từ việc đánh chỉ mục văn bản cho đến tìm kiếm thông tin trên các tập chỉ mục Trong chương tiếp theo, chúng tôi sẽ trình bày phương pháp tìm kiếm thực thể dựa trên các đánh giá của người dùng Bên cạnh đó, chúng tôi đề nghị cách cải thiện độ chính xác của kết quả trả về dựa trên việc xem xét các chiều hướng đánh giá của người dùng khi tính điểm giữa một đánh giá và câu truy vấn
Trang 27ra, phương pháp cải thiện kết quả tìm kiếm cũng được trình bày trong chương này
Để thuận tiện trong cách trình bày, chúng tôi giới thiệu bài toán tìm kiếm thực thể
và một số kí hiệu
Giới thiệu bài toán tìm kiếm thực thể:
Cho E={e 1 , e 2 , e 3 ,…e n } là tập n thực thể thuộc về một loại thực thể (xe, điện thoại, laptop…) Mỗi thực thể e i có một tập các đánh giá (sau đây goi là đánh giá)
tương ứng R i ={r i1 , r i2 , r i3 ,…r im } trong đó r ij là đánh giá j của thực thể e i
Câu truy vấn q với một tập các từ khóa
Kết quả tìm kiếm với câu truy vấn q trên tập thực thể E là một tập các thực thể {e i } được sắp xếp theo sự giảm dần điểm đánh giá của mỗi thực thể với câu truy vấn q
Bài toán tìm kiếm thực thể dựa trên các đánh giá trong luận văn xử lý các đánh giá là dữ liệu văn bản được người dùng viết bằng tiếng Anh Do đó, trong chương này có sử dụng tiếng Anh cho một số từ liên quan đến dữ liệu và câu truy vấn
Câu truy vấn, q, của người dùng liên quan tới một hay nhiều thuộc tính của
thực thể Ví dụ, đối với thực thể xe hơi, các thuộc tính có thể là: “fuel economy”,
“small size”, “beautiful exterior design” Từ khóa chỉ thuộc tính của thực thể trong
câu truy vấn q được gọi là từ khóa chính (sau đây gọi là main key word) ví dụ như:
“fuel”, “size”, “design” Cấu trúc của câu truy vấn trong hầu hết các trường hợp bao gồm một hay nhiều tính từ và các main key word Khi tìm kiếm một thực thể dựa vào các đánh giá, người sử dụng luôn mong muốn tìm ra các thực thể mà cộng đồng người dùng đánh giá tốt hay nói cách khác các thực thể cần tìm được nhiều người tin cậy
Trang 2819
Kí hiệu score(e i ,q) là điểm đánh giá giữa thực thể e i và câu truy vấn q score(r ij ,q) là điểm đánh giá giữa đánh giá j của thực thể e i và câu truy vấn q Để tính score(e i ,q), score(r ij ,q) của từng đánh giá r ij sẽ đƣợc tính toán nếu r ij khớp với
câu truy vấn Sau đó, score(r ij ,q) sẽ đƣợc tổng hợp để đƣa ra score(e i ,q) (Hình 2.1)
Hình 2.1 Mô hình tìm kiếm thực thể dựa trên đánh giá
2.1 Xếp hạng thực thể dựa trên các đánh giá
Với câu truy vấn q, score(r ij ,q) có thể đƣợc tính theo mô hình VSM hay mô hình xác xuất) Điểm đánh giá giữa thực thể e i và câu truy vấn q là:
,( , )i ({ ( i j q) | i j })
Trong đó:
- r ij match q: đánh giá j của thực thể e i khớp với câu truy vấn q
review entity
review review
review entity n
review review review
Trang 2920
- score(r ij ,q): điểm của đánh giá r ij và câu truy vấn q
- Hàm f được lựa chọn tùy thuộc vào từng phương pháp tính điểm đánh giá
Các phương pháp tính điểm đánh giá thường dùng được liệt kê trong bảng 2.1
Bảng 2.1 Các phương pháp tổng hợp điểm đánh giá
Maximum Score Max score r q r match q{ ( , ) | ij i j }
Minimum Score Min score r q r match q{ ( , ) | i j i j }
score(e i ,q) trong phương pháp Sum Score phụ thuộc nhiều vào số lượng, k, đánh giá của thực thể, e i , khớp với câu truy vấn; score(e i ,q) có thể có giá trị lớn nếu
k lớn mặc dù mỗi score(r ij ,q) có thể có giá trị nhỏ Ngược lại, phương pháp Average Score có thể đưa ra giá trị score(e i ,q) lớn trong trường hợp k nhỏ nhưng mỗi score(r ij ,q) lại có giá trị lớn Rất khó để đánh giá trường hợp nào tốt hơn trong hai
trường hợp trên Do đó chúng tôi đề nghị công thức tính điểm đánh giá sau đây, gọi
là Sum-Average Score, được tổng hợp cả hai phương pháp tính điểm đánh giá, Sum
và Average, vào trong một công thức:
1 { match q}
nhiều người dùng đánh giá trong kết quả tìm kiếm, α được điều chỉnh để nhận một
giá trị thích hợp
Trang 3021
2.2 Tính điểm đánh giá có xét các chiều hướng đánh giá của người sử dụng trong các đánh giá
Trong bài toán tìm kiếm thực thể (hay sản phẩm) dựa vào các đánh giá của
những người đã sử dụng qua sản phẩm đó, câu truy vấn q thường liên quan đến một
khía cạnh (aspect) nào đó của sản phẩm (ví dụ, các khía cạnh đối với xe: fuel economy, comfortable, exterior design…) và mức độ đánh giá của khía cạnh đó như: good, best….Để hệ thống trả về kết quả được nhiều người dùng tin cậy, ta có
thể tăng score(r,q) nếu đánh giá r thể hiện thái độ yêu thích của người dùng đến sản phẩm và ngược lại giảm score(r,q) nếu trong đánh giá r, người dùng thể hiện
thái độ không yêu thích sản phẩm
Ví dụ 2.1:
a The ride is smooth, not sporty, but is very relaxing and quiet The fuel
economy is excellent I very love my car
b After buying old cars that I can fix my own, (old VW,and fords) until major jobs (transmission, etc.), I have gotten tired and bought this car The first thing I looked for was fuel consumption I wanted a hybrid, but at my federal wages it was out of my sight Then I found 07 yaris 2 dr, 5sp M It has the feel of my old bug, but
more room for storage, great fuel consumtion and great price range
easy and lots of storage/hauling room Good acceleration when needed Will keep this fuel efficient hard worker for a long time
d The ride is pretty comfortable, but the seats can get pretty uncomfortable
after a few hours driving The biggest problem I have with this car is the horrible
fuel economy I'm getting I bought this car to save gas mileage, not get the same as
my '96 Nissan Maxima or my '05 Toyota Sienna
e I was really excited when I purchased this SUV But after 6 months and
4000 miles later, I'm a little disappointed There is a delay in shifting response with the transmission especially when going uphill Delayed response even felt in the manual shift mode The first update to the trany program was ineffective, no
Trang 3122
improvement The fuel economy is really poor compared with the 17 city and 25
hwy It's more like 13 city and 18 hwy
Đối với khía cạnh fuel economy, 3 đánh giá a, b, c được đánh giá tốt bằng
những từ đánh giá: excellent, great, love Ví dụ:
- The fuel economy is excellent
- great fuel consumtion
- love fuel economy
2 đánh giá d, e được đánh giá không tốt bằng những từ đánh giá: horrible, poor Ví
dụ:
- horrible fuel mileage I'm getting
- The fuel economy is really poor
Với câu truy vấn q=good fuel economy, người dùng mong muốn tìm chiếc xe có
khía cạnh fuel economy được đánh giá tốt Cả 5 đánh giá trong ví dụ 2.1 đều khớp
với q do cả 5chawcs đều có chứa từ fuel economy Do đó, nếu không xét đến các
chiều hướng đánh giá, kết quả tìm kiếm có thể chứa những thực thể không được
đánh giá tốt trong top n kết quả đầu tiên
Kavita Ganesan, ChengXiang Zhai [12], đề xuất phương pháp mở rộng câu truy vấn bằng các từ đánh giá để tăng sự so khớp với các từ đánh giá Ví dụ, câu
truy vấn q=good fuel economy có thể được mở rộng thành q’=excellent| great| best| fantastic|good fuel economy Tuy nhiên việc mở rộng câu truy vấn như vậy chỉ có
thể xét đến một chiều hướng đánh giá tốt (hoặc xấu) khi tính điểm đánh giá giữa các đánh giá và câu truy vấn Để có thể xét đến cả hai chiều hướng đánh giá khi tính điểm đánh giá, chúng tôi lượng hóa các từ đánh giá thành các giá trị cụ thể gọi là các trọng số Trọng số các từ đánh giá tích cực có giá trị dương, các từ đánh giá tiêu
cực có giá trị âm Với câu truy vấn, q, tùy theo mức độ đánh giá tích cực hay tiêu cực của người sử dụng đối với thực thể trong đánh giá r mà score(r,q) sẽ được điều
chỉnh tăng hay giảm một cách thích hợp nhờ vào các trọng số của từ đánh giá Mục 2.2.1 dưới đây được dành cho việc trình bày cách tính mức độ tích cực hay tiêu cực
của một đánh giá và công thức tính điểm đánh giá có xét đến thái độ của người đánh
Trang 32Năm 2002, Peter D.Turney đưa ra thuật toán học không giám sát để phân lớp các đánh giá [14] với hai tập mẫu gồm tập đánh giá của các phim và tập đánh giá của các xe hơi Peter D.Turney dùng phương pháp PMI (Pointwise Mutual
Information) để phân lớp một đánh giá thuộc về lớp recommended hay not recommended PMI giữa hai từ w 1 và w 2 được tính bởi công thức:
( & )( , ) log
p w w PMI w w
p w p w Trong đó p(w 1 ) và p(w 2 ) là xác xuất xuất hiện của hai từ w 1 và w 2 còn p(w 1 &
w 2 ) là xác xuất xuất hiện hai từ cùng với nhau Chỉ số SO (Sentiment Orientation –
Sự định hướng thiện cảm), cho một cụm từ (phrase) là:
SO(phrase)=PMI(phrase ,”excellent”) – PMI(phrase, “poor”)
Hai từ “excellent” và “poor” được chọn bởi vì “excellent” thường xuất hiện trong các đánh giá với điểm số 5 sao và “poor” thường xuất hiện trong các đánh giá
với điểm số 1 sao Một cụm từ được cho là tích cực nếu nó liên quan nhiều hơn tới
từ excellent và được cho là tiêu cực nếu nó liên quan nhiều hơn đến từ poor
Kí hiệu hits(query) là số lượng kết quả máy tìm kiếm trả về cho câu truy vấn, query Peter D.Turney ước lượng giá trị SO(phrase) như sau:
Trang 3324
Toán tử NEAR ràng buộc các đánh giá trong kết quả trả về phải có ít nhất một cụm
từ có độ dài 10 chứa các từ trong câu truy vấn không kể đến trật tự của các từ
Để phân lớp một đánh giá, Peter D.Turney thực hiện 3 bước sau:
1 Xác định các cụm từ có chứa các tính từ (adjective) hay trạng từ (adverb)
2 Tính SO(phrase) cho mỗi cụm từ
3 Tính giá trị trung bình của tất cả các SO(phrase) thuộc về đánh giá và
phân lớp các đánh giá dựa vào giá trị trung bình của SO Một đánh giá thuộc lớp
recommended nếu giá trị trung bình có giá trị dương Ngược lại, đánh giá thuộc về lớp not recommended
Bing Liu [1] cho rằng khác với phân lớp văn bản thành các chủ đề khác nhau, phân lớp thiện cảm không phụ thuộc và các từ mô tả chủ đề mà chủ yếu phụ thuộc vào các từ thể hiện quan điểm của người đánh giá là tích cực hay tiêu cực
như: great, excellent, amazing, horrible, bad, worst,…
2.2.1.2 Tính điểm đánh giá của một đánh giá với câu truy vấn có xét đến SO của đánh giá
Dựa trên công thức tính (2.2), chúng tôi đề nghị công thức tính score(e i ,q) có
xét đến sự ảnh hưởng của chỉ số SO như sau:
1 { match q}
SO(r ij ) là chỉ số SO của đánh giá r ij của thực thể ei
c=1 nếu SO(r ij )>=0, c=-1 nếu SO(r ij )<0
f: Hệ số tự do điều chỉnh mức độ ảnh hưởng của chỉ số SO đối với score(r ij ,q)
Chỉ số SO(r ij )> 0 khi đánh giá thể hiện sự đánh giá tốt của người dùng đối với thực thể và ngược lại Do đó trong công thức (2.3) tùy theo giá trị của SO(r ij ), score(r ij , q) sẽ được tăng giảm một cách thích hợp
2.2.1.3 Tính chỉ số SO
Trang 3425
Chỉ số SO(r ij ) trong bài toán phân lớp là chỉ số định hướng chung cho r ij
Trong thực tế, người dùng có thể đánh giá nhiều khía cạnh của một thực thể trong một đánh giá Khi tìm kiếm, người dùng thường chỉ quan tâm đến một khía cạnh nào đó của thực thể Do đó, trong bài toán tìm kiếm đối tượng dựa vào các đánh giá,
cần phải tính chỉ số SO(r ij ) một cách thích hợp
Cho rằng: Định hướng thiện cảm (Sentiment Orientation - SO) của một văn bản bằng tổng định hướng của tất cả các phần trong văn bản đó Nếu không quan
tâm đến việc người dùng quan tâm đến một khía cạnh nào đó của thực thể, chỉ số
SO của một đánh giá r có thể được tính dựa vào các từ đánh giá (gọi là opinion word) theo công thức sau:
2.2.1.4 Chỉ số SO đối với một khía cạnh của thực thể
Khi tìm kiếm thực thể dựa trên các đánh giá người dùng thường chỉ quan tâm đến một vài khía cạnh của thực thể do đó nếu áp dụng công thức (2.3) với giá trị
SO(r) được tính theo công thức (2.4), kết quả trong một số trường hợp sẽ không
theo như mong muốn của người dùng Hệ thống IR sẽ được đánh giá thông minh nếu nó trả về các thực thể được người dùng đánh giá tốt về các khía cạnh thực thể được mô tả trong câu truy vấn Một cách trực giác, có thể thấy rằng các từ đánh giá
và từ chỉ khía cạnh thực thể khi nằm trong cùng một câu sẽ ảnh hưởng tới nhau nhiều hơn so với trường hợp chúng nằm ở các câu khác nhau
Thông thường trong các đánh giá, các từ đánh giá và từ chỉ khía cạnh của thực thể nằm trong cùng một câu Trong một số trường hợp khác, từ đánh giá hay từ thể hiện cảm tính và từ chỉ khía cạnh nằm trong hai câu khác nhau Ví dụ:
Trang 3526
- The fuel economy is excellent I very love my car
- I am extremely pleased with the 2007 Camry Hybrid Fuel economy in mixed driving has ranged from 34.5 to 37 miles per gallon which to me is more than acceptable
- getting less than 10 miles per gallon fuel economy overall a very poor
chỉ khía cạnh và từ đánh giá, ta dùng một cửa sổ với kích thước s di chuyển dọc
theo đánh giá Nếu cả hai từ đánh giá và từ chỉ khía cạnh cùng nằm trong một cửa
sổ thì khả năng chúng liên quan với nhau cao và ngược lại
Mức độ đánh giá của một từ đánh giá, tại vị trí po, có trọng số w đối với từ chỉ khía cạnh tại vị trí pk là:
po pk
- |pk-po|/s là phép chia lấy phần nguyên để chỉ ra vị trí tương đối của cửa sổ
có từ w xuất hiện so với vị trí của từ chỉ khía cạnh đang xét trong đánh giá r
- relate(|pk-po|/s): Hàm chỉ mức độ liên quan giữa hai từ ở hai vị trí po và
pk Hàm relate phải có tính chất: Giảm khi |pk-po|/s tăng
Sự liên quan giữa hai từ với nhau giảm rất nhanh theo khoảng cách (tính bằng số câu) giữa chúng Khi khảo sát các đánh giá, các từ đánh giá nằm cách xa từ chỉ một khía cạnh cụ thể nào đó thường ít liên quan đến từ chỉ khía cạnh đó hoặc liên quan đến từ chỉ khía cạnh khác hoặc là các từ đánh giá chung về thực thể Kí
hiệu x=|pk-po|/s, hàm relate(x) được đề nghị như sau :
1 ( 1)( )
Trang 3627
relate(x) Với x=0, hai từ đánh giá và từ chỉ khía cạnh cùng nằm trong một cửa sổ,
relate(x) có giá trị bằng 1 Với x đủ lớn, relate(x) có giá trị gần bằng 1
k
Hình 2.1 Đồ thị của hàm relate(x) với k=5; β=2
Theo đồ thị trong hình 2.1, (trường hợp β=2 và k=5), khi x>=2 giá trị của relate đã dần tiệm cận tới giá trị 1/k
Một từ chỉ khía cạnh của thực thể có thể xuất hiện nhiều lần trong một đánh giá và được đánh giá với các mức độ liên quan khác nhau Đối với các từ đánh giá tích cực ta quan tâm đến mức độ đánh giá lớn nhất, còn đối với các từ đánh giá tiêu cực ta quan tâm đến mức độ đánh giá bé nhất cho một khía cạnh Công thức tính chỉ
số SO cho một khía cạnh thực thể trong đánh giá r:
2.2.2 Tính trọng số của các từ đánh giá trong hai vector pos và neg
Hai tập mẫu posReview và negReview được sử dụng để tính các trọng số của các từ đánh giá của hai vector pos, neg Trong đó:
1
Trang 3728
- posReview: Chỉ gồm các đánh giá tích cực (positive review)
- negReview: Chỉ gồm các đánh giá tiêu cực (negative review)
Các đánh giá thường kèm theo các mức điểm số của người đánh giá về thực
thể Do vậy ta có thể thu thập hai tập posReview và negReview dựa vào điểm số đánh giá của chúng Tập posReview chỉ gồm các đánh giá có điểm số tối đa còn tập negReview chỉ gồm các đánh giá có điểm số thấp hơn điểm đánh giá trung bình Gọi
R p là đánh giá được tạo ra bằng cách nối tất cả các đánh giá của tập posReview Tương tự như vậy R n là đánh giá được tạo ra bằng cách nối tất cả các đánh giá trong
tập negReview Theo Peter D.Turney [14]: Định hướng (tích cực hay tiêu cực) của một văn bản bằng tổng định hướng của tất cả các phần trong văn bản đó
Khác với Peter D.Turney, phải xác định chỉ số SO cho từng đánh giá Khi tính các trọng số cho các từ đánh giá, chỉ số SO của mỗi đánh giá trong hai tập mẫu
được xem như đã biết và tỉ lệ với điểm đánh giá chung cho từng đánh giá Các trọng
số của các từ đánh giá sẽ được ước lượng dựa vào điểm đánh giá của từng đánh giá
Sau đó, các giá trị trọng số của các từ đánh giá sẽ được sử dụng để tính chỉ số SO
đối với một khía cạnh nào đó của thực thể theo công thức (2.5) và (2.7)
Xem định hướng của đánh giá R p , hoặc R n là tổng định hướng của từng đánh
giá, ta có định hướng của đánh giá R p là:
Trang 3829
- pw : Trọng số trung bình của các từ thuộc vector pos
- nw : Trọng số trung bình của các từ thuộc vector neg
- s pp : Tổng tần số xuất hiện của các từ thuộc vector pos trong R p
- s np : Tổng tần số xuất hiện của các từ thuộc vector neg trong R p
- s pn : Tổng tần số xuất hiện của các từ thuộc vector pos trong R n
- s nn : Tổng tần số xuất hiện của các từ thuộc vector neg trong R n
- Đa số người sử dụng dùng các từ đánh giá tích cực để đánh giá tốt một sản
phẩm Do đó, các từ đánh giá tích cực xuất hiện trong R p nhiều hơn trong R n
- Đa số người sử dụng dùng các từ đánh giá tiêu cực để đánh giá xấu một sản phẩm Trong một số ít trường hợp, người sử dụng dùng từ tích cực cùng với một từ mang nghĩa phủ định (ví dụ như: not good) Do đó, các từ đánh giá tiêu cực xuất
hiện trong R n nhiều hơn trong R p
Nên spp >>spn và snn>>snp, suy ra s pp s nn s pn s np 0 Hệ phương trình
(2.12) luôn có nghiệm pw và nw
Gọi pw và r nw lần lượt là trọng số trung bình của một từ đánh giá trong r
vector pos trong mỗi đánh giá, r p , thuộc tập posReview và vector neg trong mỗi đánh giá, r n , thuộc tập negReview Nếu xem định hướng của một đánh giá là tổng
định hướng của các từ đánh giá trong một đánh giá, ta có:
Trang 39s pr, và s nr lần lượt là tổng tần số xuất hiện của các từ thuộc vector pos trong đánh giá
r và tổng tần số của các từ thuộc vector neg trong đánh giá r
Công thức (2.13) cho kết quả | pw có giá trị bé nếu có nhiều từ đánh giá r |
tích cực xuất hiện trong cùng một đánh giá trong tập posReview Tương tự, công
thức (2.14) cũng cho kết quả |nw có giá trị bé khi có nhiều từ đánh giá tiêu cực r |
xuất hiện trong cùng một đánh giá trong tập negReview Điều này không hợp lý vì
các từ đánh giá tích cực xuất hiện cùng với nhau trong một đánh giá sẽ có xu hướng làm tăng mức đánh giá cho nhau Ví dụ:
1 The fuel economy is good This is a excellent car
2 The fuel economy is good
Trong cả hai ví dụ, khía cạnh fuel đều được đánh giá với từ good Nhưng trong ví dụ 1, khía cạnh fuel có vẻ như được đánh giá tốt hơn trong ví dụ 2, Từ excellent làm tăng sự tin cậy của khía cạnh được đánh giá tốt là fuel Hay nói cách khác từ good trong ví dụ 1 mang nghĩa tích cực hơn so với chính nó trong ví dụ 2
Gọi s pr (hay s ) là tần số trung bình của các từ đánh giá tích cực (hay tiêu nr
cực) trong một đánh giá của tập posRevew (hay negReview) Để xét đến sự hỗ trợ
gia tăng định hướng của các từ khi chúng cùng xuất hiện với nhau trong một đánh
giá, công thức tính SO(r) cho từng đánh giá trong hai tập posReview và negReview
trong tập posReview bằng 5, điểm số đánh giá trong tập negReview từ 1 đến 1.5
Công thức (2.13.1) và (2.14.2) coi các đánh giá có điểm số khác nhau tùy theo số