Tải bản đầy đủ (.doc) (61 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.58 MB, 61 trang )

i

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
THƠNG

ĐÀM PHƯƠNG TÙNG

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

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN 2020


2

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 tồ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


3

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
q giá và bổ ích trong suốt q 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
thiếu sót nhất định. Học viên rất mong nhận được những sự góp ý quý báu của
thầy cô và các bạn.

Thái Nguyên,

tháng

năm 2020


Tác giả

Đàm Phương Tùng


4

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
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ BÀI TỐN PHÂN
LOẠI BÌNH LUẬN KHÁCH HÀNG ........................................................................2
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. Ứng dụng khai phá dữ liệu trong phân loại bình luận khách hàng ....................13
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
CHƯƠNG 2: CÁC BƯỚC KHẢO SÁT VÀ PHÂN LOẠI BÌNH LUẬN CỦA.....22
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
.....................................................23

lấy

bình

luận

khách

hàng

2.3. Thu thập bình luận khách hàng trên Internet .....................................................25
2.4. Mơ hình tổng thể bài tốn phân loại bình luận khách hàng ...............................29
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM ..........................32
3.1. Đề xuất giải pháp ...............................................................................................32
3.1.1. Yêu cầu bài tố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


5

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
KẾT LUẬN...............................................................................................................52
DANH MỤC TÀI LIỆU THAM KHẢO ..................................................................53


6

DANH MỤC HÌNH ẢNH
Hình 1.1 Q 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 q trình KDD .......................................................................6
Hình 1.5 Mơ phỏng thuật tốn phân cụm K-means ....................................................9
Hình 1.5 Minh họa thuật tốn KNN..........................................................................15
Hình 1.6 Tồn cảnh hệ thống IGATEC ....................................................................19
Hình 2.1 Mẫu Pop-up được nhúng vào Website.......................................................27
Hình 2.2 Ứng dụng chat box được tích hợp trên Website ........................................28
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.1 Bộ dữ liệu về các câu bình luận trong tiếng Việt.......................................35
Hình 3.2 Mơ hình học máy kết hợp giữa Tfidf và SVM...........................................36
Hình 3.3 Cấu trúc HTML trên website .....................................................................37
Hình 3.4 Thu thập dữ liệu Website từ các thẻ HTML ..............................................37
Hình 3.5 Gán nhãn cho các bình luận trong tập huấn luyện .....................................39
Hình 3.6 Thực hiện tách từ và cụm từ của dữ liệu dựa vào từ điển..........................41
Hình 3.7 Khoảng cách giữa hai lề của hai lớp dữ liệu......................................

41

Hình 3.8 Giao diện chi tiết sản phẩm của Lazada.....................................................50

Hình 3.9 Giao diện chức năng phần mềm đánh giá sản phẩm..................................50
Hình 3.10 Dữ liệu bình luận tích cực thu thập trong file data.csv ............................51


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 TỐ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 đố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 tố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 khố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ự đốn khả năng vay và thanh tố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
tố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à q trình tự động trích xuất thơng tin có giá trị (Thơng tin dự đố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 Q 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): Q 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 q 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 đủ (incomplete 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 q 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 tố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 tố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 tố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 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 learning), 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 q 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 database) 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 q 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 ... Ngồ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 tốn khai thác
khác.

Hình 1.5 Mơ phỏng thuật tốn phân cụm K-means
Từ dữ liệu đã có, q 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 tố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ự đố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: likelihood, 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 tố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.
- Q 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 u cầu.


15

- Các phương pháp phân lớp văn bản và nhận xét:
+ Thuật toán KNN:
Ý tưởng của phương pháp này là khi cần phân lớp một văn bản mới, thuật
toán sẽ xác định khoảng cách (có thể áp dụng các cơng thức về khoảng cách như
Euclide, Cosine, …) của tất cả các văn bản trong tập huấn luyện đến văn bản này để
tìm ra k văn bản gần nhất, gọi là k láng giềng gần nhất. Sau đó dùng các khoảng
cách này đánh trọng số cho tất cả các chủ đề, bằng cách trọng số của một chủ đề
chính là tổng tất cả các khoảng cách ở trên của các văn bản trong k láng giềng có
cùng chủ đề, chủ đề nào khơng xuất hiện trong k láng giềng sẽ có trọng số bằng 0.
Sau đó các chủ đề sẽ được sắp xếp theo giá trị trọng số giảm dần và các chủ đề có
trọng số cao sẽ được chọn làm chủ đề của văn bản cần phân loại.

Hình 1.5 Minh họa thuật toán KNN
Trọng số của chủ đề �� đối với văn bản x được tính như sau:
�(�⃗ , �� ) =

∑ ⃗⃗

(�⃗ , �⃗ � ) . (�� , �� )

�� ∈{
{
��}

Trong đó: y = 0 văn bản di không thuộc về chủ đề cj và y =1 văn bản di sẽ

thuộc về chủ đề cj,sim (x, di): độ giống nhau giữa văn bản cần phân loại x và văn
bản di.
+ Thuật toán Naivy Bayes:
Ý tưởng cơ bản của cách tiếp cận 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


16

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 nhau. Như thế Naive Bayes không tận dụng được sự
phụ thuộc của nhiều từ vào một chủ để cụ thể.
Thuật toán Bayes là một phương pháp phân loại có giám sát. Dù rất dễ hiểu
và dễ cài đặt nhưng kết quả thu được lại rất tốt, vì thế đây là một phương pháp rất
quan trọng trong xử lý ngôn ngữ tự nhiên. Ứng dụng đầu tiên trong xử lý ngôn ngữ
tự nhiên của máy phân loại này là phân loại văn bản. Gần đây, máy phân loại này
cịn được ứng dụng thành cơng vào phần mềm lọc spam tự động.
Đối với mơ hình Bayes đơn giản dạng nhị thức, giả sử x là một văn bản chứa
các từ thuộc từ điển gồm D từ, đánh số từ 1 tới D. Khi đó ta có thể biểu diễn x dưới
dạng một vector nhị phân:
� = (�1 , �2 , … , �� ), �� ∈ {0,1}
Trong đó:�� = 0 nếu từ thứ j khơng xuất hiện trong x và �� = 1 nếu
từ thứ j xuất hiện trong x.
Trong mơ hình Bayes đơn giản, giả định các đặc trưng �� ∈ {0,1} và
độc lập
nhau đối với từng loại y. Từ đó:
��(�, �: ��) = ��(�|�;
�=
𝐷
���(�; ��) = ∏



(1.1)

Các tham số của mơ hình:
��� = ��(� = �),
∀� = 1,2, … , �
𝐷�∨� = ��(�� = 1|� = �), ∀� = 1,2, … ,
�; , ∀� = 1,2, … , �
Chú ý rằng ��� = 1�=
− ∑��−1 ��� , nên mơ hình có (K-1) +
DK tham số. Hàm mất mát trên tập dữ liệu huấn luyện (�1 , �1 ),
… , (�� , �� ) là:
)
� (��
��(� ,
(∏𝐷
= ∏� �=1�� ) =�∏� �=𝐷 �=
Từ đó có ước lược hợp lý cực đại:
𝐷


𝐷 (�
𝐷^� =��=
1= � )



𝐷�^∨�
=


1

1

𝐷 )

�∨�

𝐷
∑�=
𝐷 ( ���
1 �
=1,
�=� )

(1.2)



với �� (. ) là hàm chỉ số


17

1.2.2. Phương pháp tách từ tiếng Việt

∑ 𝐷�= ��(�� =�)
1


- So khớp dài nhất (Longest Matching):


+ Nội dung: Đây là thuật toán dựa trên tư tưởng tham lam. Nó xét các tiếng
từ trái qua phải, các tiếng đầu tiên dài nhất có thể mà xuất hiện trong từ điển sẽ
được tách ra làm một từ. Thuật toán sẽ dừng lại khi xét hết các tiếng. Thuật tốn chỉ
đúng khi khơng có sự nhập nhằng những tiếng đầu của từ sau có thể ghép với từ
trước tạo thành một từ có trong từ điển [2].
+ Ưu điểm: Tách từ nhanh đơn giản chỉ cần dựa vào từ điển. Phương pháp có
độ chính xác tương đối cao.
+ Hạn chế: Độ chính xác phụ thuộc hồn tồn vào tính đầy đủ và chính xác
của từ điển.
- Học dựa trên cải biến (Transformation-based Learning-TBL):
+ Nội dung: Đây là cách tiếp cận dựa trên ngữ liệu đã đánh dấu. Theo cách
tiếp cận này, để huấn luyện cho máy tính biết cách nhận diện ranh giới từ tiếng Việt,
ta có thể cho máy “học” trên ngữ liệu hàng vạn câu tiếng Việt đã được đánh dấu
ranh giới từ đúng. Sau khi học xong, máy sẽ xác định được các tham số (các xác
suất) cần thiết cho mơ hình nhận diện từ.
+ Ưu điểm: Đặc điểm của phương pháp này là khả năng tự rút ra quy luật của
ngơn ngữ. Nó có những ưu điểm của cách tiếp cận dựa trên luật nhưng nó khắc phục
được khuyết điểm của việc xây dựng các luật một cách thủ công bởi các chuyên gia.
Các luật được thử nghiệm tại chỗ để đánh giá độ chính xác và hiệu quả của luật (dựa
trên ngữ liệu huấn luyện). Thuật tốn cũng có khả năng khử một số nhập nhằng của
các mơ hình ngơn ngữ theo kiểu thống kê.
+ Hạn chế: Phương pháp này “dùng ngữ liệu có gán nhãn ngơn ngữ để học tự
động các quy luật đó”. Mà việc xây dựng một tập ngữ liệu đạt được đầy đủ các tiêu
chí của tập ngữ liệu trong tiếng Việt là điều rất khó, tốn kém nhiều về mặt thời gian
và cơng sức. Thuật tốn cài đặt phức tạp và cũng phải trải qua một thời gian huấn
luyện khá lâu để có thể rút ra các luật tương đối đầy đủ.
- Phương pháp quy hoạch động (dynamic programing):

+ Nội dung: Phương pháp quy hoạch động chỉ sử dụng tập ngữ liệu thô để lấy
thông tin về tần số thống kê của từ, làm tăng độ tin cậy cho việc tính tốn. Việc tính


toán bắt đầu với những đơn vị chắc chắn như câu, các ngữ (chunk) được phân cách
bởi dấu câu (như dấu phẩy, gạch nối, chấm phẩy…) vì những thành phần này khơng
có tính nhập nhằng ngay cả trong văn viết cũng như văn nói. Sau đó, tối đa hóa xác
suất của ngữ bằng cách tìm ra nhiều cách tách ngữ đó. Cách tách cuối cùng là cách
tách cho ngữ đó có xác suất cao nhất. Ý tưởng của cách tách từ này cho một ngữ cần
tách từ, ta phải tìm ra các tổ hợp từ tạo nên ngữ đó sao cho tổ hợp đó đạt được xác
suất tối đa. Tuy nhiên trong phương pháp tính tốn này lại gặp phải vấn đề bùng nổ
tổ hợp và phân tích ngữ liệu thơ. Để giải quyết vấn đề trên có thể sử dụng phương
pháp quy hoạch động (dynamic programming) vì lúc đó, xác suất cực đại của một
ngữ nhỏ hơn chỉ phải tính một lần và sử dụng lại trong các lần sau.
+ Ưu điểm: Phương pháp này không cần sử dụng tập ngữ liệu đã đánh dấu
chính xác.
+ Hạn chế: Trong thí nghiệm thường sẽ chỉ dừng lại ở việc tách các từ có ba
tiếng bởi vì tập ngữ liệu đầu vào vẫn còn khá nhỏ. Xác suất từ đúng là 51% xác suất
từ chấp nhận được 65% [1]. Xác suất này tương đối thấp so với các phương pháp
tách từ khác đã đề cập ở trên.
- Phương pháp tách từ Tiếng Việt dựa trên thống kê từ Internet và thuật toán
di truyền (Internet and Genetics Algorithm-based Text Categorization for
Documents in Vietnamese – IGATEC)
+ Nội dung: Phương pháp IGATEC là một hướng tiếp cận mới cho việc tách
từ với mục đích phân loại văn bản mà không cần dùng đến một từ điển hay tập huấn
luyện nào. Hướng tiếp cận này sẽ kết hợp giữa thuật toán di truyền (Genetics Algorithm – GA) với dữ liệu thống kê được trích xuất từ Internet tiến hóa một quần thể
gồm các cá thể là các khả năng tách từ trong câu.



×