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

Hệ thống phân tích thông tin phản hồi về sản phẩm của khách hàng trên website thương mại (Luận văn thạc sĩ)

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 (1.52 MB, 66 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

LÊ VĂN TRUNG

LÊ VĂN TRUNG

HỆ THỐNG PHÂN TÍCH THÔNG TIN PHẢN HỒI VỀ
HỆ THỐNG THÔNG TIN
2016 - 2018
HỒ

SẢN PHẨM CỦA KHÁCH HÀNG TRÊN WEBSITE
THƯƠNG MẠI

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)


CHÍ
MINH
2017

TP.HỒ CHÍ MINH - 2017


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

LÊ VĂN TRUNG


HỆ THỐNG PHÂN TÍCH THÔNG TIN PHẢN HỒI VỀ
SẢN PHẨM CỦA KHÁCH HÀNG TRÊN WEBSITE
THƯƠNG MẠI
Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.01.04

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. TÂN HẠNH

TP.HỒ CHÍ MINH - 2017


ii


i

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả trình bày trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác.
Tp. HCM, ngày 10 tháng 11 năm 2017
Học viên thực hiện luận văn

Lê Văn Trung


ii


LỜI CẢM ƠN
Em xin gửi lời cảm ơn sâu sắc tới Thầy Tân Hạnh, cảm ơn Thầy đã tận tình
hướng dẫn, truyền đạt cho em những kiến thức và kinh nghiệm quý báu. Em cũng xin
gửi lời tri ân tới quý Thầy Cô của Học Viện Công Nghệ Bưu Chính Viễn Thông cơ sở
tại thành phố Hồ Chí Minh, cảm ơn Thầy Cô đã tận tình chỉ bảo và truyền đạt kiến
thức trong thời gian vừa qua.
Trong suốt quá trình làm đề tài em đã nhận được sự quan tâm giúp đỡ của quý
thầy cô, gia đình và bạn bè. Đó là nguồn động viên quý giá, tiếp thêm động lực thêm
sức mạnh cho em hoàn thành đồ án này.
Tuy nhiên, với điều kiện về thời gian cũng như kinh nghiệm còn hạn chế của
mình, đề tài không thể tránh được những thiếu sót. Rất mong nhận được sự chỉ bảo,
đóng góp ý kiến của các Thầy Cô để em có điều kiện bổ sung, nâng cấp đồ án về sau.
Hy vọng một ngày không xa, sẽ được tiếp tục phát triển và áp dụng được vào thực
tiễn.
Em xin chân thành cảm ơn!

Tp. HCM, ngày 10 tháng 11 năm 2017
Học viên thực hiện luận văn

Lê Văn Trung


iii

MỤC LỤC
LỜI CAM ĐOAN ................................................................................................. i
LỜI CẢM ƠN ...................................................................................................... ii
MỤC LỤC ........................................................................................................... iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT ..........................................v

DANH SÁCH BẢNG ........................................................................................ vii
DANH SÁCH HÌNH VẼ .................................................................................. viii
MỞ ĐẦU ...............................................................................................................1
Chương 1 – TỔNG QUAN ...................................................................................3
1.1. Giới thiệu tổng quan ....................................................................................3
1.1.1.

Mục tiêu nghiên cứu ................................................................................5

1.1.2.

Đối tượng và phạm vi nghiên cứu............................................................5

1.1.3.

Ý nghĩa của luận văn ...............................................................................6

1.2. Kết luận chương 1 .......................................................................................6
Chương 2 – CƠ SỞ LÝ THUYẾT ........................................................................7
2.1. Truy hồi thông tin ........................................................................................7
2.1.1.

Tổng quan các hướng tiếp cận truy hồi thông tin .................................10

2.1.2.

Truy hồi thông tin theo hướng thống kê ................................................11

2.1.2.1.


Mô hình Boolean ................................................................................12

2.1.2.2.

Mô hình không gian vector .................................................................16

2.1.3.

Truy hồi thông tin theo hướng ngữ nghĩa ............................................233

2.1.3.1.

Hướng tiếp cận xử lý ngôn ngữ tự nhiên ..........................................233

2.1.3.2.

Hướng tiếp cận Ontology ...................................................................26

2.2. Phân loại văn bản ......................................................................................29


iv

2.2.1

Naive Bayes.............................................................................................33

2.2.2. Thuật toán cây quyết định .......................................................................34
2.2.3. Thuật toán k láng giềng gần nhất ............................................................36
2.2.4. Thuật toán Support Vector Machine (SVM) ............................................39

2.3. Kết luận chương 2 ......................................................................................41
Chương 3 – XÂY DỰNG HỆ THỐNG ..............................................................42
3.1. Kiến trúc tổng quan của hệ thống .............................................................42
3.2. Xây dựng Web Crawler...........................................................................444
3.3. Tiền xử lý văn bản .....................................................................................46
3.4. Sử dụng Bag Of Words để tạo features .....................................................47
3.5. Vector hóa cho tập dữ liệu đã được xử lý ...............................................477
3.6. Áp dụng các hàm phân lớp ......................................................................488
3.7. Các bước xử lý của hệ thống .....................................................................51
3.8. Kết luận chương 3 .....................................................................................51
KẾT LUẬN VÀ KHUYẾN NGHỊ .....................................................................53
DANH MỤC TÀI LIỆU THAM KHẢO ............................................................53


v

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
Viết tắt

Tiếng Anh

HTML

HyperText Markup Language

HTTP

Hypertext Transfer Protocol

DNS


Domain Name Service

TCP

Transmission Control Protocol

ML

Machine Learning

NLP

Natural Language Processing

NNA

Neural NetWork Algorithms

IR

Information Retrieval

SVM

Support Vector Machine

K-NN

K-Nearest Neighbors


DTS

Decision Trees

TF

Term Frequency

IDF

Inverse Document Frequency

URL

Uniform Resource Locator

nltk

Natural Language Toolkit

VNLP

Vietnamese Natural Language Processing

JVnTextPro

A Java-based Vietnamese Text Processing Tool

vnTokenizer


Vietnamese Word Segmentation


vi

DANH SÁCH BẢNG
Bảng 3.1: Bảng đánh giá chi tiết Linear SVM – Amazon…………………………….49
Bảng 3.2: Bảng đánh giá chi tiết Linear SVM – Lazada……………………………...49


vii

DANH SÁCH HÌNH VẼ

Hình 2.1: Bản đồ của 1NN……………………………………………………..37
Hình 3.1: Tổng quan mục tiêu của hệ thống…………………………………...41
Hình 3.2: Giải pháp tổng quan…………………………………………...…….42
Hình 3.3: Biểu đồ thống kê phần trăm tích cực phản hồi của khách hàng theo các
hàm phân lớp khác nhau – Amazon (tiếng Anh) ……...……………47
Hình 3.4: Biểu đồ thống kê phần trăm tích cực phản hồi của khách hàng theo các
hàm phân lớp khác nhau – Lazada (tiếng Việt) ….…………………48


1

MỞ ĐẦU
Phân tích tâm lý đối tượng (Sentiment analysis) - là một chủ đề thách thức
trong học máy (Machine Learning - ML).
Mọi người thể hiện cảm nhận của mình thông qua ngôn ngữ tự nhiên có bản

chất nhập nhằng, mơ hồ đã gây không ít khó khăn cho việc xử lý để máy tính hiểu.
Chưa kể, họ sử dụng các cách chơi chữ, ẩn ý hay các kí hiệu như “:), :(, =)” để giải bày
cảm xúc của họ.
Đặt biệt là những cảm nhận, cảm xúc, ngôn từ mà đối tượng thể hiện trên các
diễn đàn, mạng xã hội, website… đều là những nguồn thông tin quý giá để có thể phân
tích, tổng hợp, phán đoán được tâm lý, nhu cầu, cảm xúc của đối tượng đó.
Trong thời đại của công nghệ thông tin ngày nay, nhất là thương mại điện tử,
mọi người có cơ hội chia sẽ những ý kiến, quan điểm của mình, đưa các bài đánh giá
và diễn đạt quan điểm của họ về các sản phẩm. Một cá nhân nếu muốn mua một sản
phẩm, cá nhân đó không nhất thiết phải giới hạn tham khảo thông tin từ báo chí, nhà
cung cấp sản phẩm, bạn bè và gia đình nữa bởi vì có nhiều người cùng đánh giá sản
phẩm trên Website đó đưa những ý kiến liên quan đến việc sử dụng sản phẩm. Đây là
nguồn thông tin quan trọng, cung cấp cho người mua sản phẩm có cái nhìn toàn diện,
bao quát và chính xác hơn về một sản phẩm mà họ định mua. Còn đối với nhà sản
xuất, đánh giá của khách hàng là cơ sở để tiến hành cải tiến, hoàn thiện sản phẩm của
mình, đồng thời giúp cho việc tổ chức các chiến lược marketing hiệu quả hơn.
Tuy nhiên, việc tìm kiếm những nguồn ý kiến, đánh giá và giám sát thông tin
phản hồi trên Website vẫn là một công việc hết sức khó khăn bởi vì có một số lượng
lớn những nguồn khác nhau và mỗi nguồn còn có số lượng lớn văn bản ý kiến hoặc
cảm nghĩ. Trong nhiều trường hợp, các ý kiến thường ẩn bên trong những bài viết dài
dòng, những biểu tượng cảm xúc phức tạp, đa ngôn ngữ. Điều đó gây khó khăn cho
việc tìm kiếm các nguồn thông tin liên quan, chính xác, trích lọc những câu liên quan


2

đến quan điểm đánh giá, đọc, tóm tắt và tổ chức chúng thành dạng có thể sử dụng
được.
Do đó, việc nghiên cứu phát triển một hệ thống tự động là cần thiết trong việc
phát hiện, tổng hợp và phân loại các ý kiến, phản hồi từ người dùng. Đây là một bài

toán lớn, nhiều thách thức trong lĩnh vực xử lý ngôn ngữ tự nhiên và khai phá văn bản.
Và đó là lý do, cũng là mục đích để tôi chọn đề tài “Hệ Thống Phân Tích
Thông Tin Phản Hồi Về Sản Phẩm Của Khách Hàng Trên Website Thương Mại” làm
đề tài luận văn thạc sĩ của mình.


3

Chương 1 - TỔNG QUAN
Chương này sẽ tập trung vào việc khảo sát Máy Học (Machine Learning - ML)
trong Xử Lý Ngôn Ngữ Tự Nhiên (Natural Language Processing - NLP) và một số
công trình nghiên cứu liên quan. Trên cơ sở đó chỉ ra những vấn đề mà luận văn cần
hướng đến.

1.1. Giới thiệu tổng quan
Trong những năm gần đây, Máy Học đang trở thành một phần không thể thiếu
trong quá trình xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP). Từ việc
xây dựng các tập qui tắc bằng tay đòi hỏi rất nhiều công sức, thời gian và chi phí. Các
nghiên cứu đang hướng đến việc sử dụng cơ sở dữ liệu lớn (Big Data) để tự động
(hoặc bán tự động) sinh ra các qui tắc đó. Phương pháp này đã và đang thu được
những kết quả vô cùng khả quan trong nhiều lĩnh vực khác nhau của NLP, đặc biệt ở
lĩnh vực kinh tế thị trường cạnh tranh khóc liệt ngày nay.
Các doanh nghiệp hiện nay đang đối mặt với “cơn lũ” dữ liệu về mọi mặt:
Feedback của khách hàng, thông tin đối thủ cạnh tranh, emails của khách hàng, tweets,
thông tin họp báo, hồ sơ pháp lý, các văn bản về sản phẩm và kĩ thuật…Việc khai thác
được những dữ liệu này là điểm mấu chốt để các doanh nghiệp có thể triển khai nhanh
chóng các quyết định của mình so với đổi thủ cạnh tranh.
Vậy vấn đề ở đây là gì? Có quá nhiều thông tin để xử lý cùng lúc (hơn 85% dữ
liệu trên thế giới không có cấu trúc) và kích thước dữ liệu ngày càng tăng. Đối với
nhiều doanh nghiệp, điều này là bất khả thi để điều động nhân sự đọc tất cả mọi thứ

được cho là quan trọng (các khách hàng đang nói gì về sản phẩm, những đối thủ cạnh
tranh đang làm gì …).
Được xây dựng trên ngôn ngữ phức tạp, các nguyên lý thống kê và thuật toán
mạng nơ ron (Neural NetWork Algorithms). Chương trình xử lý ngôn ngữ tự nhiên
(NLP) sẽ giúp máy tính làm thay những việc trên cho các doanh nghiệp. NLP có khả
năng đọc và hiểu được văn bản với tốc độ cao. Do đó, dù bạn có 1000 tài liệu hay


4

thậm chí hàng tỉ văn bản, chương trình NLP có thể “tiêu hóa” nhanh chóng tất cả các
thông tin này, từ đó có thể rút trích ra được những tri thức (Knowledge) đáng giá cho
doanh nghiệp như: tri thức về các khách hàng, tri thức về những đối thủ cạnh tranh, tri
thức về cá hoạt động trong doanh nghiệp như điều hành, marketings, sales, kĩ thuật và
sản phẩm.
Thông qua các thuật toán tiên tiến, NLP chỉ ra được ai, cái gì, khi nào và ở đâu
trong những nội dung phi cấu trúc, từ đó có thể cung cấp các cấp độ hiểu biết cao hơn
về công việc kinh doanh của doanh nghiệp.
Trong ngữ cảnh hẹp của luận văn, bài toán Phân Tích Phản Hồi Về Sản Phẩm
Của Khách Hàng Trên Website Thương Mại (Amazon và Lazada) có thể được xem
như là bài toán phân lớp. Công việc phân tích văn bản tự động là phân loại văn bản
theo hướng tích cực hay tiêu cực. Nhiều kỹ thuật máy học và khai khoáng dữ liệu được
áp dụng vào bài toán phân loại văn bản. Ví dụ như:
 Cây quyết định (Decision Tree).
 Phương pháp phân loại dựa vào thuật toán Naive Bayes.
 K- láng giềng gần nhất (K-Nearest Neighbors - KNN).
 Mạng nơ ron nhân tạo (Artificial Neural Network).
 Support Vector Machine (SVM).
Vấn đề phân loại văn bản thu hút sự quan tâm của nhiều nhà nghiên cứu trên
thế giới, tiêu biểu có thể kế đến các công trình nghiên cứu như:

 “Text classification using machine learning” (Mohammed.Andul.Wajeed)
[13].
 “Machine Learning in Automated Text Categorization” (Fabrizio Sebastiani
(2002)) [8].
Và các ứng dụng của NLP vào lĩnh vực kinh tế như:


5

 Tiếp thị (Marketing): phân tích giọng nói, nghiên cứu thị trường, phân tích khảo
sát …
 Những ứng dụng mail: một trong những tính năng cơ bản nhưng rất quan trọng
trong các hệ thống mail là khả năng tự động xác định các thư rác, thư quảng
cáo. Đây là một ví dụ điển hình của bài toán phân loại văn bản tự động.
 Kinh doanh (Business): trí tuệ cạnh tranh, phân tích tâm lý, phân loại tài liệu,
phân tích rủi ro …
 Công nghiệp riêng: phát hiện gian lận, nghiên cứu y khoa …

1.1.1.

Mục tiêu nghiên cứu
Xây dựng được hệ thống phát hiện, thu thập, tổng hợp và phân loại các ý kiến,

phản hồi từ người dùng (khách hàng). Phục vụ cho việc tổng hợp, xem xét, đánh giá,
và phân tích kinh doanh sản phẩm của một website thương mại điện tử.
Các yêu cầu cụ thể của hệ thống:
 Thu thập được thông tin phản hồi từ khách hàng trên website thương mại điện
tử.
 Phân tích tỉ lệ % độ tích cực của các phản hồi đã thu thập được.


1.1.2.

Đối tượng và phạm vi nghiên cứu

 Đối tượng nghiên cứu:
o Nghiên cứu các chức năng cơ bản của một hệ thống truy hồi thông tin.
o Nghiên cứu kỹ thuật web crawler.
o Nghiên cứu các thuật toán phân loại văn bản.
o Khảo sát dựa vào nguồn thông tin ý kiến, phản hồi và đánh giá sản
phẩm từ khách khàng trên website thương mại điện tử mà hệ thống
thu thập được.
 Phạm vi nghiên cứu:


6

o Đầu vào: nguồn thông tin ý kiến, phản hồi về sản phẩm từ các người
dùng (khách hàng) mà hệ thống thu thập được. Định dạng là văn bản
tiếng Anh và tiếng Việt.
o Đầu ra: kết quả % độ tích cực phản hồi từ khách hàng trên website
Amazon (amazon.com) và Lazada (lazada.vn) từ nhiều thuật toán.
 Những vấn đề luận văn quan tâm
o Truy hồi thông tin.
o Phân loại văn bản.
o Cách đánh giá độ tích cực văn bản từ một số thuật toán.

1.1.3.

Ý nghĩa của luận văn
Luận văn đưa ra cách thức và triển khai ứng dụng phân loại, đánh giá phản hồi


của người dùng, hỗ trợ doanh nghiệp nắm bắt chính xác và kịp thời trong kinh doanh.

1.2. Kết luận chương 1
Chương này đã tổng quát được về Xử Lý Ngôn Ngữ Tự Nhiên (NLP), khảo sát
một số các công trình nghiên cứu trong lĩnh vực truy hồi thông tin, phân loại ngữ
nghĩa văn bản.
Hiểu được một lĩnh vực đầy thách thức trong Machine Learning. Giúp ta cảm
nhận được lợi ích và tầm quan trọng của NLP trong chiến lượt kinh doanh của các
doanh nghiệp trong thời đại kinh tế thị trường cạnh tranh.
Các chương tiếp theo của luận văn sẽ trình bày chi tiết hơn các hướng tiếp cận
trong lĩnh vực này.


7

Chương 2 - CƠ SỞ LÝ THUYẾT
Chương này trình bày về các mô hình truy hồi thông tin và bài toán phân loại
văn bản. Tìm hiểu quá trình thực hiện phân loại văn bản đồng thời khảo sát một số
thuật toán trong lĩnh vực này.

2.1. Truy hồi thông tin
Hệ thống truy hồi thông tin (hay còn gọi là Truy vấn 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 trên nội dung
khác).
Những hệ thống truy hồi thông tin tự động được sử dụng để giảm thiểu “quá tải
thông tin”. Tập trung vào việc truy hồi các tài liệu dựa trên nội dung của các thành
phần không có cấu trúc. Một câu truy vấn của người dùng sẽ mô tả các tính chất của
các thành phần có cấu trúc và không có cấu trúc của tài liệu được truy hồi. Ví như các

trường đại học và thư viện công cộng sử dụng hệ thống truy hồi thông tin để cung cấp
truy cập đến sách báo và các tài liệu khác hoặc các máy tìm kiếm trên web được coi là
những ứng dụng truy hồi thông tin dễ nhận thấy nhất như: google, bing …
Hệ thống truy hồi thông tin tìm kiếm các tài liệu trong một tập cho trước về một
chủ đề nào đó hoặc thỏa mãn một nhu cầu thông tin nào đó. Chủ đề hoặc nhu cầu
thông tin được biểu diễn bởi một câu truy vấn, được phát sinh bởi người dùng. Các tài
liệu thỏa mãn câu truy vấn được xác định bởi người dùng thì được xem là phù hợp.
Các tài liệu không nói về chủ đề được cho trước được xem là không phù hợp. Một hệ
thống truy hồi thông tin có thể sử dụng câu truy vấn để phân loại các tài liệu, trả về
cho người dùng một tập con các tài liệu thỏa mãn các tiêu chuẩn phân loại. Tỉ lệ các
tài liệu trả về cho người dùng được người dùng kết luận là phù hợp càng cao thì nghĩa
là các tiêu chuẩn phân loại càng tốt.


8

Ngoài ra, một hệ thống truy hồi thông tin còn có thể xếp hạng các tài liệu. Tài
liệu D1 xếp hạng cao hơn trong câu truy vấn Q so với tài liệu D2 có thể được hiểu là tài
liệu D1 thỏa mãn câu truy vấn Q nhiều hơn tài liệu D2. Điều này cũng tương đương với
việc tài liệu D1 đúng với nhu cầu thông tin của người dùng nhiều hơn tài liệu D2.
Khái niệm “phù hợp” là một khái niệm mấu chốt trong hệ thống truy hồi thông
tin. “Phù hợp” là một khái niệm mang tính chất chủ quan trong ngữ cảnh sự hài lòng
của người dùng về những tài liệu truy hồi được cho câu truy vấn của họ là mục tiêu tối
hậu. Do đó, sự phán xét của người dùng về việc các tài liệu truy hồi được có thỏa mãn
câu truy vấn của họ hay không trở thành tiêu chuẩn của khái niệm “phù hợp”. Ngoài
yếu tố câu truy vấn và tập tài liệu thì ngữ cảnh cũng đóng một vai trò quan trọng ảnh
hướng đến khái niệm “phù hợp”. Mỗi người dùng có thể sẽ có những nhu cầu cá nhân
khác nhau, sở thích khác nhau, kiến thức khác nhau, chuyên môn khác nhau, ngôn ngữ
khác nhau,… Do đó, một tài liệu được truy hồi cho một câu truy vấn có thể “phù hợp”
với người dùng A nhưng có thể “không phù hợp” vời người dùng B. Một hướng tiếp

cận để giải quyết vấn đề này là tổ chức lưu trữ những thông tin cá nhân của người
dùng ảnh hưởng đến việc truy hồi thông tin như: sở thích, kiến thức, chuyên môn,
ngôn ngữ,… từ đó làm cơ sở để truy hồi những tài liệu “phù hợp” nhất đối với người
dùng.
Để đo đạc sự hiệu quả của hệ thống truy hồi thông tin, có 2 độ đo là độ chính
xác và độ phủ, cả 2 độ đo này đều dựa trên khái niệm “phù hợp”. Độ chính xác được
định nghĩa là tỉ lệ các tài liệu phù hợp được truy hồi trên tổng số tài liệu được truy hồi
hoặc xác suất một tài liệu được truy hồi là phù hợp. Độ phủ được định nghĩa là tỉ lệ
các tài liệu phù hợp được truy hồi trên tổng số các tài liệu phù hợp hoặc xác suất một
tài liệu phù hợp được truy hồi. Giữa 2 độ đo này tồn tại một sự đánh đổi. Nếu một hệ
thống truy hồi thông tin truy hồi tất cả tài liệu trong tập thì nó chắc chắn truy hồi tất cả
tài liệu phù hợp, lúc này độ phủ đạt giá trị tối đa nhưng độ chính xác sẽ rất thấp và
ngược lại. Giả định thông thường là người dùng muốn hệ thống truy hồi thông tin đạt
được sự kết hợp tối ưu giữa độ chính xác và độ phủ nghĩa là người dùng mong muốn


9

truy hồi tất cả những tài liệu phù hợp và không có bất kì tài liệu không phù hợp nào
được truy hồi. Nhưng sự giả định này cũng dẫn tới một số điều bất cập. Có những
trường hợp người dùng chỉ muốn một tập nhỏ trong tập khổng lồ các tài liệu phù hợp.
Tập các tài liệu phù hợp có thể chứa đựng sự dư thừa, một vài tài liệu trong tập tài liệu
phù hợp có thể cung cấp đầy đủ thông tin mà người dùng cần. Người dùng có thể cần
tìm kiếm các chứng cứ để hỗ trợ cho giả thuyết hoặc làm giảm độ bất định của giả
thuyết, trong trường hợp này một vài tài liệu phù hợp cũng có thể cung cấp cho người
dùng các chứng cứ. Người dùng cũng có thể chỉ cần những tài liệu được cập nhật gần
đây nhất chứ không cần các tài liệu cũ, ví dụ như tài liệu về thông tin giá cả thị trường
về một vài sản phẩm. Nhìn chung, thông thường sẽ có nhiều tập con các tài liệu phù
hợp mà mỗi tập sẽ làm hài lòng yêu cầu của người dùng. Ngoài ra, 2 tài liệu phù hợp
có thể trình bày góc nhìn đối lập nhau về một số vấn đề quan tâm của người dùng, vì

vậy mà người dùng có thể nhầm lẫn nghiêm trọng nếu chỉ nhìn vào một vài tài liệu
phù hợp.
Trong thực tế, một số người dùng quan tâm hơn tới độ chính xác vì họ chỉ
muốn duyệt qua các tài liệu phù hợp mà không muốn phải duyệt qua quá nhiều tài liệu
không phù hợp. Một số người dùng khác thì quan tâm tới độ phủ hơn vì họ muốn
duyệt càng nhiều tài liệu liên quan càng tốt. Do đó, Van Rijsbergen đã đề xuất độ đo E
(Effectiveness), để biểu diễn sự quan hệ giữa độ chính xác và độ phủ [2]:
E  1

1
1
1
 ( )  (1   )( )
P
R

với P là độ chính xác, R là độ phủ và a là tham số biến thiên từ 0 đến 1
 α = 0 người dùng không quan tâm đến độ chính xác.
 α = 0.5 người dùng quan tâm đến độ chính xác và độ phủ như nhau.
 α = 1 người dùng không quan tâm đến độ phủ.


10

Tổng quan các hướng tiếp cận truy hồi thông tin

2.1.1.

Có 2 hướng tiếp cận truy hồi thông tin chính là ngữ nghĩa và thống kê. Các cách
tiếp cận ngữ nghĩa cố gắng thực hiện một số mức độ phân tích cú pháp và ngữ nghĩa.

Trong các cách tiếp cận thống kê, các tài liệu được truy hồi là các tài liệu được xếp thứ
hạng cao, nghĩa là có mức độ phù hợp với câu truy vấn cao dựa trên độ đo thống kê
nào đó.
Các hướng tiếp cận thống kê rơi vào một trong các mô hình sau: boolean,
boolean mở rộng, vector space và xác suất. Các hướng tiếp cận thống kê chia các tài
liệu và các câu truy vấn thành các “term”. Các “term” có tính chất phổ biến, được đếm
và đo đạc dựa vào thống kê. Các “term” là các từ xuất hiện trong một câu truy vấn cho
trước hoặc tập các tài liệu.
Các từ thường xuất hiện dưới dạng chưa được xử lý, các từ phải qua bước xử lý
“stemmed” để nhận được từ gốc. Mục đích của quá trình này là loại trừ các biến thể
xuất hiện do các thể văn phạm khác nhau của một từ. Ví dụ: “retrieve”, “retrieved”,
“retrieves”. Các từ trong ví dụ trên cần được nhận diện là các thể của cùng một từ. Vì
vậy, người dùng đưa ra câu truy vấn cần phải xác định các thể có thể có của một từ mà
họ cho rằng có thể xuất hiện trong tài liệu mà họ đang tìm kiếm. Tuy nhiên, trong tiếng
Việt, các từ không có “stemming”, do đó không cần quá trình “stemmed” để tiền xử lý
văn bản.
Một quá trình khác trong khâu tiền xử lý văn bản là loại bỏ các từ dùng chung
không có nghĩa, các từ này gọi là “stop word”. Các công cụ thu thồi thông in
(Information Retrieval - IR) thường cung cấp một “stop list” để loại bỏ những từ hay
xuất hiện trong câu nhưng không góp phần vào quá trình học của hệ thống khi tiền xử
lý văn bản. Trong tiếng Việt, có nhiều “stop word”, ví dụ như: “bị”, “bởi”, “càng”,
“ôi”, “than ôi”, “trời ơi”,… Trong tiếng Anh như: “and”, “is”, “the”,…
“Stemming” và “stop word” phụ thuộc vào ngôn ngữ, từng ngôn ngữ khác nhau
sẽ có các dạng “stemming” và các “stop word” khác nhau.


11

Một số công cụ tinh vi có thể trích các “cụm từ” như là các “term”. Một cụm từ
là sự kết hợp của các từ đứng liền kề và có thể được xác định thông qua tần số của việc

đồng thời xuất hiện trong tập cho trước hoặc được xác định bằng cách dùng từ điển.
Các trọng số thường được gán cho các “term” trong tài liệu và trong câu truy
vấn. Một trọng số được gán cho một “term” trong một tài liệu có thể khác với trọng số
được gán cho chính “term” đó nhưng trong tài liệu khác. Trọng số thường là độ đo về
sự hiệu quả của “term” thường được dùng trong việc phân biệt các tài liệu trong tập
cho trước. Trọng số thường được chuẩn hóa để nằm trong đoạn [0..1]. Trọng số cũng
có thể được gán cho “term” trong câu truy vấn. Trọng số của “term” trong câu truy vấn
thường là độ đo về tầm quan trọng của “term” trong việc tính toán độ phù hợp giữa
câu

truy

vấn



tài

liệu.

Cũng

như

với

các

tài


liệu,

một

“term” cũng có thể có các trọng số khác nhau trong các câu truy vấn khác nhau. Trọng
số của các “term” trong câu truy vấn cũng thường được chuẩn hóa nằm trong đoạn
[0..1].
Theo hướng tiếp cận thống kê thì một tài liệu thường được biểu diễn dưới dạng
một tập hợp các từ khóa độc lập nhau. Hướng tiếp cận thống kê thường được dùng cho
việc biểu diễn các tài liệu mà không xét đến hình thái của từ, thứ tự của các từ hay vị
trí xuất hiện của từ trong tài liệu cũng như các mối quan hệ ngữ nghĩa giữa chúng, do
đó cách biểu diễn này mang mức độ thông tin thấp và nếu nhìn dưới góc nhìn của ngôn
ngữ học thì đã không xử lý các biến thể về mặt ngôn ngữ học của các từ như biến thể
về hình thái học, biến thể về từ vựng học, biến thể về ngữ nghĩa học và biến thể về cú
pháp học. Hướng tiếp cận ngữ nghĩa có thể giải quyết các vấn đề trên. Một số hướng
tiếp cận theo ngữ nghĩa như: hướng tiếp cận xử lý ngôn ngữ tự nhiên, hướng tiếp cận
ontology.

2.1.2.

Truy hồi thông tin theo hướng thống kê


12

2.1.2.1.

Mô hình Boolean [3]

Mô hình Boolean dựa trên lý thuyết tập hợp và đại số logic. Câu truy vấn được

phân tích thành các từ khóa truy vấn. Các tài liệu được đánh giá bởi việc có chưa hoặc
không chứa các từ khóa truy vấn.
Trong mô hình Boolean, câu truy vấn được xây dựng như là sự kết hợp các giá
trị boolean của các term, nghĩa là xác định các điều kiện có term xuất hiện hoặc không
có term xuất hiện. Một câu truy vấn điển hình sử dụng các toán tử AND, OR và NOT.
Câu truy vấn “t1 AND t2” sẽ được thỏa mãn bởi tài liệu D1 nếu và chỉ nếu D1 chứa cả
term t1 và term t2. Tương tự, câu truy vấn “t1 OR t2” sẽ được thỏa mãn bởi tài liệu D1
nếu và chỉ nếu D1 chứa term t1 hoặc chứa term t2 hoặc chứa cả 2. Câu truy vấn “t1
AND NOT t2” được thỏa mãn bởi tài liệu D1 nếu và chỉ nếu D1 chứa t1 và không chứa
t2. Các câu truy vấn phức tạp hơn có thể được xây dựng từ nhiều toán tử hơn và được
tính toán theo quy tắc của đại số Boolean. Khi xem xét một tài liệu D1 có phù hợp với
câu truy vấn q thì chỉ có 2 khả năng có thể xảy ra: D1 phù hợp với q hoặc D1 không
phù hợp với q. Do đó, không thể xếp hạng các tài liệu. Trong trường hợp có stemming,
một câu truy vấn yêu cầu phải có từ “retrieve” sẽ được thỏa mãn bởi các tài liệu có các
từ “retrieval”, “retrieves”,…
Mô hình Boolean có thể được áp dụng vào các hệ thống truy hồi thông tin với
một số tinh chỉnh:
 Thứ nhất, truy vấn có thể được áp dụng cho một thành phần cú pháp đặc biệt
của mỗi tài liệu, ví dụ điều kiện boolean có thể được áp dụng cho tiêu đề hoặc
phần tóm tắt.
 Thứ hai, bổ sung thêm một toán tử boolean vào tập hợp ban đầu, ví dụ như toán
tử “proximity” dùng để xác định độ gần nhau giữa hai term trong đoạn văn bản.
Toán tử này có thể chỉ ra rằng hai term không chỉ cùng xuất hiện trong tài liệu
đang xét mà còn cách nhau trong phạm vi n từ (n = 0 nghĩa là hai từ đứng liền
kề nhau).


13

 Thứ ba, mô hình boolean cổ điển có thể được xem như là một cách thức thô sơ

để biểu diễn những cụm từ và những mối quan hệ đồng nghĩa (gần nghĩa). Ví
dụ, t1 AND t2 có thể biểu diễn cho một cụm từ gồm 2 term t1 và t2 liên kết với
nhau hay t1 OR t2 có thể biểu diễn cho quan hệ đồng nghĩa giữa 2 term. Thực tế,
đã có nhiều hệ thống sử dụng ý tưởng này để xây dựng những điều kiện
boolean mở rộng một cách tự động, ví dụ, cho một tập hợp các term truy vấn
được cung cấp bởi người dùng, một biểu thức boolean được tạo lập bằng cách
dùng các toán tử AND, OR liên kết các term truy vấn với những từ đồng nghĩa
tương ứng đã được lưu trữ trước.
Cách tiếp cận Boolean điển hình không sử dụng “term weights”, mà chỉ sử dụng
2 giá trị nhị phân là 0 và 1. Giá trị 0 nghĩa là term không xuất hiện và giá trị 1 nghĩa là
term có xuất hiện. Mô hình Boolean có thể được xem như là một cách đơn giản để
biểu diễn các cụm từ hoặc các mối quan hệ từ điển. Ví dụ, câu truy vấn “t1 AND t2”
mang ý nghĩa là cả t1 và t2 phải xuất hiện, một điều kiện có thể được áp dụng nếu 2
term hình thành một cụm từ. Nếu một toán tử “priximity” được triển khai, điều kiện
boolean có thể được thiết lập để biểu diện rằng t2 phải theo ngay sau t1, nghĩa là t1 và t2
hình thành một cụm từ. Tương tự, câu truy vấn “t1 OR t2” mang ý nghĩa là t1 xuất hiện
hoặc t2 xuất hiện hoặc cả t1 và t2 xuất hiện. Điều này cũng tương đương với việc biểu
diễn t1 và t2 là tương được nhau hoặc t1 và t2 là cùng một lớp trong từ điển.
Tóm lượt như sau:
T = { t1, t2, …, tn} là tập tất cả các từ khóa (từ điển).
D = { D1, D2, …, Dn} là tập tất cả các tài liệu.
trong đó D1 = { d1, d2, …, di} là một tài liệu chứa di là một từ khóa.
Q = (W1 OR W2) AND … AND (Wm OR Wn OR Wp) là câu truy vấn (dữ liệu
vào)
trong đó W1 = Ti hoặc W1 = NOT Ti
Những tài liệu cần tìm là các tài liệu có chứa hoặc không chứa Wi:


14


Sij = { 0 nếu Wi không thuộc Dj; 1 nếu Wi thuộc Dj }
Ưu điểm của mô hình Boolean:
 Đơn giản, dễ hiểu, dễ cài đặt và sử dụng.
 Mô hình lý thuyết chặt chẽ, rõ ràng.
 Trả về những kết quả chứa chính xác các từ khóa tìm kiếm.
Hạn chế của mô hình Boolean:
 Không xếp hạng, không xác định được mức độ liên quan giữa tài liệu và câu
truy vấn.
 Đặc tính ALL – OR – NOTHING, hệ thống chỉ xác định hai trạng thái là tài
liệu có liên quan hoặc không liên quan với câu truy vấn nên kết quả trả về hoặc
là quá nhiều hoặc không có gì cả. Do đó, hiệu quả truy tìm không cao.
 Mối quan hệ giữa các term hay thứ tự giữa chúng không được xét đến.
 Việc chuyển một câu truy vấn của người dùng sang dạng biểu thức Boolean
không đơn giản, người dùng sẽ gặp khó khăn trong việc xây dựng các biểu thức
truy vấn boolean.
Khi đã bổ sung thêm toán tử “proximity” thì điều kiện boolean vẫn là đúng hoặc
sai, hoặc nói cách khác là điều kiện boolean mang tính chất “tất cả hoặc không có gì”
(all – or – nothing ) dẫn tới trường hợp là hệ thống có thể tìm thấy một số lượng lớn tài
liệu liên quan hoặc là không có tài liệu nào. Hơn nữa, trong trường hợp câu truy vấn
bao gồm nhiều term liên kết với nhau bởi toán tử OR, một tài liệu có chứa tất cả (hay
nhiều) term truy vấn cũng không được xem là tốt hơn so với một tài liệu chỉ chứa một
term. Tương tự, trong trường hợp với toán tử AND, một tài liệu chứa được gần hết các
term vẫn được xem là không phù hợp giống như một tài liệu không chứa term nào. Từ
những hạn chế nêu trên, nhiều mô hình boolean mở rộng đã được nghiên cứu phát
triển nhằm sắp hạng kết quả trả về. Những mô hình này sử dụng nhiều toán tử boolean
mở rộng khác.


×