SlideShare a Scribd company logo
1 of 37
Download to read offline
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
----------------------------------
HOÀNG TIẾN SƠN
KHAI PHÁ LỜI BÌNH TRÊN CÁC TRANG
THƯƠNG MẠI ĐIỆN TỬ ĐỂ XÁC ĐỊNH
CẢM XÚC CỦA KHÁCH HÀNG
LUẬN VĂN THẠC SĨ
KHOA HỌC MÁY TÍNH
Đà Nẵng – Năm 2017
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
----------------------------------
HOÀNG TIẾN SƠN
KHAI PHÁ LỜI BÌNH TRÊN CÁC TRANG
THƯƠNG MẠI ĐIỆN TỬ ĐỂ XÁC ĐỊNH
CẢM XÚC CỦA KHÁCH HÀNG
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ
KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. Trương Ngọc Châu
Đà Nẵng – Năm 2017
LỜI CAM ĐOAN
Tôi xin cam đoan:
Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn
trực tiếp của thầy TS.Trương Ngọc Châu.
Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả,
tên công trình, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin
chịu hoàn toàn trách nhiệm.
Học viên
Hoàng Tiến Sơn
MỤC LỤC
MỞ ĐẦU .............................................................................................................. 1
1. Tính cấp thiết của đề tài ................................................................................ 1
2. Mục đích nghiên cứu..................................................................................... 1
3. Đối tượng và phạm vi nghiên cứu................................................................. 1
4. Phương pháp nghiên cứu............................................................................... 2
5. Bố cục đề tài.................................................................................................. 2
6. Tổng quan tài liệu tham khảo........................................................................ 2
Chương 1 - CƠ SỞ LÝ THUYẾT...................................................................... 3
1.1. Khái niệm lời bình................................................................................................3
1.2. Khái niệm về cảm xúc..........................................................................................3
1.3. Tổng quan về xử lý ngôn ngữ tiếng Anh .............................................................3
1.3.1. Đặc điểm của tiếng Anh................................................................................3
1.3.2. Nhận xét về tiếng Anh ..................................................................................4
1.4. Các phương pháp tách từ tiếng Anh.....................................................................4
1.4.1. Phương pháp So khớp từ dài nhất (Longest Matching)................................4
1.4.2. Phương pháp Học cải tiến (Transformation-based Learning - TBL) ...........5
1.4.3. Phương pháp So khớp cực đại (Maximum Matching) .................................5
1.5. Các thuật toán phân loại.......................................................................................6
1.5.1. K láng giềng gần nhất K-Nearest Neighbors (k-NN) ...................................6
1.5.2. Linear Least Square Fit.................................................................................8
1.5.3. Centroid – based vector ................................................................................9
1.5.4. Cây quyết định..............................................................................................9
1.5.5. C4.5.............................................................................................................12
1.5.6. Máy vector hỗ trợ Support Vector Machine...............................................14
1.5.7. Thuật toán phân lớp Naïve Bayes...............................................................16
1.6. Gán thẻ và phân loại văn bản .............................................................................18
1.6.1. Gán thẻ từ....................................................................................................18
1.6.2. Phân loại từ .................................................................................................19
Chương 2 - PHÂN TÍCH HỆ THỐNG ........................................................... 21
2.1. Phân tích yêu cầu đề tài......................................................................................21
2.2. Mô hình đề xuất phân loại cảm xúc từ lời bình .................................................21
2.3. Thu thập dữ liệu (Crawler).................................................................................22
2.3.1. Nguyên lí thu thập dữ liệu ..........................................................................22
2.3.2. Thu thập dữ liệu từ các trang web động .....................................................23
2.4. Bóc tách dữ liệu (Extractor)...............................................................................23
2.4.1. Các vấn đề liên quan đến phân tích HTML................................................23
2.4.2. Chuẩn hóa dữ liệu.......................................................................................26
2.5. Đề xuất mô hình phân loại lời bình....................................................................26
2.6. Phân tích cảm xúc ..............................................................................................27
2.6.1. Xác định Holder..........................................................................................27
2.6.2. Xác định Target...........................................................................................28
2.6.3. Phân loại Polarity........................................................................................28
2.7. Tại sao lựa chọn giải thuật Naïve Bayer để phân lớp ........................................28
2.7.1. Bài toán tổng quan ......................................................................................28
2.7.2. Bài toán cụ thể ............................................................................................29
2.7.3. Ưu điểm ......................................................................................................29
2.7.4. Nhược điểm.................................................................................................30
2.7.5. Đo lường hiệu năng của giải thuật..............................................................30
2.8. Máy học trong bài toán phân loại lời bình .........................................................31
2.8.1. Các tập dữ liệu cần thiết và ý nghĩa trong phân lớp với máy học ..............31
2.8.2. Phân rã thông tin từ văn bản .......................................................................33
Chương 3 - THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG...................................... 35
3.1. Xây dựng chương trình mô phỏng .....................................................................35
3.1.1. Phần cứng....................................................................................................35
3.1.2. Phần mềm....................................................................................................35
3.2. Môi trường phát triển .........................................................................................36
3.3. Phân tích thiết kế hệ thống.................................................................................36
3.3.1. Hoạt động của hệ thống ..............................................................................36
3.3.2. Mô hình thiết kế hệ thống...........................................................................37
3.3.3. Thiết kế .......................................................................................................41
3.4. Kết quả đạt được ................................................................................................42
3.5. Đánh giá kết quả.................................................................................................48
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN....................................................... 50
1. Kết luận ........................................................................................................... 50
2. Kết quả đạt được.............................................................................................. 50
3. Hướng phát triển ............................................................................................. 50
TÀI LIỆU THAM KHẢO
PHỤ LỤC
TÓM TẮT LUẬN VĂN
KHAI PHÁ LỜI BÌNH TRÊN CÁC TRANG THƯƠNG MẠI
ĐIỆN TỬ ĐỂ XÁC ĐỊNH CẢM XÚC CỦA KHÁCH HÀNG
Học viên: Hoàng Tiến Sơn Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01 Khóa: 31 Trường Đại học Bách khoa – ĐHĐN
Tóm tắt – Trong thời đại thương mại điện tử, việc khai phá cảm xúc của khác
hàng nhằm đưa ra chiến lược kinh doanh là nhu cầu tất yếu của tất cả mọi người
và tổ chức tham gia bán hàng. Tuy nhiên hiện nay chưa có sản phẩm nào chuyên
về lĩnh vực này, hoặc có thì cũng đang ở mức thu thập và phân tích dữ liệu một
cách thủ công. Vấn đề đặt ra là làm thế nào để có thể thu thập dữ liệu và phân
loại dữ liệu cảm xúc một cách tự động từ lời bình của người dùng về thiết bị, sản
phẩm từ đó trích xuất ra thông tin có ích nhằm phục vụ nhu cầu phân tích và lên
kế hoạch kinh doanh. Nghiên cứu này, nhằm mục đích đề xuất ra giải pháp tự
động cho vấn đề Khai phá lời bình trên các trang thương mại điện tử để xác
định cảm xúc của khách hàng và từ đó xây dựng nên các biểu đồ trực quan
nhằm hỗ trợ tốt nhất cho quá trình lên kế hoạch kinh doanh. Dựa trên định lý
Bayes và mã nguồn mở về xử lý ngôn ngữ tự nhiên, tác giả đã đề xuất được mô
hình giải pháp và xây dựng thành chương trình thực tế đáp ứng được các nhu
cầu cơ bản nhất, đồng thời đưa ra được hướng phát triển tiếp theo.
Từ khóa – lời bình, khai phá lời bình, python, thương mại điện tử, cảm xúc
khách hàng
MINING THE COMMENTS ON E-COMMERCE TO IDENTIFY
CLIENTS' EMOTIONS
Abstract – In the time of e-commerce, identify clients’ emotions to raise
business plan is the most needed of sellers and merchants. Actually, it does not
have any automation specific product for this field, or if have, they are in
manual collection and analytic way. This research for purpose giving an
automation method for Mining the comments on e-commerce to identify clients’
emotions and base on that, building visual diagram for the best support to
business plan. Base on Bayes theorem and Natural Language Toolkit, an open
source, author raised a solution model and built demo that can support basic
require, also raised improving plan in the future.
Key words – comment, comment mining, python, ecommerce, client sentiment
DANH MỤC CÁC CHỮ VIẾT TẮT
CÁC CHỮ VIẾT TẮT
Tiếng Việt
CSDL Cơ sở dữ liệu
k-NN K láng giềng gần nhất
Tiếng Anh
DOM Document Object Model
HTML Hyper Text Markup Language
kNN k Nearest Neighbor
LLSF Linear Least Square Fit
NLTK Natural Language Toolkit
SVM Support Vector Machine
TBL Transformation – Based Learning
W3C World Wide Web Consortium
DANH MỤC CÁC HÌNH VẼ
Số hiệu
hình vẽ
Tên hình vẽ Trang
2.1 Mô hình tự động lấy lời bình 21
2.2 Mô hình tự động bóc tách dữ liệu từ trang web 22
2.3 Mô hình bóc tách dữ liệu từ trang web động 23
2.4 Hình minh họa cấu trúc cây HTML DOM 24
2.5 Mô hình nhận diện cảm xúc 27
2.6 Mô hình máy học trong phân loại lời bình 31
2.7 Các tập dữ liệu thường dùng trong máy học 32
2.8 Hệ thống phân rã thông tin đơn giản 33
3.1 Mô hình usecase của Admin 39
3.2 Mô hình usecase của user 39
3.3 Biểu đồ tuần tự xem thống kê theo tên nhãn hiệu 40
3.4 Biểu đồ tuần tự xem thống kê theo tên thiết bị 40
3.5 Quan hệ giữa các bảng dữ liệu 41
3.6 Phân loại theo nhãn hiệu sản phẩm 42
3.7 Lời bình đã được phân loại theo nhãn hiệu 42
3.8 Phân loại và thống kê theo thiết bị 43
3.9 Lời bình đã được phân loại theo thiết bị 43
3.10 Quá trình lấy dữ liệu tự động 44
3.11 Giao diện trang quản lý của admin 44
3.12 Admin quản lý nhãn hiệu 45
3.13 Admin quản lý lời bình 45
3.14 Admin quản lý thiết bị 46
3.15 Admin quản lý root url 46
3.16 Admin quản lý uris 46
3.17 Admin chỉnh sửa thông tin nhãn hiệu 47
3.18 Admin chỉnh sửa thông tin thiết bị 47
3.19 Admin chỉnh sửa thông tin uri 48
3.20 Admin thêm mới root url 48
1
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Trong kỹ nguyên của thời đại công nghệ số thì việc khai phá thông tin có
ích tiềm ẩn trong cơ sở dữ liệu là điều không thể thiếu.
Hiện nay phần lớn các thông tin được khai phá chủ yếu lưu trữ trong các hệ
quản trị cơ sở dữ liệu có cấu trúc. Tuy nhiên, với sự phát triển nhanh chóng như
ngày nay thì còn rất nhiều kiến thức quan trọng chưa được khai phá, tiềm ẩn
trong thế giới của World Wide Web (các websites), các dữ liệu tiềm năng này
được lưu trữ dưới dạng văn bản, là dạng dữ liệu phi cấu trúc hoặc bán cấu trúc.
Một trong số những kiến thức quan trọng, đóng vai trò giúp đỡ nghiên cứu
thị trường trong lĩnh vực kinh doanh mặt hàng bán lẻ là khám phá cảm xúc, độ
quan tâm của người dùng đối với mặt hàng, được thể hiện qua các comment (lời
bình) của người dùng trên các trang thương mại điện tử, từ đó có chiến lược điều
chỉnh kinh doanh hợp lý.
Websites thương mại điện tử thường chứa nhiều lời bình.
Hiện nay việc thống kê dữ liệu đánh giá độ quan tâm của khách hàng tới
sản phẩm thường được tiến hành thủ công.
Vấn đề đặt ra là làm thế nào để có thể thu thập dữ liệu và phân loại dữ liệu
cảm xúc một cách tự động từ lời bình của người dùng về thiết bị, sản phẩm từ đó
trích xuất ra thông tin có ích nhằm phục vụ nhu cầu phân tích và lên kế hoạch
kinh doanh.
Xuất phát từ lý do trên, tôi đã chọn đề tài: “Khai phá lời bình trên các trang
thương mại điện tử để xác định cảm xúc của khách hàng” làm luận văn thạc sỹ
của mình.
2. Mục đích nghiên cứu
Tìm hiểu cảm xúc của khách hàng thông qua lời bình trên các trang thương
mại điện tử.
3. Đối tượng và phạm vi nghiên cứu
a. Đối tượng nghiên cứu
 Cảm xúc trong lời bình trên các trang thương mại điện tử về các điện
thoại di động thông minh.
 Các phương pháp phân loại cảm xúc văn bản bằng tiếng Anh.
 Phân loại cảm xúc văn bản tiếng Anh bằng phương pháp phân lớp
Naive Bayes Classifiers.
2
 Ngôn ngữ lập trình Python ứng dụng trong lập trình hệ thống phân loại
cảm xúc lời bình.
b. Phạm vi nghiên cứu
Trong khuôn khổ luận văn, tôi nghiên cứu các lời bình về điện thoại thông
minh trên trang thương mại điện tử http://www.lazada.sg/ và xây dựng mô
hình tự động thống kê, phân loại lời bình thành cảm xúc mang tính tích
cực và cảm xúc mang tính tiêu cực.
4. Phương pháp nghiên cứu
a. Phương pháp lý thuyết
 Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài.
 Nghiên cứu lý thuyết về khám phá cảm xúc, nhận dạng cảm xúc văn
bản, đặc tính của văn bản, các thuật toán phân loại.
b. Phương pháp thực nghiệm
 Xây dựng tập dữ liệu lời bình
 Xây dựng mô hình nhận dạng cảm xúc từ lời bình
 Kiểm tra, thử nghiệm và đánh giá kết quả
5. Bố cục đề tài
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT.
Chương này trình bày khái quát về khai phá lời bình, các phương pháp
phân loại cảm xúc lời bình đối với tiếng Anh.
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG.
Chương này trình bày khai phá lời bình để xác định cảm xúc lời bình tiếng
Anh sử dụng phương pháp Naive bayes.
CHƯƠNG 3: THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG.
Sử dụng ngôn ngữ lập trình Python để viết chương trình demo việc phân
loại cảm xúc lời bình bằng tiếng Anh.
6. Tổng quan tài liệu tham khảo
Tài liệu tham khảo được sử dụng trong luận văn gồm sách báo và các luận
văn của các học viên các lớp cao học ở các trường.
Một số tài liệu tham khảo về các phương pháp phân loại văn bản [3] [4].
Một số tài liệu tham khảo về phân tích cảm xúc [1] [2] [5] [6].
Tài liệu tham khảo về xử lý ngôn ngữ tự nhiên [7] [8].
3
Chương 1 - CƠ SỞ LÝ THUYẾT
1.1. Khái niệm lời bình
Lời bình là lời nói hoặc viết nhằm xem xét, phân tích, đánh giá ưu điểm và
khuyết điểm của sự vật hoặc sự việc.
1.2. Khái niệm về cảm xúc
Cảm xúc hay xúc cảm là một hình thức trải nghiệm cơ bản của con người
về thái độ của chính mình đối với sự vật, hiện tượng của hiện thực khách quan,
với người khác và với bản thân. Sự hình thành cảm xúc là một điều kiện tất yếu
của sự phát triển con người như là một nhân cách.
Cảm xúc hay thái độ tiêu cực là những cảm xúc, thái độ thụ động, tránh đấu
tranh, gồm:
 Chán
 Ghét, hận
 Tức giận, kích động, quá khích
 Sợ hãi, nhút nhát
Cảm xúc hay thái độ tích cực là những cảm xúc, thái độ khẳng định, dấn thân,
gồm:
 Thích
 Yêu
 Hưng phấn, phấn khích
 Tự tin
1.3. Tổng quan về xử lý ngôn ngữ tiếng Anh
1.3.1. Đặc điểm của tiếng Anh
Trong tiếng Anh có những đặc điểm cơ bản sau:
- Từ là đơn vị cơ bản của tiếng Anh.
- Từ là một nhóm các ký tự có nghĩa được tách biệt với nhau bởi khoảng
trắng hoặc dấu câu.
- Trong hoạt động ngôn ngữ, từ có biến đổi hình thái. Ví dụ: see, saw,
seen.
- Ý nghĩa ngữ pháp nằm trong từ. Ví dụ: I see him và he sees me.
- Phương pháp ngữ pháp chủ yếu là phụ tố. Ví dụ: learning và learned.
- Nhiều từ được cấu tạo bằng cách ghép thêm phụ tố vào từ gốc.
Ví dụ: Anticomputerizational.
4
1.3.2. Nhận xét về tiếng Anh
- Là loại hình ngôn ngữ có biến đổi hình thái nên việc phân biệt loại từ
và ý nghĩa từ đơn giản.
- Đơn vị cơ bản là từ, ranh giới từ được phân biệt bằng khoảng trắng
hoặc dấu câu nên tách từ trong tiếng Anh rất đơn giản.
- Ý nghĩa ngữ pháp nằm ngay trong từ nên có thể thực hiện tính xác suất
xuất hiện của từ trong văn bản để có thể rút trích đặc trưng của văn bản.
1.4. Các phương pháp tách từ tiếng Anh
1.4.1. Phương pháp So khớp từ dài nhất (Longest Matching)
- Định nghĩa bài toán: Cho hai xâu S độ dài m và xâu T độ dài n, tìm xâu có
độ dài lớn nhất là xâu con của cả hai xâu S và T.
- Tổng quát hóa bài toán này là bài toán tìm xâu con k-chung (k-common
substring problem):
Cho một tập xâu S = {S1, ..., Sk} trong đó |Si| = ni với ∑ni = N. Với mỗi giá
trị k thỏa mãn 2 ≤ k ≤ K, tìm các xâu con chung dài nhất của ít nhất k xâu.
Bài toán thường được giải quyết bằng phương pháp quy hoạch động.
Quy hoạch động:
Trong ngành khoa học máy tính, quy hoạch động là một phương pháp giảm
thời gian chạy của các thuật toán thể hiện các tính chất của các bài toán con gối
nhau và cấu trúc con tối ưu.
Là kĩ thuật thiết kế thuật toán theo kiểu chia bài toán lớn thành các bài toán
con, sử dụng lời giải của các bài toán con để tìm lời giải cho bài toán ban đầu.
Quy hoạch động, thay vì gọi đệ quy, sẽ tính trước lời giải của các bài toán con
và lưu vào bộ nhớ (thường là một mảng), và sau đó lấy lời giải của bài toán con
ở trong mảng đã tính trước để giải bài toán lớn.
Tóm lại, quy hoạch động sử dụng:
Các bài toán con gối nhau
Cấu trúc con tối ưu
Memoization
Quy hoạch động thường dùng một trong hai cách tiếp cận:
top-down (từ trên xuống): Bài toán được chia thành các bài toán con, các
bài toán con này được giải và lời giải được ghi nhớ để phòng trường hợp cần
dùng lại chúng.
5
bottom-up (từ dưới lên): Tất cả các bài toán con có thể cần đến đều được
giải trước, sau đó được dùng để xây dựng lời giải cho các bài toán lớn hơn. Cách
tiếp cận này tốt hơn về không gian bộ nhớ dùng cho ngăn xếp và số lời gọi hàm.
1.4.2. Phương pháp Học cải tiến (Transformation-based Learning - TBL)
Transformation-based Learning được Eric Brill giới thiệu lần đầu vào năm
1992. Ý tưởng chính của TBL là bắt đầu với một số giải pháp đơn giản cho vấn
đề này và áp dụng các phép biến đổi - ở mỗi bước chuyển đổi mang lại lợi ích
lớn nhất được lựa chọn và áp dụng cho vấn đề. Thuật toán ngừng khi chuyển đổi
được lựa chọn không sửa đổi dữ liệu ở những nơi đủ, hoặc không có nhiều
chuyển đổi hơn để được chọn.
Đầu tiên văn bản chưa được tách từ T1 được phân tích thông qua chương
trình khởi tạo tách từ ban đầu P1. Sau khi qua chương trình P1, ta được văn bản
T2 đã được tách từ. Văn bản T2 được so sánh với văn bản đã được tách từ trước
một cách chính xác là T3. Chương trình P2 sẽ thực hiện học từng phép chuyển
đổi (transformation) để khi áp dụng thì T2 sẽ giống với văn bản chuẩn T3 hơn.
Quá trình học được lặp đi lặp lại đến khi không còn phép chuyển đổi nào khi áp
dụng làm cho T2 tốt hơn nữa. Kết quả ta thu được bộ luật R dùng cho công việc
tách từ.
Phương pháp TBL có nhược điểm là mất rất nhiều thời gian học và tốn
nhiều không gian nhớ do nó phải sinh ra các luật trung gian trong quá trình học.
Vì để học được một bộ luật thì TBL chạy rất lâu và dùng tới nhiều bộ nhớ, nên
việc xây dựng được một bộ luật đầy đủ dùng cho việc tách từ là rất khó khăn. Vì
thế khi áp dụng phương pháp này, sẽ có khá nhiều nhập nhằng.
Tuy nhiên sau khi có bộ luật thì TBL lại tiến hành việc tách từ khá nhanh.
Hơn nữa, ý tưởng của phương pháp rút ra các quy luật từ ngôn ngữ và liên tục
sửa sai cho luật thông qua quá trình lặp là phù hợp với bài toán xử lý ngôn ngữ
tự nhiên.
1.4.3. Phương pháp So khớp cực đại (Maximum Matching)
Phương pháp này còn được gọi là phương pháp khớp tối đa. Tư tưởng của
phương pháp này là duyệt một câu từ trái qua phải và chọn từ có nhiều tiếng
nhất mà có mặt trong từ điển.
Thuật toán có 2 dạng sau:
Dạng đơn giản:
Giả sử có một chuỗi các tiếng trong câu là t1, t2, ..tN.
Thuật toán sẽ kiểm tra xem t1 có mặt trong từ điển hay không, sau đó kiểm
tra tiếp t1-t2 có trong từ điển hay không. Tiếp tục như vậy cho đến khi tìm được
6
từ có nhiều tiếng nhất có mặt trong từ điển, và đánh dấu từ đó. Sau đó tiếp tục
quá trình trên với tất các các tiếng còn lại trong câu và trong toàn bộ văn bản.
Dạng phức tạp:
Dạng này có thể tránh được một số nhập nhằng gặp phải trong dạng đơn
giản. Đầu tiên thuật toán kiểm tra xem t1 có mặt trong từ điển không, sau đó
kiểm tra tiếp t1 – t2 có mặt trong từ điển không. Nếu t1 và t1 - t2 đều có mặt trong
từ điển thì thuật toán thực hiện chiến thuật chọn 3 - từ tốt nhất.
Tiêu chuẩn 3 - từ tốt nhất được Chen & Liu đưa ra như sau:
- Độ dài trung bình của 3 từ là lớn nhất
- Sự chênh lệch độ dài của 3 từ là ít nhất.
Ưu điểm của phương pháp trên có thể thấy rõ là đơn giản, dễ hiểu và chạy
nhanh. Hơn nữa chúng ta chỉ cần một tập từ điển đầy đủ là có thể tiến hành tách
từ cho các văn bản, hoàn toàn không phải trải qua huấn luyện.
1.5. Các thuật toán phân loại
1.5.1. K láng giềng gần nhất K-Nearest Neighbors (k-NN)
k-NN được sử dụng rất phổ biến trong lĩnh vực Data Mining, là phương
pháp để phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng
cần xếp lớp (Query point) và tất cả các đối tượng trong Training Data.
Một đối tượng được phân lớp dựa vào k láng giềng của nó. k là số nguyên
dương được xác định trước khi thực hiện thuật toán. Người ta thường dùng
khoảng cách Euclidean để tính khoảng cách giữa các đối tượng.
Thuật toán k-NN được mô tả như sau:
Xác định giá trị tham số k (số láng giềng gần nhất)
Tính khoảng cách giữa đối tượng cần phân lớp (Query Point) với tất cả
các đối tượng trong training data (thường sử dụng khoảng các Euclidean)
Sắp xếp khoảng cách theo thứ tự tăng dần và xác định k láng giềng gần
nhất với Query Point
Lấy tất cả các lớp của k láng giềng gần nhất đã xác định
Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho Query
Point
Ví dụ minh họa:
Trong hình dưới đây, training Data được mô tả bởi dấu (+) và dấu (-), đối
tượng cần được xác định lớp cho nó (Query point) là hình tròn đỏ. Nhiệm vụ của
chúng ta là ước lượng (hay dự đoán) lớp của Query point dựa vào việc lựa chọn
số láng giềng gần nhất với nó. Nói cách khác chúng ta muốn biết liệu Query
Point sẽ được phân vào lớp (+) hay lớp (-).
7
Ta thấy rằng:
1-Nearest neighbor: kết quả là + (Query Point được xếp vào lớp dấu +)
2-Nearest neighbors: không xác định lớp cho Query Point vì số láng giềng
gần nhất với nó là 2 trong đó 1 là lớp + và 1 là lớp – (không có lớp nào có số đối
tượng nhiều hơn lớp kia)
5-Nearest neighbors: kết quả là - (Query Point được xếp vào lớp dấu - vì
trong 5 láng giềng gần nhất với nó thì có 3 đối tượng thuộc lớp - nhiều hơn lớp +
chỉ có 2 đối tượng).
Thuật toán phân loại văn bản k Nearest Neighbor:
Giả sử có loại văn bản huấn luyện C1, C2, …, Cj và tổng các mẫu huấn
luyện là N. Sau khi tiền xử lý cho mỗi văn bản, tất cả chúng đều trở thành vector
m chiều đặc trưng.
Xử lý văn bản X thành dạng vector đặc trưng như các mẫu huấn luyện.
Tính sự tương đồng giữa các mẫu huấn luyện và văn bản X. Lấy văn bản
thứ i làm mẫu di (di1, di2, …, dim), sự giống nhau 𝑆𝐼𝑀(𝑋, 𝑑𝑖) được tính theo công
thức sau:
𝑆𝐼𝑀(𝑋, 𝑑𝑖) =
∑ 𝑑𝑖𝑗 . 𝑋𝑗
𝑚
𝑗−1
√(∑ 𝑋𝑗
𝑚
𝑗−1 )
2
. √(∑ 𝑑𝑖𝑗
𝑚
𝑗−1 )
2
Chọn k mẫu lớn hơn từ N tương đồng của SIM(X, di), (i = 1, 2, …, N), và
xem chúng như một bộ k láng giềng gần nhất của X. Sau đó, tính toán xác suất
của X thuộc về mỗi loại tương ứng với công thức sau đây:
𝑃(𝑋, 𝐶𝑗) = ∑ 𝑆𝐼𝑀(𝑋, 𝑑𝑗). 𝑦(𝑑𝑖, 𝐶𝑗)
𝑑𝑗𝜖 𝑘𝑁𝑁
Trong đó 𝑦(𝑑𝑖, 𝐶𝑗) nhận một trong 2 giá trị 0 hoặc 1:
8
𝑦(𝑑𝑖, 𝐶𝑗) = {
1, 𝑑𝑖 𝜖 𝐶𝑗
0, 𝑑𝑖 ∉ 𝐶𝑗
Khi y = 1 thì văn bản X thuộc loại Cj, khi y = 0 thì văn b không thuộc loại
Cj. Sau đó kết luận, văn bản X thuộc loại có giá trị P(X,Cj) lớn nhất. Để chọn
được tham số k tốt nhất cho việc phân loại, thuật toán phải được chạy thử
nghiệm trên nhiều giá trị k khác nhau, giá trị k càng lớn thì thuật toán càng ổn
định và sai sót càng thấp.
1.5.2. Linear Least Square Fit
LLSF là một cách tiếp cận ánh xạ được phát triển bởi Yang và Chute vào
năm 1992. Đầu tiên, LLSF được Yang và Chute thử nghiệm trong lĩnh vực xác
định từ đồng nghĩa sau đó sử dụng trong phân loại vào năm 1994. Các thử
nghiệm của Yang cho thấy hiệu suất phân loại của LLSF có thể ngang bằng với
phương pháp k-NN kinh điển.
LLSF sử dụng phương pháp hồi quy để học từ tập huấn luyện và các chủ đề
có sẵn. Tập huấn luyện được biểu diễn dưới dạng một cặp vector đầu vào và đầu
ra như sau:
 Vector đầu vào một văn bản bao gồm các từ và trọng số.
 Vector đầu ra gồm các chủ đề cùng với trọng số nhị phân của văn
bản ứng với vector đầu vào.
 Giải phương trình các cặp vector đầu vào đầu ra, ta sẽ được ma trận
đồng hiện của hệ số hồi quy của từ và chủ đề (matrix of word-
category regression coefficients)
𝐹𝐿𝑆 = 𝑎𝑟𝑔𝑚𝑖𝑛𝐹 = ‖𝐹𝐴 − 𝐵‖2
Trong đó A, B là ma trận đại diện tập dữ liệu huấn luyện (các cột trong ma
trận tương ứng là các vector đầu vào và đầu ra).
FLS là ma trận kết quả chỉ ra một ánh xạ từ một văn bản bất kỳ vào vector
của chủ đề đã gán trọng số.
Nhờ vào việc sắp xếp trọng số của các chủ đề, ta được một danh sách chủ
đề có thể gán cho văn bản cần phân loại. Nhờ đặt ngưỡng lên trọng số của các
chủ đề mà ta tìm được chủ đề thích hợp cho văn bản đầu vào. Hệ thống tự động
học các ngưỡng tối ưu cho từng chủ đề, giống với kNN. Mặc dù LLSF và k-NN
khác nhau về mặt thống kê, nhưng ta vẫn tìm thấy điểm chung ở hoạt động của
hai phương pháp là việc học ngưỡng tối ưu.
9
1.5.3. Centroid – based vector
Là một phương pháp phân loại đơn giản, dễ cài đặt và tốc độ nhanh do có
độ phức tạp tuyến tính O(n).
Ý tưởng của cách tiếp cận này là mỗi lớp trong dữ liệu huấn luyện sẽ được
biểu diễn bằng một vector trọng tâm. Việc xác định lớp của một văn bản bất kỳ
sẽ thông qua việc tìm vector trọng tâm nào gần với vector biểu diễn văn bản thứ
nhất. Lớp của văn bản chính là lớp mà vector trọng tâm đại diện và khoảng cách
được xác định theo độ đo Cosine.
Chúng ta có công thức tính vector trọng tâm của lớp i:
Độ đo khoảng cácg giữa vector x và vector Ci:
Trong đó :
- x là vector văn bản cần phân loại
- {i} là tập hợp các văn bản thuộc chủ đề Ci
Chủ đề của vector x là Cx thỏa mãn cos(x, Cx)= arg max (cos(x,Ci)).
1.5.4. Cây quyết định
Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng
để phân lớp các đối tượng dựa vào dãy các luật (series of rules). Các thuộc tính
của đối tượng (ngoại trừ thuộc tính phân lớp – Category attribute) có thể thuộc
các kiểu dữ liệu khác nhau (Binary, Nominal, ordinal, quantitative values) trong
khi đó thuộc tính phân lớp phải có kiểu dữ liệu là Binary hoặc Ordinal.
Tóm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp
(classes) của nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các đối
tượng chưa biết (unseen data).
Ví dụ minh họa:
Ta có dữ liệu (training data) về 10 đối tượng (người). Mỗi đối tượng được
mô tả bởi 4 thuộc tính là Gender, Car Ownership, Travel Cost/Km, Income
Level và 1 thuộc tính phân loại (category attribute) là Transportation mode.
Trong đó thuộc tính Gender có kiểu binary, thuộc tính Car Ownership có kiểu
10
Quantitative integer (0,1), Travel Cost/Km và Income Level có kiểu dữ liệu
Ordinal.
Tranining data cho biết sự lựa chọn về loại phương tiện vận chuyển (car, bus,
train) của khách dựa vào 4 thuộc tính đã cho.
Attributes Classes
Gender Car ownership
Travel Cost
($)/km
Income
Level
Transportation
mode
Male 0 Cheap Low Bus
Male 1 Cheap Medium Bus
Female 1 Cheap Medium Train
Female 0 Cheap Low Bus
Male 1 Cheap Medium Bus
Male 0 Standard Medium Train
Female 1 Standard Medium Train
Female 1 Expensive High Car
Male 2 Expensive Medium Car
Female 2 Expensive High Car
Dựa vào Training Data ở trên, chúng ta có thể tạo ra cây quyết định như
sau
Chú ý rằng trong cây quyết định trên, thuộc tính “Income Level” không
xuất hiện trong cây bởi vì dựa vào training data đã cho, thuộc tính “Travel
Cost/Km” sẽ sinh ra cây quyết định tốt dùng để phân loại tốt hơn “Income
Level”.
11
Làm sao để sử dụng cây quyết định trong dự đoán lớp của các dữ liệu chưa
biết
Mục đích chính của cây quyết định là dùng để dự đoán lớp (xác định lớp)
của các đối tượng chưa biết (unseen data). Giả sử rằng ta có dữ liệu về 3 người
với các giá trị dữ liệu đã biết về các thuộc tính Gender, Car Ownership, Travel
Cost/Km, Income Level. Tuy nhiên ta chưa biết họ sẽ chọn phương tiện vận
chuyển nào (Car, Bus, Train). Nhiệm vụ của chúng ta là sử dụng cây quyết định
đã tạo ra để dự đoán (predict) Alex, Buddy và Cherry sẽ chọn phương tiện vận
chuyển nào dựa vào 4 thuộc tính của họ. Dữ liệu dưới đây còn được gọi là
Testing Data.
Person
name
Gender
Car
ownership
Travel
Cost
($)/km
Income
Level
Transportation
Mode
Alex Male 1 Standard High ?
Buddy Male 0 Cheap Medium ?
Cherry Female 1 Cheap High ?
Chúng ta bắt đầu từ node gốc của cây (root node) từ thuộc tính Travel
Cost/Km, ta thấy rằng nếu Travel Cost/Km là Expensive thì người đó sẽ chọn
phương tiện là Car. Nếu Travel Cost/Km là standard thì họ sẽ chọn phương
tiện vận chuyển là Train. Nếu Travel Cost/Km là Cheap thì cây quyết định cần
tới giá trị của trường Gender của người đó, nếu Gender là Male thì chọn Bus,
nếu giới tính là Female thì cây quyết định cần kiểm tra xem người đó có sử
hữu bao nhiêu xe hơi (Car Ownership). Nếu số xe hơi sở hữu là 0 thì người đó
sẽ chọn xe Bus, nếu số xe hơi sở hữu là 1 thì người đó sẽ chọn Train.
Theo cây quyết định trên, các luật (Series of Rules) được sinh ra từ cây
quyết định dùng để dự đoán như sau:
Rule 1: If Travel cost/km is expensive then mode = car
Rule 2: If Travel cost/km is standard then mode = train
Rule 3: If Travel cost/km is cheap and gender is male then mode = bus
Rule 4: If Travel cost/km is cheap and gender is female and she owns no
car then mode = bus
Rule 5: If Travel cost/km is cheap and gender is female and she owns 1 car
then mode = train
Dựa vào các luật này, việc dự đoán lớp cho các dữ liệu chưa biết (unseen
data hay Testing data) rất đơn giản.
12
Trong ví dụ này, Alex có giá trị của thuộc tính Travel Cost/Km là Standard
nên sẽ chọn phương tiện là Train (Rule 2) mà không cần quan tâm đến các thuộc
tính khác của Alex. Buddy có giá trị của thuộc tính Travel Cost/Km là Cheap và
Gender của anh ta là Male nên anh ta sẽ chọn Bus (Rule 3). Cheery cũng có giá trị
thuộc tính Travel Cost/Km là Cheap nhưng Gender là Female và sở hữu 1 xe hơi
cho nên theo cây quyết định trên (Rule 5) cô ta sẽ chọn phương tiện là Train.
Kết quả phân lớp bằng cây quyết định như sau:
Person name
Travel Cost
($)/km
Gender Car ownership
Transportation
Mode
Alex Standard Male 1 Train
Buddy Cheap Male 0 Bus
Cherry Cheap Female 1 Train
Cây quyết định là một phương pháp phân lớp rất hiệu quả và dễ hiểu. Tuy
nhiên có một số chú ý khi sử dụng cây quyết định trong xây dựng các mô hình
phân lớp như sau:
Hiệu qủa phân lớp của cây quyết định (Series of Rules) phụ thuộc rất lớn
vào training data. Chẳn hạn cây quyết định được tạo ra bởi chỉ giới hạn 10
samples training data trong ví dụ trên thì hiệu quả ứng dụng cây quyết định để
dự đoán các trường hợp khác là không cao (thường training data phải đủ lớn và
tin cậy) và vì vậy ta không thể nói rằng tập các luật (Series of Rules) được sinh
ra bởi cây quyết định trên là tập luật tốt nhất.
Có rất nhiều thuật toán phân lớp như ID3, J48, C4.5, CART (Classification
and Regression Tree),… Việc chọn thuật toán nào để có hiệu quả phân lớp cao
tuy thuộc vào rất nhiều yếu tố, trong đó cấu trúc dữ liệu ảnh hưởng rất lớn đến
kết quả của các thuật toán. Chẳn hạn như thuật toán ID3 và CART cho hiệu quả
phân lớp rất cao đối với các trường dữ liệu số (quantitative value) trong khi đó
các thuật toán như J48, C4.5 có hiệu quả hơn đối với các dữ liệu Qualititive
value (ordinal, Binary, nominal).
1.5.5. C4.5
C4.5 là thuật toán phân lớp dữ liệu dựa trên cây quyết định hiệu quả và phổ
biến trong những ứng dụng khai phá cơ sở dữ liệu có kích thước nhỏ. C4.5 sử
dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, chính đặc điểm này làm
C4.5 chỉ thích hợp với những cơ sở dữ liệu nhỏ, và cơ chế sắp xếp lại dữ liệu tại
mỗi node trong quá trình phát triển cây quyết định. C4.5 còn chứa một kỹ thuật
cho phép biểu diễn lại cây quyết định dưới dạng một danh sách sắp thứ tự các
13
luật if-then (một dạng quy tắc phân lớp dễ hiểu). Kỹ thuật này cho phép làm
giảm bớt kích thước tập luật và đơn giản hóa các luật mà độ chính xác so với
nhánh tương ứng cây quyết định là tương đương.
Tư tưởng phát triển cây quyết định của C4.5 là phương pháp Hunt đã
nghiên cứu ở trên. Chiến lược phát triển theo độ sâu (depth-first strategy) được
áp dụng cho C4.5.
Mã giả của thuật toán C4.5:
(1) ComputerClassFrequency(T);
(2) if OneClass or FewCases
return a leaf;
Create a decision node N;
(3) ForEach Attribute A
ComputeGain(A);
(4) N.test=AttributeWithBestGain;
(5) if (N.test is continuous)
find Threshold;
(6) ForEach T' in the splitting of T
(7) If (T' is Empty)
Child of N is a leaf
else
(8) Child of N=FormTree(T');
(9) ComputeErrors of N;
return N
C4.5 có những đăc điểm khác với các thuật toán khác, đó là: cơ chế chọn
thuộc tính để kiểm tra tại mỗi node, cơ chế xử lý với những giá trị thiếu, việc
tránh “quá vừa” dữ liệu, ước lượng độ chính xác và cơ chế cắt tỉa cây.
C4.5 dùng Gain-entropy làm độ đo lựa chọn thuộc tính “tốt nhất”.
Phần lớn các hệ thống đều cố gắng để tạo ra một cây càng nhỏ càng tốt, vì
những cây nhỏ hơn thì dễ hiểu hơn và dễ đạt được độ chính xác dự đoán co hơn.
Do không thể đảm bảo được sự cực tiểu của cây quyết định, C4.5 dựa vào
nghiên cứu tối ưu hóa, và sự lựa chọn cách phân chia mà có độ đo lựa chọn
thuộc tính đạt giá trị cực đại.
Hai độ đo được sử dụng trong C4.5 là information gain và gain ratio.
RF(Cj, S) biểu diễn tần xuất (Relative Frequency) các case trong S thuộc về
lớp Cj.
14
𝑅𝐹(𝐶𝑗, 𝑆) =
|𝑆𝑗|
|𝑆|
Với |Sj| là kích thước tập các case có giá trị phân lớp là Cj. |S| là kích thước
tập dữ liệu đào tạo.
Chỉ số thông tin cần thiết cho sự phân lớp: I(S) với S là tập cần xét sự phân
phối lớp được tính bằng:
𝐼(𝑆) = − ∑ 𝑅𝐹(𝐶𝑗, 𝑆) log(𝑅𝐹(𝐶𝑗, 𝑆))
𝑥
𝑗=1
Sau khi S được phân chia thành các tập con S1, S2, …, St bởi test B
thì information gain được tính bằng:
𝐺(𝑆, 𝐵) = 𝐼(𝑆) − ∑
|𝑆𝑖|
|𝑆|
𝐼(𝑆𝑖)
Test B sẽ được chọn nếu có G(S,B) đạt giá trị lớn nhất. Tuy nhiên có một
vấn đề khi sử dụng G(S,B) ưu tiên test có số lượng lớn kết quả, ví dụ G(S,B) đạt
cực đại với test mà từng Si chỉ chứa một case đơn. Tiêu chuẩn gain ratio giải
quyết được vấn đề này bằng việc đưa vào thông tin tiềm năng (potential
information) của bản thân mỗi phân hoạch.
𝑃(𝑆, 𝐵) = − ∑
|𝑆𝑖|
|𝑆|
log(
|𝑆𝑖|
|𝑆|
)
Test B sẽ được chọn nếu có tỉ số giá trị 𝑔𝑎𝑖𝑛 𝑟𝑎𝑡𝑖𝑜𝑛 =
𝐺(𝑆,𝐵)
𝑃(𝑆,𝐵)
lớn nhất.
Trong mô hình phân lớp C4.5, có thể dùng một trong hai loại chỉ số Information
Gain hay Gain ratio để xác định thuộc tính tốt nhất. Trong đó Gain ratio là lựa
chọn mặc định.
C4.5 là một thuật toán hiệu quả cho những tập dữ liệu vừa và nhỏ.
C4.5 có cơ chế sinh cây quyết định hiệu quả và chặt chẽ bằng việc sử dụng
độ đo lựa chọn thuộc tính tốt nhất là information gain. Các cơ chế xử lý với giá
trị lỗi, thiếu và chống “quá vừa” dữ liệu của C4.5 cùng với cơ chế cắt tỉa cây đã
tạo nên sức mạnh của C4.5. Thêm vào đó, mô hình phân lớp C4.5 còn có phần
chuyển đổi từ cây quyết định sang luật if- then, làm tăng độ chính xác và tính dễ
hiểu của kết quả phân lớp. Đây là tiện ích rất có ý nghĩa đối với người sử dụng.
1.5.6. Máy vector hỗ trợ Support Vector Machine
Máy vectơ hỗ trợ (SVM - viết tắt tên tiếng Anh support vector machine) là
một khái niệm trong thống kê và khoa học máy tính cho một tập hợp các phương
pháp học có giám sát liên quan đến nhau để phân loại và phân tích hồi quy.
SVM dạng chuẩn nhận dữ liệu vào và phân loại chúng vào hai lớp khác nhau.
15
Do đó SVM là một thuật toán phân loại nhị phân. Với một bộ các ví dụ luyện
tập thuộc hai thể loại cho trước, thuật toán luyện tập SVM xây dựng một mô
hình SVM để phân loại các ví dụ khác vào hai thể loại đó. Một mô hình SVM là
một cách biểu diễn các điểm trong không gian và lựa chọn ranh giới giữa hai thể
loại sao cho khoảng cách từ các ví dụ luyện tập tới ranh giới là xa nhất có thể.
Các ví dụ mới cũng được biểu diễn trong cùng một không gian và được thuật
toán dự đoán thuộc một trong hai thể loại tùy vào ví dụ đó nằm ở phía nào của
ranh giới.
Tổng quan về máy vectơ hỗ trợ. Một máy vectơ hỗ trợ xây dựng một siêu
phẳng hoặc một tập hợp các siêu phẳng trong một không gian nhiều chiều hoặc
vô hạn chiều, có thể được sử dụng cho phân loại, hồi quy, hoặc các nhiệm vụ
khác. Một cách trực giác, để phân loại tốt nhất thì các siêu phẳng nằm ở càng xa
các điểm dữ liệu của tất cả các lớp (gọi là hàm lề) càng tốt, vì nói chung lề càng
lớn thì sai số tổng quát hóa của thuật toán phân loại càng bé. Trong nhiều trường
hợp, không thể phân chia các lớp dữ liệu một cách tuyến tính trong một không
gian ban đầu được dùng để mô tả một vấn đề. Vì vậy, nhiều khi cần phải ánh xạ
các điểm dữ liệu trong không gian ban đầu vào một không gian mới nhiều chiều
hơn, để việc phân tách chúng trở nên dễ dàng hơn trong không gian mới. Để
việc tính toán được hiệu quả, ánh xạ sử dụng trong thuật toán SVM chỉ đòi hỏi
tích vô hướng của các vectơ dữ liệu trong không gian mới có thể được tính dễ
dàng từ các tọa độ trong không gian cũ. Tích vô hướng này được xác định bằng
một hàm hạt nhân K(x,y) phù hợp.[5] Một siêu phẳng trong không gian mới
được định nghĩa là tập hợp các điểm có tích vô hướng với một vectơ cố định
trong không gian đó là một hằng số. Vectơ xác định một siêu phẳng sử dụng
trong SVM là một tổ hợp tuyến tính của các vectơ dữ liệu luyện tập trong không
gian mới với các hệ số αi. Với siêu phẳng lựa chọn như trên, các điểm x trong
không gian đặc trưng được ánh xạ vào một siêu mặt phẳng là các điểm thỏa
mãn:
Σi αi K(xi,x) = hằng số.
Ghi chú rằng nếu K(x,y) nhận giá trị ngày càng nhỏ khi y xa dần khỏi x thì
mỗi số hạng của tổng trên được dùng để đo độ tương tự giữa x với điểm xi
tương ứng trong dữ liệu luyện tập. Như vậy, tác dụng của tổng trên chính là so
sánh khoảng cách giữa điểm cần dự đoán với các điểm dữ liệu đã biết. Lưu ý là
tập hợp các điểm x được ánh xạ vào một siêu phẳng có thể có độ phức tạp tùy ý
trong không gian ban đầu, nên có thể phân tách các tập hợp thậm chí không lồi
trong không gian ban đầu.
16
1.5.7. Thuật toán phân lớp Naïve Bayes
Naïve Bayes là một tập các thuật toán phân loại dựa trên Bayes’ theorem,
nó không phải là một thuật toán riêng lẽ mà là các thuật toán có họ hàng với
nhau cùng chia sẻ một nguyên tắc chung.
Naïve Bayes là phương pháp phân loại dựa trên xác suất được sử dụng rộng
rãi trong lĩnh vực máy học (Mitchell trình bày năm 1996, Joachims trình bày
năm 1997 và Jason năm 2001) được sử dụng lần đầu tiên trong lĩnh vực phân
loại bởi Maron vào năm 1961, sau đó trở nên phổ biến dùng trong nhiều lĩnh vực
như trong các công cụ tìm kiếm được mô tả bởi Ri sbergen năm 1970, các bộ lọc
mail được mô tả bởi Sahami năm 1998, …
Ý tưởng cơ bản của cách tiếp cận Naïve Bayes là sử dụng xác suất có điều
kiện giữa từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân
loại. Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuất
hiện của tất cả các từ trong văn bản đều độc lập với nhau. Với giả định này
phương pháp Naïve Bayes không sử dụng sự phụ thuộc của nhiều từ vào một
chủ đề, không sử dụng việc kết hợp các từ để đưa ra phán đoán chủ đề.
Định lý Bayes
Cho X, C là các biến bất kỳ (rời rạc, liên tục, cấu trúc). Mục tiêu của ta là
dự đoán C từ X. Từ mô hình Bayes ta có thể lượng giá các tham số của P(X|C),
P(C) trực tiếp từ tập huấn luyện. Sau đó, ta sử dụng định lý Bayes để tính
P(C|X=x).
Độc lập điều kiện (conditional independence): X độc lập điều kiện với Y
khi cho Z nếu phân bố xác suất trên X độc lập với các giá trị của Y khi cho các
giá trị của Z. Ta thường viết P(X|Y,Z) = P(X|Z).
Ví dụ: P(Sấm sét|Mưa,Chớp) = P(Sấm sét|Chớp).
Naïve Bayes
Giả sử D là tập huấn luyện gồm các mẫu biểu diễn dưới dạng X = <x1, …,
xn>.Ci,D là tập các mẫu của D thuộc lớp Ci(i = {1, …, m}). Các thuộc tính x1, …,
xn độc lập điều kiện đôi một với nhau khi cho lớp C.
Thuật toán
Bước 1: Huấn luyện Naive Bayes trên tập dữ liệu huấn luyện. Lượng giá
P(Ci) và P(Xk|Ci).
Bước 2: X_new được gán vào lớp cho giá trị công thức lớn nhất:
𝑎𝑟𝑔𝑚𝑎𝑥𝐶𝑘
P(Ci) ∏ 𝑃(𝑥𝑘 |𝐶𝑖)
𝑛
𝑘=1
17
Bài toán cụ thể
Có Training Data và Unseen data như sau
Sử dụng Naïve Bayes Classifier để phân lớp cho Unseen data (X)
Class: C1:buys_computer =”yes”, C2:buys_computer =”no”
Tính P(X|Ci) cho mỗi class
X=(age<=30, income =”medium”, student=”yes”,credit_rating=”fair”)
P(age=“<=30” | buys_computer=“yes”) = 2/9=0.222
P(age=“<=30” | buys_computer=“no”) = 3/5 =0.6
P(income=“medium” | buys_computer=“yes”)= 4/9 =0.444
P(income=“medium” | buys_computer=“no”) = 2/5 = 0.4
P(student=“yes” | buys_computer=“yes”)= 6/9 =0.667
P(student=“yes” | buys_computer=“no”)= 1/5=0.2
P(credit_rating=“fair” | buys_computer=“yes”)=6/9=0.667
P(credit_rating=“fair” | buys_computer=“no”)=2/5=0.4
18
Tính P(X|Ci) :
P(X|buys_computer=“yes”)= 0.222 x 0.444 x 0.667 x 0.667 =0.044
P(X|buys_computer=“no”)= 0.6 x 0.4 x 0.2 x 0.4 =0.019
P(X|Ci)*P(Ci ):
P(X|buys_computer=“yes”) * P(buys_computer=“yes”)=0.044*9/14= 0.028
P(X|buys_computer=“no”) * P(buys_computer=“no”)=0.019*5/14 = 0.007
Do đó ta có X thuộc lớp buys_computer=“yes”
1.6. Gán thẻ và phân loại văn bản
1.6.1. Gán thẻ từ
Part-Of-Speech tagging hay còn gọi là gán nhãn từ loại là một công việc
quan trọng và bắt buộc phải có đối với mọi hệ xử lý ngôn ngữ tự nhiên. Công
việc gán nhãn từ loại cho một văn bản là xác định từ loại của mỗi từ trong phạm
vi văn bản đó, tức là phân loại các từ thành các lớp từ loại dựa trên thực tiễn
hoạt động ngôn ngữ.
Trong nhiều tác vụ của Xử lý ngôn ngữ tự nhiên (XLNNTN), ta mong
muốn xây dựng được một mô hình mà chuỗi các quan sát đầu vào (từ, ngữ, câu,
…) đi kèm với chuỗi các nhãn đầu ra (từ loại, ranh giới ngữ nghĩa, tên thực thể,
…) gọi là pairs of sequences.
Gán nhãn từ loại (Part-of-speech tagging – POS) có lẽ là bài toán sớm nhất
được nghiên cứu và được mọi người biết đến khi nhập môn chuyên ngành
XLNNTN.
Trong gán nhãn từ loại, mục tiêu của chúng ta khi đưa chuỗi đầu vào là một
câu, ví dụ: “And now for something completely different” chuỗi đầu ra sẽ là
nhãn (tag sequence) tương ứng:
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'), ('completely',
'RB'), ('different', 'JJ')]
Tập nhãn được sử dụng cho mục đích gán nhãn từ loại (part-Of-Speech
tagging):
ADJ adjective new, good, high, special, big, local
19
ADV adverb really, already, still, early, now
CNJ conjunction and, or, but, if, while, although
DET determiner the, a, some, most, every, no
EX existential there, there’s
FW foreign word dolce, ersatz, esprit, quo, maitre
MOD modal verb will, can, would, may, must, should
N noun year, home, costs, time, education
NP proper noun Alison, Africa, April, Washington
NUM number twenty-four, fourth, 1991, 14:24
PRO pronoun he, their, her, its, my, I, us
P preposition on, of, at, with, by, into, under
TO the word to to
UH interjection ah, bang, ha, whee, hmpf, oops
V verb is, has, get, do, make, see, run
VD past tense said, took, told, made, asked
VG present participle making, going, playing, working
VN past participle given, taken, begun, sung
WH wh determiner who, which, when, what, where, how
Noun: danh từ, thường nói đến người, địa điểm, sự vật hoặc khái niệm, ví
dụ: phụ nữ, Scotland, sách, trí tuệ. Danh từ có thể xuất hiện sau các từ xác định
(determiner) và tính từ (adjective), và có thể là chủ ngữ hoặc vị ngữ của động từ.
Verbs: động từ, là các từ dùng để miêu tả sự kiện hoặc hành động. Trong
ngữ cảnh của một câu, động từ thường thể hiện một mối quan hệ liên quan đến
sự tham chiếu của một hoặc nhiều cụm từ danh từ.
Adjectives, Adverbs: tính từ và trạng từ, hai lớp từ khác quan trọng là tính
từ và trạng từ. Tính từ thường dùng để miêu tả cho danh từ hoặc bổ sung cho
danh từ. Tính từ trong tiếng anh có thể cấu thành bằng cách thêm đuôi –ing cho
danh từ và thường được xếp vào nhóm nội động từ. Trạng từ thường được dùng
để bổ sung cho động từ, để xác định thời gian, cách thức, nơi chốn. Trạng từ
cũng có thế dùng để bổ sung cho tính từ.
1.6.2. Phân loại từ
Làm thế nào để quyết định loại của một từ? Thông thường, các nhà ngôn
ngữ học căn cứ vào hình thái, cú pháp và ngữ nghĩa để xác định loại của một từ.
a) Phân cụm dựa trên hình thái
20
Bản thân cấu thành của từ loại có thể được sử dụng để làm căn cứ phân loại
cho từ đó. Ví dụ: -ness là một hậu tố, được kết hợp với tính từ để tạo nên một
danh từ (happy: happiness, ill: illness).
b) Phân cụm dựa trên cú pháp
Một nguồn thông tin khác để phân cụm là ngữ cảnh trong đó một từ có thể
xuất hiện. Ví dụ: giả sử rằng chúng ta đã phân loại được danh từ, thì chúng ta có
thể nói rằng tính từ trong tiếng anh có thể xuất hiện ngay trước một danh từ,
hoặc ngay sau các từ be (động từ tobe) hoặc very.
c) Phân cụm dựa trên ngữ nghĩa
Cuối cùng, ngữ nghĩa của một từ có thể được sử dụng để phân cụm từ loại.
Ví dụ, chúng ta đã được biết: tên của người, địa danh hoặc tên đồ vật phải là
danh từ.
21
Chương 2 - PHÂN TÍCH HỆ THỐNG
2.1. Phân tích yêu cầu đề tài
Đề tài: “Khai phá lời bình trên các trang thương mại điện tử để xác định
cảm xúc của khách hàng”.
Từ lý thuyết tổng quan chương 1 có được:
Quy về bản chất lời bình trên các trang thương mại là ngôn ngữ tự nhiên
dưới dạng văn bản chữ viết.
Cảm xúc được chia thành hai lớp cơ bản là cảm xúc tích cực và cảm xúc
tiêu cực. Ký hiệu là pos và neg.
Vậy có thể phát biểu đề tài dưới dạng bài toán:
Tự động tìm kiếm các lời bình trên các trang thương mại điện tử và phân
nhãn cho các lời bình này vào hai nhóm nhãn chính là tích cực (positive) và tiêu
cực (negative).
Phân rã bài toán thấy được hai phần chính của đề tài:
Phần 1: tự động tìm kiếm lời bình trên các trang thương mại điện tử. Quy
về bài toán thu thập và bóc tách dữ liệu tự động từ trang web.
Phần 2: phân loại lời bình (ngôn ngữ tự nhiên dưới dạng văn bản) vào hai
nhóm nhãn tích cực và tiêu cực.
Từ những phân tích trên tôi đề nghị mô hình giải pháp sau:
2.2. Mô hình đề xuất phân loại cảm xúc từ lời bình
Hình 2.1 Mô hình tự động lấy lời bình
22
2.3. Thu thập dữ liệu (Crawler)
2.3.1. Nguyên lí thu thập dữ liệu
Bộ thu thập dữ liệu Web còn được biết đến với các tên như: Web Spider,
Web
Robot. Chúng là một chương trình hoặc script tự động duyệt qua tất cả các
URL thỏa mãn một yêu cầu nào đó. Quá trình này được gọi là Web crawling
hoặc Web spidering. Vận dụng khả năng trên, các crawler được dùng phổ biến
trong các ứng dụng như lấy toàn bộ một trang Web, đồng nhất dữ liệu trực tuyến
và gián tuyến, cập nhật liên kết, kiểm tra liên kết hỏng định kì. Các máy tìm
kiếm cũng sử dụng crawler trong các tác vụ cập nhật CSDL phục vụ cho tìm
kiếm, crawler trả ra kết quả là một chỉ mục của các site mà đã đăng kí với nó,
chỉ mục này được sử dụng mỗi khi người dùng nhập một vài thông tin và thực
hiện tìm kiếm. Hệ thống đang xây dựng cũng cần đến một crawler trong quá
trình thu thập và cập nhật thông tin tự động. Chúng ta có thể mô tả khả năng của
crawler trong bài toán này như sau:
(1) Cung cấp cho crawler vài thông tin về nơi có nguồn dữ liệu.
(2) Crawler sẽ tự động tìm kiếm toàn bộ nguồn dữ liệu này và cập nhật về
CSDL
của chương trình.
Một crawler có điểm bắt đầu từ một địa chỉ URL. Theo thứ tự để thao tác
với các tài nguyên WWW, crawler sử dụng giao thức HTTP, nó cho phép
crawler giao tiếp với máy chủ Web để lấy dữ liệu và gửi các yêu cầu xử lí cho
máy chủ. Kết quả trả về là một trang Web, crawler sẽ thực hiện phân tích trang
Web và tìm kiếm trong nội dung các siêu liên kết. Crawler tiếp tục thao tác với
các liên kết này theo một cách hoàn toàn tương tự hình minh họa ở dưới.
Hình 2.2 Mô hình tự động bóc tách dữ liệu từ trang web
23
2.3.2. Thu thập dữ liệu từ các trang web động
Web động là các website có phần hiển thị dữ liệu được tự động triển khai
dựa trên javascript, ajax vì vậy với cách thu thập và bóc tách thông thường chỉ
thu được mã html và javascript không có giá trị.
Giải pháp đề xuất:
Hình 2.3 Mô hình bóc tách dữ liệu từ trang web động
- Selenium: là một trong những công cụ kiểm thử phần mềm tự động mã
nguồn mở (open source test automation tool) mạnh mẽ nhất hiện nay cho việc
kiểm thử ứng dụng Web. Hỗ trợ các tác vụ thao tác tự động trên nền web và trả
về mã html được sinh ra sau tác vụ, vì vậy chúng ta có thể kết hợp selenium
nhằm lập các tác vụ tự động để lấy mã nguồn html được sinh ra từ javascript,
ajax. Selenium yêu cầu phải có một trình duyệt web hỗ trợ.
- Phantom: là trình duyệt web chạy ngầm trong hệ thống, không yêu cầu
phải có giao diện để tương tác, vì vậy chúng ta kết hợp với Selenium ở trên để
giảm thiểu tài nguyên và tạo các tác vụ tự động.
2.4. Bóc tách dữ liệu (Extractor)
2.4.1. Các vấn đề liên quan đến phân tích HTML
a) HTML
HTML là một chuẩn cho việc hiển thị các thông tin trên Web. Bản chất của
HTML là một tệp văn bản trong đó chứa các thông tin hiển thị theo các thẻ định
dạng. Các trình duyệt Web sử dụng các thẻ này để hiển thị các thông tin theo
định dạng qui ước.
Các thẻ của HTML được định nghĩa sẵn và thường tuân theo chuẩn của
W3C. Mỗi thẻ HTML gồm một thẻ mở và một thẻ đóng dùng để bao một vùng
24
nội dung muốn định dạng. Nó tạo thành một phân tử gọi là HTML Element. Một
số thẻ còn có các tham số đi kèm được gọi là thuộc tính của thẻ.
b) HTML DOM
HTML DOM là một mô hình mô tả các tài liệu HTML dưới dạng các đối
tượng. Mô hình DOM được hiểu như một giao diện được sử dụng cho nhiều nền
tảng. Thông qua đó người lập trình có thể truy xuất và thực hiện các thao tác
trên tài liệu HTML dễ dàng và tuân thủ một nguyên tắc chung.
Khi biểu diễn trong mô hình DOM, các tài liệu HTML được thể hiện dưới
dạng một cấu trúc cây. Mọi thao tác truy xuất đều thực hiện trên các nút của cây.
Các nút này tương ứng với các HTML Element hoặc các vùng nội dung tự do.
Hình 2.4 Hình minh họa cấu trúc cây HTML DOM
Mọi nút trong mô hình này (trừ nút đầu tiên) đều có nút cha (parent node)
và các nút con (children node) của nó. Đặc điểm này xuất phát từ cấu trúc tài
liệu HTML có các HTML Element được tổ chức lồng nhau. Các nút văn bản do
không có các nút con nên luôn nằm ở vị trí các nút lá (leaf node). Nút nằm ở vị
trí gốc (root node) của cây DOM thường là Document node – tương ứng với một
tài liệu HTML.
Các đối tượng của mô hình DOM thường được sử dụng trong các ứng dụng
phân tích tài liệu HTML như:
Document: Là đối tượng bao bọc một tài liệu HTML bên trong. Các nút
Document luôn là nút gốc trong mô hình DOM của các tài liệu HTML. Bên dưới
25
Document có các nút là các Element, nút văn bản hay các loại nút khác
tương ứng với các yếu tố khác nhau trong chuẩn HTML.
Element: Là các nút nằm trên cây DOM, thường không phải là các nút lá,
bên dưới chúng có các nút con như nút văn bản. Mỗi một nút Element trên cây
DOM bao bọc một HTML Element bên trong.
Từ một đối tượng Element chúng ta có thể xác định được kiểu nút tương
ứng như hình ảnh, liên kết và các thuộc tính của nút.
Text: Là các phần nội dung văn bản hiển thị trên Web. Các nút loại này
phải nằm dưới ít nhất một nút element.
c) Các vấn đề khi phân tích mã HTML
 Biểu thức chính qui
Việc phát hiện các thẻ hoặc các siêu liên kết được thực hiện dựa trên mẫu
nhận dạng. Cách tiếp cận phân tích HTML bằng các kĩ thuật phân tích xâu kí tự
như trên sẽ bị hạn chế trong nhiều trường hợp. Chẳng hạn, khi sử dụng biểu thức
chính qui không cho thấy các quan hệ giữa nút cha, nút con. Khi cần xác định ví
trị của một thông tin nào đó trên các trang Web có cấu trúc, thông thường cần
xác định được nó nằm ở nút nào theo qui tắc truy vết từ nút trên cùng đến nút
chứa thông tin.
 DOM
Vì các thông tin hiển thị trên Web là các thông tin được sắp xếp một cách
có cấu trúc, nên để phân tích cú pháp HTML, trước tiên các bộ phân tích HTML
thường đưa chúng về dạng cây theo mô hình biểu diễn DOM. Mỗi Element
trong tài liệu HTML sẽ được xác định kiểu, các thuộc tính như InnerHtml,
InnerText và tạo thành một nút. Bộ phân tích HTML cũng cung cấp các phương
thức quan trọng cho phép chúng ta thêm, sửa, xóa nút và thao tác đầy đủ trên
cây.
Ngoài ra, bộ phân tích HTML còn có khả năng sửa lỗi các tài liệu HTML.
Chúng ta biết các tài liệu Web được tạo ra không thể tránh khỏi những lỗi chung
chung, chúng được xếp vào loại định dạng không tốt, như thiếu thẻ đóng, dùng
các thẻ không theo chuẩn, các thẻ chưa được định nghĩa sẵn. Ví dụ, một thẻ
đóng được tìm thấy nhưng nó không tương ứng với thẻ mở cuối cùng, nên các
thao tác sẽ không thực hiện được. Để khắc phục vấn đề này, bộ phân tích sử
dụng các thẻ tự động đóng (auto-closing). Tức là thẻ mở cuối cùng sẽ tự động
đóng, sau đó thẻ đóng sẽ được so sánh với các thẻ mở cho đến khi thẻ tương ứng
được tìm thấy.
26
2.4.2. Chuẩn hóa dữ liệu
Khi làm việc với các bài toán Machine Learning thực tế, nhìn chung chúng
ta chỉ có được dữ liệu thô chưa qua chỉnh sửa, chọn lọc. Chúng ta cần phải tìm
một phép biến đổi để loại ra những dữ liệu nhiễu (noise), và để đưa dữ liệu thô
với số chiều khác nhau về cùng một chuẩn (cùng là các vector hoặc ma trận). Dữ
liệu chuẩn mới này phải đảm bảo giữ được những thông tin đặc trưng (features)
cho dữ liệu thô ban đầu. Không những thế, tùy vào từng bài toán, ta cần thiết kế
những phép biến đổi để có những features phù hợp. Quá trình quan trọng này
được gọi là Feature Extraction, hoặc Feature Engineering, một số tài liệu tiếng
Việt gọi nó là trích chọn đặc trưng.
Áp dụng cho bài toán phân loại lời bình, các bước cơ bản dưới đây cần
được phát triển:
 Chuyển đổi tất cả lời bình về dạng chữ thường (lower case) trước khi
phân loại
 Xóa các tập tin lời bình bị trùng lắp
 Xóa lời bình không có nội dung
 Xóa lời bình gây nhiễu, ví dụ như lời bình chỉ có dấu ‘.’, … nhằm mục
đích spam hoặc đánh dấu
 Xóa bỏ các khoảng cách thừa trong câu
2.5. Đề xuất mô hình phân loại lời bình
Bài toán phân loại là việc lựa chọn chính xác nhãn của lớp cho một dữ liệu
đầu vào. Trong các việc phân loại cơ bản, mỗi dữ liệu đầu vào được cân nhắc
trong một vùng cô lập các dữ liệu đầu vào và tập các nhãn đã được định nghĩa
trước.
Tải bản FULL (72trang): https://bit.ly/3zGA3Lg
Dự phòng: fb.com/TaiHo123doc.net
27
Hình 2.5 Mô hình nhận diện cảm xúc
2.6. Phân tích cảm xúc
Công thức xác định cảm xúc:
Sentiment = Holder + Polarity + Target
 Holder: Đối tượng bình luận
 Polariry: Ảnh hưởng
 Target: Đối tượng nhận ảnh hưởng
Ví dụ:
Holder: người dùng hoặc là người đánh giá
2.6.1. Xác định Holder
 Xác định nguồn của các ý kiến với điều kiện là các trường ngẫu nhiên và
các bộ bóc tách mẫu
 Xem nhận dạng nguồn như là một nhiệm vụ khai thác thông tin và giải
quyết vấn đề bằng cách sử dụng việc gắn thẻ theo chuỗi và các kỹ thuật kết hợp
mẫu đồng thời
Tải bản FULL (72trang): https://bit.ly/3zGA3Lg
Dự phòng: fb.com/TaiHo123doc.net
28
Ví dụ:
International officers said US officials want the EU to prevail.
Dựa theo lý thuyết đã trình bày về gán nhãn và phân loại từ loại, theo ngữ
nghĩa và từ loại có thể xác định được Holder: International officers vì:
- Danh từ
- Bắt đầu bằng chữ cái viết hoa
- Liền sau nó là một động từ ở thì quá khứ
2.6.2. Xác định Target
Đánh giá đặc trưng trong nhận xét của khách hàng
Ví dụ:
The pictures are very clear
Từ ví dụ trên có thể phát biểu thành vấn đề cần giải quyết khi xác định
target:
Đưa vào tên và các đánh giá của một sản phẩm, tìm ra các đặc trưng đã
được chỉ ra một cách rõ ràng là danh từ hoặc cụm danh từ trong các đánh giá
đó.
Để giải quyết vấn đề cần:
 Phát hiện các đặc trưng thường xuyên
o Tìm ra các đặc trưng xuất hiện thường xuyên với 3 từ hoặc ít hơn
o Xuất hiện trong hơn 1% các câu đánh giá (ngưỡng hỗ trợ nhỏ nhất)
 Phát hiện các đặc trưng không thường xuyên
o Con người thường sử dụng cùng một vài tính từ để mô tả vài đối
tượng khác nhau
o Xác định từ là ý kiến: với mỗi câu trong dữ liệu đánh giá, nếu nó
chứa đặc trưng không thường xuyên nhưng chưa một hoặc nhiều từ
ý kiến, tìm ra danh từ hoặc cụm danh từ gần nhất của từ ý kiến như
là một đặc trưng không thường xuyên
2.6.3. Phân loại Polarity
Ý tưởng cơ bản:
 Sử dụng miền định hướng của các từ ý kiến trong một câu để xác định
miền của câu đó
 Nếu từ ý kiến là tích cực hoặc tiêu cực chiếm ưu thế thì xem như câu đó
có ý kiến tương ứng tích cực hoặc tiêu cực
2.7. Tại sao lựa chọn giải thuật Naïve Bayer để phân lớp
2.7.1. Bài toán tổng quan
Bài toán tổng quan được phát biểu như sau:
7761835

More Related Content

What's hot

Luận văn: Nghiên cứu các yếu tố ảnh hưởng đến quyết định mua sắm trực tuyến
Luận văn: Nghiên cứu các yếu tố ảnh hưởng đến quyết định mua sắm trực tuyếnLuận văn: Nghiên cứu các yếu tố ảnh hưởng đến quyết định mua sắm trực tuyến
Luận văn: Nghiên cứu các yếu tố ảnh hưởng đến quyết định mua sắm trực tuyếnViết Thuê Khóa Luận _ ZALO 0917.193.864 default
 
ĐỀ TÀI : Luận án Giáo dục kỹ năng tự bảo vệ cho học sinh tiểu học, HAY
ĐỀ TÀI : Luận án Giáo dục kỹ năng tự bảo vệ cho học sinh tiểu học, HAYĐỀ TÀI : Luận án Giáo dục kỹ năng tự bảo vệ cho học sinh tiểu học, HAY
ĐỀ TÀI : Luận án Giáo dục kỹ năng tự bảo vệ cho học sinh tiểu học, HAYLuận Văn 1800
 
Đề tài: Sử dụng trò chơi học tập trong dạy học phân môn Luyện từ và câu lớp 4, 5
Đề tài: Sử dụng trò chơi học tập trong dạy học phân môn Luyện từ và câu lớp 4, 5Đề tài: Sử dụng trò chơi học tập trong dạy học phân môn Luyện từ và câu lớp 4, 5
Đề tài: Sử dụng trò chơi học tập trong dạy học phân môn Luyện từ và câu lớp 4, 5Dịch vụ viết thuê Khóa Luận - ZALO 0932091562
 
Giao trinh van hoc trung dai Viet Nam. Tap 1.pdf
Giao trinh van hoc trung dai Viet Nam. Tap 1.pdfGiao trinh van hoc trung dai Viet Nam. Tap 1.pdf
Giao trinh van hoc trung dai Viet Nam. Tap 1.pdfMan_Ebook
 
Luận văn: Phát triển năng lực giải quyết vấn đề cho học sinh thông qua dạy họ...
Luận văn: Phát triển năng lực giải quyết vấn đề cho học sinh thông qua dạy họ...Luận văn: Phát triển năng lực giải quyết vấn đề cho học sinh thông qua dạy họ...
Luận văn: Phát triển năng lực giải quyết vấn đề cho học sinh thông qua dạy họ...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Luận văn: Biện pháp quản lý xây dựng văn hóa nhà trường ở các trường THCS huy...
Luận văn: Biện pháp quản lý xây dựng văn hóa nhà trường ở các trường THCS huy...Luận văn: Biện pháp quản lý xây dựng văn hóa nhà trường ở các trường THCS huy...
Luận văn: Biện pháp quản lý xây dựng văn hóa nhà trường ở các trường THCS huy...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Luận văn: Phát triển năng lực tự học cho học sinh trong dạy học chương “Mắt. ...
Luận văn: Phát triển năng lực tự học cho học sinh trong dạy học chương “Mắt. ...Luận văn: Phát triển năng lực tự học cho học sinh trong dạy học chương “Mắt. ...
Luận văn: Phát triển năng lực tự học cho học sinh trong dạy học chương “Mắt. ...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Thiết kế tình huống dạy học hiệu quả trong môn Toán tiểu học
Thiết kế tình huống dạy học hiệu quả trong môn Toán tiểu họcThiết kế tình huống dạy học hiệu quả trong môn Toán tiểu học
Thiết kế tình huống dạy học hiệu quả trong môn Toán tiểu họcChau Phan
 
Nghiên cứu xây dựng bài giảng e learning và sử dụng trong dạy học địa lí 11 t...
Nghiên cứu xây dựng bài giảng e learning và sử dụng trong dạy học địa lí 11 t...Nghiên cứu xây dựng bài giảng e learning và sử dụng trong dạy học địa lí 11 t...
Nghiên cứu xây dựng bài giảng e learning và sử dụng trong dạy học địa lí 11 t...jackjohn45
 
HOẠT ĐỘNG MARKETING CỦA CÔNG TY TRUYỀN THÔNG ĐỐI VỚI DỊCH VỤ TỔ CHỨC SỰ KIỆN ...
HOẠT ĐỘNG MARKETING CỦA CÔNG TY TRUYỀN THÔNG ĐỐI VỚI DỊCH VỤ TỔ CHỨC SỰ KIỆN ...HOẠT ĐỘNG MARKETING CỦA CÔNG TY TRUYỀN THÔNG ĐỐI VỚI DỊCH VỤ TỔ CHỨC SỰ KIỆN ...
HOẠT ĐỘNG MARKETING CỦA CÔNG TY TRUYỀN THÔNG ĐỐI VỚI DỊCH VỤ TỔ CHỨC SỰ KIỆN ...Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Luận văn: Giải pháp Digital Marketing cho dịch vụ nội dung số tại Công ty Thô...
Luận văn: Giải pháp Digital Marketing cho dịch vụ nội dung số tại Công ty Thô...Luận văn: Giải pháp Digital Marketing cho dịch vụ nội dung số tại Công ty Thô...
Luận văn: Giải pháp Digital Marketing cho dịch vụ nội dung số tại Công ty Thô...Viết thuê trọn gói ZALO 0934573149
 

What's hot (20)

Luận văn: Nghiên cứu các yếu tố ảnh hưởng đến quyết định mua sắm trực tuyến
Luận văn: Nghiên cứu các yếu tố ảnh hưởng đến quyết định mua sắm trực tuyếnLuận văn: Nghiên cứu các yếu tố ảnh hưởng đến quyết định mua sắm trực tuyến
Luận văn: Nghiên cứu các yếu tố ảnh hưởng đến quyết định mua sắm trực tuyến
 
ĐỀ TÀI : Luận án Giáo dục kỹ năng tự bảo vệ cho học sinh tiểu học, HAY
ĐỀ TÀI : Luận án Giáo dục kỹ năng tự bảo vệ cho học sinh tiểu học, HAYĐỀ TÀI : Luận án Giáo dục kỹ năng tự bảo vệ cho học sinh tiểu học, HAY
ĐỀ TÀI : Luận án Giáo dục kỹ năng tự bảo vệ cho học sinh tiểu học, HAY
 
Đề tài: Sử dụng trò chơi học tập trong dạy học phân môn Luyện từ và câu lớp 4, 5
Đề tài: Sử dụng trò chơi học tập trong dạy học phân môn Luyện từ và câu lớp 4, 5Đề tài: Sử dụng trò chơi học tập trong dạy học phân môn Luyện từ và câu lớp 4, 5
Đề tài: Sử dụng trò chơi học tập trong dạy học phân môn Luyện từ và câu lớp 4, 5
 
Luận văn: Khó khăn tâm lý trong giao tiếp với bạn bè của học sinh
Luận văn: Khó khăn tâm lý trong giao tiếp với bạn bè của học sinhLuận văn: Khó khăn tâm lý trong giao tiếp với bạn bè của học sinh
Luận văn: Khó khăn tâm lý trong giao tiếp với bạn bè của học sinh
 
Luận văn: Quan hệ của cha mẹ với con tuổi thiếu niên, HAY, 9đ
Luận văn: Quan hệ của cha mẹ với con tuổi thiếu niên, HAY, 9đLuận văn: Quan hệ của cha mẹ với con tuổi thiếu niên, HAY, 9đ
Luận văn: Quan hệ của cha mẹ với con tuổi thiếu niên, HAY, 9đ
 
Giao trinh van hoc trung dai Viet Nam. Tap 1.pdf
Giao trinh van hoc trung dai Viet Nam. Tap 1.pdfGiao trinh van hoc trung dai Viet Nam. Tap 1.pdf
Giao trinh van hoc trung dai Viet Nam. Tap 1.pdf
 
Luận văn: Phát triển năng lực giải quyết vấn đề cho học sinh thông qua dạy họ...
Luận văn: Phát triển năng lực giải quyết vấn đề cho học sinh thông qua dạy họ...Luận văn: Phát triển năng lực giải quyết vấn đề cho học sinh thông qua dạy họ...
Luận văn: Phát triển năng lực giải quyết vấn đề cho học sinh thông qua dạy họ...
 
PLS - SEM.pdf
PLS - SEM.pdfPLS - SEM.pdf
PLS - SEM.pdf
 
Luận văn: Biện pháp quản lý xây dựng văn hóa nhà trường ở các trường THCS huy...
Luận văn: Biện pháp quản lý xây dựng văn hóa nhà trường ở các trường THCS huy...Luận văn: Biện pháp quản lý xây dựng văn hóa nhà trường ở các trường THCS huy...
Luận văn: Biện pháp quản lý xây dựng văn hóa nhà trường ở các trường THCS huy...
 
Sử dụng phân hữu cơ với chế phẩm Trichoderma và Pseudomonas
Sử dụng phân hữu cơ với chế phẩm Trichoderma và PseudomonasSử dụng phân hữu cơ với chế phẩm Trichoderma và Pseudomonas
Sử dụng phân hữu cơ với chế phẩm Trichoderma và Pseudomonas
 
Nhận thức về trí tuệ cảm xúc của sinh viên chuyên ngành Tâm lý, 9đ
Nhận thức về trí tuệ cảm xúc của sinh viên chuyên ngành Tâm lý, 9đNhận thức về trí tuệ cảm xúc của sinh viên chuyên ngành Tâm lý, 9đ
Nhận thức về trí tuệ cảm xúc của sinh viên chuyên ngành Tâm lý, 9đ
 
Luận văn: Phát triển năng lực tự học cho học sinh trong dạy học chương “Mắt. ...
Luận văn: Phát triển năng lực tự học cho học sinh trong dạy học chương “Mắt. ...Luận văn: Phát triển năng lực tự học cho học sinh trong dạy học chương “Mắt. ...
Luận văn: Phát triển năng lực tự học cho học sinh trong dạy học chương “Mắt. ...
 
Luận văn: Lòng trung thành của Khách hàng đối với dịch vụ của FPT
Luận văn: Lòng trung thành của Khách hàng đối với dịch vụ của FPTLuận văn: Lòng trung thành của Khách hàng đối với dịch vụ của FPT
Luận văn: Lòng trung thành của Khách hàng đối với dịch vụ của FPT
 
Đề tài: Phân tích hoạt động truyền thông xã hội qua Facebook, HAY
Đề tài: Phân tích hoạt động truyền thông xã hội qua Facebook, HAYĐề tài: Phân tích hoạt động truyền thông xã hội qua Facebook, HAY
Đề tài: Phân tích hoạt động truyền thông xã hội qua Facebook, HAY
 
Thiết kế tình huống dạy học hiệu quả trong môn Toán tiểu học
Thiết kế tình huống dạy học hiệu quả trong môn Toán tiểu họcThiết kế tình huống dạy học hiệu quả trong môn Toán tiểu học
Thiết kế tình huống dạy học hiệu quả trong môn Toán tiểu học
 
Luận văn: Hành vi giao tiếp có văn hóa của sinh viên, HAY, 9đ
Luận văn: Hành vi giao tiếp có văn hóa của sinh viên, HAY, 9đLuận văn: Hành vi giao tiếp có văn hóa của sinh viên, HAY, 9đ
Luận văn: Hành vi giao tiếp có văn hóa của sinh viên, HAY, 9đ
 
Luận văn: Phát triển tư duy sáng tạo qua việc sử dụng bài tập sáng tạo
Luận văn: Phát triển tư duy sáng tạo qua việc sử dụng bài tập sáng tạoLuận văn: Phát triển tư duy sáng tạo qua việc sử dụng bài tập sáng tạo
Luận văn: Phát triển tư duy sáng tạo qua việc sử dụng bài tập sáng tạo
 
Nghiên cứu xây dựng bài giảng e learning và sử dụng trong dạy học địa lí 11 t...
Nghiên cứu xây dựng bài giảng e learning và sử dụng trong dạy học địa lí 11 t...Nghiên cứu xây dựng bài giảng e learning và sử dụng trong dạy học địa lí 11 t...
Nghiên cứu xây dựng bài giảng e learning và sử dụng trong dạy học địa lí 11 t...
 
HOẠT ĐỘNG MARKETING CỦA CÔNG TY TRUYỀN THÔNG ĐỐI VỚI DỊCH VỤ TỔ CHỨC SỰ KIỆN ...
HOẠT ĐỘNG MARKETING CỦA CÔNG TY TRUYỀN THÔNG ĐỐI VỚI DỊCH VỤ TỔ CHỨC SỰ KIỆN ...HOẠT ĐỘNG MARKETING CỦA CÔNG TY TRUYỀN THÔNG ĐỐI VỚI DỊCH VỤ TỔ CHỨC SỰ KIỆN ...
HOẠT ĐỘNG MARKETING CỦA CÔNG TY TRUYỀN THÔNG ĐỐI VỚI DỊCH VỤ TỔ CHỨC SỰ KIỆN ...
 
Luận văn: Giải pháp Digital Marketing cho dịch vụ nội dung số tại Công ty Thô...
Luận văn: Giải pháp Digital Marketing cho dịch vụ nội dung số tại Công ty Thô...Luận văn: Giải pháp Digital Marketing cho dịch vụ nội dung số tại Công ty Thô...
Luận văn: Giải pháp Digital Marketing cho dịch vụ nội dung số tại Công ty Thô...
 

Similar to KHAI PHÁ LỜI BÌNH TRÊN CÁC TRANG THƯƠNG MẠI ĐIỆN TỬ ĐỂ XÁC ĐỊNH CẢM XÚC CỦA KHÁCH HÀNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Abstract contents
Abstract contentsAbstract contents
Abstract contentsloisy28
 
Khóa Luận How To Improve Reading Skills For Students At An Duong High School....
Khóa Luận How To Improve Reading Skills For Students At An Duong High School....Khóa Luận How To Improve Reading Skills For Students At An Duong High School....
Khóa Luận How To Improve Reading Skills For Students At An Duong High School....sividocz
 
Các nhân tố ảnh hưởng đến ý định chọn Trường Đại Học Kinh Tế Thành Phố Hồ Chí...
Các nhân tố ảnh hưởng đến ý định chọn Trường Đại Học Kinh Tế Thành Phố Hồ Chí...Các nhân tố ảnh hưởng đến ý định chọn Trường Đại Học Kinh Tế Thành Phố Hồ Chí...
Các nhân tố ảnh hưởng đến ý định chọn Trường Đại Học Kinh Tế Thành Phố Hồ Chí...nataliej4
 
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORS
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORSGARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORS
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORSMd. Shafiuzzaman Hira
 
ảNh hưởng của thuộc tính bao bì đến ý định mua sản phẩm sữa tươi đóng hộp vai...
ảNh hưởng của thuộc tính bao bì đến ý định mua sản phẩm sữa tươi đóng hộp vai...ảNh hưởng của thuộc tính bao bì đến ý định mua sản phẩm sữa tươi đóng hộp vai...
ảNh hưởng của thuộc tính bao bì đến ý định mua sản phẩm sữa tươi đóng hộp vai...nataliej4
 
CANDIDATE DECLARATION now needed
CANDIDATE DECLARATION now neededCANDIDATE DECLARATION now needed
CANDIDATE DECLARATION now neededRichard Ansong
 
Dissertation_katia_2015_ultima
Dissertation_katia_2015_ultimaDissertation_katia_2015_ultima
Dissertation_katia_2015_ultimaKatia Cuellar
 
Đề tài Một số biện pháp nhằm nâng cao hiệu quả sản xuất kinh doanh tại công t...
Đề tài Một số biện pháp nhằm nâng cao hiệu quả sản xuất kinh doanh tại công t...Đề tài Một số biện pháp nhằm nâng cao hiệu quả sản xuất kinh doanh tại công t...
Đề tài Một số biện pháp nhằm nâng cao hiệu quả sản xuất kinh doanh tại công t...Thư viện Tài liệu mẫu
 
A.R.C. Usability Evaluation
A.R.C. Usability EvaluationA.R.C. Usability Evaluation
A.R.C. Usability EvaluationJPC Hanson
 
Master's Final Dissertation
Master's Final DissertationMaster's Final Dissertation
Master's Final DissertationClick Mark
 
Dissertation / Master's Thesis
Dissertation / Master's ThesisDissertation / Master's Thesis
Dissertation / Master's ThesisVimal Gopal
 
M re dissertation 97-2003
M re  dissertation 97-2003M re  dissertation 97-2003
M re dissertation 97-2003Vimal Gopal
 
LafargeHolcim good application tips
LafargeHolcim good application tipsLafargeHolcim good application tips
LafargeHolcim good application tipsClaudia Balan
 
Health Literacy Online: A Guide to Writing and Designing Easy-to-Use Health W...
Health Literacy Online: A Guide to Writing and Designing Easy-to-Use Health W...Health Literacy Online: A Guide to Writing and Designing Easy-to-Use Health W...
Health Literacy Online: A Guide to Writing and Designing Easy-to-Use Health W...Path of the Blue Eye Project
 
Technical Communication 14th Edition Lannon Solutions Manual
Technical Communication 14th Edition Lannon Solutions ManualTechnical Communication 14th Edition Lannon Solutions Manual
Technical Communication 14th Edition Lannon Solutions ManualIgnaciaCash
 

Similar to KHAI PHÁ LỜI BÌNH TRÊN CÁC TRANG THƯƠNG MẠI ĐIỆN TỬ ĐỂ XÁC ĐỊNH CẢM XÚC CỦA KHÁCH HÀNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH (20)

Abstract contents
Abstract contentsAbstract contents
Abstract contents
 
Khóa Luận How To Improve Reading Skills For Students At An Duong High School....
Khóa Luận How To Improve Reading Skills For Students At An Duong High School....Khóa Luận How To Improve Reading Skills For Students At An Duong High School....
Khóa Luận How To Improve Reading Skills For Students At An Duong High School....
 
Các nhân tố ảnh hưởng đến ý định chọn Trường Đại Học Kinh Tế Thành Phố Hồ Chí...
Các nhân tố ảnh hưởng đến ý định chọn Trường Đại Học Kinh Tế Thành Phố Hồ Chí...Các nhân tố ảnh hưởng đến ý định chọn Trường Đại Học Kinh Tế Thành Phố Hồ Chí...
Các nhân tố ảnh hưởng đến ý định chọn Trường Đại Học Kinh Tế Thành Phố Hồ Chí...
 
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORS
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORSGARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORS
GARMENT TEXTURE CLASSIFICATION BY ANALYZING LOCAL TEXTURE DESCRIPTORS
 
Hung_thesis
Hung_thesisHung_thesis
Hung_thesis
 
ảNh hưởng của thuộc tính bao bì đến ý định mua sản phẩm sữa tươi đóng hộp vai...
ảNh hưởng của thuộc tính bao bì đến ý định mua sản phẩm sữa tươi đóng hộp vai...ảNh hưởng của thuộc tính bao bì đến ý định mua sản phẩm sữa tươi đóng hộp vai...
ảNh hưởng của thuộc tính bao bì đến ý định mua sản phẩm sữa tươi đóng hộp vai...
 
CANDIDATE DECLARATION now needed
CANDIDATE DECLARATION now neededCANDIDATE DECLARATION now needed
CANDIDATE DECLARATION now needed
 
Final RWU Career Guide
Final RWU Career GuideFinal RWU Career Guide
Final RWU Career Guide
 
Dissertation_katia_2015_ultima
Dissertation_katia_2015_ultimaDissertation_katia_2015_ultima
Dissertation_katia_2015_ultima
 
Đề tài Một số biện pháp nhằm nâng cao hiệu quả sản xuất kinh doanh tại công t...
Đề tài Một số biện pháp nhằm nâng cao hiệu quả sản xuất kinh doanh tại công t...Đề tài Một số biện pháp nhằm nâng cao hiệu quả sản xuất kinh doanh tại công t...
Đề tài Một số biện pháp nhằm nâng cao hiệu quả sản xuất kinh doanh tại công t...
 
portfolio2
portfolio2portfolio2
portfolio2
 
A.R.C. Usability Evaluation
A.R.C. Usability EvaluationA.R.C. Usability Evaluation
A.R.C. Usability Evaluation
 
Master's Final Dissertation
Master's Final DissertationMaster's Final Dissertation
Master's Final Dissertation
 
Dissertation / Master's Thesis
Dissertation / Master's ThesisDissertation / Master's Thesis
Dissertation / Master's Thesis
 
M re dissertation 97-2003
M re  dissertation 97-2003M re  dissertation 97-2003
M re dissertation 97-2003
 
Aregay_Msc_EEMCS
Aregay_Msc_EEMCSAregay_Msc_EEMCS
Aregay_Msc_EEMCS
 
LafargeHolcim good application tips
LafargeHolcim good application tipsLafargeHolcim good application tips
LafargeHolcim good application tips
 
Health Literacy Online: A Guide to Writing and Designing Easy-to-Use Health W...
Health Literacy Online: A Guide to Writing and Designing Easy-to-Use Health W...Health Literacy Online: A Guide to Writing and Designing Easy-to-Use Health W...
Health Literacy Online: A Guide to Writing and Designing Easy-to-Use Health W...
 
Thesis_Nazarova_Final(1)
Thesis_Nazarova_Final(1)Thesis_Nazarova_Final(1)
Thesis_Nazarova_Final(1)
 
Technical Communication 14th Edition Lannon Solutions Manual
Technical Communication 14th Edition Lannon Solutions ManualTechnical Communication 14th Edition Lannon Solutions Manual
Technical Communication 14th Edition Lannon Solutions Manual
 

More from nataliej4

đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155nataliej4
 
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...nataliej4
 
Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279nataliej4
 
Từ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc giaTừ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc gianataliej4
 
Công tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngCông tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngnataliej4
 
Bài giảng nghề giám đốc
Bài giảng nghề giám đốcBài giảng nghề giám đốc
Bài giảng nghề giám đốcnataliej4
 
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán   tin họcđề Cương chương trình đào tạo trình độ trung cấp kế toán   tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin họcnataliej4
 
Giáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngGiáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngnataliej4
 
Lựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnLựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnnataliej4
 
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877nataliej4
 
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
Sổ tay hướng dẫn khách thuê   tòa nhà ree towerSổ tay hướng dẫn khách thuê   tòa nhà ree tower
Sổ tay hướng dẫn khách thuê tòa nhà ree towernataliej4
 
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...nataliej4
 
Bài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtBài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtnataliej4
 
đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864nataliej4
 
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...nataliej4
 
Bài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngBài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngnataliej4
 
Bài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhBài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhnataliej4
 
Giới thiệu học máy – mô hình naïve bayes learning intro
Giới thiệu học máy – mô hình naïve bayes   learning introGiới thiệu học máy – mô hình naïve bayes   learning intro
Giới thiệu học máy – mô hình naïve bayes learning intronataliej4
 
Lý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcLý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcnataliej4
 
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)nataliej4
 

More from nataliej4 (20)

đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155
 
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
 
Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279
 
Từ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc giaTừ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc gia
 
Công tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngCông tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vương
 
Bài giảng nghề giám đốc
Bài giảng nghề giám đốcBài giảng nghề giám đốc
Bài giảng nghề giám đốc
 
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán   tin họcđề Cương chương trình đào tạo trình độ trung cấp kế toán   tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
 
Giáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngGiáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao động
 
Lựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnLựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắn
 
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
 
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
Sổ tay hướng dẫn khách thuê   tòa nhà ree towerSổ tay hướng dẫn khách thuê   tòa nhà ree tower
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
 
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
 
Bài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtBài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tật
 
đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864
 
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
 
Bài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngBài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùng
 
Bài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhBài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanh
 
Giới thiệu học máy – mô hình naïve bayes learning intro
Giới thiệu học máy – mô hình naïve bayes   learning introGiới thiệu học máy – mô hình naïve bayes   learning intro
Giới thiệu học máy – mô hình naïve bayes learning intro
 
Lý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcLý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắc
 
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
 

Recently uploaded

Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Science lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonScience lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonJericReyAuditor
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 

Recently uploaded (20)

Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Science lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lessonScience lesson Moon for 4th quarter lesson
Science lesson Moon for 4th quarter lesson
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 

KHAI PHÁ LỜI BÌNH TRÊN CÁC TRANG THƯƠNG MẠI ĐIỆN TỬ ĐỂ XÁC ĐỊNH CẢM XÚC CỦA KHÁCH HÀNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

  • 1. ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ---------------------------------- HOÀNG TIẾN SƠN KHAI PHÁ LỜI BÌNH TRÊN CÁC TRANG THƯƠNG MẠI ĐIỆN TỬ ĐỂ XÁC ĐỊNH CẢM XÚC CỦA KHÁCH HÀNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Đà Nẵng – Năm 2017
  • 2. ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ---------------------------------- HOÀNG TIẾN SƠN KHAI PHÁ LỜI BÌNH TRÊN CÁC TRANG THƯƠNG MẠI ĐIỆN TỬ ĐỂ XÁC ĐỊNH CẢM XÚC CỦA KHÁCH HÀNG Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Trương Ngọc Châu Đà Nẵng – Năm 2017
  • 3. LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy TS.Trương Ngọc Châu. Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm. Học viên Hoàng Tiến Sơn
  • 4. MỤC LỤC MỞ ĐẦU .............................................................................................................. 1 1. Tính cấp thiết của đề tài ................................................................................ 1 2. Mục đích nghiên cứu..................................................................................... 1 3. Đối tượng và phạm vi nghiên cứu................................................................. 1 4. Phương pháp nghiên cứu............................................................................... 2 5. Bố cục đề tài.................................................................................................. 2 6. Tổng quan tài liệu tham khảo........................................................................ 2 Chương 1 - CƠ SỞ LÝ THUYẾT...................................................................... 3 1.1. Khái niệm lời bình................................................................................................3 1.2. Khái niệm về cảm xúc..........................................................................................3 1.3. Tổng quan về xử lý ngôn ngữ tiếng Anh .............................................................3 1.3.1. Đặc điểm của tiếng Anh................................................................................3 1.3.2. Nhận xét về tiếng Anh ..................................................................................4 1.4. Các phương pháp tách từ tiếng Anh.....................................................................4 1.4.1. Phương pháp So khớp từ dài nhất (Longest Matching)................................4 1.4.2. Phương pháp Học cải tiến (Transformation-based Learning - TBL) ...........5 1.4.3. Phương pháp So khớp cực đại (Maximum Matching) .................................5 1.5. Các thuật toán phân loại.......................................................................................6 1.5.1. K láng giềng gần nhất K-Nearest Neighbors (k-NN) ...................................6 1.5.2. Linear Least Square Fit.................................................................................8 1.5.3. Centroid – based vector ................................................................................9 1.5.4. Cây quyết định..............................................................................................9 1.5.5. C4.5.............................................................................................................12 1.5.6. Máy vector hỗ trợ Support Vector Machine...............................................14 1.5.7. Thuật toán phân lớp Naïve Bayes...............................................................16 1.6. Gán thẻ và phân loại văn bản .............................................................................18 1.6.1. Gán thẻ từ....................................................................................................18 1.6.2. Phân loại từ .................................................................................................19 Chương 2 - PHÂN TÍCH HỆ THỐNG ........................................................... 21 2.1. Phân tích yêu cầu đề tài......................................................................................21 2.2. Mô hình đề xuất phân loại cảm xúc từ lời bình .................................................21
  • 5. 2.3. Thu thập dữ liệu (Crawler).................................................................................22 2.3.1. Nguyên lí thu thập dữ liệu ..........................................................................22 2.3.2. Thu thập dữ liệu từ các trang web động .....................................................23 2.4. Bóc tách dữ liệu (Extractor)...............................................................................23 2.4.1. Các vấn đề liên quan đến phân tích HTML................................................23 2.4.2. Chuẩn hóa dữ liệu.......................................................................................26 2.5. Đề xuất mô hình phân loại lời bình....................................................................26 2.6. Phân tích cảm xúc ..............................................................................................27 2.6.1. Xác định Holder..........................................................................................27 2.6.2. Xác định Target...........................................................................................28 2.6.3. Phân loại Polarity........................................................................................28 2.7. Tại sao lựa chọn giải thuật Naïve Bayer để phân lớp ........................................28 2.7.1. Bài toán tổng quan ......................................................................................28 2.7.2. Bài toán cụ thể ............................................................................................29 2.7.3. Ưu điểm ......................................................................................................29 2.7.4. Nhược điểm.................................................................................................30 2.7.5. Đo lường hiệu năng của giải thuật..............................................................30 2.8. Máy học trong bài toán phân loại lời bình .........................................................31 2.8.1. Các tập dữ liệu cần thiết và ý nghĩa trong phân lớp với máy học ..............31 2.8.2. Phân rã thông tin từ văn bản .......................................................................33 Chương 3 - THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG...................................... 35 3.1. Xây dựng chương trình mô phỏng .....................................................................35 3.1.1. Phần cứng....................................................................................................35 3.1.2. Phần mềm....................................................................................................35 3.2. Môi trường phát triển .........................................................................................36 3.3. Phân tích thiết kế hệ thống.................................................................................36 3.3.1. Hoạt động của hệ thống ..............................................................................36 3.3.2. Mô hình thiết kế hệ thống...........................................................................37 3.3.3. Thiết kế .......................................................................................................41 3.4. Kết quả đạt được ................................................................................................42 3.5. Đánh giá kết quả.................................................................................................48
  • 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN....................................................... 50 1. Kết luận ........................................................................................................... 50 2. Kết quả đạt được.............................................................................................. 50 3. Hướng phát triển ............................................................................................. 50 TÀI LIỆU THAM KHẢO PHỤ LỤC
  • 7. TÓM TẮT LUẬN VĂN KHAI PHÁ LỜI BÌNH TRÊN CÁC TRANG THƯƠNG MẠI ĐIỆN TỬ ĐỂ XÁC ĐỊNH CẢM XÚC CỦA KHÁCH HÀNG Học viên: Hoàng Tiến Sơn Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 Khóa: 31 Trường Đại học Bách khoa – ĐHĐN Tóm tắt – Trong thời đại thương mại điện tử, việc khai phá cảm xúc của khác hàng nhằm đưa ra chiến lược kinh doanh là nhu cầu tất yếu của tất cả mọi người và tổ chức tham gia bán hàng. Tuy nhiên hiện nay chưa có sản phẩm nào chuyên về lĩnh vực này, hoặc có thì cũng đang ở mức thu thập và phân tích dữ liệu một cách thủ công. Vấn đề đặt ra là làm thế nào để có thể thu thập dữ liệu và phân loại dữ liệu cảm xúc một cách tự động từ lời bình của người dùng về thiết bị, sản phẩm từ đó trích xuất ra thông tin có ích nhằm phục vụ nhu cầu phân tích và lên kế hoạch kinh doanh. Nghiên cứu này, nhằm mục đích đề xuất ra giải pháp tự động cho vấn đề Khai phá lời bình trên các trang thương mại điện tử để xác định cảm xúc của khách hàng và từ đó xây dựng nên các biểu đồ trực quan nhằm hỗ trợ tốt nhất cho quá trình lên kế hoạch kinh doanh. Dựa trên định lý Bayes và mã nguồn mở về xử lý ngôn ngữ tự nhiên, tác giả đã đề xuất được mô hình giải pháp và xây dựng thành chương trình thực tế đáp ứng được các nhu cầu cơ bản nhất, đồng thời đưa ra được hướng phát triển tiếp theo. Từ khóa – lời bình, khai phá lời bình, python, thương mại điện tử, cảm xúc khách hàng MINING THE COMMENTS ON E-COMMERCE TO IDENTIFY CLIENTS' EMOTIONS Abstract – In the time of e-commerce, identify clients’ emotions to raise business plan is the most needed of sellers and merchants. Actually, it does not have any automation specific product for this field, or if have, they are in manual collection and analytic way. This research for purpose giving an automation method for Mining the comments on e-commerce to identify clients’ emotions and base on that, building visual diagram for the best support to business plan. Base on Bayes theorem and Natural Language Toolkit, an open source, author raised a solution model and built demo that can support basic require, also raised improving plan in the future. Key words – comment, comment mining, python, ecommerce, client sentiment
  • 8. DANH MỤC CÁC CHỮ VIẾT TẮT CÁC CHỮ VIẾT TẮT Tiếng Việt CSDL Cơ sở dữ liệu k-NN K láng giềng gần nhất Tiếng Anh DOM Document Object Model HTML Hyper Text Markup Language kNN k Nearest Neighbor LLSF Linear Least Square Fit NLTK Natural Language Toolkit SVM Support Vector Machine TBL Transformation – Based Learning W3C World Wide Web Consortium
  • 9. DANH MỤC CÁC HÌNH VẼ Số hiệu hình vẽ Tên hình vẽ Trang 2.1 Mô hình tự động lấy lời bình 21 2.2 Mô hình tự động bóc tách dữ liệu từ trang web 22 2.3 Mô hình bóc tách dữ liệu từ trang web động 23 2.4 Hình minh họa cấu trúc cây HTML DOM 24 2.5 Mô hình nhận diện cảm xúc 27 2.6 Mô hình máy học trong phân loại lời bình 31 2.7 Các tập dữ liệu thường dùng trong máy học 32 2.8 Hệ thống phân rã thông tin đơn giản 33 3.1 Mô hình usecase của Admin 39 3.2 Mô hình usecase của user 39 3.3 Biểu đồ tuần tự xem thống kê theo tên nhãn hiệu 40 3.4 Biểu đồ tuần tự xem thống kê theo tên thiết bị 40 3.5 Quan hệ giữa các bảng dữ liệu 41 3.6 Phân loại theo nhãn hiệu sản phẩm 42 3.7 Lời bình đã được phân loại theo nhãn hiệu 42 3.8 Phân loại và thống kê theo thiết bị 43 3.9 Lời bình đã được phân loại theo thiết bị 43 3.10 Quá trình lấy dữ liệu tự động 44 3.11 Giao diện trang quản lý của admin 44 3.12 Admin quản lý nhãn hiệu 45 3.13 Admin quản lý lời bình 45 3.14 Admin quản lý thiết bị 46 3.15 Admin quản lý root url 46 3.16 Admin quản lý uris 46 3.17 Admin chỉnh sửa thông tin nhãn hiệu 47 3.18 Admin chỉnh sửa thông tin thiết bị 47 3.19 Admin chỉnh sửa thông tin uri 48 3.20 Admin thêm mới root url 48
  • 10. 1 MỞ ĐẦU 1. Tính cấp thiết của đề tài Trong kỹ nguyên của thời đại công nghệ số thì việc khai phá thông tin có ích tiềm ẩn trong cơ sở dữ liệu là điều không thể thiếu. Hiện nay phần lớn các thông tin được khai phá chủ yếu lưu trữ trong các hệ quản trị cơ sở dữ liệu có cấu trúc. Tuy nhiên, với sự phát triển nhanh chóng như ngày nay thì còn rất nhiều kiến thức quan trọng chưa được khai phá, tiềm ẩn trong thế giới của World Wide Web (các websites), các dữ liệu tiềm năng này được lưu trữ dưới dạng văn bản, là dạng dữ liệu phi cấu trúc hoặc bán cấu trúc. Một trong số những kiến thức quan trọng, đóng vai trò giúp đỡ nghiên cứu thị trường trong lĩnh vực kinh doanh mặt hàng bán lẻ là khám phá cảm xúc, độ quan tâm của người dùng đối với mặt hàng, được thể hiện qua các comment (lời bình) của người dùng trên các trang thương mại điện tử, từ đó có chiến lược điều chỉnh kinh doanh hợp lý. Websites thương mại điện tử thường chứa nhiều lời bình. Hiện nay việc thống kê dữ liệu đánh giá độ quan tâm của khách hàng tới sản phẩm thường được tiến hành thủ công. Vấn đề đặt ra là làm thế nào để có thể thu thập dữ liệu và phân loại dữ liệu cảm xúc một cách tự động từ lời bình của người dùng về thiết bị, sản phẩm từ đó trích xuất ra thông tin có ích nhằm phục vụ nhu cầu phân tích và lên kế hoạch kinh doanh. Xuất phát từ lý do trên, tôi đã chọn đề tài: “Khai phá lời bình trên các trang thương mại điện tử để xác định cảm xúc của khách hàng” làm luận văn thạc sỹ của mình. 2. Mục đích nghiên cứu Tìm hiểu cảm xúc của khách hàng thông qua lời bình trên các trang thương mại điện tử. 3. Đối tượng và phạm vi nghiên cứu a. Đối tượng nghiên cứu  Cảm xúc trong lời bình trên các trang thương mại điện tử về các điện thoại di động thông minh.  Các phương pháp phân loại cảm xúc văn bản bằng tiếng Anh.  Phân loại cảm xúc văn bản tiếng Anh bằng phương pháp phân lớp Naive Bayes Classifiers.
  • 11. 2  Ngôn ngữ lập trình Python ứng dụng trong lập trình hệ thống phân loại cảm xúc lời bình. b. Phạm vi nghiên cứu Trong khuôn khổ luận văn, tôi nghiên cứu các lời bình về điện thoại thông minh trên trang thương mại điện tử http://www.lazada.sg/ và xây dựng mô hình tự động thống kê, phân loại lời bình thành cảm xúc mang tính tích cực và cảm xúc mang tính tiêu cực. 4. Phương pháp nghiên cứu a. Phương pháp lý thuyết  Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài.  Nghiên cứu lý thuyết về khám phá cảm xúc, nhận dạng cảm xúc văn bản, đặc tính của văn bản, các thuật toán phân loại. b. Phương pháp thực nghiệm  Xây dựng tập dữ liệu lời bình  Xây dựng mô hình nhận dạng cảm xúc từ lời bình  Kiểm tra, thử nghiệm và đánh giá kết quả 5. Bố cục đề tài CHƯƠNG 1: CƠ SỞ LÝ THUYẾT. Chương này trình bày khái quát về khai phá lời bình, các phương pháp phân loại cảm xúc lời bình đối với tiếng Anh. CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG. Chương này trình bày khai phá lời bình để xác định cảm xúc lời bình tiếng Anh sử dụng phương pháp Naive bayes. CHƯƠNG 3: THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG. Sử dụng ngôn ngữ lập trình Python để viết chương trình demo việc phân loại cảm xúc lời bình bằng tiếng Anh. 6. Tổng quan tài liệu tham khảo Tài liệu tham khảo được sử dụng trong luận văn gồm sách báo và các luận văn của các học viên các lớp cao học ở các trường. Một số tài liệu tham khảo về các phương pháp phân loại văn bản [3] [4]. Một số tài liệu tham khảo về phân tích cảm xúc [1] [2] [5] [6]. Tài liệu tham khảo về xử lý ngôn ngữ tự nhiên [7] [8].
  • 12. 3 Chương 1 - CƠ SỞ LÝ THUYẾT 1.1. Khái niệm lời bình Lời bình là lời nói hoặc viết nhằm xem xét, phân tích, đánh giá ưu điểm và khuyết điểm của sự vật hoặc sự việc. 1.2. Khái niệm về cảm xúc Cảm xúc hay xúc cảm là một hình thức trải nghiệm cơ bản của con người về thái độ của chính mình đối với sự vật, hiện tượng của hiện thực khách quan, với người khác và với bản thân. Sự hình thành cảm xúc là một điều kiện tất yếu của sự phát triển con người như là một nhân cách. Cảm xúc hay thái độ tiêu cực là những cảm xúc, thái độ thụ động, tránh đấu tranh, gồm:  Chán  Ghét, hận  Tức giận, kích động, quá khích  Sợ hãi, nhút nhát Cảm xúc hay thái độ tích cực là những cảm xúc, thái độ khẳng định, dấn thân, gồm:  Thích  Yêu  Hưng phấn, phấn khích  Tự tin 1.3. Tổng quan về xử lý ngôn ngữ tiếng Anh 1.3.1. Đặc điểm của tiếng Anh Trong tiếng Anh có những đặc điểm cơ bản sau: - Từ là đơn vị cơ bản của tiếng Anh. - Từ là một nhóm các ký tự có nghĩa được tách biệt với nhau bởi khoảng trắng hoặc dấu câu. - Trong hoạt động ngôn ngữ, từ có biến đổi hình thái. Ví dụ: see, saw, seen. - Ý nghĩa ngữ pháp nằm trong từ. Ví dụ: I see him và he sees me. - Phương pháp ngữ pháp chủ yếu là phụ tố. Ví dụ: learning và learned. - Nhiều từ được cấu tạo bằng cách ghép thêm phụ tố vào từ gốc. Ví dụ: Anticomputerizational.
  • 13. 4 1.3.2. Nhận xét về tiếng Anh - Là loại hình ngôn ngữ có biến đổi hình thái nên việc phân biệt loại từ và ý nghĩa từ đơn giản. - Đơn vị cơ bản là từ, ranh giới từ được phân biệt bằng khoảng trắng hoặc dấu câu nên tách từ trong tiếng Anh rất đơn giản. - Ý nghĩa ngữ pháp nằm ngay trong từ nên có thể thực hiện tính xác suất xuất hiện của từ trong văn bản để có thể rút trích đặc trưng của văn bản. 1.4. Các phương pháp tách từ tiếng Anh 1.4.1. Phương pháp So khớp từ dài nhất (Longest Matching) - Định nghĩa bài toán: Cho hai xâu S độ dài m và xâu T độ dài n, tìm xâu có độ dài lớn nhất là xâu con của cả hai xâu S và T. - Tổng quát hóa bài toán này là bài toán tìm xâu con k-chung (k-common substring problem): Cho một tập xâu S = {S1, ..., Sk} trong đó |Si| = ni với ∑ni = N. Với mỗi giá trị k thỏa mãn 2 ≤ k ≤ K, tìm các xâu con chung dài nhất của ít nhất k xâu. Bài toán thường được giải quyết bằng phương pháp quy hoạch động. Quy hoạch động: Trong ngành khoa học máy tính, quy hoạch động là một phương pháp giảm thời gian chạy của các thuật toán thể hiện các tính chất của các bài toán con gối nhau và cấu trúc con tối ưu. Là kĩ thuật thiết kế thuật toán theo kiểu chia bài toán lớn thành các bài toán con, sử dụng lời giải của các bài toán con để tìm lời giải cho bài toán ban đầu. Quy hoạch động, thay vì gọi đệ quy, sẽ tính trước lời giải của các bài toán con và lưu vào bộ nhớ (thường là một mảng), và sau đó lấy lời giải của bài toán con ở trong mảng đã tính trước để giải bài toán lớn. Tóm lại, quy hoạch động sử dụng: Các bài toán con gối nhau Cấu trúc con tối ưu Memoization Quy hoạch động thường dùng một trong hai cách tiếp cận: top-down (từ trên xuống): Bài toán được chia thành các bài toán con, các bài toán con này được giải và lời giải được ghi nhớ để phòng trường hợp cần dùng lại chúng.
  • 14. 5 bottom-up (từ dưới lên): Tất cả các bài toán con có thể cần đến đều được giải trước, sau đó được dùng để xây dựng lời giải cho các bài toán lớn hơn. Cách tiếp cận này tốt hơn về không gian bộ nhớ dùng cho ngăn xếp và số lời gọi hàm. 1.4.2. Phương pháp Học cải tiến (Transformation-based Learning - TBL) Transformation-based Learning được Eric Brill giới thiệu lần đầu vào năm 1992. Ý tưởng chính của TBL là bắt đầu với một số giải pháp đơn giản cho vấn đề này và áp dụng các phép biến đổi - ở mỗi bước chuyển đổi mang lại lợi ích lớn nhất được lựa chọn và áp dụng cho vấn đề. Thuật toán ngừng khi chuyển đổi được lựa chọn không sửa đổi dữ liệu ở những nơi đủ, hoặc không có nhiều chuyển đổi hơn để được chọn. Đầu tiên văn bản chưa được tách từ T1 được phân tích thông qua chương trình khởi tạo tách từ ban đầu P1. Sau khi qua chương trình P1, ta được văn bản T2 đã được tách từ. Văn bản T2 được so sánh với văn bản đã được tách từ trước một cách chính xác là T3. Chương trình P2 sẽ thực hiện học từng phép chuyển đổi (transformation) để khi áp dụng thì T2 sẽ giống với văn bản chuẩn T3 hơn. Quá trình học được lặp đi lặp lại đến khi không còn phép chuyển đổi nào khi áp dụng làm cho T2 tốt hơn nữa. Kết quả ta thu được bộ luật R dùng cho công việc tách từ. Phương pháp TBL có nhược điểm là mất rất nhiều thời gian học và tốn nhiều không gian nhớ do nó phải sinh ra các luật trung gian trong quá trình học. Vì để học được một bộ luật thì TBL chạy rất lâu và dùng tới nhiều bộ nhớ, nên việc xây dựng được một bộ luật đầy đủ dùng cho việc tách từ là rất khó khăn. Vì thế khi áp dụng phương pháp này, sẽ có khá nhiều nhập nhằng. Tuy nhiên sau khi có bộ luật thì TBL lại tiến hành việc tách từ khá nhanh. Hơn nữa, ý tưởng của phương pháp rút ra các quy luật từ ngôn ngữ và liên tục sửa sai cho luật thông qua quá trình lặp là phù hợp với bài toán xử lý ngôn ngữ tự nhiên. 1.4.3. Phương pháp So khớp cực đại (Maximum Matching) Phương pháp này còn được gọi là phương pháp khớp tối đa. Tư tưởng của phương pháp này là duyệt một câu từ trái qua phải và chọn từ có nhiều tiếng nhất mà có mặt trong từ điển. Thuật toán có 2 dạng sau: Dạng đơn giản: Giả sử có một chuỗi các tiếng trong câu là t1, t2, ..tN. Thuật toán sẽ kiểm tra xem t1 có mặt trong từ điển hay không, sau đó kiểm tra tiếp t1-t2 có trong từ điển hay không. Tiếp tục như vậy cho đến khi tìm được
  • 15. 6 từ có nhiều tiếng nhất có mặt trong từ điển, và đánh dấu từ đó. Sau đó tiếp tục quá trình trên với tất các các tiếng còn lại trong câu và trong toàn bộ văn bản. Dạng phức tạp: Dạng này có thể tránh được một số nhập nhằng gặp phải trong dạng đơn giản. Đầu tiên thuật toán kiểm tra xem t1 có mặt trong từ điển không, sau đó kiểm tra tiếp t1 – t2 có mặt trong từ điển không. Nếu t1 và t1 - t2 đều có mặt trong từ điển thì thuật toán thực hiện chiến thuật chọn 3 - từ tốt nhất. Tiêu chuẩn 3 - từ tốt nhất được Chen & Liu đưa ra như sau: - Độ dài trung bình của 3 từ là lớn nhất - Sự chênh lệch độ dài của 3 từ là ít nhất. Ưu điểm của phương pháp trên có thể thấy rõ là đơn giản, dễ hiểu và chạy nhanh. Hơn nữa chúng ta chỉ cần một tập từ điển đầy đủ là có thể tiến hành tách từ cho các văn bản, hoàn toàn không phải trải qua huấn luyện. 1.5. Các thuật toán phân loại 1.5.1. K láng giềng gần nhất K-Nearest Neighbors (k-NN) k-NN được sử dụng rất phổ biến trong lĩnh vực Data Mining, là phương pháp để phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần xếp lớp (Query point) và tất cả các đối tượng trong Training Data. Một đối tượng được phân lớp dựa vào k láng giềng của nó. k là số nguyên dương được xác định trước khi thực hiện thuật toán. Người ta thường dùng khoảng cách Euclidean để tính khoảng cách giữa các đối tượng. Thuật toán k-NN được mô tả như sau: Xác định giá trị tham số k (số láng giềng gần nhất) Tính khoảng cách giữa đối tượng cần phân lớp (Query Point) với tất cả các đối tượng trong training data (thường sử dụng khoảng các Euclidean) Sắp xếp khoảng cách theo thứ tự tăng dần và xác định k láng giềng gần nhất với Query Point Lấy tất cả các lớp của k láng giềng gần nhất đã xác định Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho Query Point Ví dụ minh họa: Trong hình dưới đây, training Data được mô tả bởi dấu (+) và dấu (-), đối tượng cần được xác định lớp cho nó (Query point) là hình tròn đỏ. Nhiệm vụ của chúng ta là ước lượng (hay dự đoán) lớp của Query point dựa vào việc lựa chọn số láng giềng gần nhất với nó. Nói cách khác chúng ta muốn biết liệu Query Point sẽ được phân vào lớp (+) hay lớp (-).
  • 16. 7 Ta thấy rằng: 1-Nearest neighbor: kết quả là + (Query Point được xếp vào lớp dấu +) 2-Nearest neighbors: không xác định lớp cho Query Point vì số láng giềng gần nhất với nó là 2 trong đó 1 là lớp + và 1 là lớp – (không có lớp nào có số đối tượng nhiều hơn lớp kia) 5-Nearest neighbors: kết quả là - (Query Point được xếp vào lớp dấu - vì trong 5 láng giềng gần nhất với nó thì có 3 đối tượng thuộc lớp - nhiều hơn lớp + chỉ có 2 đối tượng). Thuật toán phân loại văn bản k Nearest Neighbor: Giả sử có loại văn bản huấn luyện C1, C2, …, Cj và tổng các mẫu huấn luyện là N. Sau khi tiền xử lý cho mỗi văn bản, tất cả chúng đều trở thành vector m chiều đặc trưng. Xử lý văn bản X thành dạng vector đặc trưng như các mẫu huấn luyện. Tính sự tương đồng giữa các mẫu huấn luyện và văn bản X. Lấy văn bản thứ i làm mẫu di (di1, di2, …, dim), sự giống nhau 𝑆𝐼𝑀(𝑋, 𝑑𝑖) được tính theo công thức sau: 𝑆𝐼𝑀(𝑋, 𝑑𝑖) = ∑ 𝑑𝑖𝑗 . 𝑋𝑗 𝑚 𝑗−1 √(∑ 𝑋𝑗 𝑚 𝑗−1 ) 2 . √(∑ 𝑑𝑖𝑗 𝑚 𝑗−1 ) 2 Chọn k mẫu lớn hơn từ N tương đồng của SIM(X, di), (i = 1, 2, …, N), và xem chúng như một bộ k láng giềng gần nhất của X. Sau đó, tính toán xác suất của X thuộc về mỗi loại tương ứng với công thức sau đây: 𝑃(𝑋, 𝐶𝑗) = ∑ 𝑆𝐼𝑀(𝑋, 𝑑𝑗). 𝑦(𝑑𝑖, 𝐶𝑗) 𝑑𝑗𝜖 𝑘𝑁𝑁 Trong đó 𝑦(𝑑𝑖, 𝐶𝑗) nhận một trong 2 giá trị 0 hoặc 1:
  • 17. 8 𝑦(𝑑𝑖, 𝐶𝑗) = { 1, 𝑑𝑖 𝜖 𝐶𝑗 0, 𝑑𝑖 ∉ 𝐶𝑗 Khi y = 1 thì văn bản X thuộc loại Cj, khi y = 0 thì văn b không thuộc loại Cj. Sau đó kết luận, văn bản X thuộc loại có giá trị P(X,Cj) lớn nhất. Để chọn được tham số k tốt nhất cho việc phân loại, thuật toán phải được chạy thử nghiệm trên nhiều giá trị k khác nhau, giá trị k càng lớn thì thuật toán càng ổn định và sai sót càng thấp. 1.5.2. Linear Least Square Fit LLSF là một cách tiếp cận ánh xạ được phát triển bởi Yang và Chute vào năm 1992. Đầu tiên, LLSF được Yang và Chute thử nghiệm trong lĩnh vực xác định từ đồng nghĩa sau đó sử dụng trong phân loại vào năm 1994. Các thử nghiệm của Yang cho thấy hiệu suất phân loại của LLSF có thể ngang bằng với phương pháp k-NN kinh điển. LLSF sử dụng phương pháp hồi quy để học từ tập huấn luyện và các chủ đề có sẵn. Tập huấn luyện được biểu diễn dưới dạng một cặp vector đầu vào và đầu ra như sau:  Vector đầu vào một văn bản bao gồm các từ và trọng số.  Vector đầu ra gồm các chủ đề cùng với trọng số nhị phân của văn bản ứng với vector đầu vào.  Giải phương trình các cặp vector đầu vào đầu ra, ta sẽ được ma trận đồng hiện của hệ số hồi quy của từ và chủ đề (matrix of word- category regression coefficients) 𝐹𝐿𝑆 = 𝑎𝑟𝑔𝑚𝑖𝑛𝐹 = ‖𝐹𝐴 − 𝐵‖2 Trong đó A, B là ma trận đại diện tập dữ liệu huấn luyện (các cột trong ma trận tương ứng là các vector đầu vào và đầu ra). FLS là ma trận kết quả chỉ ra một ánh xạ từ một văn bản bất kỳ vào vector của chủ đề đã gán trọng số. Nhờ vào việc sắp xếp trọng số của các chủ đề, ta được một danh sách chủ đề có thể gán cho văn bản cần phân loại. Nhờ đặt ngưỡng lên trọng số của các chủ đề mà ta tìm được chủ đề thích hợp cho văn bản đầu vào. Hệ thống tự động học các ngưỡng tối ưu cho từng chủ đề, giống với kNN. Mặc dù LLSF và k-NN khác nhau về mặt thống kê, nhưng ta vẫn tìm thấy điểm chung ở hoạt động của hai phương pháp là việc học ngưỡng tối ưu.
  • 18. 9 1.5.3. Centroid – based vector Là một phương pháp phân loại đơn giản, dễ cài đặt và tốc độ nhanh do có độ phức tạp tuyến tính O(n). Ý tưởng của cách tiếp cận này là mỗi lớp trong dữ liệu huấn luyện sẽ được biểu diễn bằng một vector trọng tâm. Việc xác định lớp của một văn bản bất kỳ sẽ thông qua việc tìm vector trọng tâm nào gần với vector biểu diễn văn bản thứ nhất. Lớp của văn bản chính là lớp mà vector trọng tâm đại diện và khoảng cách được xác định theo độ đo Cosine. Chúng ta có công thức tính vector trọng tâm của lớp i: Độ đo khoảng cácg giữa vector x và vector Ci: Trong đó : - x là vector văn bản cần phân loại - {i} là tập hợp các văn bản thuộc chủ đề Ci Chủ đề của vector x là Cx thỏa mãn cos(x, Cx)= arg max (cos(x,Ci)). 1.5.4. Cây quyết định Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng để phân lớp các đối tượng dựa vào dãy các luật (series of rules). Các thuộc tính của đối tượng (ngoại trừ thuộc tính phân lớp – Category attribute) có thể thuộc các kiểu dữ liệu khác nhau (Binary, Nominal, ordinal, quantitative values) trong khi đó thuộc tính phân lớp phải có kiểu dữ liệu là Binary hoặc Ordinal. Tóm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp (classes) của nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các đối tượng chưa biết (unseen data). Ví dụ minh họa: Ta có dữ liệu (training data) về 10 đối tượng (người). Mỗi đối tượng được mô tả bởi 4 thuộc tính là Gender, Car Ownership, Travel Cost/Km, Income Level và 1 thuộc tính phân loại (category attribute) là Transportation mode. Trong đó thuộc tính Gender có kiểu binary, thuộc tính Car Ownership có kiểu
  • 19. 10 Quantitative integer (0,1), Travel Cost/Km và Income Level có kiểu dữ liệu Ordinal. Tranining data cho biết sự lựa chọn về loại phương tiện vận chuyển (car, bus, train) của khách dựa vào 4 thuộc tính đã cho. Attributes Classes Gender Car ownership Travel Cost ($)/km Income Level Transportation mode Male 0 Cheap Low Bus Male 1 Cheap Medium Bus Female 1 Cheap Medium Train Female 0 Cheap Low Bus Male 1 Cheap Medium Bus Male 0 Standard Medium Train Female 1 Standard Medium Train Female 1 Expensive High Car Male 2 Expensive Medium Car Female 2 Expensive High Car Dựa vào Training Data ở trên, chúng ta có thể tạo ra cây quyết định như sau Chú ý rằng trong cây quyết định trên, thuộc tính “Income Level” không xuất hiện trong cây bởi vì dựa vào training data đã cho, thuộc tính “Travel Cost/Km” sẽ sinh ra cây quyết định tốt dùng để phân loại tốt hơn “Income Level”.
  • 20. 11 Làm sao để sử dụng cây quyết định trong dự đoán lớp của các dữ liệu chưa biết Mục đích chính của cây quyết định là dùng để dự đoán lớp (xác định lớp) của các đối tượng chưa biết (unseen data). Giả sử rằng ta có dữ liệu về 3 người với các giá trị dữ liệu đã biết về các thuộc tính Gender, Car Ownership, Travel Cost/Km, Income Level. Tuy nhiên ta chưa biết họ sẽ chọn phương tiện vận chuyển nào (Car, Bus, Train). Nhiệm vụ của chúng ta là sử dụng cây quyết định đã tạo ra để dự đoán (predict) Alex, Buddy và Cherry sẽ chọn phương tiện vận chuyển nào dựa vào 4 thuộc tính của họ. Dữ liệu dưới đây còn được gọi là Testing Data. Person name Gender Car ownership Travel Cost ($)/km Income Level Transportation Mode Alex Male 1 Standard High ? Buddy Male 0 Cheap Medium ? Cherry Female 1 Cheap High ? Chúng ta bắt đầu từ node gốc của cây (root node) từ thuộc tính Travel Cost/Km, ta thấy rằng nếu Travel Cost/Km là Expensive thì người đó sẽ chọn phương tiện là Car. Nếu Travel Cost/Km là standard thì họ sẽ chọn phương tiện vận chuyển là Train. Nếu Travel Cost/Km là Cheap thì cây quyết định cần tới giá trị của trường Gender của người đó, nếu Gender là Male thì chọn Bus, nếu giới tính là Female thì cây quyết định cần kiểm tra xem người đó có sử hữu bao nhiêu xe hơi (Car Ownership). Nếu số xe hơi sở hữu là 0 thì người đó sẽ chọn xe Bus, nếu số xe hơi sở hữu là 1 thì người đó sẽ chọn Train. Theo cây quyết định trên, các luật (Series of Rules) được sinh ra từ cây quyết định dùng để dự đoán như sau: Rule 1: If Travel cost/km is expensive then mode = car Rule 2: If Travel cost/km is standard then mode = train Rule 3: If Travel cost/km is cheap and gender is male then mode = bus Rule 4: If Travel cost/km is cheap and gender is female and she owns no car then mode = bus Rule 5: If Travel cost/km is cheap and gender is female and she owns 1 car then mode = train Dựa vào các luật này, việc dự đoán lớp cho các dữ liệu chưa biết (unseen data hay Testing data) rất đơn giản.
  • 21. 12 Trong ví dụ này, Alex có giá trị của thuộc tính Travel Cost/Km là Standard nên sẽ chọn phương tiện là Train (Rule 2) mà không cần quan tâm đến các thuộc tính khác của Alex. Buddy có giá trị của thuộc tính Travel Cost/Km là Cheap và Gender của anh ta là Male nên anh ta sẽ chọn Bus (Rule 3). Cheery cũng có giá trị thuộc tính Travel Cost/Km là Cheap nhưng Gender là Female và sở hữu 1 xe hơi cho nên theo cây quyết định trên (Rule 5) cô ta sẽ chọn phương tiện là Train. Kết quả phân lớp bằng cây quyết định như sau: Person name Travel Cost ($)/km Gender Car ownership Transportation Mode Alex Standard Male 1 Train Buddy Cheap Male 0 Bus Cherry Cheap Female 1 Train Cây quyết định là một phương pháp phân lớp rất hiệu quả và dễ hiểu. Tuy nhiên có một số chú ý khi sử dụng cây quyết định trong xây dựng các mô hình phân lớp như sau: Hiệu qủa phân lớp của cây quyết định (Series of Rules) phụ thuộc rất lớn vào training data. Chẳn hạn cây quyết định được tạo ra bởi chỉ giới hạn 10 samples training data trong ví dụ trên thì hiệu quả ứng dụng cây quyết định để dự đoán các trường hợp khác là không cao (thường training data phải đủ lớn và tin cậy) và vì vậy ta không thể nói rằng tập các luật (Series of Rules) được sinh ra bởi cây quyết định trên là tập luật tốt nhất. Có rất nhiều thuật toán phân lớp như ID3, J48, C4.5, CART (Classification and Regression Tree),… Việc chọn thuật toán nào để có hiệu quả phân lớp cao tuy thuộc vào rất nhiều yếu tố, trong đó cấu trúc dữ liệu ảnh hưởng rất lớn đến kết quả của các thuật toán. Chẳn hạn như thuật toán ID3 và CART cho hiệu quả phân lớp rất cao đối với các trường dữ liệu số (quantitative value) trong khi đó các thuật toán như J48, C4.5 có hiệu quả hơn đối với các dữ liệu Qualititive value (ordinal, Binary, nominal). 1.5.5. C4.5 C4.5 là thuật toán phân lớp dữ liệu dựa trên cây quyết định hiệu quả và phổ biến trong những ứng dụng khai phá cơ sở dữ liệu có kích thước nhỏ. C4.5 sử dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, chính đặc điểm này làm C4.5 chỉ thích hợp với những cơ sở dữ liệu nhỏ, và cơ chế sắp xếp lại dữ liệu tại mỗi node trong quá trình phát triển cây quyết định. C4.5 còn chứa một kỹ thuật cho phép biểu diễn lại cây quyết định dưới dạng một danh sách sắp thứ tự các
  • 22. 13 luật if-then (một dạng quy tắc phân lớp dễ hiểu). Kỹ thuật này cho phép làm giảm bớt kích thước tập luật và đơn giản hóa các luật mà độ chính xác so với nhánh tương ứng cây quyết định là tương đương. Tư tưởng phát triển cây quyết định của C4.5 là phương pháp Hunt đã nghiên cứu ở trên. Chiến lược phát triển theo độ sâu (depth-first strategy) được áp dụng cho C4.5. Mã giả của thuật toán C4.5: (1) ComputerClassFrequency(T); (2) if OneClass or FewCases return a leaf; Create a decision node N; (3) ForEach Attribute A ComputeGain(A); (4) N.test=AttributeWithBestGain; (5) if (N.test is continuous) find Threshold; (6) ForEach T' in the splitting of T (7) If (T' is Empty) Child of N is a leaf else (8) Child of N=FormTree(T'); (9) ComputeErrors of N; return N C4.5 có những đăc điểm khác với các thuật toán khác, đó là: cơ chế chọn thuộc tính để kiểm tra tại mỗi node, cơ chế xử lý với những giá trị thiếu, việc tránh “quá vừa” dữ liệu, ước lượng độ chính xác và cơ chế cắt tỉa cây. C4.5 dùng Gain-entropy làm độ đo lựa chọn thuộc tính “tốt nhất”. Phần lớn các hệ thống đều cố gắng để tạo ra một cây càng nhỏ càng tốt, vì những cây nhỏ hơn thì dễ hiểu hơn và dễ đạt được độ chính xác dự đoán co hơn. Do không thể đảm bảo được sự cực tiểu của cây quyết định, C4.5 dựa vào nghiên cứu tối ưu hóa, và sự lựa chọn cách phân chia mà có độ đo lựa chọn thuộc tính đạt giá trị cực đại. Hai độ đo được sử dụng trong C4.5 là information gain và gain ratio. RF(Cj, S) biểu diễn tần xuất (Relative Frequency) các case trong S thuộc về lớp Cj.
  • 23. 14 𝑅𝐹(𝐶𝑗, 𝑆) = |𝑆𝑗| |𝑆| Với |Sj| là kích thước tập các case có giá trị phân lớp là Cj. |S| là kích thước tập dữ liệu đào tạo. Chỉ số thông tin cần thiết cho sự phân lớp: I(S) với S là tập cần xét sự phân phối lớp được tính bằng: 𝐼(𝑆) = − ∑ 𝑅𝐹(𝐶𝑗, 𝑆) log(𝑅𝐹(𝐶𝑗, 𝑆)) 𝑥 𝑗=1 Sau khi S được phân chia thành các tập con S1, S2, …, St bởi test B thì information gain được tính bằng: 𝐺(𝑆, 𝐵) = 𝐼(𝑆) − ∑ |𝑆𝑖| |𝑆| 𝐼(𝑆𝑖) Test B sẽ được chọn nếu có G(S,B) đạt giá trị lớn nhất. Tuy nhiên có một vấn đề khi sử dụng G(S,B) ưu tiên test có số lượng lớn kết quả, ví dụ G(S,B) đạt cực đại với test mà từng Si chỉ chứa một case đơn. Tiêu chuẩn gain ratio giải quyết được vấn đề này bằng việc đưa vào thông tin tiềm năng (potential information) của bản thân mỗi phân hoạch. 𝑃(𝑆, 𝐵) = − ∑ |𝑆𝑖| |𝑆| log( |𝑆𝑖| |𝑆| ) Test B sẽ được chọn nếu có tỉ số giá trị 𝑔𝑎𝑖𝑛 𝑟𝑎𝑡𝑖𝑜𝑛 = 𝐺(𝑆,𝐵) 𝑃(𝑆,𝐵) lớn nhất. Trong mô hình phân lớp C4.5, có thể dùng một trong hai loại chỉ số Information Gain hay Gain ratio để xác định thuộc tính tốt nhất. Trong đó Gain ratio là lựa chọn mặc định. C4.5 là một thuật toán hiệu quả cho những tập dữ liệu vừa và nhỏ. C4.5 có cơ chế sinh cây quyết định hiệu quả và chặt chẽ bằng việc sử dụng độ đo lựa chọn thuộc tính tốt nhất là information gain. Các cơ chế xử lý với giá trị lỗi, thiếu và chống “quá vừa” dữ liệu của C4.5 cùng với cơ chế cắt tỉa cây đã tạo nên sức mạnh của C4.5. Thêm vào đó, mô hình phân lớp C4.5 còn có phần chuyển đổi từ cây quyết định sang luật if- then, làm tăng độ chính xác và tính dễ hiểu của kết quả phân lớp. Đây là tiện ích rất có ý nghĩa đối với người sử dụng. 1.5.6. Máy vector hỗ trợ Support Vector Machine Máy vectơ hỗ trợ (SVM - viết tắt tên tiếng Anh support vector machine) là một khái niệm trong thống kê và khoa học máy tính cho một tập hợp các phương pháp học có giám sát liên quan đến nhau để phân loại và phân tích hồi quy. SVM dạng chuẩn nhận dữ liệu vào và phân loại chúng vào hai lớp khác nhau.
  • 24. 15 Do đó SVM là một thuật toán phân loại nhị phân. Với một bộ các ví dụ luyện tập thuộc hai thể loại cho trước, thuật toán luyện tập SVM xây dựng một mô hình SVM để phân loại các ví dụ khác vào hai thể loại đó. Một mô hình SVM là một cách biểu diễn các điểm trong không gian và lựa chọn ranh giới giữa hai thể loại sao cho khoảng cách từ các ví dụ luyện tập tới ranh giới là xa nhất có thể. Các ví dụ mới cũng được biểu diễn trong cùng một không gian và được thuật toán dự đoán thuộc một trong hai thể loại tùy vào ví dụ đó nằm ở phía nào của ranh giới. Tổng quan về máy vectơ hỗ trợ. Một máy vectơ hỗ trợ xây dựng một siêu phẳng hoặc một tập hợp các siêu phẳng trong một không gian nhiều chiều hoặc vô hạn chiều, có thể được sử dụng cho phân loại, hồi quy, hoặc các nhiệm vụ khác. Một cách trực giác, để phân loại tốt nhất thì các siêu phẳng nằm ở càng xa các điểm dữ liệu của tất cả các lớp (gọi là hàm lề) càng tốt, vì nói chung lề càng lớn thì sai số tổng quát hóa của thuật toán phân loại càng bé. Trong nhiều trường hợp, không thể phân chia các lớp dữ liệu một cách tuyến tính trong một không gian ban đầu được dùng để mô tả một vấn đề. Vì vậy, nhiều khi cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một không gian mới nhiều chiều hơn, để việc phân tách chúng trở nên dễ dàng hơn trong không gian mới. Để việc tính toán được hiệu quả, ánh xạ sử dụng trong thuật toán SVM chỉ đòi hỏi tích vô hướng của các vectơ dữ liệu trong không gian mới có thể được tính dễ dàng từ các tọa độ trong không gian cũ. Tích vô hướng này được xác định bằng một hàm hạt nhân K(x,y) phù hợp.[5] Một siêu phẳng trong không gian mới được định nghĩa là tập hợp các điểm có tích vô hướng với một vectơ cố định trong không gian đó là một hằng số. Vectơ xác định một siêu phẳng sử dụng trong SVM là một tổ hợp tuyến tính của các vectơ dữ liệu luyện tập trong không gian mới với các hệ số αi. Với siêu phẳng lựa chọn như trên, các điểm x trong không gian đặc trưng được ánh xạ vào một siêu mặt phẳng là các điểm thỏa mãn: Σi αi K(xi,x) = hằng số. Ghi chú rằng nếu K(x,y) nhận giá trị ngày càng nhỏ khi y xa dần khỏi x thì mỗi số hạng của tổng trên được dùng để đo độ tương tự giữa x với điểm xi tương ứng trong dữ liệu luyện tập. Như vậy, tác dụng của tổng trên chính là so sánh khoảng cách giữa điểm cần dự đoán với các điểm dữ liệu đã biết. Lưu ý là tập hợp các điểm x được ánh xạ vào một siêu phẳng có thể có độ phức tạp tùy ý trong không gian ban đầu, nên có thể phân tách các tập hợp thậm chí không lồi trong không gian ban đầu.
  • 25. 16 1.5.7. Thuật toán phân lớp Naïve Bayes Naïve Bayes là một tập các thuật toán phân loại dựa trên Bayes’ theorem, nó không phải là một thuật toán riêng lẽ mà là các thuật toán có họ hàng với nhau cùng chia sẻ một nguyên tắc chung. Naïve Bayes là phương pháp phân loại dựa trên xác suất được sử dụng rộng rãi trong lĩnh vực máy học (Mitchell trình bày năm 1996, Joachims trình bày năm 1997 và Jason năm 2001) được sử dụng lần đầu tiên trong lĩnh vực phân loại bởi Maron vào năm 1961, sau đó trở nên phổ biến dùng trong nhiều lĩnh vực như trong các công cụ tìm kiếm được mô tả bởi Ri sbergen năm 1970, các bộ lọc mail được mô tả bởi Sahami năm 1998, … Ý tưởng cơ bản của cách tiếp cận Naïve Bayes là sử dụng xác suất có điều kiện giữa từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân loại. Điểm quan trọng của phương pháp này chính là ở chỗ giả định rằng sự xuất hiện của tất cả các từ trong văn bản đều độc lập với nhau. Với giả định này phương pháp Naïve Bayes không sử dụng sự phụ thuộc của nhiều từ vào một chủ đề, không sử dụng việc kết hợp các từ để đưa ra phán đoán chủ đề. Định lý Bayes Cho X, C là các biến bất kỳ (rời rạc, liên tục, cấu trúc). Mục tiêu của ta là dự đoán C từ X. Từ mô hình Bayes ta có thể lượng giá các tham số của P(X|C), P(C) trực tiếp từ tập huấn luyện. Sau đó, ta sử dụng định lý Bayes để tính P(C|X=x). Độc lập điều kiện (conditional independence): X độc lập điều kiện với Y khi cho Z nếu phân bố xác suất trên X độc lập với các giá trị của Y khi cho các giá trị của Z. Ta thường viết P(X|Y,Z) = P(X|Z). Ví dụ: P(Sấm sét|Mưa,Chớp) = P(Sấm sét|Chớp). Naïve Bayes Giả sử D là tập huấn luyện gồm các mẫu biểu diễn dưới dạng X = <x1, …, xn>.Ci,D là tập các mẫu của D thuộc lớp Ci(i = {1, …, m}). Các thuộc tính x1, …, xn độc lập điều kiện đôi một với nhau khi cho lớp C. Thuật toán Bước 1: Huấn luyện Naive Bayes trên tập dữ liệu huấn luyện. Lượng giá P(Ci) và P(Xk|Ci). Bước 2: X_new được gán vào lớp cho giá trị công thức lớn nhất: 𝑎𝑟𝑔𝑚𝑎𝑥𝐶𝑘 P(Ci) ∏ 𝑃(𝑥𝑘 |𝐶𝑖) 𝑛 𝑘=1
  • 26. 17 Bài toán cụ thể Có Training Data và Unseen data như sau Sử dụng Naïve Bayes Classifier để phân lớp cho Unseen data (X) Class: C1:buys_computer =”yes”, C2:buys_computer =”no” Tính P(X|Ci) cho mỗi class X=(age<=30, income =”medium”, student=”yes”,credit_rating=”fair”) P(age=“<=30” | buys_computer=“yes”) = 2/9=0.222 P(age=“<=30” | buys_computer=“no”) = 3/5 =0.6 P(income=“medium” | buys_computer=“yes”)= 4/9 =0.444 P(income=“medium” | buys_computer=“no”) = 2/5 = 0.4 P(student=“yes” | buys_computer=“yes”)= 6/9 =0.667 P(student=“yes” | buys_computer=“no”)= 1/5=0.2 P(credit_rating=“fair” | buys_computer=“yes”)=6/9=0.667 P(credit_rating=“fair” | buys_computer=“no”)=2/5=0.4
  • 27. 18 Tính P(X|Ci) : P(X|buys_computer=“yes”)= 0.222 x 0.444 x 0.667 x 0.667 =0.044 P(X|buys_computer=“no”)= 0.6 x 0.4 x 0.2 x 0.4 =0.019 P(X|Ci)*P(Ci ): P(X|buys_computer=“yes”) * P(buys_computer=“yes”)=0.044*9/14= 0.028 P(X|buys_computer=“no”) * P(buys_computer=“no”)=0.019*5/14 = 0.007 Do đó ta có X thuộc lớp buys_computer=“yes” 1.6. Gán thẻ và phân loại văn bản 1.6.1. Gán thẻ từ Part-Of-Speech tagging hay còn gọi là gán nhãn từ loại là một công việc quan trọng và bắt buộc phải có đối với mọi hệ xử lý ngôn ngữ tự nhiên. Công việc gán nhãn từ loại cho một văn bản là xác định từ loại của mỗi từ trong phạm vi văn bản đó, tức là phân loại các từ thành các lớp từ loại dựa trên thực tiễn hoạt động ngôn ngữ. Trong nhiều tác vụ của Xử lý ngôn ngữ tự nhiên (XLNNTN), ta mong muốn xây dựng được một mô hình mà chuỗi các quan sát đầu vào (từ, ngữ, câu, …) đi kèm với chuỗi các nhãn đầu ra (từ loại, ranh giới ngữ nghĩa, tên thực thể, …) gọi là pairs of sequences. Gán nhãn từ loại (Part-of-speech tagging – POS) có lẽ là bài toán sớm nhất được nghiên cứu và được mọi người biết đến khi nhập môn chuyên ngành XLNNTN. Trong gán nhãn từ loại, mục tiêu của chúng ta khi đưa chuỗi đầu vào là một câu, ví dụ: “And now for something completely different” chuỗi đầu ra sẽ là nhãn (tag sequence) tương ứng: [('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'), ('completely', 'RB'), ('different', 'JJ')] Tập nhãn được sử dụng cho mục đích gán nhãn từ loại (part-Of-Speech tagging): ADJ adjective new, good, high, special, big, local
  • 28. 19 ADV adverb really, already, still, early, now CNJ conjunction and, or, but, if, while, although DET determiner the, a, some, most, every, no EX existential there, there’s FW foreign word dolce, ersatz, esprit, quo, maitre MOD modal verb will, can, would, may, must, should N noun year, home, costs, time, education NP proper noun Alison, Africa, April, Washington NUM number twenty-four, fourth, 1991, 14:24 PRO pronoun he, their, her, its, my, I, us P preposition on, of, at, with, by, into, under TO the word to to UH interjection ah, bang, ha, whee, hmpf, oops V verb is, has, get, do, make, see, run VD past tense said, took, told, made, asked VG present participle making, going, playing, working VN past participle given, taken, begun, sung WH wh determiner who, which, when, what, where, how Noun: danh từ, thường nói đến người, địa điểm, sự vật hoặc khái niệm, ví dụ: phụ nữ, Scotland, sách, trí tuệ. Danh từ có thể xuất hiện sau các từ xác định (determiner) và tính từ (adjective), và có thể là chủ ngữ hoặc vị ngữ của động từ. Verbs: động từ, là các từ dùng để miêu tả sự kiện hoặc hành động. Trong ngữ cảnh của một câu, động từ thường thể hiện một mối quan hệ liên quan đến sự tham chiếu của một hoặc nhiều cụm từ danh từ. Adjectives, Adverbs: tính từ và trạng từ, hai lớp từ khác quan trọng là tính từ và trạng từ. Tính từ thường dùng để miêu tả cho danh từ hoặc bổ sung cho danh từ. Tính từ trong tiếng anh có thể cấu thành bằng cách thêm đuôi –ing cho danh từ và thường được xếp vào nhóm nội động từ. Trạng từ thường được dùng để bổ sung cho động từ, để xác định thời gian, cách thức, nơi chốn. Trạng từ cũng có thế dùng để bổ sung cho tính từ. 1.6.2. Phân loại từ Làm thế nào để quyết định loại của một từ? Thông thường, các nhà ngôn ngữ học căn cứ vào hình thái, cú pháp và ngữ nghĩa để xác định loại của một từ. a) Phân cụm dựa trên hình thái
  • 29. 20 Bản thân cấu thành của từ loại có thể được sử dụng để làm căn cứ phân loại cho từ đó. Ví dụ: -ness là một hậu tố, được kết hợp với tính từ để tạo nên một danh từ (happy: happiness, ill: illness). b) Phân cụm dựa trên cú pháp Một nguồn thông tin khác để phân cụm là ngữ cảnh trong đó một từ có thể xuất hiện. Ví dụ: giả sử rằng chúng ta đã phân loại được danh từ, thì chúng ta có thể nói rằng tính từ trong tiếng anh có thể xuất hiện ngay trước một danh từ, hoặc ngay sau các từ be (động từ tobe) hoặc very. c) Phân cụm dựa trên ngữ nghĩa Cuối cùng, ngữ nghĩa của một từ có thể được sử dụng để phân cụm từ loại. Ví dụ, chúng ta đã được biết: tên của người, địa danh hoặc tên đồ vật phải là danh từ.
  • 30. 21 Chương 2 - PHÂN TÍCH HỆ THỐNG 2.1. Phân tích yêu cầu đề tài Đề tài: “Khai phá lời bình trên các trang thương mại điện tử để xác định cảm xúc của khách hàng”. Từ lý thuyết tổng quan chương 1 có được: Quy về bản chất lời bình trên các trang thương mại là ngôn ngữ tự nhiên dưới dạng văn bản chữ viết. Cảm xúc được chia thành hai lớp cơ bản là cảm xúc tích cực và cảm xúc tiêu cực. Ký hiệu là pos và neg. Vậy có thể phát biểu đề tài dưới dạng bài toán: Tự động tìm kiếm các lời bình trên các trang thương mại điện tử và phân nhãn cho các lời bình này vào hai nhóm nhãn chính là tích cực (positive) và tiêu cực (negative). Phân rã bài toán thấy được hai phần chính của đề tài: Phần 1: tự động tìm kiếm lời bình trên các trang thương mại điện tử. Quy về bài toán thu thập và bóc tách dữ liệu tự động từ trang web. Phần 2: phân loại lời bình (ngôn ngữ tự nhiên dưới dạng văn bản) vào hai nhóm nhãn tích cực và tiêu cực. Từ những phân tích trên tôi đề nghị mô hình giải pháp sau: 2.2. Mô hình đề xuất phân loại cảm xúc từ lời bình Hình 2.1 Mô hình tự động lấy lời bình
  • 31. 22 2.3. Thu thập dữ liệu (Crawler) 2.3.1. Nguyên lí thu thập dữ liệu Bộ thu thập dữ liệu Web còn được biết đến với các tên như: Web Spider, Web Robot. Chúng là một chương trình hoặc script tự động duyệt qua tất cả các URL thỏa mãn một yêu cầu nào đó. Quá trình này được gọi là Web crawling hoặc Web spidering. Vận dụng khả năng trên, các crawler được dùng phổ biến trong các ứng dụng như lấy toàn bộ một trang Web, đồng nhất dữ liệu trực tuyến và gián tuyến, cập nhật liên kết, kiểm tra liên kết hỏng định kì. Các máy tìm kiếm cũng sử dụng crawler trong các tác vụ cập nhật CSDL phục vụ cho tìm kiếm, crawler trả ra kết quả là một chỉ mục của các site mà đã đăng kí với nó, chỉ mục này được sử dụng mỗi khi người dùng nhập một vài thông tin và thực hiện tìm kiếm. Hệ thống đang xây dựng cũng cần đến một crawler trong quá trình thu thập và cập nhật thông tin tự động. Chúng ta có thể mô tả khả năng của crawler trong bài toán này như sau: (1) Cung cấp cho crawler vài thông tin về nơi có nguồn dữ liệu. (2) Crawler sẽ tự động tìm kiếm toàn bộ nguồn dữ liệu này và cập nhật về CSDL của chương trình. Một crawler có điểm bắt đầu từ một địa chỉ URL. Theo thứ tự để thao tác với các tài nguyên WWW, crawler sử dụng giao thức HTTP, nó cho phép crawler giao tiếp với máy chủ Web để lấy dữ liệu và gửi các yêu cầu xử lí cho máy chủ. Kết quả trả về là một trang Web, crawler sẽ thực hiện phân tích trang Web và tìm kiếm trong nội dung các siêu liên kết. Crawler tiếp tục thao tác với các liên kết này theo một cách hoàn toàn tương tự hình minh họa ở dưới. Hình 2.2 Mô hình tự động bóc tách dữ liệu từ trang web
  • 32. 23 2.3.2. Thu thập dữ liệu từ các trang web động Web động là các website có phần hiển thị dữ liệu được tự động triển khai dựa trên javascript, ajax vì vậy với cách thu thập và bóc tách thông thường chỉ thu được mã html và javascript không có giá trị. Giải pháp đề xuất: Hình 2.3 Mô hình bóc tách dữ liệu từ trang web động - Selenium: là một trong những công cụ kiểm thử phần mềm tự động mã nguồn mở (open source test automation tool) mạnh mẽ nhất hiện nay cho việc kiểm thử ứng dụng Web. Hỗ trợ các tác vụ thao tác tự động trên nền web và trả về mã html được sinh ra sau tác vụ, vì vậy chúng ta có thể kết hợp selenium nhằm lập các tác vụ tự động để lấy mã nguồn html được sinh ra từ javascript, ajax. Selenium yêu cầu phải có một trình duyệt web hỗ trợ. - Phantom: là trình duyệt web chạy ngầm trong hệ thống, không yêu cầu phải có giao diện để tương tác, vì vậy chúng ta kết hợp với Selenium ở trên để giảm thiểu tài nguyên và tạo các tác vụ tự động. 2.4. Bóc tách dữ liệu (Extractor) 2.4.1. Các vấn đề liên quan đến phân tích HTML a) HTML HTML là một chuẩn cho việc hiển thị các thông tin trên Web. Bản chất của HTML là một tệp văn bản trong đó chứa các thông tin hiển thị theo các thẻ định dạng. Các trình duyệt Web sử dụng các thẻ này để hiển thị các thông tin theo định dạng qui ước. Các thẻ của HTML được định nghĩa sẵn và thường tuân theo chuẩn của W3C. Mỗi thẻ HTML gồm một thẻ mở và một thẻ đóng dùng để bao một vùng
  • 33. 24 nội dung muốn định dạng. Nó tạo thành một phân tử gọi là HTML Element. Một số thẻ còn có các tham số đi kèm được gọi là thuộc tính của thẻ. b) HTML DOM HTML DOM là một mô hình mô tả các tài liệu HTML dưới dạng các đối tượng. Mô hình DOM được hiểu như một giao diện được sử dụng cho nhiều nền tảng. Thông qua đó người lập trình có thể truy xuất và thực hiện các thao tác trên tài liệu HTML dễ dàng và tuân thủ một nguyên tắc chung. Khi biểu diễn trong mô hình DOM, các tài liệu HTML được thể hiện dưới dạng một cấu trúc cây. Mọi thao tác truy xuất đều thực hiện trên các nút của cây. Các nút này tương ứng với các HTML Element hoặc các vùng nội dung tự do. Hình 2.4 Hình minh họa cấu trúc cây HTML DOM Mọi nút trong mô hình này (trừ nút đầu tiên) đều có nút cha (parent node) và các nút con (children node) của nó. Đặc điểm này xuất phát từ cấu trúc tài liệu HTML có các HTML Element được tổ chức lồng nhau. Các nút văn bản do không có các nút con nên luôn nằm ở vị trí các nút lá (leaf node). Nút nằm ở vị trí gốc (root node) của cây DOM thường là Document node – tương ứng với một tài liệu HTML. Các đối tượng của mô hình DOM thường được sử dụng trong các ứng dụng phân tích tài liệu HTML như: Document: Là đối tượng bao bọc một tài liệu HTML bên trong. Các nút Document luôn là nút gốc trong mô hình DOM của các tài liệu HTML. Bên dưới
  • 34. 25 Document có các nút là các Element, nút văn bản hay các loại nút khác tương ứng với các yếu tố khác nhau trong chuẩn HTML. Element: Là các nút nằm trên cây DOM, thường không phải là các nút lá, bên dưới chúng có các nút con như nút văn bản. Mỗi một nút Element trên cây DOM bao bọc một HTML Element bên trong. Từ một đối tượng Element chúng ta có thể xác định được kiểu nút tương ứng như hình ảnh, liên kết và các thuộc tính của nút. Text: Là các phần nội dung văn bản hiển thị trên Web. Các nút loại này phải nằm dưới ít nhất một nút element. c) Các vấn đề khi phân tích mã HTML  Biểu thức chính qui Việc phát hiện các thẻ hoặc các siêu liên kết được thực hiện dựa trên mẫu nhận dạng. Cách tiếp cận phân tích HTML bằng các kĩ thuật phân tích xâu kí tự như trên sẽ bị hạn chế trong nhiều trường hợp. Chẳng hạn, khi sử dụng biểu thức chính qui không cho thấy các quan hệ giữa nút cha, nút con. Khi cần xác định ví trị của một thông tin nào đó trên các trang Web có cấu trúc, thông thường cần xác định được nó nằm ở nút nào theo qui tắc truy vết từ nút trên cùng đến nút chứa thông tin.  DOM Vì các thông tin hiển thị trên Web là các thông tin được sắp xếp một cách có cấu trúc, nên để phân tích cú pháp HTML, trước tiên các bộ phân tích HTML thường đưa chúng về dạng cây theo mô hình biểu diễn DOM. Mỗi Element trong tài liệu HTML sẽ được xác định kiểu, các thuộc tính như InnerHtml, InnerText và tạo thành một nút. Bộ phân tích HTML cũng cung cấp các phương thức quan trọng cho phép chúng ta thêm, sửa, xóa nút và thao tác đầy đủ trên cây. Ngoài ra, bộ phân tích HTML còn có khả năng sửa lỗi các tài liệu HTML. Chúng ta biết các tài liệu Web được tạo ra không thể tránh khỏi những lỗi chung chung, chúng được xếp vào loại định dạng không tốt, như thiếu thẻ đóng, dùng các thẻ không theo chuẩn, các thẻ chưa được định nghĩa sẵn. Ví dụ, một thẻ đóng được tìm thấy nhưng nó không tương ứng với thẻ mở cuối cùng, nên các thao tác sẽ không thực hiện được. Để khắc phục vấn đề này, bộ phân tích sử dụng các thẻ tự động đóng (auto-closing). Tức là thẻ mở cuối cùng sẽ tự động đóng, sau đó thẻ đóng sẽ được so sánh với các thẻ mở cho đến khi thẻ tương ứng được tìm thấy.
  • 35. 26 2.4.2. Chuẩn hóa dữ liệu Khi làm việc với các bài toán Machine Learning thực tế, nhìn chung chúng ta chỉ có được dữ liệu thô chưa qua chỉnh sửa, chọn lọc. Chúng ta cần phải tìm một phép biến đổi để loại ra những dữ liệu nhiễu (noise), và để đưa dữ liệu thô với số chiều khác nhau về cùng một chuẩn (cùng là các vector hoặc ma trận). Dữ liệu chuẩn mới này phải đảm bảo giữ được những thông tin đặc trưng (features) cho dữ liệu thô ban đầu. Không những thế, tùy vào từng bài toán, ta cần thiết kế những phép biến đổi để có những features phù hợp. Quá trình quan trọng này được gọi là Feature Extraction, hoặc Feature Engineering, một số tài liệu tiếng Việt gọi nó là trích chọn đặc trưng. Áp dụng cho bài toán phân loại lời bình, các bước cơ bản dưới đây cần được phát triển:  Chuyển đổi tất cả lời bình về dạng chữ thường (lower case) trước khi phân loại  Xóa các tập tin lời bình bị trùng lắp  Xóa lời bình không có nội dung  Xóa lời bình gây nhiễu, ví dụ như lời bình chỉ có dấu ‘.’, … nhằm mục đích spam hoặc đánh dấu  Xóa bỏ các khoảng cách thừa trong câu 2.5. Đề xuất mô hình phân loại lời bình Bài toán phân loại là việc lựa chọn chính xác nhãn của lớp cho một dữ liệu đầu vào. Trong các việc phân loại cơ bản, mỗi dữ liệu đầu vào được cân nhắc trong một vùng cô lập các dữ liệu đầu vào và tập các nhãn đã được định nghĩa trước. Tải bản FULL (72trang): https://bit.ly/3zGA3Lg Dự phòng: fb.com/TaiHo123doc.net
  • 36. 27 Hình 2.5 Mô hình nhận diện cảm xúc 2.6. Phân tích cảm xúc Công thức xác định cảm xúc: Sentiment = Holder + Polarity + Target  Holder: Đối tượng bình luận  Polariry: Ảnh hưởng  Target: Đối tượng nhận ảnh hưởng Ví dụ: Holder: người dùng hoặc là người đánh giá 2.6.1. Xác định Holder  Xác định nguồn của các ý kiến với điều kiện là các trường ngẫu nhiên và các bộ bóc tách mẫu  Xem nhận dạng nguồn như là một nhiệm vụ khai thác thông tin và giải quyết vấn đề bằng cách sử dụng việc gắn thẻ theo chuỗi và các kỹ thuật kết hợp mẫu đồng thời Tải bản FULL (72trang): https://bit.ly/3zGA3Lg Dự phòng: fb.com/TaiHo123doc.net
  • 37. 28 Ví dụ: International officers said US officials want the EU to prevail. Dựa theo lý thuyết đã trình bày về gán nhãn và phân loại từ loại, theo ngữ nghĩa và từ loại có thể xác định được Holder: International officers vì: - Danh từ - Bắt đầu bằng chữ cái viết hoa - Liền sau nó là một động từ ở thì quá khứ 2.6.2. Xác định Target Đánh giá đặc trưng trong nhận xét của khách hàng Ví dụ: The pictures are very clear Từ ví dụ trên có thể phát biểu thành vấn đề cần giải quyết khi xác định target: Đưa vào tên và các đánh giá của một sản phẩm, tìm ra các đặc trưng đã được chỉ ra một cách rõ ràng là danh từ hoặc cụm danh từ trong các đánh giá đó. Để giải quyết vấn đề cần:  Phát hiện các đặc trưng thường xuyên o Tìm ra các đặc trưng xuất hiện thường xuyên với 3 từ hoặc ít hơn o Xuất hiện trong hơn 1% các câu đánh giá (ngưỡng hỗ trợ nhỏ nhất)  Phát hiện các đặc trưng không thường xuyên o Con người thường sử dụng cùng một vài tính từ để mô tả vài đối tượng khác nhau o Xác định từ là ý kiến: với mỗi câu trong dữ liệu đánh giá, nếu nó chứa đặc trưng không thường xuyên nhưng chưa một hoặc nhiều từ ý kiến, tìm ra danh từ hoặc cụm danh từ gần nhất của từ ý kiến như là một đặc trưng không thường xuyên 2.6.3. Phân loại Polarity Ý tưởng cơ bản:  Sử dụng miền định hướng của các từ ý kiến trong một câu để xác định miền của câu đó  Nếu từ ý kiến là tích cực hoặc tiêu cực chiếm ưu thế thì xem như câu đó có ý kiến tương ứng tích cực hoặc tiêu cực 2.7. Tại sao lựa chọn giải thuật Naïve Bayer để phân lớp 2.7.1. Bài toán tổng quan Bài toán tổng quan được phát biểu như sau: 7761835