Tổng kết chương 1

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân tích quan điểm dựa theo khía cạnh và ứng dụng xác định sở thích của du khách về sản phẩm du lịch (Trang 28)

Trong chương này, chúng tôi đã trình bày tổng quan về phân tích quan điểm, phân tích quan điểm theo khía cạnh đồng thời trình bày các cách tiếp cận để giải quyết bài toán phân tích quan điểm theo khía cạnh. Việc phân tích quan điểm cho toàn bộ văn bản là không đủ chi tiết cho các ứng dụng thực tế, để có thể phân phân tích quan điểm phù hợp với nhu cầu sử dụng trọng thực tế, chúng ta cần phải nghiên cứu sâu về quan điểm ở mức khía cạnh. Trong chương tiếp theo, chúng tôi sẽ trình bày về bài toán ứng dụng xác định sở thích của du khách trên miền du lịch và quy trình phân tích quan điểm theo khía cạnh của bài toán này.

Chương 2

Xác định sở thích của du khách về sản phẩm du lịch dựa trên phân tích quan điểm theo khía cạnh

Trong chương này, chúng tôi phát biểu bài toán xác định sở thích của du khách về sản phẩm du lịch dựa trên phân tích quan điểm theo khía cạnh, xác định các nhiệm vụ cần giải quyết và trình bày chi tiết quy trình phân tích quan điểm theo khía cạnh.

2.1 Phát biểu bài toán

Bài toán xác định sở thích của du khách về sản phẩm du lịch dựa trên phân tích quan điểm theo khía cạnh được mô tả như sau:

ˆ Đầu vào: Cho tập các văn bản nhận xét, đánh giá về một loại sản phẩm du lịch được kí hiệu là D={d1,d2, ...,dN}.

ˆ Đầu ra: Tổng hợp sở thích của du khách theo khía cạnh. Trong đó:

ˆ Sản phẩm du lịch có thể là một nhà hàng, khách sạn, địa điểm,... Trong phạm vi của luận văn này, chúng tôi xây dựng dữ liệu đánh giá về một khách sạn để làm đầu vào cho bài toán.

ˆ Du khách là người dùng đánh giá về sản phẩm du lịch.

ˆ Sở thích của du khách được xác định là yêu thích nếu đánh giá tích cực về sản phẩm.

ˆ Khía cạnh là một tập các giá trị đặc tả cho một loại sản phẩm, kí hiệu là A={a1,a2, ...,ak}.

Một sản phẩm có thể có nhiều thuộc tính khác nhau, ví dụ sản phẩm khách sạn có thể có các thuộc tính như giá phòng, vị trí, phòng, dịch vụ, nhân viên. Mỗi thuộc tính này khi người dùng nhận xét về chúng có thể coi là một khía cạnh được đề cập trong bài viết.

Như vậy nhiệm vụ giải quyết bài toán này, bao gồm: Xác định và rút trích khía cạnh về sản phẩm, xác định hướng quan điểm người dùng theo từng khía cạnh, các quan điểm sẽ được phân vào hai lớp tích cực và tiêu cực, không quan tâm tới lớp trung lập. Từ đó, dự đoán điểm xếp hạng của người dùng dành cho từng khía cạnh. Như vậy, chúng ta có thể xác định được sở thích của khách hàng về một sản phẩm nào đó theo khía cạnh. Ví dụ,

ˆ Cho tập D là các nhận xét về khách sạn như sau:

1. nhân viên rất thân thiện, villa đẹp, đồ ăn cũng phong phú, hải sản ngon. 2. nội thất sang trọng, trong phòng luôn có mùi hương xả nhẹ nhành tạo cảm giác rất dễ chịu. dịch vụ rất chu đáo và chất lượng.

3. view rất đẹp, các bạn phục vụ rất chuyên nghiệp, thái độ rất tốt, mọi dịch vụ đều đáp ứng nhanh chóng. nhưng giá phòng thì hơi chát.

4. villa view đẹp, rộng rãi, đầy đủ trang thiết bị, hồ bơi đẹp và thoải mái. Giá rẻ. phục vụ chuyên nghiệp và lịch sự. bữa sáng chưa đa dạng lắm.

5. tôi vừa rồi nghỉ dưỡng ở avani, cảnh quan đẹp, không khí trong lành thích hợp để nghỉ dưỡng, nhưng nhân viên chưa thân thiện cho lắm.

6. cảnh quan đẹp, đồ ăn sáng phong phú, nhân viên nhiệt tình thân thiện, đồ ăn ngon và rẻ.

7. villa đẹp như hình, nhân viên cực kỳ thân thiện. buffet sáng không đa dạng. 8. vừa rồi gia đình tôi ở villa view đẹp, giá phòng rất chi là mềm. cảm thấy rất hài lòng về chất lượng dịch vụ nhân viên thân thiện và nhiệt tình, đặc biệt là nhân viên quản gia rất chu đáo, quan tâm tới khách hàng.

9. dịch vụ tốt, nhân viên nhiệt tình thân thiện, view khá đẹp. villa rộng rãi và thoáng mát. chắc chắn gia đình sẽ quay lại đây vào năm sau.

10. dịch vụ ổn, nhân viên thân thiện, nhiệt tình. khuôn viên đẹp, thoáng mát. Quy trình xử lý được mô tả sơ lược như sau:

ˆ Xác định tập khía cạnh:A= (Giá phòng, Vị trí, Phòng, Dịch vụ, Nhân viên) ˆ Rút trích khía cạnh, phân hoạch được tập D thành 5 tập con như sau:

Khía cạnh Số câu Giá phòng 3 Vị trí 7 Phòng 5 Dịch vụ 9 Nhân viên 9

ˆ Tổng hợp và xếp hạng được quan điểm của người dùng theo khía cạnh như sau: Khía cạnh Xếp hạng tích cực Xếp hạng tiêu cực Vị trí 100% 0% Phòng 100% 0% Nhân viên 89% 11% Dịch vụ 78% 22% Giá phòng 67% 33%

2.2 Xác định sở thích của du khách về sản phẩmdu lịch du lịch

Vấn đề đặt ra cho bài toán phân tích quan điểm theo khía cạnh như sau: Cho tập các câu nhận xét Dvà tập khía cạnh A, cần rút trích các câu trong các nhận xét theo khía cạnh đã xác định trước đó, với mỗi tập văn bản theo khía cạnh cần xác định hướng quan điểm của mỗi câu nhận xét. Sau đó dự đoán xếp hạng sở thích của du khách theo từng khía cạnh. Quy trình phân tích quan điểm theo khía cạnh được mô tả trong hình Hình 2.1.

Hình 2.1: Quy trình phân tích quan điểm theo khía cạnh.

2.2.1 Tiền xử lí dữ liệu

Các câu đánh giá, nhận xét thường phi cấu trúc. Trước hết cần phải thực hiện các thao tác tiền xử lý.

ˆ Chuẩn hóa các từ viết tắt và sai chính tả (Ví dụ, dc → được, trg lành →

trong lành,khg gian → không gian).

ˆ Chuyển văn bản về chữ thường (Ví dụ, "NHÂN VIÊN THÂN THIỆN, NHIỆT TÌNH" → "nhân viên thân thiện, nhiệt tình").

ˆ Loại bỏ các kí tự đặc biệt biệt, các chữ số, phép tính toán số học (Ví dụ:[], @, %, 6=,...).

ˆ Loại bỏ các từ dừng 1 (stopword). Từ dừng là những từ xuất hiện hầu hết trong các văn bản, không có ý nghĩa khi tham gia vào phân lớp văn bản. Từ dừng thường là các liên từ, giới từ, trạng từ,. . . (Ví dụ: cứ, dù, nọ, này, kia, để ).

2.2.2 Rút trích khía cạnh

Rút trích khía cạnh là tìm ra một tập con các câu tương ứng với từng khía cạnh trong tập các nhận xét. Xác định khía cạnh cho trước tương ứng với mỗi loại sản phẩm. Giả sử, trong sản phẩm khách sạn gồm có 5 khía cạnh là giá phòng, vị trí, phòng, dịch vụ và nhân vên. Việc xác định khía cạnh dựa trên các thuộc tính nổi bật của sản phẩm. Tiếp theo xác định từ thể hiện khía cạnh được gọi là từ lõi (core term). Thuật toán rút trích khía cạnh được mô tả trong Thuật toán 1 (Algorithm 1).

Algorithm 1 Thuật toán rút trích khía cạnh

Đầu vào: D = {d1,d2, ...,dN} là tập các nhận xét về một sản phẩm; A =

{a1,a2, ...,aK} là tập các khía cạnh; C = {c1,c2, ...,cK} là tập các từ lõi của các khía cạnh tương ứng.

Đầu ra: Sk Tập các câu được gán nhãn tương ứng với mỗi ak (k = 1, K Khởi tạo: S =∅; Sk =∅; 1: For each di ∈D S ←segment(di); //Tách các nhận xét thành các câu 2: For each si ∈S Fork = 1 to K do ...For each v ∈si do

...If v ∈ck then {si ←label(ak);Sk←si}

Mỗi khía cạnh của sản phẩm mà người dùng đề cập đến, chúng ta có thể coi như một chủ đề. Các chủ đề này được biểu diễn bởi một tập các từ, khi các từ này xuất hiện sẽ gợi ý cho người đọc liên tưởng đến chủ đề đó, do đó tương ứng với mỗi khía cạnh tìm ra tập các từ chủ đề (stop word).

2.2.3 Phân lớp quan điểm dựa trên khía cạnh

Tương ứng với tập khía cạnh của một thực thể đã được xác định trước, cho trước một tập nhãn quan điểm (ví dụ bao gồm các nhãn: tích cực, trung lập, tiêu cực,

1https://github.com/stopwords/vietnamese-stopwords/blob/master/vietnamese- stopwords.txt

đối với một câu đầu vào đã được gán nhãn khía cạnh, bài toán cần dự đoán nhãn quan điểm tương ứng cho nó.

Tiến trình phân lớp quan điểm hay xác định hướng quan điểm của khía cạnh được mô tả như sau:

Hình 2.2: Quy trình phân lớp quan điểm dựa trên khía cạnh

Vector hóa văn bản là cách thể hiện văn bản dưới dạng mộtvector mà không gian của nó là tập các từ chủ đề đã xác định từ trước. Mỗi văn bản sẽ được biểu diễn bằng một vector n chiều, mỗi chiều là một từ chủ đề của khía cạnh.

Trong luận văn này, chúng tôi sử dụng thuật toán SVM để phân lớp quan điểm cho văn bản.

SVM là một phương pháp học có giám sát bao gồm phân tích dữ liệu và phát hiện mẫu, được sử dụng cho phân lớp và phân tích hồi quy. Thuật toán SVM lần đầu được Vladimir Vapnik đề xuất vào năm 1995 và Corina Cortes cùng với Vladimir Vapnik đã đề xuất hình thức chuẩn hiện nay.

Ý tưởng chính của thuật toán này là cho trước một tập huấn luyện được biểu diễn trong không gian vector, trong đó mỗi tài liệu là một điểm, phương pháp này tìm ra một siêu phẳngh quyết định tốt nhất có thể chia các điểm trên không gian này thành các lớp riêng biệt. Chất lượng của siêu phẳng này được quyết định bởi khoảng cách của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng cách biên càng lớn thì mặt phẳng quyết định càng tốt, đồng thời việc phân loại càng chính xác. Mục đích của thuật toán SVM là tìm được khoảng cách biên lớn nhất để tạo ra kết quả phân lớp tốt [6]. Hình 2.3 minh họa cho thuật toán SVM. Siêu phẳng tối ưu phân chia dữ liệu thành hai lớp hình tròn và hình vuông. Các điểm gầnhnhất là cácvector hỗ trợ được tô đậm. SVM thực chất là bài toán tối ưu, mục tiêu của thuật toán này là tìm được một không gian H và siêu phẳng

Hình 2.3: Mô tả thuật toán SVM

htrên H sao cho sai số phân loại là thấp nhất. Phương trình siêu mặt phẳng chứa vector −→

di trong không gian như sau:

− → di. ~w+b= 0 (2.1) h −→ di =sign −→ di. ~w+b = ( +1,−→ di. ~w+b >0 −1,−→ di. ~w+b <0 (2.2) Như thếh(−→

di)biểu diễn sự phân lớp của−→

di vào hai lớp như đã nói. Gọiyi =±1, nếu yi = +1 thì văn bản −→

di ∈ lớp +; ngược lại thì văn bản −→

di ∈ lớp -.Khi đó để có siêu mặt phẳngh ta sẽ phải giải bài toán sau:

Tìm min||−→w|| với −→w và b thõa điều kiện sau:

∀i∈1, n:yi(sign −→

di. ~w+b

≥1 (2.3)

Cho tập huấn luyện:(xi, yi), i= 1, n

Thuật toán SVM xem mỗi vector xi là một vector đặc trưng biểu diễn cho phản hồi của khách hàng và yi là nhãn phân loại đối với dữ liệu huấn luyện.Trong đó mẫu là cácvector đối tượng được phân lớp thành các mẫu tích cực và mẫu tiêu cực:

ˆ Các mẫu tích cực là các mẫu xithuộc lớp tích cực và được gán nhãn yi = 1. ˆ Các mẫu tiêu cực là các mẫuxithuộc lớp tiêu cực và được gán nhãnyi =−1.

2.2.4 Dự đoán xếp hạng theo khía cạnh

Xếp hạng khía cạnh là công việc định hướng ước lượng đánh giá quan điểm theo khía cạnh của sản phẩm. Bài toán cho trước một tập văn bản đánh giá của một tập thực thể (ví dụ thực thể khách sạn) bao gồm các quan điểm về sản phẩm này và các khía cạnh của nó. Yêu cầu xếp hạng mức độ yêu thích của từng khía cạnh đã được người dùng đánh giá trong mỗi văn bản.

Công thức dự đoán xếp hạng theo khía cạnh như sau: scorepositive = sp

Sk ×100 (2.4)

scorenegative = sn

Sk ×100 (2.5)

Trong đó:

ˆ scorepositive là điểm xếp hạng quan điểm tích cực; ˆ scorenegative là điểm xếp hạng quan điểm tiêu cực; ˆ sp là số câu được phân lớp quan điểm tích cực; ˆ sn là số câu được phân lớp quan điểm tiêu cực; ˆ Sk là tổng số câu thuộc khía cạnh thứ k.

2.3 Tổng kết chương 2

Trong chương này, chúng tôi đã thực hiện nhiệm vụ cần giải quyết của bài toán phân tích quan điểm theo khía cạnh và trình bày chi tiết các bước để giải bài toán là xác định khía cạnh, xác định hướng quan điểm và tổng hợp quan điểm. Tiếp theo, trong Chương 3, luận văn sẽ trình bày các bước tiến hành thực nghiệm so sánh, đánh giá kết quả thực nghiệm.

Chương 3

Thực nghiệm

Trong chương này, chúng tôi trình bày cài đặt và kết quả thực nghiệm xác định sở thích của du khách về sản phẩm du lịch.

3.1 Cài đặt thực nghiệm

3.1.1 Dữ liệu thực nghiệm

Chúng tôi xây dựng dữ liệu đánh giá về khách sạn AVANI ở thành phố Quy Nhơn. Các đánh giá về khách sạn AVANI được thu thập từ trang Tripadvisor 1. Tập dữ liệu bao gồm 800 nhận xét của du khách.

3.1.2 Công cụ thực nghiệm

Chúng tôi sử dụng các công cụ sau để tiến hành thực nghiệm: 1. vnTokenize 2

vnTokenizer [33] là một phần mềm tách từ cho các văn bản tiếng Việt. Nó phân đoạn văn bản tiếng Việt thành các đơn vị từ vựng (từ, tên, ngày tháng, con số và các biểu thức thông thường khác) với độ chính xác cao, khoảng 96 – 98%.

1https://www.tripadvisor.com.vn

vnTokenizer được viết bằng Java. Phần mềm yêu cầu cần phải cài đặt Java Runtime Environment 1.6+.

Phần mềm được sử dụng từ dòng lệnh hoặc lập trình thông qua giao diện lập trình ứng dụng API (Application Programming Interface). Để chạy vnTokenizer, với hệ điều hành MS Windows dùng bản vnTokenizer.bat, đối với các hệ điều hành Unix, Linux, MacOS X dùng ./vnTokenizer.sh. Tập tin đầu vào phải là tập văn bản thuần túy được mã hóa UTF-8. Kết quả được lưu đến các tập văn bản thuần túy hoặc các tập XML đơn giản và luôn được mã hóa UTF-8.

Để tách từ của một tập tin, đối với hệ điều hành Windows, sử dụng cú pháp sau: vnTokenizer.bat –I <inputFile> -o <outputFile>[options]. Các lựa chọn (options) có thể là:

ˆ -xo (đầu ra xml) – Ghi kết quả vào một tệp XML đơn giản thay vì định dạng văn bản mặc định.

ˆ -nu (không có gạch dưới) – Không nối các âm tiết của một từ bằng ký tự gạch dưới mà thay vào đó là một khoảng trắng.

ˆ -sd (nhận dạng câu) – nhận dạng câu trước khi tách từ. Nếu lựa chọn này được sử dụng, đầu tiên, vnTokenizer nhận dạng các câu của tập tin và sau đó tách các câu được nhận dạng. Theo mặc định, vnTokenizer xử lý toàn bộ văn bản mà không chia tách thành các câu.

2. SV Mlight 3

SV Mlight [14] là một công cụ thực thi thuật toán SVM bằng C của Vapnik cho vấn đề nhận dạng mẫu, hồi quy và học xếp loại. Phần mềm còn cung cấp các phương pháp đánh giá hiệu suất một cách hiệu quả.

Các đặc trưng chính của chương trình như sau: ˆ Thuật toán tối hóa nhanh;

ˆ Giải quyết vấn đề phân lớp và hồi quy;

ˆ Giải quyết các vấn đề xếp hạng (ví dụ: học các chức năng thu hồi trong công cụ tìm kiếm Striver);

ˆ Tính toán, ước lượng tỉ lệ lỗi, độ chính xác và độ bao phủ; ˆ Xử lý hàng nghìnvector hỗ trợ;

ˆ Xử lý hàng trăm nghìn ví dụ huấn luyện.

SV Mlightbao gồm một module học (svm-learn) và một module phân loại (svm- classify). Modun phân loại có thể được sử dụng để áp dụng mô hình học được cho các ví dụ mới.

Tệp đầu vào chứa dữ liệu huấn luyện đã được vector hóa. Dòng đầu tiên có thể là một câu nhận xét và nó sẽ bị bỏ qua nếu chúng bắt đầu bằng dấu 6=. Mỗi dòng tiếp theo là mộtvector đại diện cho một dữ liệu huấn luyện và có định dạng như sau:

Một phần của tài liệu (LUẬN văn THẠC sĩ) phân tích quan điểm dựa theo khía cạnh và ứng dụng xác định sở thích của du khách về sản phẩm du lịch (Trang 28)

Tải bản đầy đủ (PDF)

(52 trang)