ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đào Quốc Vương THU HỒI QUAN ĐIỂM VỀ THỰC THỂ TRÊN MẠNG XÃ HỘI TWITTER KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành:Công nghệ thông tin HÀ NỘI - 2013
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đào Quốc Vương
THU HỒI QUAN ĐIỂM VỀ THỰC THỂ
TRÊN MẠNG XÃ HỘI TWITTER
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành:Công nghệ thông tin
HÀ NỘI - 2013
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đào Quốc Vương
THU HỒI QUAN ĐIỂM VỀ THỰC THỂ
TRÊN MẠNG XÃ HỘI TWITTER
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành:Công nghệ thông tin
Cán bộ hướng dẫn: PGS.TS Hà Quang Thụy
Cán bộ đồng hướng dẫn:NCS Vũ Ngọc Trình
HÀ NỘI – 2013
VIETNAM NATIONAL UNIVERSITY, HANOI
UNIVERSITY OF ENGINEERING AND TECHNOLOGY
Dao Quoc Vuong
OPINION RETRIEVALABOUT ENTITY
IN TWITTER
Major: Information technology
Supervisor: Assoc. Prof. Ha Quang Thuy
Co-Supervisor: Masters. Vu Ngoc Trinh
HA NOI-2013
THU HỒI QUAN ĐIỂM VỀ THỰC THỂ TRÊN MẠNG XÃ HỘI TWITTER
Đào Quốc Vương
Khóa QH-2009-I/CQ, ngành công nghệ thông tin
Tóm tắt khóa luận:
Thu hồi quan điểm (opinion retrieval) là bài toán tiến hành thu hồi các quan điểm
trong một nguồn tài liệu, trong đó có các mạng xã hội, chẳng hạn như Twitter. Thu hồi
quan điểm có nhiều ứng dụng và được dựa trên các giải pháp công nghệ tiên tiến vì vậy
thu hút sự quan tâm đặc biệt của nhiều nhóm nghiên cứu trên thế giới. Nhiều công trình
nghiên cứu về thu hổi quan điểm đã được công bố [1,6,9,12,15,16,22]. Trong một vài năm
gần đây, một số nghiên cứu về thu hồi quan điểm từ mạng Twitter đã được công bố.
Trên cơ sở tìm hiểu và phân tích các công trình nghiên cứu liên quan, đặc biệt là các
công trình [1,2,6,22], khóa luận khảo sát các phương pháp thu hồi quan điểm trên nhiều
miền, nhiều lịch vực. Trên cơ sở các phân tích nói trên, khóa luận đề nghị một mô hình
thu hồi quan điểm trên mạng xã hội Twitter.
Đồng thời, khóa luận xây dựng hệ thống thử nghiệm thi hành mô hình nói trên và
hành thực nghiệm với bộ dữ liệu (253711 tweet) được lấy bằng Twitter Search API. Kết
quả thực nghiệm đạt độ chính xác phân lớp chủ quan khoảng 76.7% và phân lớp phân cực
khoảng hơn 81%, cho thấy tính hiệu quả của mô hình đề xuất.
Từ khóa: Opinion, retrieval, twitter
OPINION RETRIEVAL ABOUT ENTITY IN TWITTER
Dao Quoc Vuong
QH-2009-I/CQ course, information technology faculty.
Abstract thesis:
Opinion retrieval is problem to recover the perspective of a resource, including
social networking sites, such as Twitter. Opinion retrieval is a problem with many
applications, has attracted the special attention of many research group around the world.
Many research works were recovered announced [1,6,9,12,15,16,22]. In particular, there
have been some studies on the recovery from Twitter for a few years.
On the basis of understanding and comparison of research works related above,
especially the works [1,2,6,22], thesis explored methods perspective on recovery multiple
domains, many tourist areas, through the process of understanding and analysis, the thesis
proposed model recovery perspective on social network twitter.
With the flourish of online social network such as Twitter, Facebook, social data
network is becoming a more and more useful and important information and resource for
people and organization. This flourishing is not only a chance but also a challenge to
build an opinion search and retrieval system. This thesis study and propose an opinion
retrieval on Twitter. The experimental results show the effectiveness of the proposed
system.
At the same time, the implementation of the thesis mentioned above with a model
experimental system and conducted experimental evaluation of the model on data taken
over twitter with Twitter Search API. The experimental results achieved subjective
classification of about 76.7%, classification accuracy of about 81.% polarization showed
the effectiveness of the proposed model.
Keyword: Opinion, retrieval, twitter
Lời cảm ơn
Lời đầu tiên, khóa luận xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới PGS.TS
Hà Quang Thụy, NCS Vũ Ngọc Trình đã tận tình hướng dẫn và chỉ bảo khóa luận trong
suốt quá trình thực hiện khóa luận tốt nghiệp.
Khóa luận xin chân thành cảm ơn các thầy, cô trong trường đại học Công Nghệ - đại
học Quốc gia Hà Nội đã tạo mọi điều kiện thuận lợi cho khóa luận học tập và nghiên cứu.
Khóa luận cũng xin gửi lời cảm ơn đến các thầy cô, các anh chị, các bạn trong
phòng thí nghiệm KT-Lab đã hỗ trợ khóa luận rất nhiều về kiến thức chuyên môn trong
quá trình thực hiện khóa luận. Khóa luận xin cảm ơn các bạn trong lớp K54CLC đã ủng
hộ và khuyến khích khóa luận trong suốt suốt quá trình học tập tại trường.
Cuối cùng, khóa luận xin được gửi cám ơn vô hạn tới gia đình và bạn bè, những
người đã luôn bên cạnh, giúp và động viên khóa luận trong quá trình học tập cũng như
trong suốt quá trình thực hiện khóa luận này.
Khóa luận xin chân thành cảm ơn!
Hà Nội, ngày 13 tháng 05 năm 2013
Sinh viên
Đào Quốc Vương
Lời cam đoan
Khóa luận xin cam đoan phương pháp thu hồi quan điểm về thực thể trên mạng xã
hội twitter và thực nghiệm được trình bày trong khóa luận này là do khóa luận thực hiện
dưới sự hướng dẫn của PGS.TS Hà Quang Thụy và NCS Vũ Ngọc Trình.
Tất cả các tài liệu tham khảo từ các nghiên cứu liên quan đều có nguồn gốc rõ ràng
từ danh mục tài liệu tham khảo trong khóa luận. Trong khóa luận, không có việc sao chép
tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài liệu tham khảo.
Hà Nội, ngày 13 tháng 05 năm 2015
Sinh viên
Đào Quốc Vương
Mục lục
Lời mở đầu 1
Chương 1. Khái quát bài toán thu hồi quan điểm về thực thể trên mạng xã hội
Twitter 3
1.1. Mạng xã hội twitter ....................................................................................... 3
1.1.1. Mạng xã hội .............................................................................................. 3
1.1.2. Giới thiệu về mạng xã hội twitter ............................................................. 4
1.1.3. Dữ liệu trên twitter .................................................................................... 8
1.2. Phát biểu bài toán .......................................................................................... 9
1.2.1. Bài toán thu hồi quan điểm ....................................................................... 9
1.2.2. Bài toán thu hồi quan điểm về thực thể trên mạng xã hội twitter ............ 9
1.2.3. Ý nghĩa của bài toán thu hồi quan điểm về thực thể trên mang xã hội .. 10
1.2.4. Khó khăn và thách thức .......................................................................... 11
1.3. Tóm tắt chương 1 ........................................................................................ 11
Chương 2. Cơ sở lý thuyết và các ngiên cứu liên quan ....................................... 12
2.1. Hệ thống phân lớp quan điểm ..................................................................... 12
2.1.1. Các đặc trưng phân lớp quan điểm ......................................................... 12
2.1.2. Phân lớp quan điểm chủ quan/khách quan ............................................. 15
2.1.3. Phân lớp quan điểm phân cực ................................................................. 16
2.2. Thuật toán SVM.......................................................................................... 17
2.2.1. Giới thiệu thuật toán ............................................................................... 17
2.2.2. Cách áp dụng thuật toán SVM vào bài toán phân lớp quan điểm .......... 18
2.3. Độ tương đồng ............................................................................................ 19
2.3.1. Độ đo Cosine .......................................................................................... 20
2.3.2. Độtương đồngdựa trên khoảng cách Lenvenshtein ................................ 20
2.4. Áp dụng độ tương đồng cho bài toán thu hồi quan điểm về thực thể trên
mạng xã hội twitter ................................................................................................ 22
2.5. Twitter Search API ..................................................................................... 23
2.6. Tóm tắt chương 2 ........................................................................................ 27
Chương 3. Mô hình đề xuất ................................................................................... 28
3.1. Mô hình giải quyết bài toán ........................................................................ 28
3.2. Giải quyết chi tiết các pha .......................................................................... 30
3.2.1. Crawler dữ liệu tweet liên quan đến thực thể (query), tiền xử lý và chuẩn
hóa dữ liệu tweet .............................................................................................. 30
3.2.2. Xây dựng bộ phân lớp chủ quan/khách quan, sử dụng bộ phân lớp chủ
quan/khách quan để phân lớp cho dữ liệu tweet mới đã được chuẩn hóa ........ 33
3.2.3. Xây dựng bộ phân phân cực, sử dụng bộ phân lớp phân cực để phân lớp
các dữ liệu tweet chủ quan ............................................................................... 34
3.2.4. Trực quan hóa kết quả từ dữ liệu tweet đã được gán nhãn phân cực ..... 35
3.3. Tóm tắt chương 3 ........................................................................................ 35
Chương 4. Thực nghiệm và đánh giá.................................................................... 37
4.1. Hướng tiếp cận thực nghiệm ........................................................................... 37
4.2. Môi trường thực nghiệm ................................................................................. 38
4.2.1. Cấu hình phần cứng ................................................................................ 38
4.2.2. Công cụ phân mềm ................................................................................. 38
4.3.Dữ liệu .............................................................................................................. 38
4.4. Thực nghiệm ................................................................................................... 39
4.4.1.Xây dựng bộ phâp lớp chủ quan/khách quan .......................................... 39
4.4.2. Sử dụng bộ phân lớp chủ quan/ khách quan với dữ liệu đã được chuẩn
hóa ................................................................................................................ 40
4.4.3. Xây dựng bộ phân lớp phân cực ............................................................. 40
4.4.4. Sử dụng bộ phân lớp phân cực ............................................................... 40
4.4.5 Trực quan hóa kết quả ............................................................................. 41
4.5. Đánh giá hệ thống ........................................................................................... 44
4.5 Tóm tắt chương 4 ............................................................................................. 45
Kết luận và định hướng tiếp theo ........................................................................... 46
Tài liệu tham khảo ................................................................................................... 47
Danh sách bảng
Bảng 1. Cách sử dung Search API ........................................................................ 26
Bảng 2. Các từ mã hóa HTML.............................................................................. 31
Bảng 3. Ví dụ về biểu tượng cảm xúc trong từ điển ............................................. 31
Bảng 4. Ví dụ từ điển chuẩn hóa........................................................................... 32
Bảng 5. Ví dụ về từ điển viết tắt ........................................................................... 32
Bảng 6. Các đặc trưng sử dụng trong bộ phân lớp chủ quan/ khách quan ........... 33
Bảng 7. Một số từ mang quan điểm trong từ điển quan điểm .............................. 34
Bảng 8. Các đặc trưng sử dụng trong bộ phân lớp phân cực ................................ 35
Bảng 9. Cấu hình phần cứng ................................................................................. 38
Bảng 10. Công cụ phần mềm sử dụng .................................................................... 38
Bảng 11. Kết quả sử dụng bộ phân lớp chủ quan/ khách quan ............................... 40
Bảng 12. Kết quả sử dụng bộ phân lớp phân cực ................................................... 41
Danh sách hình vẽ
Hình 1. Những hình ảnh thể hiện mạng xã hội năm 2012 ..................................... 4
Hình 2. Rút gọn link trên tweet .............................................................................. 5
Hình 3. Kiến trúc ứng dụng sử dụng mô hình Rest API ........................................ 8
Hình 4. Kiến trúc ứng dụng sử dụng mô hình Stream API .................................... 9
Hình 5. Mặt siêu phẳng phân chia tập dữ liệu thành hai lớp dương và âm. ......... 18
Hình 6. Mô hình giải quyết bài toán ..................................................................... 28
Hình 7. Dữ liệu thực nghiệm ................................................................................ 39
Hình 8. Biểu diễn tổng quan các thực thể về quan điểm ...................................... 41
Hình 9. Biểu diễn quan điểm về Iphone5 theo phần trăm .................................... 42
Hình 10. Biểu diễn số lượng quan điểm về Iphone5 .............................................. 42
Hình 11. Biểu diễn quan điểm về Iphone5 theo thời gian biểu đồ cột ................... 43
Hình 12. Biểu diễn quan điểm về Iphone5 theo thời gian biểu đồ đường ............. 44
Danh sách các từ viết tắt
Từ viết tắt Cụm từ
SVM Support Vector Machine
NLP Natural Language Processing
POS Part-of-speech
API Application programming interface
SVMs Support vector machines
CNTT Công nghệ thông tin
ASCII American Standard Code for Information Interchange
SMS Short Message Service
URL Uniform Resource Locator
TF-IDF term frequency–inverse document frequency
JSON JavaScript Object Notatio
HTML HyperText Markup Language
1
Lời mở đầu
Sự bùng nổ ngày càng mạnh mẽ của mạng xã hội mở ra nhiều cơ hội cho các tổ
chức, cá nhân thu thập, tìm kiếm thông tin cũng như xử lý chúng và nhiều bài toán được
đặt ra để khai thác nguồn thông tin dồi dào từ mạng xã hội.
Thu hồi quan điểm là một trong các bài toán khai thác thông tin, giúp người dùng có
thể có được những thông tin mong muốn về quan điểm. Tương tự như bài toán thu hồi
web thông thường, thu hồi quan điểm giúp người dùng tìm được những tài liệu quan điểm
liên quan đến truy vấn. Tuy nhiên, điều khác biệt quan trọng hơn là thu hồi quan điểm còn
bao gồm nội dung tổng hợp quan điểm từ các tài liệu quan điểm thu hồi được.
Với sự phát triển nhanh chóng cùng với các API hỗ trợ, mạng xã hội Twitter đã trở
thành một nguồn cung cấp nhiều thông tin quan điểm cho những người nghiên cứu về
mạng xã hội.
Đã có nhiều công trình nghiên cứu, chẳng hạn[1,6,9,12,15,22], liên quan đến bài
toán thu hồi quan điểm theo các phương pháp khác nhau từ nhiều nguồn dữ liệu. Nói
riêng, nhiều công trình nghiên cứu về thu hồi quan điểm trên twitter đã được công
bố[2,3,7,13,22].
Thông quan tìm hiểu và phân tích các phương pháp khai phá quan điểm trên các
miền dữ liệu khác nhau[5,14,19,20], khóa luận “Thu hồi quan điểm về thực thể từ mạng
Twitter” tập trung nghiên cứu bài toán thu hồi quan điểm về thực thể trên mạng xã hội
Twitter và đề xuất một mô hình giải quyết bài toán. Khóa luận gồm 4 chương:
Chương 1 trình bày về bài toán thu hồi quan điểm về thực thể trên mạng xã hội.
Chương này bắt đầu bằng việc giới thiệu về mạng xã hội, mạng xã hội twitter với dữ liệu
của nó. Sau đó bài toán thu hồi quan điểm về thực thể trên mạng xã hội được phát biểu;
cùng với nó là những trình bày về ý nghĩa của bài toán cũng như các khó khăn thách thức
trong việc giải nó.
Trong Chương 2, khóa luận trình bày tóm tắt khái quát các công trình nghiên cứu
liên quan, đồng thởi trình bày những ưu điểm, nhược điểm của các phương pháp của các
nghiên cứu liên quan đó. Thuật toán SVM và cách sử dụng thuật toán cho việc phân lớp
quan điểm được giới thiệu. Tiếp đó, khóa luận trình bày về Search API và cách thức sử
dụng nó để lấy dữ liệu phục vụ cho bài toán thu hồi quan điểm.
2
Chương 3 đưa ra mô hình giải quyết bài toán thu hồi quan điểm về thực thể trên
mạng xã hội twitter. Các pha trong mô hình và phương pháp giải quyết chi tiết ở từng pha
được mô tả. Khóa luận cũng giới thiệu dữ liệu, từ điển được dùng cho bài toán.
Chương 4. Thực nghiệm và đánh giá. Chương này chỉ ra từng bước khóa luận tiến
hành thực nghiệm và đánh giá kết quả thực nghiệm đối với kết quả thực nghiệm.
Phần Kết luận và sự định hướng tiếp theo của khóa luận tổng kết kết quả đạt
được của khóa luận, chỉ ra hạn chế và hướng khắc phục hạn chế.
3
Chương 1. Khái quát bài toán thu hồi quan điểm về thực thể trên mạng xã
hội Twitter
Để có thể tổng hợp đánh giá hay xem xét về một sản phẩm hay dịch vụ, thu hồi quan
điểm là một cách giúp chúng ta có thể có cái nhìn tổng quan về những thông tin của người
dùng đã thể hiện quan điểm.
1.1. Mạng xã hội twitter
1.1.1. Mạng xã hội
Mạng xã hội, hay gọi là mạng xã hội ảo, (tiếng Anh: social network) là dịch vụ nối
kết các thành viên cùng sở thích trên Internet lại với nhau với nhiều mục đích khác nhau
không phân biệt không gian và thời gian.
Mạng xã hội có những tính năng như chat, e-mail, phim ảnh, voice chat, chia sẻ file,
blog và xã luận. Mạng đổi mới hoàn toàn cách cư dân mạng liên kết với nhau và trở thành
một phần tất yếu của mỗi ngày cho hàng trăm triệu thành viên khắp thế giới. Các dịch vụ
này có nhiều phương cách để các thành viên tìm kiếm bạn bè, đối tác: dựa theo group (ví
dụ như tên trường hoặc tên thành phố), dựa trên thông tin cá nhân (như địa chỉ e-mail
hoặc screen name), hoặc dựa trên sở thích cá nhân (như thể thao, phim ảnh, sách báo,
hoặc ca nhạc), lĩnh vực quan tâm: kinh doanh, mua bán...
Hiện nay thế giới có hàng trăm mạng mạng xã hội khác nhau, với MySpace và
Facebook nổi tiếng nhất trong thị trường Bắc Mỹ và Tây Âu; Orkut và Hi5 tại Nam
Mỹ;Friendster tại Châu Á và các đảo quốc Thái Bình Dương. Mạng xã hội khác gặt hái
được thành công đáng kể theo vùng miền như Bebo tại Anh Quốc, CyWorld tại Hàn
Quốc, Mixi tại Nhật Bản và tại Việt Nam xuất hiện rất nhiều các mạng xã hội như: Zing
Me, YuMe,Tamtay...
Một cái nhìn tổng quan về số lượng đang sử dụng mạng xã hội, thành phần, giới
tính, lứa tuổi, thời gian sử dụng … được thể hiện một cách sơ lược qua các hình ảnh trong
hình 1.
4
Hình 1. Những hình ảnh thể hiện mạng xã hội năm 20121
1.1.2. Giới thiệu về mạng xã hội twitter
Mạng xã hội twitter ra đời vào ngày 21/3/2006 bởi Jack Dorsey và July, tính đến
tháng 4 năm 2013, Twitter có hơn 500 triệu người dùng, hơn 170 tỉ tweet, có hơn 200
triệu người dùng tích cực trong tháng và trung bình trên mỗi người dùng có 208 người
theo dõi. Trung bình có hơn 400 triệu tweet được tạo ra trên một ngày, 307 tweet trên
một người dùng, mỗi tháng trung bình một người dùng 170 phút trên twitter, có đến hơn
60% là sử dụng trên điện thoại2.
Dưới đây là một số khái niệm trong twitter:
Twitter là 1 trang micro-blog và cũng là một mạng nhắn tin.
Tweet là một đoạn văn (một SMS) của người dùng tạo ra.
1 Nguồn http://expandedramblings.com/index.php/user-demographics-of-the-major-social-networks-infographic/
2 Nguồn http://expandedramblings.com/index.php/march-2013-by-the-numbers-a-few-amazing-twitter-stats/
5
Follow theo dõi
Follower của bạn là số người đang theo dõi bạn
Following của bạn là số người bạn đang theo dõi.
Mention (hoặc reply) là một từ hoặc một cụm từ bắt đầu bằng các ký hiệu “@”, là
hành động tag tên người dùng để trả lời hoặc đề cập đến người đó.
Hashtag là một từ hoặc một cụm từ bắt đầu bằng các ký hiệu “#” được gọi là biểu
tượng băm, nó là một hình thức thẻ siêu dữ liệu, các tweets có thể được gắn thẻ bằng một
hay nhiều từ. Ví dụ “#Wikipedia is an #encyclopedia”.
Hashtag cung cấp một phương tiện của nhóm các tín nhắn như vậy, vì thể ta có thể
tìm kiếm các hashtag và nhận được tập hợp các tin nhắn đó.
Url (link) trên các tweets đều được rút gọn lại để tránh các kiểu lợi dụng đường link
nhằm lừa đảo hay pháy tán phần mềm độc hại và để giúp hiện thị tốt trên tweet (vì tweet
chỉ có 140 ký tự). Công cụ của twitter rút gọn link nhưng vẫn hiện thị tên miền đầy đủ để
người dùng có thể biết họ bấm vào đường link nào.
Một ví dụ về rút gọn link http://www.twitlonger.com/show/hppk6c thành
tl.gd/hppk6c
Hình 2. Rút gọn link trên tweet
6
Cơ chế kết nối3
Người dùng Việt Nam có lẽ đã quá quen thuộc với mạng xã hội Facebook và quen
với hình thức tương tác của Facebook. Ý nghĩa chính của mạng xã hội Facebook từ những
ngày đầu chính là tìm kiếm và kết nối bạn bè, cập nhật các thông tin cá nhân về mình và
chia sẻ những thông tin hay. Cho dù bạn có bạn bè ở xa bất kỳ đâu vẫn có thể biết được
họ đang như thế nào, cuộc sống ra sao thông qua việc cập nhật trạng thái hàng ngày.
Do đó, cơ chế của mạng xã hội Facebook là cơ chế kết nối hai chiều. Có nghĩa là
một người kết bạn với bạn thì cần phải có sự xác nhận của bạn. Còn cơ chế của mạng xã
hội Twitter thì lại khác hoàn toàn là cơ chế một chiều. Một người theo (follow) bạn thì
không cần phải chờ sự xác nhận từ bạn.
Sau khi một người follow bạn thì họ sẽ nhận được các thông tin mà bạn tweet trên
đó, tweet cũng giống như hình thức cập nhật trạng thái của Facebook. Nhưng nếu bạn
không follow lại người đó thì bạn sẽ không thấy những cập nhật của họ. Hay nói cách
khác là bạn muốn nhìn thấy được những cập nhật từ ai đó, bạn phải follow người đó.
Điểm mạnh của Twitter là số người follow bạn không giới hạn, còn số lượng người
kết nối bạn bè trong Facebook thì giới hạn với con số 5000. Do đó, Twitter thường được
ưa thích sử dụng bởi các doanh nghiệp, thương hiệu, hay những ngôi sao nổi tiếng nhằm
cập nhật những thông tin về mình cho những người quan tâm. Vì vậy, những diễn viên, ca
sĩ, ngôi sao bóng đá… trên thế giới thường sử dụng mạng xã hội này.
Thời gian sau này thì Facebook đã cho ra đời hình thức Fan page tương tự như cơ
chế một chiều để đáp ứng việc theo dõi.
Cơ chế cập nhật
Có một điểm đặc biệt và khác với nhiều mạng xã hội khác ở Twitter chính là việc
chỉ cho phép tweet với 140 ký tự. Đây cũng là một trong những lý do tại sao đa số người
Việt Nam không thích sử dụng mạng xã hội này. Thế nhưng tại sao lại như vậy?
Đó là vì nếu như bạn ở Mỹ và một số nước mà Twitter phát triển, bạn có thể nhận
được những cập nhật từ người mà bạn quan tâm thông qua tin nhắn SMS. Mà đa phần các
thiết bị di động chỉ giới hạn số ký tự cho một tin nhắn là 160 ký tự.
3 Nguồn http://www.babywolfvn.com/mang-xa-hoi-2/y-nghia-cua-mang-xa-hoi-twitter
7
Vậy vì sao lại không phải là 160 ký tự mà là 140 ký tự? Đó là vì 20 ký tự kia được
dành để hiển thị cho tên người cập nhật.
Mặt khác, việc cập nhật một status với số lượng ký tự ít ỏi này cũng tạo nên một thói
quen cho người dùng. Nhất là đối với thời buổi bận rộn hiện nay.
Tuy nhiên, hiện nay Twitter chưa hỗ trợ phần gửi tin nhắn SMS ở Việt Nam. Đó
cũng là một trong những lý do chính khiến cho Twitter không thể phát triển được ở Việt
Nam.
Từ những gì đã nêu ở trên, các bạn sẽ dễ dàng nhận thấy rằng Twitter rất tiện lợi
trong ba vấn đề sau:
Đối với bạn bè quan tâm đến bạn: Khi bạn đang ở đâu đó, bạn đi đâu đó, bạn chỉ
cần tweet lên twitter thì bạn bè thân của bạn sẽ biết được mà không cần phải gọi điện
thoại hay nhắn tin. Ví dụ như khóa luận sắp đi Hà Nội khóa luận có thể tweet lên “Chuẩn
bị đi Hà Nội”. Những bạn bè thân của khóa luận sẽ nhận được thông điệp này một cách
nhanh chóng và có thể sắp xếp để gặp bạn.
Đối với doanh nghiệp & người dùng: Các doanh nghiệp sẽ dễ dàng cung cấp
thông tin đến với người tiêu dùng của họ thông qua việt tweet lên Twitter. Người dùng
cũng dễ dàng nhận được các thông tin hỗ trợ và những chương trình khuyến mãi, hay các
thông tin về sản phẩm mới.
Đối với các ngôi sao có nhiều fan hâm mộ: Các ngôi sao có thể cập nhật những
gì mình đang làm, những chương trình mà mình tham gia, các buổi biểu diễn… Các fan
hâm mộ cũng có thể nhận được thông tin này một cách nhanh nhất trực tiếp từ chính thần
tượng của họ.
Qua đó, các bạn cũng thấy rằng không cần phải thông qua các báo đài, bạn vẫn có
thể nhận được thông tin một cách nhanh nhất một cách trực tiếp từ người bạn cần theo
dõi.
Ngoài ra, Twitter còn có cơ chế retweet, tức là tweet lại thông tin từ người khác đã
tweet. Đây cũng chính là một trong những điểm mạnh của Twitter, thông tin lan truyền
một cách nhanh chóng.
8
1.1.3. Dữ liệu trên twitter
Dữ liệu trên twitter chủ yếu là tiếng anh, dữ liệu mỗi tweet có độ dài tối đa là 140 ký
tự. Các tweet thường rất ngắn, nhiều từ viết tắt, thiếu hoặc sai chính tả.
Tweets thường chứa thêm reply (“@”), hashtag (“#”), URL(link).
Twitter cũng cấp rất nhiều API giúp người dùng dễ dàng có thể lấy dữ liệu như Rest
API, Streaming API.4
Hình 3. Kiến trúc ứng dụng sử dụng mô hình Rest API
4 Nguồn https://dev.twitter.com/docs/streaming-apis
9
Hình 4. Kiến trúc ứng dụng sử dụng mô hình Stream API
1.2. Phát biểu bài toán
1.2.1. Bài toán thu hồi quan điểm
Bài toán thu hồi quan điểm (hay còn gọi là bài toán tìm kiếm quan điểm) là một
trong các bài toán khai thác thông tin, giúp người dùng có thể có được những thông tin
mong muốn về quan điểm:[6]
Thu hồi được những câu, những tài liệu liên quan đến truy vấn, tương tự công việc
của tìm kiếm (thu hồi) web.
Phân lớp câu, tài liệu được thu hồi về theo quan điểm tích cực hay tiêu cực. đây
chính là nhiệm vụ chính của phần này.
Bài toán thu hồi quan điểm:
Đầu vào: Truy vấn (tên một thực thể, một người dùng, một câu nói …)
Đầu ra: Các tài liệu mang quan điểm liên quan đến truy vấn.
1.2.2. Bài toán thu hồi quan điểm về thực thể trên mạng xã hội twitter
Bài toán thu hồi quan điểm về thực thể trên mạng xã hội Twitter là một bài toán thu
hồi quan điểm với truy vấn thu hẹp trong phạm vi là thực thể trên dữ liệu Twitter.
10
Bài toán thu hồi quan điểm về thực thể trên mạng xã hội twitter:
Đầu vào: Tên thực thể (ví dụ iphone5, samsung, acer …).
Đầu ra: Đánh giá quan điểm về thực thể.
Bài toán này được thực hiện trên miền dữ liệu tiếng anh trên Twitter.
Mạng xã hội ngày càng lớn mạnh, twitter là một trong top 15 mạng xã hội phổ biến
nhất (twitter có số lượng người dùng đứng thứ 2)5 và Twitter cung cấp nhiều API giúp
chúng ta có thể sử dụng.
Do twitter hạn chế số lượng ký tự (tối đa 140) và chưa hỗ trợ gửi tin nhắn ở việt nam
nên lượng người dùng twitter ở Việt Nam tương đối ít.
Do vậy khóa luận chọn thu hồi quan điểm về thực thể trên mạng xã hội twitter với
dữ liệu là tiếng anh.
1.2.3. Ý nghĩa của bài toán thu hồi quan điểm về thực thể trên mang xã hội
Ta đã biết ý nghĩa góp to lớn của việc tìm kiếm web, cũng tương tự như vậy, thu hồi
(tìm kiếm) quan điểm có tầm quan trọng trong xã hội CNTT ngày càng phát triển.
Cùng với sự lớn mạnh của mạng xã hội twitter, việc thu hồi quan điểm về thực thể
trên nó càng có nhiều ý nghĩa. Thu hồi quan điểm về thực thể từ người sử dụng twitter
cho thấy quan điểm chung của cộng đồng về thực thể đó.
Khảo sát quan điểm rất có ích, ví dụ nếu một người dùng muốn mua 1 chiếc điện
thoại Iphone5 nhưng họ chưa có kinh nghiệm sử dụng chiếc điện thoại đó, họ có thể hỏi
hoặc tham khảo quan điểm từ gia đình, bạn bè … Ngoài ra họ có thể lên các diễn đàn, các
trang xã hội để tìm hiểu quan điểm của những người đã dùng chiếc điện thoại đó.
Nếu có khảo sát quan điểm về chiếc điện thoại Iphone5 theo thời gian. Người dùng
có thể thấy được một cách nhìn nhận quan điểm của cộng đồng về chiếc điện thoại
Iphone. Xu hướng và sự thay đổi quan điểm cộng động về điện thoại Iphone5. Theo thời
gian, Iphone5 (thực thể) cũng có sự thay đổi nên quan điểm của cộng đồng người dùng
cũng thay đổi theo.
5 Nguồn http://www.ebizmba.com/articles/social-networking-websites
11
1.2.4. Khó khăn và thách thức
Dữ liệu tweets rất ngắn (tối đa là 140 ký tự), có rất nhiều từ viết tắt, từ lóng, từ sai
chính tả và viết không đúng cú pháp, chất lượng và độ tin cậy thấp. Những yếu tố này làm
giảm hiệu quả khai thác quan điểm dựa trên NLP truyền thống. [20]
Twitter cũng trình bày những cơ hội thú vị để thu hồi. Môi trường phong phú thông
tin giúp chúng ta có khả năng cải thiện hiệu suất thu hồi.[20]
1.3. Tóm tắt chương 1
Chương 1 khóa luận đã giới thiệu về mạng xã hội twitter và bài toán thu hồi quan
điểm, giới thiệu bài toán thu hồi quan điểm về thực thể trên mạng xã hội twitter, lý do sử
dụng twitter để thu hồi quan điểm, cho biết tầm quan trọng của bài toán và những khó
khăn thách thức gặp phải khi giải quyết bài toán.
Chương tiếp theo khóa luận sẽ trình bày về các cơ sở lý thuyết và các ngiên cứu liên
quan đến bài toán này.
12
Chương 2. Cơ sở lý thuyết và các ngiên cứu liên quan
Đã có rất nhiều công trình nghiên cứu của các tác giả[1,6,9,12,15,16,22] liên quan
đến việc thu hồi quan điểm từ nhiều nguồn dữ liệu với các phương pháp khác nhau. Sự
phát triển nhanh chóng của mạng xã hội twitter, thu hồi quan điểm trên twitter đã được
nhiều sự quan tâm của tác giả[2,3,7,13,22]. Bên cạnh đó khóa luận cũng tham khảo các
phương pháp khai phá quan điểm của nhiều tác giả[5,14,19,20] trên các dữ liệu khác để
có thể học hỏi và nâng cao kết quả. Chương này khóa luận sẽ trình bày khái quát những
phương pháp của các tác giả đã thực hiện.
2.1. Hệ thống phân lớp quan điểm
2.1.1. Các đặc trưng phân lớp quan điểm
Đặc trưng dựa trên từ và n-gram
Mỗi từ xuất hiện trong câu phục vụ như một đặc trưng nhị phân với trọng số bằng
đảo ngược số từ trong tập dữ liệu twitter. Davidov và cộng sự[7] đã từng sử dụng từ 2-5
từ liên tiếp để làm đặc trưng với trọng số tương tự, do đó trọng số của đặc trưng n-gram
luôn cao hơn trọng số các đặc trưng thành phần của nó, các từ hiếm có trọng số cao hơn
các tự thông thường. Các từ hoặc n-gram xuất hiện chưa đầy 0.5% trong tập huấn luyện
không phải là một đặc trưng. Các biểu tượng mặt cười ASCII và các dấu chấm khác có
chứa hai hoặc nhiều hơn các biểu tượng dấu chấm câu liên tiếp được sử dụng như một đặc
trưng, từ đặc trưng này gồm từ thay siêu từ trong link, nguồn(references) và hashtag.
Đặc trưng từ loại
Đặc trưng từ loại ((Part of speech)) là một đặc trưng phổ biển được rất nhiều các tác
giả như Agarwal và cộng sự[1], Alec Go và cộng sự[2]sử dụng và nó góp phần tăng hiệu
suất cao trong việc phân lớp chủ quan/khách quan, phân lớp tích cực/tiệu cực.
Đặc trưng từ loại thể hiện được từ loại trong câu với trọng số là tổng số từ loại đó
xuất hiện trong câu.
Theo Agarwal và cộng sự[1], việc sử dụng kết hợp POS với các đặc trưng khác cho
nâng cao hiệu suất phân loại.
Theo Alec Go và cộng sự[2]cảm thấy các đặc trưng POS sẽ là một đặc trưng hữu ích
kể từ khi bạn sử dụng một từ cụ thể. Ví dụ, từ “Over” như một động từ mang ý nghĩ tiêu
cực “Over” là danh từ. Việc sử dụng phân loại Stanford Classifier chúng mang lại độ
13
chính các tăng 6%. Trong quá trình trên họ quan sát thấy rằng nó chỉ giảm độ chính xác
xuống trong trường hợp NB.
Đặc trưng từ mang quan điểm
Từ mang quan điểm cũng được các tác giả[1,11] sử dụng làm đặc trưng cho phân
lớp.
Dùng từ điển quan điểm được gán nhãn tích cực, tích cực mạnh, tiêu cực, tiêu cực
mạnh hoặc từ điển được đánh điểm số mang quan điểm trong phạm vi từ 1- 10 với càng
thấp thì càng tiêu cực và ngược lại càng cao thì càng tích cực.
Đặc trưng mạng xã hội (twitter)
Trong một tweet người ta thường sử dụng “@” trước tên người dùng để trả lời người
dùng khác. Nội dung của tweet này có nhiều khả năng là “nội dung cá nhân”(personal
content). Các nghiên cứu trước cho thấy “nội dung các nhân” trên toàn bộ chứa quan điểm
nhiều hơn “nội dung chính thức”(personal content). (Gerani et al. 2011) [22] Vì thế dùng
đặc trưng “@username” là một đặc trưng nhị phân (có hoặc không).
Chia sẻ link trong tweet là rất phổ biến trên twitter. Hầu hết các tweet chứa link
thường có mục đích giới thiệu đến các liên kết (ví dụ tweet của quý vị được đăng bởi
BBC News). Ngoài ra, spam trong twitter thường chứa link. Do đó sử dụng đặc trưng
chứa link là một đặc trưng để xây dựng mô hình.
Hashtag là người dùng đánh dấu các chủ đề và bắt đầu bằng ký tự “#”. Sử dụng đặc
trưng chứa hashtag là một đặc trưng để xây dựng mô hình
Retweet (“RT”): chính là một trong những điểm mạnh của Twitter, thông tin lan
truyền một cách nhanh chóng. Sử dụng retweet như một đặc trưng nhị phân.
Đặc trưng biểu tượng cảm xúc
Biểu tượng cảm xúc được sử dụng rất nhiều trong mạng xã hội, twitter cũng vậy,
người dùng thường dùng các biểu tượng cảm xúc để thể hiện quan điểm.
Tác giả Agarwal và cộng sự [1] sử dụng bộ từ điển biểu tượng cảm xúc6, họ phân
lớp các biểu tượng cảm xúc thành biểu tượng cảm xúc mang quan điểm tích cực, biểu
6 Nguồn http://en.wikipedia.org/wiki/List_of_emoticons
14
tượng cảm xúc mang quan điểm tích cực mạnh, biểu tượng cảm xúc mang quan điểm tiêu
cực, biểu tượng cảm xúc mang quan điểm tiêu cực mạnh, biểu tượng cảm xúc mang quan
điểm trung lập.
Tùy theo phân lớp chủ quan/khách quan hay phân lớp quan điểm phân cực mà họ sử
dụng các biểu tượng cảm xúc khác nhau.
Phân lớp chủ quan/khách quansử dụng các biểu tượng cảm xúc mang quan điểm
không trung lập(tích cực, tích cực mạnh, tiêu cực, tiêu cực mạnh) thành một đặc trưng và
biểu tượng cảm xúc trung lập thành đặc trưng.
Phân lớp quan điểm phân cực sử dụng các biểu tượng cảm xúc tích cực, tích cực
mạnh, tiêu cực, tiêu cực mạnh mỗi loại là một đặc trưng.
Đặc trưng cú pháp
Theo Davidov[7] sử dụng các đặc trưng sau:
Độ dài tweet
Tổng số dấu hỏi (?)
Tổng số dấu chấm than(!)
Tổng số từ viết hoa
Tổng số dấu ghi chú (‘, “)
Tất cả các đặc trưng chia cho max giá trị trung bình của các nhóm đặc trưng. Như
vậy max giá trị của các đặc trưng trên lên nhất là bằng giá trị trung bình trọng số của đặc
trưng từ /n-gram.
Đặc trưng từ kéo dài
Trong twitter: chữ viết hoa, giữa 2 dấu ‘*’, lặp lại chữ cái (Coooooooooooolllll !!!).
Và theo Samuel Brody- Nicholas Diakopoulos đã chứng minh từ kéo dài trên twitter là
phổ biến và có sự liên quan đến thể hiện quan điểm[14].
Đặc trưng từ phủ định (not)
Bằng cách sử dụng phân loại Stanford và phân loại SVM cơ sở, theo Alec Go và
cộng sự[1,2] quan sát thấy rằng việc xác định lớp tiêu cực dường như khó khăn hơn so
với lớp tích cực, chỉ bằng cách nhìn vào độ chính xác, độ hồi tưởng và độ đô F1 cho lớp
này. Đây là lý do tại sao khóa luận quyết định thêm phủ nhận như một đặc trưng cụ thể
được thêm vào khi "no" hoặc "n't" được quan sát thấy trong các bộ dữ liệu. Tuy nhiên
15
chúng ta chỉ quan sát thấy một sự gia tăng trong tổng thể chính xác trong khoảng 2%
trong các phân loại học Stanford và khi được sử dụng kết hợp với một số tính năng khác,
nó mang lại độ chính xác tổng thể xuống và do đó khóa luận loại bỏ nó. Tính năng chồng
chéo có thể có được độ chính xác NB xuống, vì vậy khóa luận không quá quan tâm về sự
sụt giảm với NB. Tuy nhiên nó đã không cung cấp bất kỳ thay đổi mạnh mẽ với
OpenNLP khác.
2.1.2. Phân lớp quan điểm chủ quan/khách quan
Xác định quan điểm của đối tượng cần phân lớp có mang quan điểm hay không
mang quan điểm gọi là phân lớp chủ quan. Nếu đối tượng có thể hiện quan điểm sẽ thuộc
vào lớp chủ quan, ngược lại nếu đối tượng không thể hiện quan điểm thì nó sẽ được phân
vào lớp khách quan. Dưới đây là một số phương pháp và hướng tiếp cận của một số
nghiên cứu về phân lớp chủ quan điển hình:
Yu và Hatzivassiloglou, 2003[20] thực hiện phân lớp chủ quan sử dụng câu tương tự
và phân lớp naïve Bayes. Phương thức câu tương tự là dựa trên giả sử rằng các câu chủ
quan hay câu quan điểm là thường có sự giống nhau hơn là các câu thực tế. Họ sứ dụng
hệ thống SIMFNDER để đo độ tương tự của các câu dựa trên các từ, cụm từ và từ điển
WordNet. Phân lớp naïve Bayes họ đã sử dụng unigram, bigrams, trigrams, gán nhãn
(part to speech), các từ thể hiện quan điểm, số các từ định hướng có quan điểm của chuỗi
các từ mang quan điểm (ví dụ “++” cho hai từ liên tiếp có định hướng mang quan điểm
tích cực ) và số lượng các nhãn kết hợp với thông tin mang quan điểm (ví dụ “JJ+” cho
tính từ tích cực).
Trong nghiên cứu của Wiebe and Riloff (2005) [19], họ dựa trên luật để phân lớp
chủ quan dựa trên nguyên tắc phân loại một câu là chủ quan nếu nó có chứa hai hoặc
nhiều hơn đầu mối chủ quan (nếu không nó không có nhãn câu). Ngược lại, phân lớp
khách quan dựa trên luật nếu nó không có đầu mối chủ quan trong câu và một vài điều
kiện khác. Hệ thống của họ được mô hình mới từ các câu khách quan sử dụng thông tin
trích xuất từ hệ thống AutoSlog-TS, nó tìm ra các mô hình dựa trên các mẫu cú pháp cố
định.
Nghiên cứu điển hình về phân loại chủ quan trên Twitter của Barbosa and Feng
(2010) [3] đã phân loại tính chủ quan của các tweets dựa trên các tính năng cụ thể của
Twitter như retweets, hashtags, links, các từ viết hoa, biểu tượng cảm xúc, dấu chấn than
16
và dấu chấm hỏi. Họ đã sử dụng các tính năng đặc biệt đó để phân loại quan điểm chủ
quan của các tweets.
Cũng trên dữ liệu Twiter, nhóm tác giả Pak và cộng sự 2010[13] đã thử nghiệm bộ
phân lớp chủ quan/ khách quan với các đặc trưng từ loại. Trong quá trình lựa chọn đặc
trưng, họ thấy rằng các từ loại không phân bố đều hai tập mang quan điểm và không
mang quan điểm.Họ chỉ ra rằng các tweet khách quan thì thường chứa các danh từ riêng
(NPS, NP, NNS), các động từ ở ngôi thứ 3 và thì quá khứ, các tính từ so sánh hơn. Trong
khi đó trong các tweet chủ quan thì thường chứa các danh từ riêng (PP, PP$), động từ ở
dạng nguyên thể.
2.1.3. Phân lớp quan điểm phân cực
Trong hệ thống phân tích quan điểm, phân lớp quan điểm phân cực là một bước
quan trọng để xác định quan điểm được thể hiện là tích cực hay tiêu cực. Ví dụ như câu:
“The picture quality of this camera is amazing.” thì hệ thống sẽ cần phải xác định được
quan điểm mà nó thể hiện.
Trong nghiên cứu của Turney [2002] [17] đã thực hiện việc xác định quan điểm
được thể hiện của mỗi văn bản là tích cực hay tiêu cực. Tác giả sử dụng học máy bán
giám sát để phân lớp các đánh giá tích cực hay tiêu cực. Họ thực hiện việc phân lớp qua
ba bước: đầu tiên họ gán nhãn cho các từ để xác định các tính từ hoặc các trạng từ. Bước
2 là họ sử dụng thuật toán PMI-IR (PMI-IR là đo độ tương tự giữa các từ hoặc cụm từ) để
áp dụng cho việc ước lượng hướng quan điểm của mỗi cụm đã được trích xuất. Cuối cùng
họ sẽ phân lớp từng quan điểm dựa vào giá trị trung bình hướng ngữ nghĩa (Semantic
Orientation - SO) của các cụm từ được trích xuất ra từ các đánh giá và phân lớp các đánh
giá đó vào các lớp quan điểm tích cực hay tiêu cực. Hướng tiếp cận sử dụng độ đo PMI để
phân lớp các đánh giá đạt được độ chính xác khá cao, tuy nhiên độ đo PMI chỉ đo được
độ tương tự của 2 từ vậy vấn đề đặt ra là chỉ dựa vào hai từ thì có thể xác định chính xác
hướng quan điểm của các đánh giá. Trong nghiên cứu này, tác giả vẫn chưa giải quyết
được vấn đề đó.
Nghiên cứu có hiệu quả tốt trên miền dữ liệu Twitter của Davidov, Tsur và
Rappoport,2010[7] đã thực hiện phân loại quan điểm các bài đăng trên Twitter. Mỗi tweet
về cơ bản thường là một câu đơn. Các tác giả sử dụng hướng tiếp cận học có giám sát để
phân loại các tweets vào ba loại tích cực, tiêu cực và trung lập. Ngoài các tính năng
17
truyền thống, phương pháp này còn sử dụng các tính năng đặc biệt có trên tweet như
hashtags, biểu tượng cảm xúc, các dấu câu đặc biệt. Hướng tiếp cận này của họ khá hiệu
quả đối với dữ liệu trên Twitter.
2.2. Thuật toán SVM
2.2.1. Giới thiệu thuật toán
Support vector machines (SVMs) là một tập hợp các phương pháp học có giám sát
bao gồm phân tích dữ liệu và phát hiện mẫu, được sử dụng cho phân lớp và phân tích hồi
quy. Thuật toán SVM lần đầu tiên được Vladimir Vapnik đề xuất vào năm 1995 và
Corinna Cortes cùng với Vladimir Vapnik đã đề xuất hình thức chuẩn hiện nay.
Ý tưởng chính của thuật toán này là cho trước một tập huấn luyện được biểu diễn
trong không gian vector trong đó mỗi tài liệu là một điểm, phương pháp này tìm ra một
mặt siêu phẳng h quyết định tốt nhất có thể chia các điểm trên không gian này thành các
lớp riêng biệt tương. Chất lượng của mặt siêu phẳng này được quyết định bởi khoảng
cách của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng cách biên càng
lớn thì mặt phẳng quyết định càng tốt đồng thời việc phân loại càng chính xác. Mục đích
của thuật toán SVM là tìm ra được khoảng cách biên lớn nhất để tạo ra kết quả phân lớp
tốt.
Xét bài toán phân loại đơn giản nhất – phân loại hai phân lớp với tập dữ liệu mẫu:
{( , )| i = 1, 2, ..., N, }
Trong đó mẫu là các vector đối tượng được phân loại thành các mẫu dương và mẫu
âm:
− Các mẫu dương là các mẫu thuộc lĩnh vực quan tâm và được gán nhãn = 1
− Các mẫu âm là các mẫu không thuộc lĩnh vực quan tâm và được gán nhãn
= −1
18
Hình 5. Mặt siêu phẳng phân chia tập dữ liệu thành hai lớp dương và âm.
Trong trường hợp này, bộ phân loại SVM là mặt siêu phẳng phân tách các mẫu
dương khỏi các mẫu âm với độ chênh lệch cực đại, trong đó độ chênh lệch này gọi là lề
(margin) xác định bằng khoảng cách mẫu dương và mẫu âm gần mặt siêu phẳng nhất
(hình 5). Mặt phẳng này được gọi là mặt siêu phẳng lề tối ưu.
Các mặt siêu phẳng trong không gian đối tượng có phương trình là:
f(x)= w x +b=0, trong đó w là vector trọng số, b là độ dịch. Khi thay đổi w và b thì
hướng và khoảng cách từ gốc tọa độ đến mặt siêu phẳng thay đổi.
Bộ phân lớp nhị phân được xác định thông qua dấu của f(x):
= {
Nếu = +1 thì thuộc về lớp dương (lĩnh vực được quan tâm), ngược lại,
Nếu = -1thì thuộc về lớp âm (lĩnh vực không được quan tâm).
Học máy SVM là một họ các mặt siêu phẳng phụ thuộc vào các tham số w và b.
Mục tiêu của phương pháp SVM là ước lượng w và b để cực đại hóa lề giữa các lớp
dương và âm. Các giá trị khác nhau của lề cho ta các họ mặt siêu phẳng khác nhau.
2.2.2. Cách áp dụng thuật toán SVM vào bài toán phân lớp quan điểm
Sử dụng Naïve Bayes, MaxEnt và support Vector Machines(SVM) và họ thấy kết
quả là SVM phân lớp tốt hơn những loại còn khác.[22]
19
Lựa chọn các đặc trưng cho học máy SVM, sử dụng đặc trưng từ loại (POS), từ quan
điểm, từ phủ định (no, not, n’t ..), đặc trưng tweet (reply, retweets, hashtags, links, các từ
viết hoa, biểu tượng cảm xúc, dấu chấn than và dấu chấm hỏi,..).
Xây dựng các bộ phân lớp chủ quan/khách quan, bộ phân lớp phân cực từ dữ liệu
học với các đặc trưng dựa trên.
Sau khi xây dựng được bộ phân lớp, chúng ta có thể đưa dữ liệu mới vào và tiến
hành gán nhãn tự động cho dữ liệu mới này.
2.3. Độ tương đồng
Trong toán học, một độ đo là một hàm số cho tương ứng với một "chiều dài", một
"thể tích" hoặc một "xác suất" với một phần nào đó của một tập hợp cho sẵn. Nó là một
khái niệm quan trọng trong giải tích và trong lý thuyết xác suất.
Ví dụ, độ đo đếm được định nghĩa bởi µ(S) = số phần tử của S
Rất khó để đo sự giống nhau, sự tương đồng. Sự tương đồng là một đại lượng (con
số) phản ánh cường độ của mối quan hệ giữa hai đối tượng hoặc hai đặc trưng. Đại lượng
này thường ở trong phạm vi từ -1 đến 1 hoặc 0 đến 1. Như vậy, một độ đo tương đồng có
thể coi là một loại scoring function (hàm tính điểm).
Ví dụ, trong mô hình không gian vector, ta sử dụng độ đo cosine để độ tương đồng
giữa hai văn bản (hai câu), mỗi văn bản (mỗi câu) được biểu diễn bởi một vector.
Xét ví dụ gồm 2 câu “khóa luận là một học sinh” và “khóa luận là một sinh viên”.
Ta có thể nhận thấy hai câu trên có sự tương đồng cao, tuy nhiên chúng ta cần phải có
một độ đo để có thể tính được độ tương đồng của chúng.
Bài toán độ tương đồng câu được sử dụng phổ biến trong lĩnh vực xử lý ngôn ngữ tự
nhiên và có nhiều kết quả khả quan. Một số phương pháp được sử dụng để tính độ đo này
như[8,12,15,21]:
Phương pháp sử dụng thống kê: độ đo cosine, độ đo khoảng cách euclid, độ đo
lenvenshtein-similarity…
Phương pháp sử dụng thống kê sự vào tần số xuất hiện từ trong câu, nổi bật là
phương pháp sử dụng cosine. Phương pháp này xử lý nhanh, tốn ít chi phí.
20
Phương pháp sử dụng các tập dữ liệu chuẩn về ngôn ngữ để tìm ra mối quan hệ giữa
các từ: Wordnet, Brown Corpus, Penn TreeBank…
Các phương pháp sử dụng xử lý ngôn ngữ tự nhiên: một số cách tiếp cận đặc trưng
được đưa ra là sử dụng phân tích cấu trúc ngữ pháp, sử dụng mạng ngữ nghĩa đối với từ,
như sử dụng Wordnet corpus hoặc Brown corpus. Phương pháp xử lý ngôn ngữ tự nhiên
xử lý chậm hơn, tốn nhiều chi phí hơn tuy nhiên khi xét về mặt ngữ nghĩa thì cao hơn
phương pháp thống kê.
2.3.1. Độ đo Cosine
Cosine của hai vector có thể được sử dụng bởi công thức:
Với 2 vector A và B, độ tương tự cosine, cos(θ) được tính bởi công thức sau:
Trong đó Ai, Bi là lần lượt là trọng số của vector A, vector B.
Kết quả nằm trong khoảng từ -1(trái ngược), đến 1 (giống nhau), 0 (độc lập) và các
giá trị ở giữ (tương đồng hoặc không tương đồng).
Trong trường hợp thu hồi thông tin, độ tương đồng cosine giữa 2 văn bản (2 câu) sẽ
nằm trong đoạn từ 0 đến 1. Vì giá trị trọng số (trọng số TF-IDF) không thể âm, nên góc
giữ 2 vector không lớn hơn 90 độ.
2.3.2. Độtương đồngdựa trên khoảng cách Lenvenshtein
Khoảng cách chuẩn Levenshtein dựa trên từ.
Khoảng cách Levenshtein (được Vladimir Levenshtein đề ra vào năm 1965) thể hiện
khoảng cách khác biệt giữa hai chuỗi kí tự. Khoảng cách Levenshtein giữa xâu s và xâu
tlà số bước ít nhất biến đổi xâu s thành xâu t thông qua ba phép biến đổi là: xóa một kí tự,
thêm một kí tự và thay kí tự này thành kí tự khác.
21
Ví dụ: Khoảng cách giữa 2 chuỗi “kitten” và “sitting” là 3 vì phải dùng ít nhất ba lần
biến đổi.
1. kitten -> sitten (thay "k" bằng "s")
2. sitten -> sittin (thay "e" bằng "i")
3. sittin -> sitting (thêm kí tự "g")
Khoảng cách Levenshtein được tính toán bằng cách sử dụng thuật toán quy hoạch
động. Sau đây là mã giả của thật thoán Lenvenshtein7 (s, t là chuỗi cần tính khoảng cách,
m,n lần lượt là độ dài của s và t).
int LevenshteinDistance(char s[1..m], char t[1..n])
{
// d is a table with m+1 rows and n+1 columns
declareint d[0..m, 0..n]
clear all elements in d
for i from 1 to m
{
d[i, 0]:= i
}
for j from 1 to n
{
d[0, j]:= j
}
for j from 1 to n
{
for i from 1 to m
{
if s[i] = t[j] then
d[i, j]:= d[i-1, j-1]
else
d[i, j]:= minimum
(
d[i-1, j] + 1, // xóa
d[i, j-1] + 1, // chèn
d[i-1, j-1] + 1 // thay thế
7 Nguồn http://en.wikipedia.org/wiki/Levenshtein_distance
22
)
}
}
return d[m,n]
}
Độ tương đồng dựa trên khoảng cách Lenvenshtein.
Độ tương đồng dựa trên khoảng cách Lenvenshtein được tính bằng công thức sau:
Lenven_similarity(s,t) = ( )
Trong đó:
Length(s), Length(t) lần lượt là độ dài 2 xâu s, xâu t.
Max(Length(s), Length(t)) là giá trị max giữ độ dài của xâu s và độ dài của xâu t.
LevenshteinDistance(s,t,) là khoảng cách Lenvenshtein giữa xâu s và xâu t.
Độ tương đồng dựa trên khoảng cách Lenvenshtein có giá trị trong khoảng 0 (không
giống ký tự nào) đến 1(giống hoàn toàn), các giá trị (tương đồng hoặc không tương đồng).
2.4. Áp dụng độ tương đồng cho bài toán thu hồi quan điểm về thực thể trên
mạng xã hội twitter
Như đã giới thiệu ở trên, mạng xã hội twitter có retweet, retweet làm tăng lên số
lượng dữ liệu tweet giống nhau về nội dung nhưng chỉ khác một số như hashtag, reply, …
Điều đó làm cho dữ liệu bị trùng lặp rất nhiều, để loại bỏ được các dữ liệu bị trùng
lặp kiểu này hoặc có sự tương đồng cao, chúng ta có thể áp dụng độ tương đồng giữa hai
câu để loại bỏ nhưng tweet được lặp lại hoặc tương đồng cao với tweet trước.
Dùng kết hợp hai độ tương đồng cosine và độ tương đồng dựa trên khoảng cách
Lenvenshtein.
Trước tiên chúng ta dùng độ đo cosine để lọc ra các câu có sự trùng lặp từ,
Tiếp theo chúng ta dùng độ đo tương đồng dựa trên khoảng cách Lenvenshtein để
tìm ra được những câu có sự trùng lặp nhiều về thứ tự rùi loại bỏ chúng.
Ví dụ ta có 2 câu tweet sau:
23
S: “#Iphone5 #sumsung I like Iphone 5, he hate samsung”.
T: “he like Iphone 5, I don't hate samsung #sumsung #Iphone5”.
Ta thấy 2 câu S, T trên có độ tương đồng cosine rất cao (cosine(s,t) = 0.95) nhưng
đây rõ ràng không phải là 2 tweet trùng lặp mà ta cần loại bỏ, vì thế ta kết hợp thêm độ đo
dựa trên khoảng cách Lenvenshtein (lenvenshtein_similarity(s,t) = 0.25).
Sự kết hợp giữa hai độ tương đồng cosine và độ tương đồng dựa trên khoảng cách
Lenvenshtein với những ngưỡng phù hợp sẽ giúp chúng ta có một dữ liệu tốt.
2.5. Twitter Search API
Dùng search API8 của twitter giúp mỗi lần truy vấn có thể lấy tweet liên quan đến
câu truy vấn trong khoảng thời gian 7 ngày gần nhất kể từ lúc truy vấn.
Link: http://search.twitter.com/search.format
Các tham số truyền vào:
q (yêu cầu bắt buộc): là từ khóa dạng UTF-8, truy vấn tìm kiếm tối đa 1000
ký tự, bảo gồm các các toán tử, truy vấn này có thể bị giới hạn bởi tính phức
tạp. (ví dụ q=iphone+5)
lang (tùy chọn): ngôn ngữ tweet cần tìm kiếm, dùng chuẩn ISO 639-1. (ví dụ
lang=en)
page (tùy chọn): số trang trả về(bắt đầu từ 1), tối đa có thể trả về 1500 tweet
(dựa vào rpp * page) (ví dụ page=5 ).
rpp (tùy chọn): số tweet tối đa mà trang có thể trả về, tối đa là 100. (ví dụ
rpp=100).
Until (tùy chọn): trả về tweet trước ngày được đưa ra, ngày nên được định
dạng YYYY-MM-D (ví dụ until=2013-05-12).
Và nhiều các tham số khác để giúp có thể lấy được tweet cho phù hợp.
Dưới đây là kết quả được trả về từ một truy vấn sử dụng Search API
http://search.twitter.com/search.json?q=twitterapi&rpp=1
{
8 Nguồn https://dev.twitter.com/docs/api/1/get/search
24
"completed_in":0.012,
"max_id":136536013832069120,
"max_id_str":"136536013832069120",
"next_page":"?page=2&max_id=136536013832069120&q=twitterapi&rpp=1",
"page":1,
"query":"twitterapi",
"refresh_url":"?since_id=136536013832069120&q=twitterapi",
"results":[
{
"created_at":"Tue, 15 Nov 2011 20:08:17 +0000",
"from_user":"fakekurrik",
"from_user_id":370773112,
"from_user_id_str":"370773112",
"from_user_name":"fakekurrik",
"geo":null,
"id":136536013832069120,
"id_str":"136536013832069120",
"iso_language_code":"en",
"metadata":{
"result_type":"recent"
},
"profile_image_url":"http://a1.twimg.com/profile_images/1540298033/phatkicks_norm
al.jpg",
"source":"<a href="http://twitter.com/">web</a>",
"text":"@twitterapi, keep on keeping it real",
"to_user":"twitterapi",
"to_user_id":6253282,
"to_user_id_str":"6253282",
"to_user_name":"Twitter API"
}
],
"results_per_page":1,
"since_id":0,
"since_id_str":"0"
}
Từ dữ liệu twitter được trả về kiểu JSON, ta có thể thu được một số thông tin từ
tweet như:
Ngày tạo (create_at): thời gian tweet được tạo ra
25
Tên người dùng (from_user): người tạo ra tweet đó.
Id người dùng (from_user_id): id của người tạo ra tweet đó.
Id tweet (id): id của tweet đang xét.
Nội dung tweet (text): nội dung tweet của người dùng được đăng.
Và một số thông tin khách như siêu dữ liệu(metadata), chuẩn ngôn ngữ
(iso_language_code) ….
Twitter Search API9 là một API dành riêng cho hoạt động tìm kiếm đối với thời gian
thực của các tweets gần đây, có một số điều quan trọng cần biết trước khi sử dụ Search
API được giải thích dưới đây:
Một số giới hạn của Search API:
Search API không thể tìm kiếm được tất cả các tweet mà chỉ tìm điểm một số
tweet trong thời gian gần đây,hiện tại thì có thể lấy được trong khoảng từ 6-9 ngày.
Không thể sử dụng Search API để tìm kiếm tweets cũ hơn khoảng 1 tuần.
Không hộ trợ xác thực, có nghĩa là tất cả các truy vấn đều được thực hiện ẩn
danh.
Search tập trung vào sự phù hợp và không đầy đủ, điều này có nghĩ rằng một số
tweets và người dùng có thể không tìm thấy trong kết quả tìm kiếm, nếu bạn muốn có
đầy đủ, bạn nên xem xét sử dụng các API Streaming thay thế.
Bạn không thể tìm kiếm các toán tử, mà thay vào đó là sử dụng các tham số
geocode
Truy vấn bị giới hạn 1000 ký tự, bao gồm cả các toán tử.
Để thực hiện tìm kiếm địa lý dựa trên bán kính, chỉ có 1000 vùng nhỏ (distinct
subregions) được xem xét truy vấn.
Toán tử tìm kiếm: sử dụng toán tử để nâng cao được khả năng tìm kiếm
9 Nguồn https://dev.twitter.com/docs/using-search
26
Bảng 1. Cách sử dung Search API
Ví dụ Tìm kiếm tweet …
twitter search Chưa cả 2 từ "twitter" và "search". Đây là toán tử mặc
định
"happy hour" Chưa cả cụm từ "happy hour"
love OR hate Chứa từ "love" hoặc"hate" (hoặc cả 2)
beer –root Chứa từ "beer" nhưng không chứa từ"root"
#haiku Chứa hashtag "haiku"
from:twitterapi Tìm các tweet được đang từ @twitterapi
to:twitterapi Các tweet được tag @twitterapi
place:opentable:2 Thông tin về địa điểm OpenTable ID 2
place:247f43d441defc03 Thông tin về địa điểm Twitter ID 247f43d441defc03
@twitterapi Đề cập đến @twitterapi
superhero since:2011-05-
09
Chứa từ "superhero" và các câu từ ngày "2011-05-09"
(năm-tháng-ngày).
twitterapi until:2011-05-09 Chứa từ "twitterapi" và các cây trước ngày "2011-05-09".
movie -scary:) Chứa từ"movie", nhưng không chứa "scary", và hướng
tích cực
flight:( Chứa từ "flight" và hướng tiêu cực
traffic ? Chứa từ "traffic" và là câu hỏi
hilarious filter:links Chứa từ "hilarious" và có link URL.
news source:tweet_button Chứa từ "news" và nhập thông tin vào Tweet Button
Một số lưu ý sử khi sử dụng toán tử tìm kiếm với since và until là không hỗ trợ toán
tử phụ định (-), nên sử dụng định dạng năm – tháng – ngày hoặc yyyy-mm-dd.
27
2.6. Tóm tắt chương 2
Chương 2 đã giới thiệu về các hướng tiếp cận, các công trình nghiên cứu liên quan.
Một số thuật toán và phương pháp liên quan để phục vụ giải quyết bài toán.
Giới thiệu Twitter Search API, cách dùng, và nhưng giới hạn của nó.
Trong chương tiếp theo, khóa luận sẽ làm rõ mô hình và các pha chi tiết để giải
quyết bài toán thu hồi quan điểm về thực thể trên mạng xã hội Twitter.
28
Chương 3. Mô hình đề xuất
Qua các nghiên cứu liên quan, khóa luận đã sử dụng kết hợp các phương pháp và đề
xuất một mô hình để giải quyết bài toán thu hồi quan điểm trên mạng xã hội Twitter.
3.1. Mô hình giải quyết bài toán
Bài toán thu hồi quan điểm về thực thể trên mạng xã hội twitter là bài toán gồm 2 nhiệm
vụ chính là tìm kiếm các tweet liên quan đến thực thể và phân loại các tweet mang quan
điểm.
Hình 6. Mô hình giải quyết bài toán
29
Giải thích mô hình đã được đề xuất ở hình 6.
Các khối hình chữ nhật là các khối xử lý.
Các khối hình trụ là các khối chứa dữ liệu
Các mũi tên màu đen là các được chỉ chiểu hoạt động của hệ thống.
Các mũi tên màu xanh thể hiện xử lý (xuất phát ở khối hình chữ nhật và kết thúc
trên một được quá trình hoạt động của hệ thống), tức là khối xử lý trong hình chữ nhật sẽ
được sử dụng trong quan trình hoạt động của hệ thống ở điểm mà nó chỉ tới.
Bài toán thu hồi quan điểm về thực thể trên mạng xã hội twitter có đầu vào là một
thực thể và đầu ra là trực quan hóa kết quả thể hiện quan điểm của cộng đồng người dùng
về thực thể đó. Theo mô hình khóa luận đề nghị trong hình 6, quá trình hệ thống sẽ được
thực hiện lần lượt như sau: đầu tiên là người dùng nhập vào là thực thể (Query). Hệ thống
dùng Twitter Search API sẽ thu được một lượng dữ liệu liên quan đến thực thể đầu vào.
Dữ liệu này sẽ được đưa qua khối tiền xử lý, khối này sẽ tiền xử lý, chuẩn hóa và loại bỏ
các dữ liệu trùng lặp hoặc có độ tương đồng cao. Sau khi qua khối tiền xử lý dữ liệu khóa
luận sẽ thu được một dữ liệu đã được chuẩn hóa. Cùng với quá trình lấy dữ liệu, khóa
luận cũng tiến hành xây dựng hai bộ phân lớp. i) bộ phân lớp chủ quan/khách quan, để có
được bộ phân lớp này, khóa luận xử một bộ dữ liệu đã được gán nhãn chủ quan/khách
quan. Bộ dữ liệu này cũng được đưa qua khối tiền xử lý dữ liệu trên để chuẩn hóa làm
sạch dữ liệu, sau đó khóa luận tiến hành dùng học máy để học bộ phân lớp. ii) Tiếp đến
là bộ phân lớp quan điểm phân cực cũng tương tự như xây dựng bộ phân lớp chủ
quan/khách quan. Khóa luận cũng sử dụng bộ dữ liệu đã được gán nhãn phân cực (mang
quan điểm tích cực/tiêu cực). Sử dụng bộ dữ liệu này qua tiền xử lý rùi áp dụng học máy
với các đặc trưng (đặc trưng xây dựng bộ phân lớp phân cực) để sinh ra mô hình phân lớp
quan điểm phân cực. Đã có được hai bộ phân lớp cần thiết, khóa luận sẽ đưa dữ liệu khi
bộ phân lớp chủ quan/khách quan thu được dữ liệu chủ quan (mang quan điểm). Sử dụng
dữ liệu chủ quan đưa qua bộ phân lớp quan điểm phân cực, kết quả thu được là dữ liệu
được gán nhãn phân cực tự động. Cuối cùng, sử dụng dữ liệu được gán nhãn, khóa luận
tiến hành trực quan hóa kết quả thu được để thể hiện quan điểm về thực thể của cộng
đồng người dùng trên twitter.
30
3.2. Giải quyết chi tiết các pha
Mô hình đề xuất gồm 4 pha là
Crawler dữ liệu tweet liên quan đến thực thể (query), tiền xử lý và chuẩn hóa dữ
liệu tweet.
Xây dựng bộ phân lớp chủ quan/khách quan, sử dụng bộ phân lớp chủ
quan/khách quan để phân lớp cho dữ liệu tweet mới đã được chuẩn hóa.
Xây dựng bộ phân phân cực, sử dụng bộ phân lớp phân cực để phân lớp cho dữ
liệu tweet chủ quan.
Trực quan hóa kết quả từ dữ liệu tweet đã được gán nhãn phân cực
Dưới đây là các bước, phương pháp chi tiết trong từng pha.
3.2.1. Crawler dữ liệu tweet liên quan đến thực thể (query), tiền xử lý và chuẩn
hóa dữ liệu tweet
Pha này là sử dụng search API để lấy về các tweet liên quan đến thực thể cần tìm
kiếm, sau đó tiền xử lý và chuẩn hóa các tweet đó.
Bài toán:
Đầu vào: Từ khóa là tên thực thể. Ví dụ: Iphone5, Samsung Galaxy s3 …
Đầu ra: dữ liệu các tweet liên quan đến thực thể đã được chuẩn hóa.
Hướng tiếp cận giải quyết: dùng search API Twitter,
Dùng search API với đầu vào là các thực thể (truy vấn), kết quả thu được sau khi sử
dụng là dữ liệu tweet ở dạng JSON.
Vì dữ liệu tweet là tự do, nhiễu và sai chính tả do đó việc chuẩn hóa và tiền xử lí là
quan trọng. Hơn nữa, khi so sánh dữ liệu từ Twitter với dữ liệu đánh giá sản phẩm
(product review) hay được nghiên cứu trước đây, ta thấy rằng các tweet ít đề cập đến các
khía cạnh, thông tin đưa ra không được sâu sắc (độ dài bị hạn chế), chứa nhiều thông tin
không liên quan, do đó cần một bộ lọc để loại bỏ các tweet đó. Trong công trình này,
khóa luận loại bỏ các tweet quá ngắn. Thêm vào đó là hiện tượng các tweet lặp lại do
retweet (các tweet gần giống nhau và lặp lại nhiều lần) làm ảnh hưởng đến việc khai phá
quan điểm.
31
Chuẩn hóa: Trước tiên, khóa luận thay thế những ký tự viết dưới dạng HTML về
dạng từ được sử dụng quen thuộc, bảng 2 liệt kê nhưng từ mà khóa luận quan tâm thay
thế.
Bảng 2. Các từ mã hóa HTML
Ký tự HTMl Từ được được mã hóa
& &
< <
$gt; >
" ”
' ‘
Sau đó khóa luậnsử dụng một từ điển biểu tượng cảm xúc[1] để phát hiện và được
thay thể bằng các thẻ ||P|| nếu biểu tượng cảm xúc là tích cực, ||EP|| nếu biểu tượng đó là
tích cực mạnh, ||N|| nếu biểu tượng cảm xúc là tiêu cực, ||EN|| nếu biểu tượng đó là tiêu
cực mạnh và ||NU|| nếu biểu tượng cảm xúc đó là trung lập.Bảng 3 thể hiện một số biểu
tượng cảm xúc và tính quan điểm của chúng.
Bảng 3. Ví dụ về biểu tượng cảm xúc trong từ điển10
Biểu tượng cảm xúc Tính quan điểm
:o):]:3:c) Tích cực
:D C: Tích cực mạnh
:c:[ Tiêu cực
D8 D; D= DX v.v Tiêu cực mạnh
: | Trung lập
Khóa luận thay thế tất cả những tag tên người dùng “@” thành ||T||, những hashtag
thành ||H||, link (URL) thành thẻ ||U||.
Tiếp theo là khóa luận chuẩn hóa những từ kéo dài về từ gần chuẩn, ví dụ từ
Cooooool khóa luận chuẩn hóa về thành từ Coool.
Tiếp đến khóa luận sử dụng từ điển chuẩn hóa[4], từ điển này bao gồm các biến thể
của một từ và từ gốc của nó. Các từ trong tập dữ liệu nếu khớp với các biến thể sẽ được
thay thế bằng các từ gốc. Ví dụ:
10 Nguồn: http://en.wikipedia.org/wiki/List of emoticons
32
Bảng 4. Ví dụ từ điển chuẩn hóa
Biến thể Từ gốc
Wooda Would
Luv Love
hold’n Holding
Gqet Get
Và sử dụng một bộ từ điển viết tắt11[1], do tweet giới hạn ký tự nên người dùng
thường xuyên sử dụng các ký tự viết tắt để rút ngắn tweet. Bảng 4 là một số ví dụ về từ
viết tắt trong từ điển
Bảng 5. Ví dụ về từ điển viết tắt
Từ viết tắt Từ được viết tắt
gr8, gr8t Great
Lol laughing out loud
Rotf rolling on the floor
Bff best friend forever
Tuy chuẩn hóa các từ viết tắt và từ viết sai chính tả nhưng khóa luận vẫn quan tâm
đến từ viết hoa, nếu từ viết sai, viết tắt được viết hoa thì sau khi chuẩn hóa, từ đó vẫn
được viết hoa.
Sau khi chuẩn hóa dữ liệu, khóa luận sử dụng kết hợp 2 độ tương đồng là độ đo
cosine với ngưỡng 0.7 và độ đo dựa trên khoảng cách với ngưỡng là 0.5.
Khóa luận sẽ loại tweet nếu giữa 2 tweet có sự tương đồng được đo bằng độ đo
cosine lớn hơn ngưỡng (0.7) và có độ đo tương đồng dựa trên khoảng cách lớn hơn
ngưỡng (0.5).
Khóa luận sử dụng tiền xử lý và chuẩn hóa dữ liệu này áp dụng cho cả hai pha sau:
pha học bộ phân lớp chủ quan/khách quan và dùng để phân lớp dữ liệu mới, pha học bộ
phân lớp phân cực và dùng bộ phân lớp phân cực để phân lớp cho dữ liệu mới.
11 Nguồn: http://www.noslang.com/
33
3.2.2. Xây dựng bộ phân lớp chủ quan/khách quan, sử dụng bộ phân lớp chủ
quan/khách quan để phân lớp cho dữ liệu tweet mới đã được chuẩn hóa
Pha này sử dụng dữ liệu học đã được gán nhãn chủ quan/khách quan, từ đó xây dựng
mô hình phân lớp chủ quan/khách quan từ dữ liệu học, tiếp theo đó là sử dụng bộ phân
lớp chủ quan/khách quan để phân lớp với tập dữ liệu mới đã được chuẩn hóa.
Bài toán:
Đầu vào: Dữ liệu tweet được chuẩn hóa + dữ liệu để học đã được gán nhãn chủ
quan/ khách quan.
Đầu ra: bộ phân lớp chủ quan và dữ liệu tweet chủ quan (tweet mang quan điểm).
Hướng tiếp cận giải quyết: Sử dụng LibSVM để xây dựng bộ phân lớp chủ
quan/khách quan từ dữ liệu học. Khóa luận sẽ đưa dữ liệu qua bộ tiền xử lý, sau khi có dữ
liệu sạch, khóa luận sẽ tiến hành xây dựng bộ phân lớp bằng học máy với các đặc trưng ở
bảng 6, tiếp đó là dùng bộ phân lớp chủ quan/ khách quan này để phân lớp cho tập dữ liệu
tweet mới đã được chuẩn hóa.
Bảng 6. Các đặc trưng sử dụng trong bộ phân lớp chủ quan/ khách quan
Đặc trưng Mô tả
Unigram Từ xuất hiện nhiều trong dữ liệu tweets (số lần xuất hiện lớn hơn
0.5% số tweet).
Từ loại (POS) 36 đặc trưng bao gồm: tính từ, danh từ, động từ….
Từ quan điểm 2 đặc trưng: từ mang quan điểm (mạnh yếu) và từ không mang
quan điểm
Đặc trưng tweet đặc trưng: là retweet, chứa link, reply, hashtag ..
Biểu tượng cảm xúc 2 đặc trưng: biểu tượng cảm xúc mang quan điểm, biểu tượng
cảm xúc trung lập.
Từ phủ định Có thấy xuất hiện “no, cannot ..”, chứa “n’t”…
Cú pháp Số lượng từ viết hoa
Số lượng dấu hỏi (?), dấu cảm (!)
Từ kéo dài Các từ được lập lại như coooooooooll …
34
Để xác định các từ mang quan điểm mạnh, yếu, khóa luận sử dụng từ điển quan
điểm [11], từ điển này chứa 10222 từ tiếng Anh(Bảng 7 cho một số ví dụ về từ điển quan
điểm). Với mỗi từ nó còn cung cấp thêm nhiều thông tin như điểm quan điểm (1 < số thực
< 9), sự phổ biến trên mạng xã hội Twitter, Google … Các tweet sau khi được vector hóa
sẽ là đầu vào cho thuật toán SVM [18]. Khóa luận sử dụng công cụ lib SVM [10].
Bảng 7. Một số từ mang quan điểm trong từ điển quan điểm
Từ mang quan điểm Điểm quan điểm
Love 8.42
Talk 6.06
Closer 5.82
Fall 4.04
Worry 2.82
3.2.3. Xây dựng bộ phân phân cực, sử dụng bộ phân lớp phân cực để phân lớp
các dữ liệu tweet chủ quan
Đầu vào: Dữ liệu tweet chủ quan+ dữ liệu để học đã được gán nhãn quan điểm phân
cực.
Đầu ra: bộ phân lớp quan điểm phân cực và tweet đã được gán nhãn có quan điểm
tích cực/ có quan điểm tiêu cực.
Hướng tiếp cận giải quyết: Khóa luận chia dữ liệu học thành hai nhóm, một nhóm
có chứa biểu tượng cảm xúc, một nhóm không chứa biểu tượng cảm xúc. Khóa luận xây
dựng hai bộ phân lớp con, i) bộ phân lớp phân cực có biểu tượng cảm xúc, bộ phân lớp
này được dùng từ dữ liệu học có chứa biểu tượng cảm xúc với các đặc trưng được thể
hiện ở bảng 8, ii) bộ phân lớp quan điểm phân cực không có chứa biểu tượng cảm xúc, bộ
phân lớp này sử dụng dữ liệu học không chứa biểu tượng cảm xúc với các đặc trưng như
ở bảng 8 ngoại trừ đặc trưng biểu tượng cảm xúc. Sử dụng học máy để xây dựng hai bộ
phân lớp này, tiếp đó là dùng kết hợp hai bộ phân lớp phân cực này để phân lớp cho tập
dữ liệu tweet chủ quan. Các tweet chủ quan có mang biểu tượng cảm xúc sẽ được dùng bộ
phân lớp quan điểm phân cực có mang biểu tượng cảm xúc, tweet chủ quan không mang
biểu tượng cảm xúc dùng bộ phân lớp quan điểm phân cực không mang biểu tượng cảm
xúc. Cuối cùng gộp kết của hai bộ phân lớp lại ta thu được kết quả tweet được gán nhãn
quan điểm phân cực.
35
Bảng 8. Các đặc trưng sử dụng trong bộ phân lớp phân cực
Đặc trưng Mô tả
Unigram Từ xuất hiện nhiều trong dữ liệu tweets (số lần xuất hiện lớn hơn
0.5% số tweet).
Từ loại (POS) 36 đặc trưng bao gồm: tính từ, danh từ, động từ….
Từ quan điểm 4 đặc trưng: từ mang quan điểm tích cực manh, tích cực, tiêu cực
mạnh, tiêu cực-sử dụng bộ từ điển quan điểm [11]
Đặc trưng tweet đặc trưng: là retweet, chứa link, reply, hashtag ..
Biểu tượng cảm
xúc
5 đặc trưng: biểu tượng cảm xúc tích cực manh, tích cực, tiêu cực
mạnh, tiêu cực, trung lập
Từ phủ định Có thấy xuất hiện “no, cannot ..”, chứa “n’t”…
Cú pháp Số lượng từ viết hoa
Số lượng dấu hỏi (?), dấu cảm (!)
Từ kéo dài Các từ được lập lại như coooooooooll …
3.2.4. Trực quan hóa kết quả từ dữ liệu tweet đã được gán nhãn phân cực
Sau khi có dữ liệu tweet đã được gán nhãn phân cực, khóa luận tiến hành trực quan
hóa dữ liệu để có thể dễ dàng đánh giá được kết quả của hệ thống.
Đầu vào: Dữ liệu tweet chủ quan.
Đầu ra: Đồ thị biểu diễn các tweet đã được gán nhãn phân cực.
Hướng tiếp cận giải quyết: Dùng thống kê, ta sẽ biết được số lượng, tần số xuất
hiện…
3.3. Tóm tắt chương 3
Trong chương 3 khóa luận đã giới thiệu mô hình đề xuất để giải quyết bài toán và
các phương pháp giải quyết ở từng pha.
Khóa luận đã trình bày cách lấy dữ liệu, tiền xử lý dữ liệu, sử dụng SVM để phân
lớp quan điểm chủ quan/khách quan, phân lớp quan điểm phân cực (gồm hai bộ phân lớp
con là bộ phân lớp quan điểm phân cực có chứa biểu tượng cảm xúc, bộ phân lớp phân
36
cực không chứa biểu tượng cảm xúc), trực quan hóa kết quả dữ liệu tweet mang quan
điểm phân cực.
Khóa luận kết hợp các phương pháp và đã đề xuất cải tiến bộ phân lớp quan điểm
phân cực để đạt được kết quả cao.
Để cải tiến dựa được mô hình tốt hơn, khóa luận tiến hành làm thực nghiệm để có
thể kiểm tra và đánh giá được những bước mình đã làm, cùng với đó là đưa ra các phương
pháp cải tiến nhằm nâng cao kết quả.
Trong chương tiếp theo khóa luận sẽ trình bày thực nghiệm mà khóa luận đã làm và
đánh giá của khóa luận về hệ thống.
37
Chương 4. Thực nghiệm và đánh giá
Trong chương này khóa luận sẽ trình bày thưc nghiệm dựa trên mô hình để xuất ở
chương ba. Khóa luận tiến hành thực nghiệm trên 10 từ truy vấn, lấy dữ liệu là tiếng Anh.
Dựa vào kết quả thực nghiệm, khóa luận tiến hành đánh giá, nhận xét.
4.1. Hướng tiếp cận thực nghiệm
Sau quá trình tìm hiểu các phương pháp của các tác gải, khóa luận đã đưa ra đề xuất
mô hình. Để kiểm tra đánh giá được hiệu quả của mô hình đã đề xuất, khóa luận tiến hành
làm thực nghiệm.
Mục tiêu của thực nghiệm là kiểm tra tính khả thi của mô hình, vì mô hình của khóa
luận đề xuất mới chỉ dựa trên tìm hiểu và phân tích các nghiên cứu liên quan.
Thực nghiệm sẽ được tiến hành theo từng pha của mô hình, dựa vào kết quả của
thực nghiệm mà khóa luận rút ra nhận xét đánh giá và bổ xung cho mô hình được hoàn
chỉnh. Sau đó khóa luận sẽ cải thiện lại mô hình mà khóa luận đề xuất nếu kết quả chưa
tốt, cùng với đó khóa luận sẽ nâng cao các kết quả của từng pha.
Có kết quả của thực nghiệm sẽ giúp khóa luận có cải thiện tốt hơn cho hệ thống. Hệ
thống cần được áp dụng vào thực tiễn chứ không chỉ dừng lại chỉ là trên lý thuyết.
Phần tiếp theo khóa luận sẽ trình bày chi tiết các cách làm thực nghiệm của khóa
luận.
38
4.2. Môi trường thực nghiệm
4.2.1. Cấu hình phần cứng
Bảng 9. Cấu hình phần cứng
Thành phần Chỉ số
CPU Intel Core Dual (2*2.0GHz)
RAM 2GB
Bộ nhớ ngoài (HDD) 320GB
Hệ điều hành (OS) Windows 7 Ultimate 32 bits
4.2.2. Công cụ phân mềm
Bảng 10. Công cụ phần mềm sử dụng
Stt Tên công cụ Nguồn
1 Eclipse http://www.eclipse.org/downloads/
2 Libsvm Công dụng: Bộ phần mềm cho học máy và phân loại bằng
thuật toán SVM http://www.csie.ntu.edu.tw/~cjlin/libsvm/
3 java-json Công dụng: Bộ phân tích JSON http://json.org/java/
4 Tokenize Công dụng: Bộ phân tích tokenize
https://code.google.com/p/ark-tweet-nlp/
5 Model phân tích
cú pháp
http://opennlp.sourceforge.net/models-1.5/
6 tool hỗ trợ phân
tích cú pháp
http://opennlp.apache.org/documentation/1.5.2-
incubating/apidocs/opennlp-tools/
4.3.Dữ liệu
Khóa luận sử dụng 10 từ khóa để lấy dữ liệu bằng Search API:
"Acer", "Asus", "Dell", "Galaxy s2","iPad", "iphone 5", "Lenovo", "nokia lumia",
"samsung", "Window 8".
Khóa luận thu được dữ liệu ở dưới dạng JSON và khóa luận lưu chúng thành các
file, mỗi dòng trên file là thông tin của một tweet.
Khóa luận sử dụng một tập dữ liệu[1] đã được gán nhãn không mang quan điểm,
mang quan điểm tích cực, mang quan điểm tiêu cực. Khóa luận chia dữ liệu thành 3 tập
dữ liệu: tập dữ liệu chủ quan/ khách quan, tập dữ liệu mang quan điểm phân cực có biểu
tượng cảm xúc, tập dữ liệu mang quan điểm phân cực không có biểu tượng cảm xúc.
39
Hình 7. Dữ liệu thực nghiệm
4.4. Thực nghiệm
Khóa luận tiến hành crawler dữ liệu dựa vào Twitter Search API, khóa luận thu
được hơn 253711 tweet dữ liệu của 10 từ khóa trên.
Sau có khi dữ liệu khóa luận tiến hành chuẩn hóa dữ liệu và loại bỏ những tweet bị
trùng lặp, tương đồng(tránh hiện tượng spam làm sai đánh giá, nhìn nhận về kết quả).
Sau khi loại bỏ các tweet bị trùng lặp hoặc tương đồng.
Khóa luận tiến hành gán nhãn phân lớp cho chúng.
4.4.1.Xây dựng bộ phâp lớp chủ quan/khách quan
Khóa luận sử dụng dữ liệu có 1709 tweet đã được gán nhãn[1].
Kết quả sau khi sử dụng thuật toán SVM với các đặc trưng như trình bày ở chương
ba. Khóa luận thực hiện đánh giá chéo 10 khoảng (10-folds cross validation). Kết quả
thực nghiệm như sau:
Kết quả của bộ phân lớp chủ quan/khách quan có độ chính xác (accuracy) là 76.7 %
40
4.4.2. Sử dụng bộ phân lớp chủ quan/ khách quan với dữ liệu đã được chuẩn
hóa
Khóa luận sử dụng dữ liệu đã được tiền xử lý, sau khi qua mô hình phân lớp chủ
quan/ khách quan, khóa luận thu được kết quả như sau:
Bảng 11. Kết quả sử dụng bộ phân lớp chủ quan/ khách quan
Từ khóa tìm kiếm Số lượng tweet đã chuẩn hóa Số lượng tweet chủ quan
Acer 19329 6816
Asus 16408 4435
Dell 36916 11413
Galaxy s2 5093 1948
iPad 44325 12478
iphone 5 49075 17412
Lenovo 12427 3173
nokia lumia 20966 4192
Samsung 43660 13324
Window 8 5512 1901
4.4.3. Xây dựng bộ phân lớp phân cực
Khóa luận sử dụng dữ liệu tweet[1].
Với các bước xây dựng và sử dụng đặc trưng như đã trình bày ở chương ba, sử dụng
học máy LibSVM. Khóa luận thực hiện đánh giá chéo 10 khoảng (10-folds cross
validation). Kết quả thực nghiệm như sau:
Kết quả của bộ phân lớp quan điểm phân cực có độ chính xác (accuracy) là 81%
4.4.4. Sử dụng bộ phân lớp phân cực
Khóa luận sử dụng dữ liệu chủ quan, với các tweet có mang biểu tưởng cảm xúc,
khóa luận dùng mô hình phân lớp phân cực có chứa biểu tượng cảm xúc. Nếu dữ liệu
không chứa biểu tượng cảm xúc, khóa luận sử dụng mô hình không mang biểu tượng cảm
xúc. Sau khi qua mô hình phân lớp quan điểm phân cực, khóa luận thu được kết quả như
sau:
41
Bảng 12. Kết quả sử dụng bộ phân lớp phân cực
Từ khóa tìm
kiếm
tweet chủ quan tweet mang quan điểm
tích cực
tweet mang quan
điểm tiêu cực
Acer 6816 3655 3161
Asus 4435 2530 1905
Dell 11413 5107 6306
Galaxy s2 1948 1008 940
iPad 12478 6058 6420
iphone 5 17412 7317 10095
Lenovo 3173 1931 1242
nokia lumia 4192 2725 1467
samsung 13324 7128 6196
Window 8 1901 775 1126
4.4.5 Trực quan hóa kết quả
Với dữ liệu trên, ta có mô hình (đồ thị) biểu diễn kết quả như sau:
Hình 8. Biểu diễn tổng quan các thực thể về quan điểm
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
Mang quan điểm tiêu cực
Mang quan điểm tích cực
Số lượng
Từ khóa
42
Biểu đồ thể hiện quan điểm về thực thể Iphone 5
Hình 9. Biểu diễn quan điểm về Iphone5 theo phần trăm
Hình 10. Biểu diễn số lượng quan điểm về Iphone5
42%
58%
Quan điểm phân cực về Iphone 5
Mang quan điểm tích cực
Mang quan điểm tiêu cực
7317
10095
0 2000 4000 6000 8000 10000 12000
Mang quan điểm tích cực
Mang quan điểm tiêu cực
43
Hình 11. Biểu diễn quan điểm về Iphone5 theo thời gian biểu đồ cột
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Mang quan điểm tiêu cực
Mang quan điểm tích cực
thời gian
Phần trăm
44
Hình 12. Biểu diễn quan điểm về Iphone5 theo thời gian biểu đồ đường
4.5. Đánh giá hệ thống
Qua biểu đồ khóa luận thấy rằng người dùng quan tâm nhiều đến Iphone5 (với
17412 tweet chủ quan), Samsung (với 13324 tweet chủ quan), Ipad (với 12478 tweet chủ
quan).
Với kết quả dữ liệu trên, khóa luận thấy rằng những thực thể như Nokia lumia,
Lenovo, Asus được người dùng có nhiều ý kiến tốt hơn, cụ thể lần lượt là(Nokia lumia
65%, Lenovo 61%, Asus 57%). Chúng ta có thể thấy những dòng sản phẩm chất lượng
tốt, giá cả phù hợp và có uy tín lâu rất được nhiều quan điểm tốt về chúng.
Mặt khác với những dòng sản phẩm, công nghệ mới chưa được nhiều người biết
đến, nó quá đắt hoặc chất lượng nó không hài lòng người dùng nên có nhiều quan điểm
không tốt về thực thể đó. Theo thống kê ta có Window 8 và Iphone 5 là 2 thực thể được
nhiều người dùng có quan điểm không tốt về chúng, (cụ thể Window 8 có 59 % quan
điểm tiêu cực, Iphone 5 có 58 % quan điểm tiêu cực).
Qua sử dụng một số độ đo và kết quả qua đồ thị biểu diễn, khóa luận thấy rằng mô
hình đề xuất ở chương ba là khả thi. Tuy nhiên cần nâng cao hơn độ chính xác ở hai bộ
phân lớp: bộ phân lớp chủ quan /khách quan và bộ phân lớp quan điểm phân cực.
0
200
400
600
800
1000
1200
1400
Mang quan điểm tích cực
Mang quan điểm tiêu cực
45
4.5 Tóm tắt chương 4
Chương này khóa luận đã đề cập định hướng để làm thực nghiệm, tầm quan trọng
của việc làm thực nghiệm. Cương này đã trình bày chi tiết các bước cài đặt theo mô hình
và đã cho kết quả của từng pha. Từ kết quả thực nghiệm, khóa luận đã thấy được những
điểm mạnh và điểm yếu trong phương pháp làm. Khóa luận sẽ dựa theo những điểm
mạnh tiếp tục cải tiến, những điểm yếu khóa luận sẽ cần chỉnh sửa để thu được kết quả tốt
hơn. Các cải tiến tốt sẽ giúp cho hai bộ phân lớp: bộ phân lớp chủ quan/ khách quan và
bộ phân lớp quan điểm phân cực có được độ chính xác cao hơn.
Từ kết quả thu được, khóa luận đã đưa ra nhận xét đánh giá về tính khả thi của hệ
thống. Phần tiếp theo khóa luận trình bày kết luận và định hướng tiếp theo.
46
Kết luận và định hướng tiếp theo
Thu hồi quan điểm là nội dung nghiên cứu thời sự, đặc biệt là thu hồi quan điểm từ
mạng xã hội Twitter. Qua tìm hiểu các phương pháp thu hồi quan điểm trên mạng xã hội
đã được trình bày từ các công trình nghiên cứu liên quan.
Khóa luận đạt được các kết quả sau đây:
Trình bày về mạng xã hội, mạng xã hội twitter, và dữ liệu trên Twitter.
Trình bày bài toán thu hồi quan điểm về thực thể trên mạng xã hội twitter, nêu
vai trò, ý nghĩa cùng các khó khăn thách thức..
Trình bày và phân tích các hướng tiếp tiếp cận, phương pháp giải quyết của các
công trình nghiên cứu liên quan[1,2,6,22]..
Đề nghị mô hình và tiến hành cài đặt thực nghiệm: Khóa luận đã thu được một số
kết quả khả quan sau khi tiến hành thực nghiệm, kết quả tốt giúp cho hệ thống thể hiện
gần chính xác quan điểm của người dùng về thực thể trên twitter. Hai bộ phân lớp quan
điểm là phần quan trọng nhất của hệ thống thu hồi quan điểm. Khóa luận đã cải tiến bộ
phân lớp quan điểm phân cực bằng cách chia bộ phân lớp đó thành hai bộ phân lớp nhỏ.
Kết quả của bộ phân lớp chủ quan/ khách quan có độ chính xác khoảng 76.7%. Kết quả
của bộ phân lớp quan điểm phân cực chung có độ chính xác khoảng hơn 81%. Kết quả
của hệ thống là bước đầu để làm tiền đề và động lực cho các phát triển sau này của khóa
luận.
Tuy nhiên, do hạn chế về mặt thời gian và kiến thức nên khóa luận vẫn tồn tại mặt
hạn chế như các đặc trưng sử dụng cho hai bộ phân lớp SVM chưa được phong phú, còn
nhiều phương pháp chưa sử dụng kết hợp tốt.
Trong thời gian tới, khóa luận tiếp tục tìm hiểu và nâng cao chất lượng kết quả của
hai bộ phân lớp, cùng với đó là sử dụng kết hơp Twitter Streaming API để thu hồi quan
điểm trong thời gian thực và không bị giới hạn số lượng tweet. Ngoài giá khóa luận tiến
hành cải thiện các pha xử lý nhanh hơn và hoàn thiện hơn, xây dựng hệ thống trên web.
47
Tài liệu tham khảo
[1]Agarwal, Apoorv and Xie, Boyi and Vovsha, Ilia and Rambow, Owen and
Passonneau, Rebecca, Sentiment Analysis of Twitter Data, In Proceedings of the
Workshop on Language in Social Media (LSM 2011), 2011.
[2]Alec Go, Lei Huang, Richa Bhayani, Twitter Sentiment Analysis,CS224N, 2009
[3]Barbosa, Luciano and Junlan Feng, Robust,sentiment detection on twitter from
biased and noisy data, Proceedings of the International Conference on Computational
Linguistics (COLING-2010), 2010.
[4]Bo Han, Paul Cook, Timothy Baldwin, Automatically constructing a
normalisation dictionary for microblogs,1 Proceedings of the 2012 Joint Conference on
Empirical Methods in Natural Language Processing and Computational Natural Language
Learning (EMNLP-CoNLL 2012), Jeju Island, Korea, 2012, pp 421–432.
[5]Bo Pang and Lillian Lee, Opinion Mining and Sentiment Analysis, Foundations
and Trends in Information Retrieval, 2008, pp. 1–135.
[6]Bing Liu, Sentiment Analysis and Opinion Mining, Morgan & Claypool
Publishers, May 2012.
[7]Davidov, Dmitry and Tsur, Oren and Rappoport, Ari, Enhanced sentiment
learning using Twitter hashtags and smileys, in Proceedings of the 23rd International
Conference on Computational Linguistics: Posters, 2010, 241-249
[8]Francisco J. Ribadas, Manuel Vilares Ferro, Jesús Vilares Ferro, Semantic
Similarity Between Sentences Through Approximate Tree Matching, IbPRIA (2), 2005,
638-646.
[9]Gerani, S. Carman, M. J.; and Crestani, F. 2009, Investigating Learning
Approaches for Blog Post Opinion Retrieval, In ECIR, 2009.
[10]T. Joachims, Text Categorization with Support Vector Machines: Learning with
Many Relevant Features,Proceedings of the European Conference on Machine Learning,
Springer, 1998.
[11]I. Kloumann, C. Danforth, K. Harris, C. Bliss, and P. Dodds, Positivity of the
English language, PLoS ONE 7(1), 2012, pp. 1-7.
48
[12]Krishna Sapkota, Laxman Thapa, Shailesh Bdr. Pandey, Efficient Information
Retrieval Using Measures of Semantic Similarity, Conference on Software, Knowledge,
Information Management and Applications, Chiang Mai, Thailand, December 2006, 94-
98.
[13]Pak, A., and Paroubek, P. 2010, Twitter as a corpus for sentiment analysis and
opinion mining, In Proc. of LREC, 2010.
[14]Samuel Brody, Nicholas Diakopoulos,
Cooooooooooooooollllllllllllll!!!!!!!!!!!!!! Using Word Lengthening to Detect Sentiment
in Microblogs, EMNLP 2011: 562-570.
[15]P. Senellart and V. D. Blondel,Automatic discovery of similar words. Survey of
Text Mining II: Clustering, Classification and Retrieval (M. W. Berry and M.Castellanos,
editors),Springer-Verlag, January 2008, pp 25–44.
[16]Shengli Wu, Fusing Blog Opinion Retrieval Results for Better
Effectiveness, Database and Expert Systems Applications (DEXA), 2011 22nd
International Workshop on, 2011, pp 195-199.
[17]Turney, Peter D, Thumbs up or thumbs down?: semantic orientation applied to
unsupervised classification of reviews, Proceedings of Annual Meeting of the Association
for Computational Linguistics (ACL-2002), 2002.
[18]Vladimir N. Vapnik, The Nature of Statistical Learning Theory, Springer, 1995.
[19]Wiebe, Janyce and Ellen Riloff, Creating subjective and objective sentence
classifiers from unannotated texts, Computational Linguistics and Intelligent Text
Processing, 2005.
[20]Yu, Hong and Vasileios Hatzivassiloglou, Towards answering opinion
questions, Separating facts from opinions and identifying the polarity of opinion
sentences, Proceedings of Conference on Empirical Methods in Natural Language
Processing (EMNLP-2003), 2003.
[21]Yuhua Li, David McLean, Zuhair Bandar, James O'Shea, Keeley A. Crockett,
Sentence Similarity Based on Semantic Nets and Corpus Statistics,IEEE Trans. Knowl.
Data Eng. 18(8), 2006, pp 1138-1150.
49
[22]Zhunchen Luo, Miles Osborne, Ting Wang, Opinion Retrieval in Twitter,
ICWSM, 2012.