Luận văn Phân loại bình luận của khách hàng trên mạng xã hội dựa trên kỹ thuật máy học
ii
LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của cá nhân
dưới sự hướng dẫn khoa học của TS. Nguyễn Văn Tảo. Trong toàn bộ nội dung
luận văn, những nội dung được trình bày là của cá nhân hoặc tổng hợp từ nhiều
nguồn tài liệu khác nhau. Tất cả các tài liệu tham khảo đó đều có xuất xứ rõ
ràng và được trích dẫn hợp pháp.
Tôi xin chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho
lời cam đoan của mình.
Thái Nguyên, tháng năm 2020
Tác giả
Đàm Phương Tùng
iii
LỜI CẢM ƠN
Học viên xin bày tỏ lời cảm ơn chân thành tới tập thể các thầy cô giáo Viện
công nghệ thông tin, các thầy cô giáo Trường Đại học Công nghệ thông tin và truyền
thông - Đại học Thái Nguyên đã mang lại cho học viên kiến thức vô cùng quý giá và
bổ ích trong suốt quá trình học tập chương trình cao học tại trường. Đặc biệt học viên
xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo TS.NGUYỄN VĂN TẢO đã định hướng
khoa học và đưa ra những góp ý, gợi ý, chỉnh sửa quý báu, quan tâm, tạo điều kiện
thuận lợi trong quá trình nghiên cứu hoàn thành luận văn này.
Cuối cùng, học viên xin chân thành cảm ơn các bạn bè đồng nghiệp, gia
đình và người thân đã quan tâm, giúp đỡ và chia sẻ với học viên trong suốt quá
trình học tập
.
Do thời gian và kiến thức có hạn nên luận văn chắc không tránh khỏi những
Học viên
thiếu sót nhất định.
cô và các bạn.
rất mong nhận được những sự góp ý quý báu của thầy
Thái Nguyên, tháng năm 2020
Tác giả
Đàm Phương Tùng
iv
MỤC LỤC
LỜI CAM ĐOAN ........................................................................................................i
LỜI CẢM ƠN ........................................................................................................... iii
MỤC LỤC..................................................................................................................iv
DANH MỤC HÌNH ẢNH .........................................................................................vi
LỜI MỞ ĐẦU.............................................................................................................1
1.1. Tổng quan về khai phá dữ liệu.............................................................................2
1.1.1. Những khái niệm về khai phá dữ liệu...............................................................3
1.1.2. Quy trình khai phá dữ liệu ................................................................................5
1.1.3. Các kỹ thuật và tác vụ khai phá dữ liệu ............................................................7
1.1.4. Kiến trúc của một hệ thống khai phá dữ liệu..................................................11
1.1.5. So sánh khai phá dữ liệu với máy học ............................................................12
1.2.1. Phương pháp phân lớp văn bản.......................................................................13
1.2.2. Phương pháp tách từ tiếng Việt.......................................................................16
1.2.3. Phân loại bình luận khách hàng ......................................................................20
2.1. Tìm hiểu chung về thương hiệu sản phẩm.........................................................22
2.2. Mục đích của việc lấy bình luận khách hàng.....................................................23
2.3. Thu thập bình luận khách hàng trên Internet .....................................................25
3.1. Đề xuất giải pháp ...............................................................................................32
3.1.1. Yêu cầu bài toán..............................................................................................33
3.1.2. Tổng quan về dữ liệu: .....................................................................................35
3.2. Xây dựng mô hình..............................................................................................35
3.2.1. Thu thập dữ liệu ..............................................................................................36
v
3.2.2. Tiền xử lý dữ liệu............................................................................................38
3.2.3. Trích xuất vector .............................................................................................41
3.2.4. Huấn luyện dữ liệu..........................................................................................42
3.3. Kết quả thử nghiệm............................................................................................49
3.3.1. Đánh giá dựa trên độ chính xác ......................................................................49
3.3.2. Triển khai dự án trên website thực tiễn...........................................................49
vi
DANH MỤC HÌNH ẢNH
Hình 1.1 Quá trình trích xuất thông tin có giá trị........................................................4
Hình 1.2 Những lĩnh vực liên quan tới khai phá dữ liệu ............................................4
Hình 1.3 Các bước của quá trình KDD.......................................................................6
Hình 1.5 Minh họa thuật toán KNN..........................................................................15
Hình 1.6 Toàn cảnh hệ thống IGATEC ....................................................................19
Hình 2.3 Hệ thống Google Analytics........................................................................29
Hình 2.4 Mô hình Crawler đơn giản .........................................................................30
Hình 3.3 Cấu trúc HTML trên website .....................................................................37
Hình 3.8 Giao diện chi tiết sản phẩm của Lazada.....................................................50
1
LỜI MỞ ĐẦU
Trong thời buổi kinh tế thị trường ngày hôm nay, một doanh nghiệp muốn tồn
tại và phát triển thì cần phải khai thác và thu thập được các bình luận phản hồi của
người dùng về sản phẩm hay dịch vụ của mình từ đó đưa ra những định hướng và
điều chỉnh về hoạt động sản xuất kinh doanh phù hợp hơn.
Cùng với sự ra đời của internet, sự xuất hiện và phát triển không ngừng của
lĩnh vực thương mại điện tử khiến cho việc xúc tiến các hoạt động kinh doanh, buôn
bán, quảng bá sản phẩm, dịch vụ diễn ra trên khắp các kênh thông tin xã hội đặc biệt
là trên mạng internet. Điều này vô hình dung tạo nên cầu nối giữa người dùng và nhà
cung cấp, và từ cầu nối này người dùng có thể đưa ra bình luận của họ đối với sản
phẩm hay dịch vụ mà nhà cung cấp mang lại.
Như chúng ta đã biết ngày nay mọi thông tin đều được đưa lên các trang mạng
xã hội dưới dạng các posts và rất nhiều người dùng để lại các các nhận xét của mình
về các posts này dưới dạng các comments, ta nhận thấy đây là kho thông tin khổng
lồ mà từ đó nếu chúng ta có thể khai phá và trích rút tất cả các comments của người
dùng, sau đó phân tích và phân loại dữ liệu ấy, chúng ta có thể thu được các kết quả
khảo sát cần thiết phục vụ cho hoạt động sản xuất kinh doanh. Việc phân loại bình
luận khách hàng về nhiều lĩnh vực, giúp doanh nghiệp có cách quản lý tốt hơn, đưa
ra những sáng kiến mới giúp doanh nghiệp mình phát triển.
2
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ BÀI TOÁN PHÂN
LOẠI BÌNH LUẬN KHÁCH HÀNG
1.1. Tổng quan về khai phá dữ liệu
KPDL là một trong những thuật ngữ mới xuất hiện đầu thế kỷ 21, nó là hệ quả
của sự bùng nổ Internet đạt tới đỉnh điểm. Theo một công bố của Intel vào tháng 9
năm 2013, cứ 11 giây trôi qua lại có thêm 1 Petabybe dữ liệu, nó tương đương với
một video chất lượng HD dài 13 năm.
KPDL đã và đang được ứng dụng rộng rãi trong rất nhiều lĩnh vực và hiện nay
đã có rất nhiều công cụ thương mại và phi thương mại triển khai các nhiệm vụ của
KPDL.
- Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support)
- Điều trị y học (medical treatment): Hiện nay, ứng dụng công nghệ lưu trữ
lớn, khai phá dữ liệu trong lĩnh vực y tế để chẩn đoán, phòng ngừa và điều trị bệnh
nhằm can thiệp nâng cao sức khỏe con người là hướng nghiên cứu có nhu cầu thực
tiễn, được quan tâm tích cực bởi cộng đồng các nhà nghiên cứu. Một số ứng dụng cụ
thể của KPDL trong y học:
+ Dự đoán khả năng nhiễm bệnh
+ Dự đoán mức độ nghiêm trọng của virus đối với cơ thể con người
- Text mining & Web mining: KPDL văn bản và KPDL Web là một trong
những ứng dụng quan trọng hiện nay. Các bài toán trong KPDL văn bản bao gồm:
+ Tìm kiếm văn bản
+ Phân lớp văn bản
+ Tóm tắt văn bản
+ Phân cụm văn bản
+ Phân cụm các từ mục
+ Đánh chỉ mục các từ tiềm năng
+ Dẫn đường văn bản
Đối với các bài toán trong KPDL Web bao gồm:
3
+ Thu thập và xử lý dữ liệu Web
+ Phân lớp nhóm các Website có độ uy tín khi truy cập
- Tin sinh học (bio-informatics): KPDL sinh học là một phần rất quan trọng
của lĩnh vực Tin-Sinh học (Bioinformatics). Một số ứng dụng của KPDL trong sinh
học:
+ Lập chỉ mục, tìm kiếm tương tự, bất thường trong CSDL Gen.
+ Xây dựng mô hình khai phá các mạng di truyền và cấu trúc của Gen, protein
+ Xây dựng các công cụ trực quan trong phân tích dữ liệu di truyền.
- Tài chính và thị trường chứng khoán (finance & stock market): Dữ liệu tài
chính trong ngân hàng và trong ngành tài chính nói chung thường đáng tin cậy và có
chất lượng cao, tạo điều kiện cho khai phá dữ liệu. Dưới đây là một số ứng dụng điển
hình trong khai phá dữ liệu tài chính:
- Dự đoán khả năng vay và thanh toán của khách hàng, phân tích chính sách
tín dụng đối với khách hàng.
+ Phân tích hành vi khách hàng (vay, gửi tiền)
+ Phân loại và phân nhóm khách hàng mục tiêu cho tiếp thị tài chính
+ Phát hiện các hoạt động rửa tiền và tội phạm tài chính
- Bảo hiểm (insurance)
- Nhận dạng (pattern recognition)
Trong chương này, luận văn sẽ giới thiệu tổng quan về khai phá dữ liệu bao
gồm định nghĩa, một số nghiên cứu, những kỹ thuật khai phá và xử lý dữ liệu hiện
nay. Tiếp theo đó là tổng quan về các kỹ thuật khai phá văn bản, ứng dụng trong bài
toán phân tích bình luận khách hàng.
1.1.1. Những khái niệm về khai phá dữ liệu
Ngày nay, dữ liệu do con người tạo ra ngày càng nhiều hơn về số lượng, tăng
nhanh về khối lượng, phát triển mạnh về quy mô khiến việc phân loại, lựa chọn, khai
thác và sử dụng gặp những khó khăn nhất định. Khái niệm khai phá dữ liệu ra đời hỗ
trợ những công việc này.
4
Đến nay, có rất nhiều định nghĩa về khai phá dữ liệu nhưng nhìn chung mỗi
định nghĩa đều hướng tới một nhận định. Theo Tom Mitchell [3]: “KPDL là việc sử
dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyết định trong
tương lai.” Với một cách tiếp cận ứng dụng hơn, Fayyad [4] đã phát biểu: “KPDL,
thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình
trích xuất những thông tin ẩn, trước đây chưa biết và có khả năng hữu ích, dưới dạng
các qui luật, ràng buộc, qui tắc trong cơ sở dữ liệu.” Tóm lại, KPDL là một quá trình
học tri thức mới từ những dữ liệu đã thu thập được [5,6,7].
Khái niệm về khai phá dữ liệu (Data Mining) hay khám phá tri thức
(Knowledge Discovery) có rất nhiều cách diễn đạt khác nhau nhưng về bản chất đó
là quá trình tự động trích xuất thông tin có giá trị (Thông tin dự đoán - Predictive
Information) ẩn chứa trong khối lượng dữ liệu khổng lồ trong thực tế. Thuật ngữ Data
Mining cũng ám chỉ việc tìm kiếm một tập nhỏ có giá trị từ một số lượng lớn các dữ
liệu thô.
Hình 1.1 Quá trình trích xuất thông tin có giá trị
Khai phá dữ liệu cũng là một lĩnh vực liên ngành, nơi hội tụ của nhiều học
thuyết và công nghệ.
Hình 1.2 Những lĩnh vực liên quan tới khai phá dữ liệu
5
1.1.2. Quy trình khai phá dữ liệu
Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD (Knowleadge
Discovery in Database) và KDD được xem như bảy quá trình khác nhau theo thứ tự
như sau:
- Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và dữ liệu
không cần thiết. Đối với dữ liệu thu thập được, cần xác định các vấn đề ảnh hưởng là
cho nó không sạch. Bởi vì, dữ liệu không sạch (có chứa lỗi, nhiễu, không đầy đủ, có
mâu thuẫn) thì các tri thức khám phá được sẽ bị ảnh hưởng và không đáng tin cậy, sẽ
dẫn đến các quyết định không chính xác. Do đó, cần gán các giá trị thuộc tính còn
thiếu; sửa chữa các dữ liệu nhiễu/lỗi; xác định hoặc loại bỏ các ngoại lai (outliers);
giải quyết các mâu thuẫn dữ liệu.
- Tích hợp dữ liệu (data integration): Quá trình hợp nhất dữ liệu thành những
kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử lý. Khi
tích hợp cần xác định thực thể từ nhiều nguồn dữ liệu để tránh dư thừa dữ liệu. Việc
dư thừa dữ liệu là thường xuyên xảy ra, khi tích hợp nhiều nguồn. Bởi cùng một thuộc
tính (hay cùng một đối tượng) có thể mang các tên khác nhau trong các nguồn (cơ sở
dữ liệu) khác nhau. Hay các dữ liệu suy ra được như một thuộc tính trong một bảng
có thể được suy ra từ các thuộc tính trong bảng khác. Hay sự trùng lặp các dữ liệu.
Các thuộc tính dư thừa có thể bị phát hiện bằng phân tích tương quan giữa chúng.
- Trích chọn dữ liệu (data selection): Trích chọn dữ liệu từ những kho dữ liệu
và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức. Quá trình
này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (in-
complete data),…
- Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho
quá trình xử lý.
- Khai phá dữ liệu (data mining): Là một trong các bước quan trọng nhất, trong
đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu.
- Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm
được thông qua các độ đo nào đó.
6
- Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ
thuật để biểu diễn và thể hiện trực quan cho người dùng.
Hình 1.3 Các bước của quá trình KDD
Đối với một quá trình KPDL có năm giai đoạn như sau [8]:
- Tìm hiểu nghiệp vụ và dữ liệu: Trong giai đoạn đầu tiên, nhà tư vấn (NTV)
nghiên cứu kiến thức về lĩnh vực sẽ áp dụng, bao gồm các tri thức cấu trúc về hệ
thống và tri thức, các nguồn dữ liệu hiện hữu, ý nghĩa, vai trò và tầm quan trọng của
các thực thể dữ liệu. Việc nghiên cứu này được thực hiện qua việc tiếp xúc giữa NTV
và người dùng. Khác với phương pháp giải quyết vấn đề truyền thống khi bài toán
được xác định chính xác ở bước đầu tiên, NTV tìm hiểu các yêu cầu sơ khởi của
người dùng và đề nghị các bài toán tiềm năng có thể giải quyết với nguồn dữ liệu hiện
hữu. Tập các bài toán tiềm năng được tinh chỉnh và làm hẹp lại trong các giai đoạn
sau. Các nguồn và đặc tả dữ liệu có liên quan đến tập các bài toán tiềm năng cũng
được xác định.
- Chuẩn bị dữ liệu: Sử dụng các kỹ thuật tiền xử lý để biến đổi và cải thiện
chất lượng dữ liệu để thích hợp với những yêu cầu của các giải thuật học. Phần lớn
các giải thuật KPDL hiện nay chỉ làm việc trên một tập dữ liệu đơn và phẳng, do đó
dữ liệu phải được trích xuất và biến đối từ các dạng cơ sơ dữ liệu phân bố, quan hệ
hay hướng đối tượng sang dạng cơ sở dữ liệu quan hệ đơn giản với một bảng dữ liệu.
7
- Mô hình hóa dữ liệu: Các bài toán được giải quyết trong giai đoạn này. Các
giải thuật học sử dụng các dữ liệu đã được tiền xử lý trong giai đoạn hai để tìm kiếm
các qui tắc ẩn và chưa biết. Công việc quan trọng nhất trong giai đoạn này là lựa chọn
kỹ thuật phù hợp để giải quyết các vấn đề đặt ra. Các bài toán được phân loại vào một
trong những nhóm bài toán chính trong KPDL dựa trên đặc tả của chúng.
- Hậu xử lý và đánh giá mô hình: Dựa trên các đánh giá của người dùng sau
khi kiểm tra trên các tập thử, các mô hình sẽ được tinh chỉnh và kết hợp lại nếu cần.
Chỉ các mô hình đạt được mức yêu cầu cơ bản của người dùng mới đưa ra triển khai
trong thực tế. Trong giai đoạn này, các kết quả được biến đổi từ dạng học thuật sang
dạng phù hợp với nghiệp vụ và dễ hiểu hơn cho người dùng.
- Triển khai tri thức: Các mô hình được đưa vào những hệ thống thông tin thực
tế dưới dạng các mô-đun hỗ trợ việc đưa ra quyết định.
Mối quan hệ chặt chẽ giữa các giai đoạn trong quá trình KPDL là rất quan
trọng cho việc nghiên cứu trong KPDL. Một giải thuật trong KPDL không thể được
phát triển độc lập, không quan tâm đến bối cảnh áp dụng mà thường được xây dựng
để giải quyết một mục tiêu cụ thể. Do đó, sự hiểu biết bối cảnh vận dụng là rất cần
thiết. Thêm vào đó, các kỹ thuật được sử dụng trong các giai đoạn trước có thể ảnh
hưởng đến hiệu quả của các giải thuật sử dụng trong các giai đoạn tiếp theo.
1.1.3. Các kỹ thuật và tác vụ khai phá dữ liệu
Các kỹ thuật KPDL được chia thành hai nhóm chính:
+ Nhóm mô tả dữ liệu: Nhóm này có nhiệm vụ mô tả về các tính chất hoặc các
đặc tính chung của dữ liệu trong cơ sở dữ liệu hiện có gồm các kỹ thuật: phân cụm
(clustering), luật kết hợp (Association rules), tóm tắt (Sumerization) và trực quan hóa
(Visualization),…
+ Nhóm dự đoán: đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện
thời, gồm có các kỹ thuật: phân lớp (Classification), hồi quy (Regession).
- Có 3 kỹ thuật thông dụng nhất được sử dụng để khai thác dữ liệu là: phân
cụm dữ liệu, phân lớp và dự đoán, luật kết hợp.
8
+ Phân lớp và dự đoán (Classification & Prediction): Xếp đối tượng vào một
trong các lớp đã biết trước. Ví dụ như phân loại cước hoặc dịch vụ dựa trên số máy
bị gọi của cuộc gọi, phân lớp khu vực dựa trên số máy chủ gọi, phân lớp giờ cao
điểm, thấp điểm dựa trên giờ bắt đầu đàm thoại v.v... Phân lớp là một lĩnh vực rất
quan trọng trong KPDL. Phân lớp còn được gọi là học có giám sát (supervised learn-
ing), hướng tiếp cận này thường sử dụng một số kỹ thuật như cây quyết định (decision
tree), mạng nơ-ron nhân tạo (neural network).
+ Phân tích luật kết hợp: là một trong những phương pháp của KPDL. Nhiệm
vụ của phương pháp này là phân tích dữ liệu trong cơ sở dữ liệu nhằm phát hiện và
đưa ra những mối liên hệ giữa các giá trị dữ liệu. Đó chính là tập các luật kết hợp.
Luật kết hợp thu được thường có dạng một mệnh đề có 2 vế: A => B. Trong đó, A là
tiền đề, B là mệnh đề kết quả. Hai thông số quan trọng của luật kết hợp là độ hỗ trợ
(Support) và độ tin cậy (Confidence). Khai thác các luật kết hợp từ cơ sở dữ liệu là
việc tìm các luật có độ hỗ trợ và độ tin cậy lớn hơn ngưỡng mà người sử dụng xác
định từ trước. Luật kết hợp tuy khá đơn giản nhưng những thông tin mà luật đem lại
là rất đáng kể và hỗ trợ không nhỏ trong quá trình ra quyết định. Tìm kiếm các luật
“quý hiếm” và mang nhiều thông tin từ cơ sở dữ liệu giao dịch (transactional data-
base) là một trong những hướng tiếp cận chính trong khai phá dữ liệu.
+ Phân cụm dữ liệu (Clustering): mục tiêu chính của phương pháp phân cụm
dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho
các đối tượng thuộc cùng một lớp là tương đồng còn các đối tượng thuộc các cụm
khác nhau sẽ không tương đồng. Phân cụm dữ liệu là một phương pháp học không
giám sát. Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải
định nghĩa trước các mẫu dữ liệu huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là
một cách học bằng phương pháp quan sát (learning by observation), trong khi phân
lớp dữ liệu là học bằng ví dụ (learning by example). Với phương pháp này không thể
biết kết quả các cụm thu được sẽ như thế nào khi bắt đầu quá trình. Vì vậy, thông
thường cần có một chuyên gia về lĩnh vực đó để đánh giá các cụm thu được. Phân
cụm dữ liệu được sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân
9
đoạn khách hàng, nhận dạng mẫu, phân loại trang web ... Ngoài ra, phân cụm dữ liệu
còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán khai thác khác.
Hình 1.5 Mô phỏng thuật toán phân cụm K-means
Từ dữ liệu đã có, quá trình khai phá dữ liệu tìm ra những mối quan hệ giữa các
dữ liệu theo một đặc điểm nào đó tùy theo cách khai phá gọi là các tác vụ khai phá
dữ liệu. Một số tác vụ khai phá dữ liệu như:
- Kết hợp: Tìm ra các luật như: “inside(x,city) → near(x, highway)”.
- Phân cụm: Nhóm dữ liệu thành dạng lớp mới, ví dụ: cụm houses để xác định
các mô hình phân phối.
- Cây quyết định: Ưu tiên các nhân tố quan trọng để xây dựng nên luật kinh
doanh trong định dạng cây.
- Mạng neural: Ưu tiên các yếu tố quan trọng để xây dựng nên luật kinh doanh
ở một thứ hạng nặng.
- Thuật toán di truyền: Độ thích nghi của một luật được đánh giá bởi sự phân
loại chính xác trên tập training set.
- Khai phá web: Khai phá web để phân tích tiện ích của web
Có năm thành phần cơ bản để đặc tả một tác vụ khai phá dữ liệu:
- Dữ liệu cụ thể sẽ được khai phá (task-relevant data): Là phần dữ liệu từ các
dữ liệu nguồn được quan tâm tương ứng là các thuộc tính hay chiều dữ liệu được
10
quan tâm. Bao gồm: tên kho dữ liệu/ cơ sở dữ liệu, các bảng dữ liệu hay các khối dữ
liệu, các điều kiện chọn dữ liệu, các tiêu chí gom nhóm dữ liệu.
- Loại tri thức sẽ đạt được (kind of knowledge): Loại tri thức đạt được sẽ tương
ứng với tác vụ khai phá dữ liệu sẽ thực thi. Một số loại tri thức đạt được như: mô hình
phân lớp, mô hình dự đoán, mô hình gom cụm, mô hình phân tích phần tử biên, mô
hình phân tích tiến hóa,…
- Tri thức nền (background knowledge)
- Các đô đo (interestingness measures): Các độ đo được đưa ra bởi người dùng
thường đi kèm với các ngưỡng giá trị, giúp cho quá trình khai phá hoặc đánh giá các
mẫu được tìm thấy. Các độ do được đưa ra tương ứng với các loại tri thức đạt được
và do đó tương ứng với các tác vụ khai phá dữ liệu được thực thi. Các độ đo thường
được đưa ra để kiểm tra tính đơn giản, tính chắc chắn, tính hữu dụng của tri thức đạt
được.
-Các kỹ thuật biểu diễn tri thức/ trực quan hóa mẫu (pattern visualization and
knowledge presentation): Thể hiện các tri thức tìm thấy đến người dùng, ví dụ như:
luật, bảng, báo cáo, biểu đồ, đồ thị, cây, khối,…
Với mỗi tác vụ khai phá dữ liệu từ dữ liệu đầu vào để có tri thức đầu ra đều
cần có những giải thuật riêng. Mỗi giải thuật KPDL phải có bốn thành phần cơ bản
sau:
- Cấu trúc mẫu hay cấu trúc mô hình (model or pattern structure):
- Hàm tỉ số (score function): Hàm tỉ số là hàm xác định một cấu trúc mô hình/
mẫu đáp ứng tập dữ liệu đã cho tốt ở mức độ nào đó. Hàm tỉ số cho biết liệu một mô
hình có tốt hơn các mô hình khác hay không. Một vài hàm tỉ số thông dụng: likeli-
hood, sum of squared errors, misclassification rate,…
- Phương pháp tìm kiếm và tối ưu hóa (optimization and search method):
Phương pháp này nhằm xác định cấu trúc và giá trị các thông số đáp ứng tốt nhất hàm
tỉ số từ dữ liệu sẵn có.
- Chiến lược quản lý dữ liệu (data management strategy): Hỗ trợ cách dữ liệu
được lưu trữ, đánh chỉ mục và truy xuất.
11
1.1.4. Kiến trúc của một hệ thống khai phá dữ liệu
Hình 1.4 biểu diễn kiến trúc của một hệ thống khai phá dữ liệu.
Hình 1.4 Kiến trúc của một hệ thống khai phá dữ liệu
Kiến trúc của một hệ thống khai phá dữ liệu điển hình được cho ở hình trên
trong đó:
- CSDL, kho dữ liệu hoặc các thông tin lưu trữ khác (database, data warehouse,
www, other info Repositories): Đây là một hay một tập các CSDL, các kho dữ liệu,
các trang tính hay các dạng khác của thông tin được lưu trữ. Các kĩ thuật làm sạch
hoặc tích hợp dữ liệu có thể được thực hiện.
- Máy chủ CSDL hay máy chủ kho dữ liệu (database or warehouse server):
Máy chủ này có nhiệm vụ lấy được những dữ liệu thích hợp dựa trên nhưng yêu cầu
khai phá của người dùng.
- Cơ sở tri thức (knowledge-base): Đây là miền tri thức được dùng để tìm kiếm
hay đánh giá độ quan trọng của các mầu kết quả. Tri thức này có thể bao gồm một sự
phân cấp khái niệm dùng để tổ chức các thuộc tính hay các giá trị thuộc tính ở các
mức trừu tượng khác nhau.
- Máy khai phá dữ liệu (data-mining engine): Một hệ thống khai phá dữ liệu
cần phải có một tập các module chức năng để có thể thực hiện được công việc, chẳng
hạn như đặc trưng hóa, kết hợp, phân lớp, phân cụm, phân tích sự tiến hóa hoặc sự
chệch hướng.
12
- Module đánh giá mẫu (pattern evaluation): Bộ phận này tương tác với các
module khai phá dữ liệu để tập trung vào việc duyệt tìm các mẫu đáng tin cậy. Nó có
thể dùng các ngưỡng về độ quan tâm để lọc các mẫu đã khám phá được.
- Giao diện người dùng (Graphical user interface): Bộ phận này cho phép
người dùng giao tiếp với hệ thống khai phá dữ liệu. Thông qua giao diện này người
dùng tương tác với hệ thống bằng cách đặc tả một yêu cầu khai phá hay một nhiệm
vụ, cung cấp thông tin giúp cho việc tìm kiếm và thực hiện khai phá đánh giá trên các
kết quả khai phá trung gian. Ngoài ra bộ phận này còn cho phép người dùng có thể
xem được các lược đồ CSDL, lược đồ kho dữ liệu hay các cấu trúc dữ liệu, các đánh
giá mẫu và hiển thị chúng trong các khuôn dạng mẫu khác nhau.
1.1.5. So sánh khai phá dữ liệu với máy học
Sự khác biệt chính là KPDL được sử dụng để lấy các quy tắc từ dữ liệu sẵn
có, trong khi máy học dạy máy tính để tìm hiểu và hiểu các quy tắc nhất định. Máy
học là một phần của trí tuệ nhân tạo cung cấp cho máy tính khả năng học hỏi mà
không cần lập trình rõ ràng. Máy học tập chủ yếu nhắm vào việc phát triển các chương
trình máy tính có thể dạy mình phát triển và thay đổi theo tình huống mới và thực sự
gần với các thống kê tính toán.
Với cùng mục đích là “học tập từ dữ liệu”, các giải thuật trong máy học đóng
một vai trò nòng cốt trong KPDL. Tuy nhiên, các giải thuật này cần được phát triển
để thích hợp với các yêu cầu và thách thức mới của KPDL. Thách thức đầu tiên là
mức độ nhiễu cao trong dữ liệu của KPDL. Tiêu chuẩn mạnh mẽ của giải thuật đối
với nhiễu trở nên quan trọng hơn trong khi các tiêu chuẩn khác phần nào có thể giảm
bớt. Thách thức thứ hai là kích thước lớn của các tập dữ liệu cần xử lý. Các tập dữ
liệu trong KPDL thường có kích thước cực kỳ lớn. Khi so sánh các tập dữ liệu chuẩn
trong các kho dữ liệu về KPDL và máy học, các tập dữ liệu trong KPDL thường có
số đặc tính lớn hơn 10 lần và số đối tượng lớn hơn 100 lần. Trong thực tế, kích thước
của các tập dữ liệu trong KPDL thường ở mức tera-byte (hàng ngàn giga-byte). Với
kích thước như thế, thời gian xử lý thường cực kỳ dài. Thêm vào đó, các giải thuật
học truyền thống thường yêu cầu tập dữ liệu được tải toàn bộ lên trên bộ nhớ để xử
13
lý. Mặc dù kích thước bộ nhớ trong của máy tính đã gia tăng đáng kể trong thời gian
gần đây, việc gia tăng này cũng không thể đáp ứng kịp với việc tăng kích thước dữ
liệu. Vì vậy, việc vận dụng các kỹ thuật xác suất, lấy mẫu, đệm, song song và tăng
dần vào các giải thuật để tạo ra các phiên bản phù hợp với yêu cầu của KPDL trở nên
ngày càng quan trọng.
Các kỹ thuật trong KPDL là hướng tác vụ và hướng dữ liệu. Thay vì tập trung
vào xử lý tri thức dạng kí hiệu và khái niệm như trong máy học, mọi phát triển trong
KPDL thì kết chặt vào các ứng dụng thực tế và đặc tính dữ liệu cụ thể trong các ứng
dụng đó. Ví dụ, Luật kết hợp (Association Rules) là kỹ thuật KPDL nhằm tìm kiếm
những mối liên kết giữa các món hàng trong các hóa đơn ở siêu thị. Giải thuật học
trong kỹ thuật này được phát triển dựa trên đặc tính về dữ liệu rất đặc thù là ở dạng
nhị phân và rất thưa [8].
1.2. Ứng dụng khai phá dữ liệu trong phân loại bình luận khách hàng
1.2.1. Phương pháp phân lớp văn bản
Phân lớp văn bản được xem như là quá trình gán các văn bản vào một hay
nhiều văn bản đã xác định từ trước. Người ta có thể phân lớp các văn bản một cách
thủ công, tức là đọc từng văn bản một và gán nó vào một lớp nào đó. Đây là cách sẽ
tốn rất nhiều thời gian và công sức đối với nhiều văn bản và do đó không khả thi. Do
vậy mà phải có các phương pháp phân lớp tự động. Để phân lớp tự động người ta sử
dụng các phương pháp học máy trong trí tuệ nhân tạo. Ví dụ như cây quyết định,
Bayes, K-nearest neighbor).
Một trong những ứng dụng quan trọng nhất của phân lớp văn bản là trong tìm
kiếm văn bản. Từ một tập dữ liệu đã phân lớp các văn bản sẽ được đánh chỉ số đối
với từng lớp tương ứng. Người dùng có thể xác định chủ đề hoặc phân lớp văn bản
mà mình mong muốn tìm kiếm thông qua các câu hỏi.
Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực tìm hiểu văn bản.
Phân lớp văn bản có thể được sử dụng để lọc các văn bản hoặc một phần các văn bản
chứa dữ liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên.
14
Trong phân lớp văn bản, một lớp có thể được gán giá trị đúng sai (True hay
False hoặc văn bản thuộc hay không thuộc lớp) hoặc được tính theo mức độ phụ thuộc
(văn bản có một mức độ phụ thuộc vào lớp). Trong trường hợp có nhiều lớp thì phân
loại đúng sai sẽ là việc xem một văn bản có thuộc vào một lớp duy nhất nào đó hay
không.
- Quá trình: Quá trình phân lớp văn bản tuân theo các bước sau:
+ Đánh chỉ số (Indexing): Quá trình đánh chỉ số văn bản cũng giống như trong
quá trình đánh chỉ số của tìm kiếm văn bản. Trong phần này thì tốc độ đánh chỉ số
đóng vai trò quan trọng vì một số các văn bản mới có thể cần được xử lý trong thời
gian thực.
+ Xác định độ phân lớp: Cũng giống như trong tìm kiếm văn bản, phân lớp
văn bản yêu cầu quá trình diễn tả việc xác định văn bản đó thuộc lớp nào đó như thế
nào, dựa trên cấu trúc biểu diễn của nó. Đối với hệ phân lớp văn bản, chúng ta gọi
quá trình này là bộ phân lớp (Categorization hoặc classifier). Nó đóng vai trò như
những câu hỏi trong hệ tìm kiếm. Nhưng trong khi những câu hỏi mang tính nhất
thời, thì bộ phân loại được sử dụng một cách ổn định và lâu dài cho quá trình phân
loại.
+ So sánh: Trong hầu hết các bộ phân loại, mỗi văn bản đều được yêu cầu gán
đúng sai vào một lớp nào đó. Sự khác nhau lớn nhất đối với quá trình so sánh trong
hệ tìm kiếm văn bản là mỗi văn bản chỉ được so sánh với một số lượng các lớp một
lần và việc chọn quyết định phù hợp còn phụ thuộc vào mối quan hệ giữa các lớp văn
bản.
+ Phản hồi: Quá trình phản hồi đóng vai trò trong hệ phân lớp văn bản. Thứ
nhất là khi phân loại thì phải có một số lượng lớn các văn bản đã được xếp loại bằng
tay trước đó, các văn bản này được sử dụng làm mẫu huấn luyện để hỗ trợ xây dựng
bộ phân loại. Thứ hai là đối với việc phân loại văn bản này không dễ dàng thay đổi
các yêu cầu như trong quá trình phản hồi của tìm kiếm văn bản, người dùng có thể
thông tin cho người bảo trì hệ thống về việc xóa bỏ, thêm vào hoặc thay đổi các phân
lớp văn bản nào đó mà mình yêu cầu.
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Phân loại bình luận của khách hàng trên mạng xã hội dựa trên kỹ thuật máy học", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
luan_van_phan_loai_binh_luan_cua_khach_hang_tren_mang_xa_hoi.pdf

