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

Ứng dụng Deep Learning để dự đoán quan điểm trong tài liệu

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 (979.67 KB, 26 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC BÁCH KHOA

DƢƠNG PHƢỚC QUỐC CƢỜNG

ỨNG DỤNG DEEP LEARNING
ĐỂ DỰ ĐOÁN QUAN ĐIỂM TRONG TÀI LIỆU

Chuyên ngành: Khoa học máy tính
Mã số:

8480101

TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT

Đà Nẵng - Năm 2019


Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC BÁCH KHOA

Người hướng dẫn khoa học: PGS.TS. NGUYỄN THANH BÌNH

Phản biện 1: TS. LÊ THỊ MỸ HẠNH

Phản biện 2: TS. NGUYỄN QUANG VŨ

Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ
kỹ thuật chuyên ngành Khoa học máy tính họp tại Trường Đại học Bách khoa
Đà Nẵng vào ngày 05 tháng 10 năm 2019


Có thể tìm hiểu luận văn tại:
- Trung tâm Học liệu, Đại học Đà Nẵng tại Trường Đại học Bách khoa
- Thư viện Khoa Công nghệ Thông tin, Trường Đại học Bách khoa, Đại học
Đà Nẵng


1

MỞ ĐẦU
Cùng với sự phát triển không ngừng của khoa học công nghệ, đặc biệt là cuộc
cách mạng công nghiệp lần thứ tư đang diễn ra rộng khắp trong tất cả các lĩnh vực
của đất nước cũng như các nước trên thế giới, các chủ đề được nhắc tới nhiều nhất
bao gồm Big Data, Deep Learning, IoT, Blockchain… Các sản phẩm CNTT trí tuệ
nhân tạo và học máy ngày càng phát triển và là lĩnh vực được quan tâm đầu tư nghiên
cứu nhiều nhất hiện, trong đó lĩnh vực học sâu (Deep Learning) là một loại phổ biến
của máy học đã có những thành tựu phát triển vượt bậc.
Ngày nay, để đáp ứng nhu cầu cuộc sống ngày càng cao của con người, các sản
phẩm và dịch vụ đã có những bước phát triển rất mạnh mẽ. Với mỗi loại sản phẩm và
dịch vụ hiện nay lại rất phong phú về chủng loại, chất lượng, dịch vụ và đến từ nhiều
nhà cung cấp khác nhau. Do đó, việc duy trì phát triển sản phẩm dịch vụ có được số
lượng khách hàng lớn đòi hỏi rất nhiều công sức. Một trong những phương pháp cơ
bản và hiệu quả nhất là lắng nghe ý kiến phản hồi của khách hàng về sản phẩm dịch
vụ. Dựa trên những ý kiến phản hồi này, nhà cung cấp có thể đánh giá được chất
lượng sản phẩm, dịch vụ cũng như sự phục vụ từ đó điều chỉnh sản phẩm phù hợp để
đạt được hiệu quả kinh doanh tốt nhất. Công việc trên có tên gọi là trích xuất thông
tin quan điểm của người dùng. Đây là bài toán cơ bản nhưng có ứng dụng rất lớn
trong cuộc sống.
Người tiêu dùng ngày càng có nhiều kênh khác nhau để tương tác với nhà cung
cấp dịch vụ. Bên cạnh các kênh truyền thống như email, điện thoại, fax thì các hình
thức mới hơn như bình luận, phản hồi, chia sẽ trên các trang mạng xã hội, viết bài

đánh giá sản phẩm, phản hồi trên các diễn đàn... Và mạng xã hội là những kênh trao
đổi thông tin phổ biến nhất hiện nay. Qua các nguồn trên, dữ liệu được thu thập lại
dưới dạng văn bản. Từ dữ liệu dạng văn bản, luận văn sẽ trình bày phương pháp áp
dụng deep learning để đưa ra các mô hình xử lý thông tin văn bản nhằm trích xuất
được thông tin quan điểm của người dùng.
1. Lý do chọn đề tài
Trong cuộc sống hiện đại ngày nay, du lịch đã trở nên vô cùng phổ biến. Việc
lên kế hoạch điểm đến, đặt phòng, đặt vé,... là những điều thiết yếu của mỗi chuyến
đi. Với sự phát triển của công nghệ, những nhận xét, bình luận và phản hồi của người
sử dụng về trải nghiệm của họ với chuyến du lịch đóng vai trò như một nguồn thông
tin quan trọng, nhất là với những người chủ doanh nghiệp khi họ muốn cải thiện dịch
vụ của mình. Đặc biệt, với việc đặt phòng khách sạn, thì nhận xét của khách hàng đã
từng sử dụng sẽ mang tính thực tế, khách quan và chi tiết hơn những gì được in sẵn
trên những tờ quảng cáo, phản ánh trực tiếp và gần như chính xác tình hình chất
lượng dịch vụ ở khách sạn đó.
Hơn nữa, khách sạn và đại lý du lịch thường tiếp nhận và công khai nhận xét
một cách có hệ thống thông qua việc đề xuất khách hàng đánh giá bình luận sau khi
sử dụng dịch vụ. Điều đó sẽ gây khó khăn cho các nhà quản lý trong việc cập nhật
theo dõi nếu như chỉ dụng các công cụ tìm kiếm bình thường, bởi những nhận xét


2

mới nhất sẽ xuất hiện thường xuyên hơn đẩy những nhận xét cũ về sau, và họ có thể
mất dấu hoặc bỏ qua những phản hồi mang thông tin quan trọng.
2. Mục đích nghiên cứu
Xây dựng hệ thống phần mềm hỗ trợ trích xuất thông tin, phân loại và phân tích
một cách tự động những dữ liệu nhận xét, đánh giá (review) trực tuyến của khách
hàng ở dạng văn bản (ngôn ngữ tiếng Việt) về mức độ hài lòng: trường hợp bài toán
dịch vụ khách sạn.

Nghiên cứu các giải thuật dựa trên lý thuyết máy học và ứng dụng deep learning,
cụ thể LSTM để thực nghiệm dự đoán quan điểm của người dùng về một sản phẩm,
dịch vụ.
3. Đối tƣợng và phạm vi nghiên cứu
Nghiên cứu về các phương pháp học máy (Machine Learning), máy học (deep
learning) để dự đoán quan điểm của người dùng.
Xử lý ngôn ngữ tự nhiên và các phương pháp vector hóa từ.
Lý thuyết về trí tuệ nhân tạo, mạng neural và deep learning.
Đánh giá trên các tập dữ liệu bằng các kỹ thuật học máy và deep Learning với
mạng LSTM.
Công cụ lập trình Python, các thư viện keras, tensorflow…
4. Phƣơng pháp nghiên cứu
Nghiên cứu lý thuyết: Tổng hợp thu thập và nghiên cứu các tài liệu có liên quan
đến đề tài như đã nêu trong mục 3 bao gồm: lý thuyết về khai phá quan điểm, xử lý
ngôn ngữ tự nhiên, trích xuất đặc trưng. Lý thuyết về học máy, mạng neural,
deeplearning trong dự đoán quan điểm của tài liệu bình luận.
Phương pháp thực nghiệm:Triển khai và đánh giá một số kỹ thuật về dự đoán
quan điểm trong tài liệu bằng các kỹ thuật học máy và deep Learning với mạng
LSTM. Lựa chọn công cụ đã có để cài đặt, đề xuất mô hình và thể hiện cụ thể những
kết quả đã nghiên cứu, kết quả thực nghiệm so với các cơ sở dữ liệu chuẩn để so sánh
đánh giá.
5. Ý nghĩa khoa học và thực tiễn của đề tài
Ý nghĩa khoa học
Ứng dụng các giả thuyết về các kỹ thuật xử lý trích xuất đặc trưng, xử lý ngôn
ngữ tự nhiên,... để phân loại ý kiến nhận xét một cách hoàn toàn tự động.
Ứng dụng các kỹ thuật học máy, khai phá dữ liệu trong huấn luyện và trang bị
khả năng tự học cho hệ thống.
Ý nghĩa thực tiễn
Tự động hóa hoạt động trích xuất, thống kê, phân loại, phân tích thông tin phản
hồi từ khách hàng dựa trên nền tảng của trí tuệ nhân tạo, từng bước đưa Việt Nam bắt

nhịp và hội nhập theo xu hướng phát triển của cuộc cách mạng công nghiệp lần
thứ tư.
Tối ưu hóa chi phí, tăng hiệu suất và hiệu quả của hoạt động kinh doanh dịch vụ
cũng như trải nghiệm của khách hàng.


3

6. Bố cục luận văn
Luận văn được chia thành các phần sau:
Chương 1: Trình bày tổng quan cơ sở lý thuyết, một số khái niệm liên quan như
bài toán khai phá quan điểm, machine learning, deep learning, xử lý ngôn ngữ tự
nhiên.
Chương 2: Đề tài liên quan bao gồm tên đề tài, tác giả, dữ liệu, phương pháp
thực hiện và kết quả đạt được.Trình bày các phương pháp thực hiện trong luận văn
bao gồm vector hóa như Bag of Words, TF-IDF, Word2vec, Doc2vec và thuật toán
phân loại như SVM, Logistic Regression, Multi-layer Perceptron, mạng nơ ron hồi
quy.
Chương 3: Mô tả bài toán và đề xuất giải pháp. Chương này đề cập vấn đề mà
luận văn tập trung giải quyết, đề xuất giải pháp thực hiện, cụ thể hóa quy trình bằng
mô hình giải pháp.
Chương 4: Thực nghiệm và đánh giá kết quả. Chương này sẽ trình bày cái thực
nghiệm khác nhau với phương pháp vector hóa và thuật toán phân loại khác nhau.
Đánh giá và so sánh từng thực nghiệm.
Kết luận: Kết quả đạt được, hạn chế, hướng phát triển trong tương lai.


4

CHƢƠNG 1. TỔNG QUAN, CƠ SỞ LÝ THUYẾT

1.1. Bài toán khai phá quan điểm

1.1.1. Khái niệm khai phá dữ liệu
1.1.2. Quá trình khai phá tri thức từ dữ liệu
1.2. Machine learning
“Học máy(machine learning) là một lĩnh vực của Trí tuệ nhân tạo liên quan đến
việc nghiên cứu và xây dựng các kỹ thuật cho phép các hệ thống “học” tự động từ dữ
liệu để giải quyết những vấn đề cụ thể nào đó”(Theo wikipedia).
Machine Learning là một nhánh con của AI. Theo định nghĩa của
Wikipedia, “Machine learning is the subfield of computer science that “gives
computers the ability to learn without being explicitly programmed”. Nói đơn giản,
Machine Learning là một lĩnh vực của Khoa Học Máy Tính, nó có khả năng tự học
dựa trên dữ liệu đưa vào mà không cần phải được lập trình cụ thể.
1.3. Deep Learning

1.3.1. Khái niệm
Học sâu (Deep Learning) là một phương pháp của máy học dựa trên một tập hợp
các thuật toán để cố gắng mô hình dữ liệu trừu tượng hóa ở mức cao bằng cách sử
dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm nhiều biến
đổi phi tuyến”(Theo wikipedia). Hay nói cách khác là học sâu làmột kỹ thuật trong
học máy, sử dụng các thuật toán liên quan đến các thuật toán dựa trên cấu trúc và
hoạt động của bộ não động vật gọi là Mạng nơ ron nhân tạo dựa trên việc phân tích
dữ liệu về nhiều đặc trưng hơn nhờ sự hỗ trợ khả năng tính toán của máy tính.
Học sâu tập trung giải quyết các vấn đề liên quan đến mạng nơ ron nhân tạo
nhằm nâng cấp các công nghệ về nhận diện gióng nói, thị giác máy tính, và xử lý
ngôn ngữ tự nhiên.

Hình 1-1.Deeplearning trong lĩnh vực AI
Nổi tiếng nhất của Deep Learning có thể kể đến là CNN (Convolutional Neural
Networks) được sử dụng nhiều nhất trong lĩnh vực thị giác máy tính (computer

vision), RNN (Recurrent Neural Network) thường được ứng dụng trong lĩnh vực xử
lý ngôn ngữ tự nhiên (Natural Language Processing).


5

1.3.2. Các bài toán và ứng dụng
Nhận dạng chữ viết, nhận dạng tiếng nói, tổng hợp tiếng nói, dịch tự động
(machine translate), phân tích cảm xúc trong ngôn ngữ …
1.4. Xử lý ngôn ngữ tự nhiên

1.4.1. Định nghĩa
Xử lý ngôn ngữ là một kỹ thuật quan trọng nhằm giúp máy tính hiểu được ngôn
ngữ của con người, qua đó hướng dẫn máy tính thực hiện và giúp đỡ con người trong
những công việc có liên quan đến ngôn ngữ như: dịch thuật, phân tích dữ liệu văn
bản, dự đoán quan điểm tài liệu, nhận dạng tiếng nói, tìm kiếm thông tin ...

1.4.2. Cấu tạo, đặc điểm của ngôn ngữ tiếng Việt
1.4.2.1. Cấu tạo từ tiếng Việt
1.4.2.2. Tiếng:
1.4.2.3. Từ, cụm từ:
1.4.2.4. Biến hình từ tiếng Việt
1.4.2.5. Từ đồng nghĩa
1.4.2.6. Đặc điểm chính tả

1.4.3. Các bước xử lý ngôn ngữ tự nhiên
Kết chƣơng 1
Chương này giới thiệu tổng quát về cơ sở lý luận của đề tài bao gồm data
mining, khai phá quan điểm, quá trình các bước để khai thác tri thức. Đồng thời
chương 1 còn đề cập đến machine learning, deeplearning, các ứng dụng của

deeplearning trong đời sống. Trong quá trình trình bày có đề cập đếncấu tạo, đặc
điểm của ngôn ngữ tiếng Việt xử lý ngôn ngữ tự nhiên.
Trong chương tiếp theo (chương 2) sẽ giới thiệu các đề tài liên quan đã được
thực hiện và đề cập đến các phương pháp sẽ được sử dụng thực hiện trong bài toán
của luận văn.


6

CHƢƠNG 2. BÀI TOÁN DỰ ĐOÁN QUAN ĐIỂM
(SENTIMENT ANALYSIS)
2.1. Bài toán liên quan dự đoán quan điểm

2.1.1. Nguồn từ vựng nâng cao để phân tích tình cảm và khai thác ý kiến
2.1.2. Một số khảo sát về phân tích tình cảm và khai thác ý kiến
2.2. Phƣơng pháp máy học để giải bài toán dự đoán quan điểm
Bài toán học máy để xử lý ngôn ngữ tự nhiên gồm các việc sau:

2.2.1. Trích xuất đặc trưng
2.2.1.1. Bag of Words
Trong quá trình tìm hiểu thì tôi thấy mô hình Bag-of-words là một trong những
phương pháp phổ biến nhất cho việc trích xuất đặc trưng vector cho câu.
Bag-of-words không quan tâm đến thứ tự từ trong câu và cũng như ngữ nghĩa
của từ. Bag-of-word học được một bộ từ vựng từ tất cả các văn bản, rồi mô hình các
văn bản bằng cách đếm số lần xuất hiện của mỗi từ trong văn bản đó.
2.2.1.2. TF-IDF
Theo với đề xuất bài báo ở trên. Chúng tôi tìm hiểu về TF-IDF và tham khảo với
bài báo “Using tf-idf to determine word relevance in document queries” của tác giả
Ramos và các công sự.
Cách xác định và tính weights cho vector là hết sức quan trọng, ảnh hưởng đến

độ chính xác của các thuật toán xếp hạng. Việc các từ có trọng số khác nhau là do
không phải các từ đều có sự quan trọng giống nhau, sử dụng số lần xuất hiện của các
từ làm vector không phải là một cách tối ưu. Ở phương diện các documents, một vài
từ có thể mang nhiều thông tin hơn các từ còn lại.
Những từ thường xuyên xuất hiện sẽ không có nhiều thông tin nhưng vẫn có tỉ
trọng(weight) ngang với các từ khác. Ví dụ từ dừng chẳng hạn, chúng ta phân tích
vềquán ăn nào đó thì từ "quán ăn" xuất hiện ở tất cả các câu.Chúng ta cần giảm tỉ
trọng về mặt thông tin nó xuống vì thông tin không mang nhiều giá trị.Những từ
hiếm(rare word) từ khóa (key word) không có sự khác biệt về tỉ trọng thông tin.
Để khắc phục hạn chế này tf-idf đã ra đời.Tf-idf bao gồm 2 thành phần là tf(term
frequency) và idf(inverse document frequency)

tf đo lường tỉ trọng tần suất từ w có trong văn bản d (document).Vì các văn bản
thường có chiều dài khác nhau nên để tính tần suất ta chia nó cho tổng số từ trong văn
bản d.


7

2.2.1.3. Word2vec
Với nhược điểm của hai phương pháp bag-of-word và tf-idf thì:
Độ dài của một vector là quá lớn (bằng độ dài của từ điển, có thể lên đến cả
triệu)
Không xác định được sự tương quan giữa các từ vì tích vô hướng của hai từ nào
cũng bằng 0.
Để khắc phục những nhược điểm trên thì theo bài báo “Distributed
representations of sentences and documents. In International conference on machine
learning (pp. 1188-1196).” Được công bố bơi Le, Q. and Mikolov, T., 2014, January.
Đó là phương pháp Word2vec.
Để xây dựng được vector mô tả phân bố quan hệ với tập từ điển, bản chất mô

hình Word2vec sử dụng một mạng neural đơn giản với một lớp ẩn. Sau khi được
huấn luyện trên toàn bộ tập văn bản, toàn bộ lớp ẩn sẽ có giá trị mô hình hóa quan hệ
của từ trong tập văn bản được huấn luyện ở mức trừu tượng. Trong ngữ cảnh, từ sẽ
được huấn luyện việc sử dụng thuật toán Continuous Bag of Words (CBOW) và skip
gram. Bản chất của CBOW là sử dụng ngữ cảnh để đoán từ (sử dụng các từ xung
quanh (dựa trên window) để dự đoán từ ở giữa) và bản chất của skip gram là dùng từ
để dự đoán ngữ cảnh (sử dụng 1 từ để dự đoán các từ xung quanh (hay ngữ cảnh)).
Một trong hai cách sẽ được áp dụng để huấn luyện cho mô hình word2vec, trong đó
cách sử dụng mô hình skip gram thường được sử dụng do việc đáp ứng tốt với tập dữ
liệu lớn.
2.2.1.4. Doc2vec
Trong bài báo Distributed Representations of Sentences and Documents của
Quốc Lê và Tomas Mikolov năm 2015, các tác giả đã giới thiệu một phương pháp
mới có khả năng tìm vector biểu diễn tốt hơn cho các câu văn/đoạn văn thông qua
một mô hình tương tự như mô hình word2vec được giới thiệu trước đó cũng bởi
Mikolov.

2.2.2. Huấn luyện và dự đoán
Các phương pháp máy học dùng để huấn luyện và dự đoán
2.2.2.1. SVM (Support Vector Machine)
SVM là một phương pháp hiệu quả cho bài toán phân lớp dữ liệu. Nó là một
công cụ đắc lực cho các bài toán về xử lý ảnh, phân loại văn bản, phân tích quan
điểm. Một yếu tố làm nên hiệu quả của SVM đó là việc sử dụng Kernel
function khiến cho các phương pháp chuyển không gian trở nên linh hoạt hơn.
Ý tưởng của SVM là tìm một siêu phẳng (hyper lane) để phân tách các điểm dữ
liệu. Siêu phẳng này sẽ chia không gian thành các miền khác nhau và mỗi miền sẽ
chứa một loại giữ liệu.
Siêu phẳng tối ưu mà chúng ta cần chọn là siêu phẳng phân tách có lề lớn nhất.
Lý thuyết học máy đã chỉ ra rằng một siêu phẳng như vậy sẽ cực tiểu hóa giới hạn lỗi
mắc phải.



8

2.2.2.2. Logistic Regression
Phương pháp hồi quy logistic là một mô hình hồi quy nhằm dự đoán giá trị đầu
ra rời rạc (discrete target variable) y ứng với một véc-tơ đầu vào X. Việc này tương
đương với chuyện phân loại các đầu vào x vào các nhóm y tương ứng.
Sử dụng phương pháp thống kê ta có thể coi rằng khả năng một đầu vào x: nằm
vào một nhóm y0 là xác suất nhóm y0 khi biết x: p(y0∣ x). Dựa vào công thức xác
xuất hậu nghiệm ta có:

Hàm σ(a) ở đây được gọi là hàm sigmoid (logistic sigmoid function). Hình dạng
chữ S bị chặn 2 đầu của nó rất đặt biệt ở chỗ dạng phân phối đều ra và rất mượt.

Hình 2-1. Minh họa Logistic Regression
2.2.2.3. Multi-layer Perceptron
Nền tảng của deep learning.Bước chuyển tiếp từ các thuật toán phân loại truyền
thống và deep learning.
Gọi là Multi-layer Perceptron (perceptron nhiều lớp) bởi vì nó là tập hợp của các
perceptron chia làm nhiều nhóm, mỗi nhóm tương ứng với một layer. Trong hình sau
ta có một ANN với 3 lớp: Input layer (lớp đầu vào), Output layer (lớp đầu ra) và
Hidden layer (lớp ẩn). Thông thường khi giải quyết một bài toán ta chỉ quan tâm đến
input và output của một model, do vậy trong MLP nói riêng và ANN nói chung ngoài
lớp Input và Output ra thì các lớp neuron ở giữa được gọi chung là Hidden.

2.2.3. Mạng nơ ron hồi quy
2.2.3.1. RNN (Recurrent Neural Network)
Ý tưởng chính của RNN là sử dụng chuỗi các thông tin. Trong các mạng nơron
truyền thống tất cả các đầu vào và cả đầu ra là độc lập với nhau. Tức là chúng không

liên kết thành chuỗi với nhau. RNN được gọi là hồi quy (Recurrent) bởi lẽ chúng thực
hiện cùng một tác vụ cho tất cả các phần tử của một chuỗi với đầu ra phụ thuộc vào
cả các phép tính trước đó. Nói cách khác, RNN có khả năng nhớ các thông tin được
tính toán trước đó.
Mạng RNN có một chút thay đổi so với ANN, khi trạng thái trước đây của mạng
(kết quả của lần tính toán trước) sẽ là đầu vào cho tính toán kế tiếp. Phương pháp này


9

cho phép mạng nơron học cấu trúc dạng chuỗi. Ví dụ, bạn dự đoán từ tiếp theo có khả
năng nhất trong câu dựa trên vài từ đầu tiên.
2.2.3.2. Vấn đề phụ thuộc xa
Một điểm nổi bật của RNN chính là ý tưởng kết nối các thông tin phía trước để
dự đoán cho hiện tại. Tuy nhiên quan sát về nhược điểm của RNN, ta nhận thấy kiến
trúc này không hề có cơ chế lọc những thông tin không cần thiết. Bộ nhớ của kiến
trúc có hạn, nếu lưu tất cả những chi tiết không cần thiết thì sẽ dẫn đến quá tải, từ đó
quên những thứ ở xa trong quá khứ.
Trên lý thuyết, mạng RNN có thể phát sinh bộ nhớ đủ để xử lý vấn đề lưu trữ
phụ thuộc dài. Tuy nhiên, trong thực tế thì không phải vậy. Vấn đề này đã được
Hochreiter (1991) đưa ra như thách thức của mạng RNN. Và mạng Long short-term
memory (LSTM) đã giải quyết được vấn đề này.
2.2.3.3. Long Short-Term memory
Một mô hình phổ biến nhất được sử dụng của RNN là LSTM. LSTM (Long
Short-Term Memory) thể hiện được sự ưu việt ở điểm có thể nhớ được nhiều bước
hơn mô hình RNN truyền thống.
Là một dạng đặc biệt của RNN, nó có khả năng học được các phụ thuộc xa.
LSTM được giới thiệu bởi Hochreiter & Schmidhuber (1997), và sau đó đã được cải
tiến và phổ biến bởi rất nhiều người trong ngành. Chúng hoạt động cực kì hiệu quả
trên nhiều bài toán khác nhau nên dần đã trở nên phổ biến như hiện nay.

Ở trong LTSM có các cổng giúp lọc thông tin. Trạng thái của cell có thể coi là
trí nhớ của toàn hệ thống. Muốn được cập nhất vào hệ thống này, các thành phần
thông tin phải đi qua các cổng. Vậy có thể thấy cơ chế này linh hoạt hơn khi mà các
thành phần thông tin được chọn lọc mới có thể được đưa vào bộ nhớ, nhờ đó các
thành phần có ích từ thời điểm rất lâu trong quá khứ vẫn có thể có tác dụng điều
chỉnh.
Kết chƣơng 2
Nội dụng chương 2 đã đề cập các bài toán liên quan đã được thực hiện. Bao gồm
mô tả dữ liệu, phương pháp thực hiện, kết quả đạt được. Chương 2 cũng đã đề xuất
giải pháp thực hiện, thư viện, công cụ sẽ được áp dụng trong quá trình thực hiện.


10

CHƢƠNG 3. MÔ TẢ BÀI TOÁN VÀ ĐỀ XUẤT GIẢI PHÁP
3.1. Vấn đề đề tài tập trung giải quyết
Phân tích cảm xúc với ngôn ngữ tiếng Việt.
Tập dụng huấn luyện và dự đoán với bộ dữ liệu phản hồi (feedback) của khách
hàng với dịch vụ, khách sạn.
Dự đoán với 3 mức độ tình cảm: tích cực (positive), trung tính (neutral), tiêu cực
(negative).
Thực hiện nhiều phương pháp rồi thực hiện so sánh độ chính xác.
3.2. Đề xuất giải pháp

Hình 3-1. Tổng quát quy trình thực hiện

3.2.1. Thu thập và tiền xử lý dữ liệu
3.2.1.1. Thu thập
Dữ liệu thu thập của đề tài là tập hợp phản hồi (feedback) của người dùng về
dịch vụ khách sạn, nhà nghỉ, homestay… mà đã được gán nhãn cảm xúc (sentiment)

với ba mức độ tích cực (positive), trung tính (neutral), tiêu cực (negative). Thuộc bản
quyền:
Corpus: Vietnamese Sentiment Analysis
Authors: Nguyen Thi Duyen, Ngo Xuan Bach, Tu Minh Phuong
Aff: Posts and Telecommunications Institute of Technology, Vietnam
Contact email: or
3.2.1.2. Tiền xử lý dữ liệu
a) Làm sạch dữ liệu
b) Sửa lỗi chính tả
c) Tách từ


11

Hình 3-2. Quy trình tiền xử lý dữ liệu

3.2.2. Thực nghiệm kiểm tra độ chính xác với phương pháp kiểm tra chéo
(Cross-validate)

Hình 3-3. Mô tả cross-validate


12

Cross-validation là một phương pháp kiểm tra độ chính xác của 1 máy học dựa
trên một tập dư liệu học cho trước. Thay vì chỉ dùng một phần dữ liệu làm tập dữ liệu
học thì cross-validation dùng toàn bộ dữ liệu để dạy cho máy.
K-fold. Toàn bộ dữ liệu được chia thành K tập con. Quá trình học của máy có K
lần. Trong mỗi lần, một tập con được dùng để kiểm tra và K-1 tập còn lại dùng để
dạy.


Hình 3-4. Quy trình nghiệm dự đoán vơi kiểm nghiệm cross validate


13

3.2.3. Kiểm tra thực tế

Hình 3-5. Đánh giá và kiểm tra thực tế
3.3. Mô hình giải pháp

3.3.1. Mô tả
3.3.1.1. Đầu vào:
Dữ liệu thu thập của đề tài là tập hợp phản hồi (feedback) của người dùng về
dịch vụ khách sạn, nhà nghỉ, homestay… mà đã được gán nhãn cảm xúc (sentiment)
với ba mức độ tích cực (positive), trung tính (neutral), tiêu cực (negative).
Một câu hay một tập các phản hồi mà chưa có trong bộ dữ liệu huấn luyện.
3.3.1.2. Đầu ra:
Các model huấn luyện với tập dữ liệu theo nhiều phương pháp trích xuất đặc
trưng và thuật toán phân lớp khác nhau.
Dự đoán phân tích cảm xúc với câu mới được đưa vào thử nghiệm.
3.3.1.3. Đánh giá kết quả:
Thực nghiệm với các phương pháp khác nhau rồi so sánh kết quả.
Thực nghiêm 1: Trích xuất đặc trưng bình thường và thuật toán phân loại truyền
thống.
Thực nghiệm 2: Trích xuất đặc trưng bình thường và thuật toán phân loại neutral
network.
Thực nghiệm 3: Trích xuất đặc trưng learning và thuật toán phân loại truyền
thống.
Thực nghiệm 4: Trích xuất đặc trưng learning và thuật toán phân loại neutral

network.


14

Thực nghiệm 5: Trích xuất đặc trưng và dự đoán bằng deep learning. [Wang et
al, 2016],
Trên đây là những thực nghiệm đã được thực nghiệm với những bộ dữ liệu khác,
ngôn ngữ khác. Tuy nhiên, chúng tôi hy vọng phù hợp với luận văn.

3.3.2. Thư viện được sử dụng
3.3.2.1. Thư viện genism
3.3.2.2. LSTM với thư viện Keras
3.3.2.3. Numpy
3.3.2.4. Matplotlib
3.3.2.5. Pandas

3.3.3. Công cụ thực hiện
3.3.3.1. Sublime Text 3
3.3.3.2. Google Colab
Kết chƣơng 3
Nội dụng chương 3 đã mô tả bài toán mà khóa luận thực hiện. Chương 3 cũng đã
đề xuất giải pháp thực hiện, thư viện, công cụ sẽ được áp dụng trong quá trình
thực hiện.
Trong chương tiếp theo, chương 4 khóa luận sẽ tập trung mô tả các bước thực
nghiệm, xây dựng mô hình và đánh giá giải pháp.


15


CHƢƠNG 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ GIẢI PHÁP
4.1. Thực ngiệm

4.1.1. Thực nghiệm 1: Trích xuất đặc trưng bình thường và thuật toán phân loại
truyền thống.
Với thực nghiệm này, trích xuất vector đặc trưng bằng Bag of Word và TF-IDF
rồi đưa lần lượt dùng thuật toán Support Vecto Machine và Logistic regression huấn
luyện và dự đoán phân loại. Sau khi thực nghiệm có kết quả như sau:
4.1.1.1. Bag of word
Bảng 4-1. Kết quả thực nghiệm 1 với Bag of word
Support vecto
machine
Logistic regression

61.04506237060858
60.54086930020913

4.1.1.2. Tf-idf
Bảng 4-2.Kết quả thực nghiệm 1 với tf-idf
Support vecto machine
Logistic regression

76.12322267410701
75.82534653257248

4.1.2. Thực nghiệm 2: Trích xuất đặc trưng bình thường và thuật toán phân loại
neutral network.
Thực nghiệm này sẽ dùng trích xuất vector đặc trưng bằng Bag of Word và tf-idf
và thực nghiệm dự đoán phân loại bằng thuật toán Multi perceptron.
Với Multi perceptron thực nghiệm sẽ cấu hình số lớp (hidden layer) và nút trong

mạng Neural Network.
Việc chọn thông số thì không cố định, sử dụng thử nghiệm các thông số khác
nhau để khám phá những gì hoạt động tốt nhất cho tập dữ liệu cụ thể. Nói chung khó
có thể phân tích tính toán số lượng lớp hoặc số nút sử dụng cho mỗi lớp trong mạng
thần kinh nhân tạo để giải quyết vấn đề mô hình dự đoán trong thế giới thực cụ thể.
Hidden layer: 2, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64
Số lượng node trong mỗi layer là: 256


16

4.1.2.1. Bag of word

Hình 4-1. Kết quả thực nghiệm 2 với Bag of word
Bảng 4-3.Kết quả thực nghiệm 2 với Bag of word
Hidden layer
2
4
8
12
16
20
24
28
32
36
40
44
48


Accuracy
59.25615615151516
59.85353565262323
60.05562656548963
60.24894561351531
60.57891231378915
60.89561545679798
60.91154454254585
61.04506237060858
60.56564868446131
60.21561864684616
60.15131891896616
60.14849484646615
60.02548948948949


17

52
56
60
64

60.00016161616165
59.92525616165416
59.51651618616818
58.91561616611616

4.1.2.2. TF-IDF


Hình 4-2. Kết quả thực nghiệm 2 với tf-idf
Hidden layer
2
4
8
12
16
20
24
28
32
36

Accuracy
73.1432001849575
73.87738159042425
74.12875563542356
74.24269890812026
74.38157466082369
75.22925270868144
74.9771955820381
74.83965972025179
74.70188740712717
74.40440535115651


18

40
44

48
52
56
60
64

74.38120684763076
74.24359216873168
73.41842954275566
72.75497335981588
72.66102336139222
72.11290288680811
71.58669356957448

4.1.3. Thực nghiệm 3: Trích xuất đặc trưng learning và thuật toán phân loại
truyền thống.
Thực nghiệm với trích xuất vector đặc trưng bằng Word2vec, Doc2vec và thực
hiện huấn luyện phân loại với phương pháp Support vecto machine và logistic
regression.
4.1.3.1. Word2vec
Bảng 4-4. Kết quả thực nghiệm 3 với word2vec
Support vecto machine
Logistic regression

74.70209758609457
74.9997898210326

4.1.3.2. Doc2vec
Bảng 4-5.Kết quả thực nghiệm 3 với doc2vec
Support vecto machine

Logistic regression

72.04404300261673
71.53987620458821

4.1.4. Thực nghiệm 4: Trích xuất đặc trưng learning và thuật toán phân loại
neutral network.
Thực nghiệm với trích xuất vector đặc trưng bằng Word2vec, Doc2vec và thực
hiện huấn luyện phân loại với phương pháp Multi perceptron. Việc chọn thông số
cũng tương tự như thực nghiệm 2.
Hidden layer: 2, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64
Số lượng node trong mỗi layer là: 256


19

4.1.4.1. Word2vec

Hình 4-3.Kết quả thực nghiệm 4 với word2vec
Bảng 4-6. Kết quả thực nghiệm 4 với word2vec
Hidden Layer
2
4
8
12
16
20
24
28
32

36
40
44
48

Accuracy
72.59373981945627
72.73185367340291
74.49585947434241
74.79334153031306
75.87058755530333
75.48125729058293
74.77058965709301
74.72461300797629
74.65625229883246
74.54165221686266
74.24377607532816
74.01468100087226
73.92230734470402


20

52
56
60
64

73.85347373288356
73.23536366215833

73.18985991571824
73.02912555040618

Với số hidden layer: 2, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64
thì word2vec khi áp dụng với multi perceptron mang lại kết quả tốt nhất ở số hidden
layer 16.
4.1.4.2. Doc2vec

Hình 4-4.Kết quả thực nghiệm 4 với doc2vec
Bảng 4-7. Kết quả thực nghiệm 4 với doc2vec
Hidden layer
2
4
8
12

Accuracy
71.76902382378596
71.90640205134672
72.20430446525215
72.36488119633869


21

16
20
24
28
32

36
40
44
48
52
56
60
64

72.82315016236326
71.60781655579727
71.49384701072964
71.37927320113077
71.28760889897747
71.104595563122
71.0586451863762
70.89812100003152
70.62362726861923
70.41733661212521
70.39374402303561
69.98168815746608
69.82142669483065

4.1.5. Thực nghiệm 5: Trích xuất đặc trưng và dự đoán bằng deep learning.

Tiền xử lý

Xây dựng model vector
hóa bằng word2vec


Word
Embediing

Kiểm tra
model LSTM

Huấn luyện model
LSTM

Xây dựng
model LSTM

Hình 4-5. Các bước của bài toán trích xuất thông tin quan điểm sử dụng RNN

4.1.5.1. Tiền xử lý kho ngữ liệu
4.1.5.2. Xây dựng Word2Vec
Xây dựng mô hình word2vec từ tập ngữ liệu văn bản đã được tiền xử lý. Mô
hình Word2vec bản chất là việc huấn luyện một mạng ANN với một lớp ẩn. Các


22

cặp từ được tách theo skip-gram và dựa trên xác suất để tính độ tương quan giữa
các từ.
4.1.5.3. Ứng dụng mô hình LSTM

Hình 4-6. Thống kê số từ của câu
Bảng 4-8. Thống kê số từ của câu
Số từ


Tần số

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

29
93
164
177
188
206
234
267
251
304
248
240

196
161
127

Số từ
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

Tần số

Số từ

116
122
122
112
102

74
74
68
54
54
45
55
43
29
26

Xây dựng model LSTM
VECTO_SIZE = 128

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45


Tần số
30
28
19
35
28
20
14
10
14
12
8
12
11
12
9

Số từ
46
47
48
49
50
51
52
53
54
55
56
57

58
59
60

Tần số
8
13
6
6
5
2
5
1
6
2
1
1
3
5
2

Số từ
61
62
63
64
65
67
68
69

71
72
74
75
78
79
81

Tần số

Số từ
1
4
1
6
3
4
3
2
2
2
3
1
1
1
2

84
86
88

90
95
97
101
104
107
111
113
115
138

Tần số
2
1
2
2
1
1
2
1
2
1
2
1
1


23

LOOK_BACK = 20

NUM_EPOCH = 100
Test accuracy: 84.80763370009562
4.2. Đánh giá kết quả
Qua 5 thực nghiệm đã thực hiện thì thực nghiệm 5: “Trích xuất đặc trưng và dự
đoán bằng deep learning” đạt kết quả cao nhất với dữ liệu mà luận văn thực hiện, với
kết quả 84.80763370009562 bằng kiểm nghiệm cross-validate với k=5.
Kết chƣơng 4
Trong chương 4 đã mô tả toàn bộ quá trình thực hiện để giải quyết bài toán. Báo
cáo kết quả của từng thực nghiệm. So sánh, đánh giá thực nghiệm tốt nhất với bài
toán luận văn thực hiện.


×