Mô tả thuật toán SVM

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 35 - 41)

2 Xác định sở thích của du khách về sản phẩm du lịch dựa trên

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:

<dòng> = <nhãn><đặc trưng>:<giá trị><đặc trưng>:<giá trị> . . . <đặc trưng>:<giá trị>

Chúng tôi cài đặt các thuật toán:

ˆ Rút trích khía cạnh, phân hoạch tậpD thành k tập con. ˆ vector hóa các tập con theo định dạng của thuật toán SVM. ˆ Tính điểm xếp hạng sở thích của du khách dựa theo khía cạnh.

3.1.3 Các bước tiến hành

ˆ Bước 1: Tiền xử lý dữ liệu: Đầu vào là các câu nhận xét, tiến hành loại bỏ các từ dừng, các kí hiệu đặc biệt và tiến hành tách từ văn bản bằng công cụ vnTokenize.

ˆ Bước 2: Xác định khía cạnh của thực thể, xác định tập từ lõi và tập từ chủ đề cho từng khía cạnh. Tập từ lõi và tập từ chủ đề theo từng khía cạnh của sản phẩm khách sạn được liệt kê trong Bảng 3.1.

Ngoài tập từ lõi và tập từ chủ để tương ứng với mỗi khía cạnh, chúng tôi còn xác định các từ phủ định và chỉ mức độ quan điểm như sau:

Từ phủ định và chỉ mức độ:"Không", "chưa", "kém", "ít", "thiếu", "rất", "vừa", "cực", "cực kì", "siêu".

Bảng 3.1: Tập từ lõi và từ chủ đề theo khía cạnh

Khía cạnh Từ lõi Từ chủ đề

Giá phòng Giá Đắt, rẻ, phù hợp, hợp lý, chát, mềm Vị trí Vị trí, view, cảnh quan, Đẹp, trong lành,thích hợp,gần, xa,

khuôn viên dễ dàng,thuận tiện, tiện lợi, xanh, hỗn độn, thuận lợi

Phòng Phòng, villa, nội thất, Đẹp, sạch, sạch sẽ, rộng, rộng rãi,

thiết bị, tiện nghi, thiết kế thoáng mát, nhẹ nhàng, dễ chịu, đầy đủ, đáng nhớ, tiện nghi, trang nhã, bình thường, cũ, đơn giản, ấm cúng, hoàn hảo, bẩn, thư giãn, dơ, yên tĩnh, ấn tượng, hợp lý, lớn,

dễ thương, xinh đẹp, mới, chất lượng, tinh tế, hiện đại, gọn gàng, hỏng, nhỏ,

nóng, ẩm ướt, thảm họa, đẳng cấp, hôi, lung linh Dịch vụ Đồ ăn, thức uống, wifi, Phong phú, ngon, tươi, tuyệt, tuyệt vời,

internet, hồ bơi, spa, thoải mái, đa dạng, ok, rẻ, thú vị, thích, ổn, xe điện xứng đáng, hứng thú, chất lượng, tệ, qua loa,

nghèo nàn, đặc sắc, tối tân, miễn phí, tồi, hấp dẫn, xuất sắc, đáng sợ, lạ, bình dân

Nhân viên Nhân viên, lễ tân, bảo vệ, Thân thiện, vui vẻ, nhiệt tình, lịch sự, hài lòng, phục vụ, quản lý chuyên nghiệp, nhanh chóng, quan tâm, chu đáo,

ấm áp, cởi mở, niềm nở,phiền hà, tận tình, tế nhị, đơ, khó chịu, dễ chịu, yếu,chậm chạp, kịp thời, ngoan, lễ phép, coi thường, hòa nhã, đáng yêu, lôi thôi, duyên dáng, tốt bụng, chân thành

ˆ Bước 3: Rút trích khía cạnh ak nếu trong câu có chứa các từ lõi thuộc khía cạnh ak. Nhóm các câu có cùng khía cạnh lại thành một tập. Kết quả có 5 tập con các câu nhận xét tương ứng với từng khía cạnh. Kết quả sau khi tách tập D thành 5 tập khía cạnh:

Bảng 3.2: Kết quả rút trích khía cạnhKhía cạnh Số lượng câu Khía cạnh Số lượng câu

Giá phòng 188

Vị trí 357

Phòng 648

Dịch vụ 573

ˆ Bước 4. Tiến hành vector hóa các tập con theo định dạng của thuật toán SVM

<dòng> = <nhãn quan điểm><từ chủ đề>:<giá trị><từ chủ đề>:<giá trị> . . . <từ chủ đề>:<giá trị>

Ví dụ: "Nhân viên thân thiện và nhiệt tình, đặc biệt là quản lý rất chu đáo, quan tâm tới khách hàng". Câu này sẽ được vector hóa dựa trên tập từ chủ đề và tập từ phủ định, chỉ mức độ như sau:

1 1:1 2:0 3:1 4:0 5:0 6:0 7:0 8:1 9:1 10:0 11:0 12:0 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0 22:0 23:0 24:0 25:0 26:0 27:0 28:0 29:0 30:0 31:0 32:0 33:0 34:0 35:0 36:0 37:0 38:0 39:0

Với nhãn quan điểm được gán là 1 vì câu này thuộc quan điểm tích cực (Gán nhãn quan điểm là -1 nếu câu thuộc quan điểm tiêu cực)

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 35 - 41)

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

(52 trang)