Bài toán trích chọn thuộc tính sản phẩm trong hệ thống mua bán trực tuyến tiếp

Một phần của tài liệu Tóm tắt reviews người dùng trong hệ thống bán hàng trực tuyến (Trang 27 - 37)

tuyến tiếp cận khai phá luật kết hợp:

Nhưđã phân tích ở phần trước, nhu cầu tóm tắt các đánh giá của người dùng về một sản phẩm trên hệ thống mua bán trực tuyến sẽ ngày càng gia tăng. Vì vậy bài toán tóm tắt đánh giá sản phẩm ra đời, trong đó bài toán trích chọn thuộc tính sản phẩm là một vấn đề khó khăn và cần phải giải quyết nhất. Đây là bài toán liên quan tới lĩnh vực trích chọn từ khóa (terminology extraction), một lĩnh vực con của trích chọn thông tin (information extraction). Do vậy chúng ta phải giải quyết những vấn đề chính sau:

• Tự động trích chọn các thực thể trong văn bản: ta cần tìm được tập các từ hoặc cụm từ có thể là thuộc tính của sản phẩm trong tất cả các đánh giá của người dùng (tập thực thể này được gọi là tập ứng viên).

• Sau đó, từ tập ứng viên trên, ta cần xác định được các thuộc tính sản phẩm (chính là các terminology). Vấn đề cốt lõi của bài toán là tìm ra chiến lược trích chọn thuộc tính tốt nhất.

20

5.2.1. Tựđộng trích chọn các thực thể trong văn bản:

Mỗi một đánh giá về sản phẩm của người dùng là một văn bản mà ta cần xử lý, các thuộc tính sản phẩm xuất hiện trong đó sẽ là các thực thể cần được trích chọn. Qua quan sát dữ liệu cho thấy các thuộc tính sản phẩm thường xuất hiện dưới dạng là một danh từ, do đó để trích chọn được chúng ta có thể căn cứ vào dấu hiệu đó. Để làm được như vậy chúng ta cần một bộ gán nhãn từ loại. Khó khăn gặp phải là hiện nay lĩnh vực xử lý tiếng Việt còn hạn chế cả về mặt số lượng nghiên cứu cũng như kết quảđạt được [2].

Trong khóa luận này, chúng tôi sử dụng hai chương trình xử lý ngôn ngữ tiếng Việt đã có là JVnSegmenter [7] và VnQTAG [3] để thực hiện việc tách từ và gán nhãn. Chi tiết sẽđược trình bày trong mô hình hệ thống đề xuất.

5.2.2. Xác định thuộc tính của sản phẩm từ tập ứng viên:

Trong bài toán trích chọn từ khóa (terminology extraction), về cơ bản có hai loại kĩ thuật chính để xác định các từ khóa trong tập văn bản: một là các kĩ thuật hình thức dựa trên mô tả ngữ nghĩa của từ khóa, thường là các cụm danh từ, hai là các kĩ thuật thống kê, các kĩ thuật loại này dựa trên thực tế là các từ ghép thành một từ khóa thì thường được tìm thấy cạnh nhau và lặp lại nhiều lần để tiến hành việc trích chọn. Tuy nhiên cả hai phương pháp trên đều có những hạn chế của riêng mình. Trong phương pháp hình thức, việc sử dụng các cụm danh từ để trích chọn thường tạo ra quá nhiều các kết quả không phải là từ khóa cần tìm. Thêm vào đó, hiện nay việc xác định các cụm danh từ tiếng Việt còn rất hạn chế trong kết quả đạt được. Còn đối với phương pháp thống kê, trích chọn theo các cụm từ có xác suất xuất hiện cao thì hạn chế gặp phải là thường bỏ xót quá nhiều các từ khóa có số lần xuất hiện thấp, các từ khóa có nhiều cách viết khác nhau và các từ khóa chỉ gồm một từ.

Để khắc phục các hạn chế trên, trong khóa luận này chúng tôi sử dụng mô hình áp dụng kĩ thuật khai phá luật kết hợp trong đó áp dụng thuật toán Apriori kết hợp thêm một số kĩ thuật rút gọn, cắt tỉa khác để tìm ra tập các từ khóa phổ biến (các thuộc tính có xác suất xuất hiện cao). Ngoài ra trong mô hình này chúng tôi còn thực hiện việc tìm kiếm các thuộc tính ít phổ biến dựa trên ý kiến đánh giá của người dùng. Phần dưới đây sẽ trình bày về mô hình trích chọn thuộc tính sản phẩm dựa trên khai phá luật kết hợp.

21

3.3. Mô hình trích chọn thuộc tính sản phẩm:

Đối với bài toán trích chọn thuộc tính sản phẩm được người mua hàng đánh giá trong hệ thống bán hàng trực tuyến, khóa luận này sử dụng mô hình tương tự như trong hệ thống [13].

3.3.1. Cấu trúc hệ thống trích chọn thuộc tính sản phẩm:

Hình 2. Mô hình h thng trích chn thuc tính sn phm trong h thng bán hàng trc tuyến.

Đầu tiên, ta tiến hành thu thập đánh giá của người dùng về một sản phẩm trên hệ thống mua bán trực tuyến để đưa vào cơ sở dữ liệu các đánh giá. Việc thu thập dữ liệu có thể tiến hành tự động bằng cách crawl các đánh giá sản phẩm từ một website bán hàng trực tuyến về. Dữ liệu thu được sẽ được xử lý để tách từ, gán nhãn từ loại rồi đưa vào module trích chọn các thuộc tính phổ biến, kết quả thu được là một tập các thuộc tính

CSDL các từ thể hiện ý kiến CSDL thuộc tính ít phổ biến Đánh giá sản phẩm CSDL các đánh giá CSDL thuộc tính phổ biến Trích chọn thuộc tính Tách từ Gán nhãn từ loại Trích chọn các thuộc tính phổ biến Trích chọn các thuộc tính ít phổ biến Trích chọn các từ thể hiện ý kiến

22

được nhiều người đánh giá (phổ biến ởđây có nghĩa là xuất hiện nhiều). Dựa vào kết quả trên, trích chọn ra các từ thể hiện ý kiến và cuối cùng là xác định các thuộc tính ít phổ biến (có số lần xuất hiện thấp).

Theo mô hình trên, công việc giải quyết bài toán sẽđược chia làm 5 bước chính sau: • Tách từ. • Gán nhãn từ loại. • Trích chọn các thuộc tính phổ biến của sản phẩm. • Trích chọn các từ thể hiện ý kiến. • Cuối cùng là tìm các thuộc tính ít phổ biến. 3.3.2. Tách từ:

Bước đầu tiên trong quá trình trích chọn thuộc tính sản phẩm là tách từ. Đối với tiếng Anh, các từđược phân cách bởi dấu cách hoặc. Tuy nhiên, với tiếng Việt thì không đơn giản như vậy, một từ tiếng Việt có thể gồm nhiều hơn một âm tiết. Do đó không phải lúc nào ta cũng có thể tiến hành tách từ dựa vào dấu cách.

Sau khi tìm hiểu một số chương trình tách từ, chúng tôi sử dụng chương trình JVnSegmenter của nhóm nghiên cứu [7], đây là chương trình tách từ tiếng Việt sử dụng mô hình CRFs (conditional random fields) cho kết quả có độ chính xác cao.

Ví dụ:

Câu = “Nokia N81 đời mới gồm 2 phiên bản: N81 8GB và N81 2GB”

Sau khi qua công đoạn tách từ, ta có các từ tiếng Việt trong cặp ngoặc như sau: [Nokia] [N81] [đời mới] [gồm] [2] [phiên bản]: [N81] [8GB] [và] [N81 2GB]

Do chất lượng dữ liệu tiếng Việt còn chưa cao, người dùng khi bày tỏ ý kiến của mình qua mạng thường vi phạm một trong các lỗi như viết tiếng Việt không dấu, cú pháp không chuẩn, sai chính tả… vì vậy, trước khi dữ liệu được đưa qua JVnSegmenter, chúng ta cần tiến hành một số bước tiền xử lý như thêm dấu câu, chỉnh sửa các lỗi chính tả, loại bỏ các kí tự không có ý nghĩa (ví dụ một số người có thói quen sử dụng các kí tự biểu hiện cảm xúc của ngôn ngữ chat vào trong cả cách viết bình thường, đối với bài toán của chúng ta, các từ này không cung cấp thông tin cần thiết nên sẽ bị loại bỏ).

23

3.3.3. Gán nhãn loại từ:

Dữ liệu sau khi được tách từ, sẽđược tiến hành gán nhãn từ loại (phân biệt danh từ, tính từ, động từ, …). Trong khóa luận này, chúng tôi sử dụng chương trình VnQTAG của nhóm tác giả [3] để tiến hành công việc trên. VnQTAG được nhóm tác giả trên chỉnh sửa lại thành phiên bản dùng cho tiếng Việt từ phần mếm QTAG của nhóm tác giả O. Mason, Đại học Bermingham, Anh. QTAG là một bộ gán nhãn xác suất độc lập với ngôn ngữ. Phương pháp xử lý của QTAG có thể mô tả tổng quát như sau. Dựa vào kho dữ liệu đã được gán nhãn bằng tay, bộ gán nhãn tìm những nhãn có thể được và tần số của nó cho từng từ trong kho dữ liệu mới đã được tách từ. Nếu việc tìm kiếm một từ trong danh sách từ vựng đã học thất bại thì tất cả các nhãn sẽđược gán cho từđó. Cuối cùng, bộ gán nhãn thực hiện bước loại bỏ nhập nhằng bằng cách sử dụng thông tin về xác suất phân bố từ vựng đã được học trước đó.

Dữ liệu đầu vào của chương trình VnQTAG là văn bản đã được phân tách từ trong từng câu (kết quả của bước tách từở phần trên), kết quảđầu ra của chương trình là một từ loại tương ứng sẽ được gán cho từng từ trong văn bản. Hệ thống sử dụng đồng thời từ điển để liệt kê các từ loại có thể cho một từ, và một kho văn bản mẫu để loại bỏ nhập nhằng.

Ví dụ về kết quả thu được sau khi đưa dữ liệu qua VnQTAG:

<w pos="Nc"> hồi</w> <w pos="Vto"> lên </w> < w pos="Nn"> sáu </w> <w pos=","> , </w> <w pos="Vs"> </w> <w pos="Nu"> lần </w> <w pos="Pp"> tôi

</w> <w pos="Jt"> đã </w> <w pos="Vt"> nhìn </w> <w pos="Vt"> thấy </w> <w pos="Nn"> một </w> <w pos="Nt"> bức </w> <w pos="Nc"> tranh </w> <w pos="Jd"> tuyệt </w> <w pos="Aa"> đẹp </w>

Hạn chế còn tồn tại của VnQTAG chính là chương trình chưa có khả năng nhận diện các cụm danh từ, việc gán nhãn từ loại mới chỉ xác định được các danh từ. Trong khi bài toán của chúng ta yêu cầu cần xác định cả các cụm danh từ (điều này sẽđược giải thích cụ thể trong phần sau). Đây là một vấn đề khó cần được giải quyết; trong hệ thống trích chọn thuộc tính sản phẩm sử dụng khai phá luật kết hợp, chúng tôi mới chỉ có thể xác định được một số cụm danh từ nhất định.

24

3.3.4. Trích chọn thuộc tính phổ biến:

Mục tiêu của bước này là xác định được các thuộc tính của sản phẩm được nhiều người dùng nhận xét (chúng tôi gọi là các thuộc tính phổ biến). Tuy nhiên, do độ phức tạp về ý nghĩa của ngôn ngữ tự nhiên nên ở đây chúng tôi chỉ tập trung vào các thuộc tính xuất hiện một cách rõ ràng trong câu. Khái niệm rõ ràng được hiểu như sau:

• “Chất lượng ảnh chụp rất tốt” – thuộc tính “chất lượng ảnh” là rõ ràng.

• “Mặc dù đắt, nhưng tôi vẫn quyết định mua.” – thuộc tính “giá bán” là không rõ ràng, hệ thống không xác định được các thuộc tính kiểu này.

Do số lượng các thuộc tính không rõ ràng trong các đánh giá ít hơn thuộc tính rõ ràng nên việc bỏ qua các thuộc tính kiểu này không làm ảnh hưởng nhiều tới kết quả.

Để tìm ra các thuộc tính phổ biến, chúng tôi sử dụng kĩ thuật khai phá luật kết hợp trong đó tập chỉ mục là tập các thuộc tính sản phẩm, mỗi một câu trong đánh giá là một giao tác, còn cơ sở dữ liệu giao tác chính là tập các đánh giá đầu vào. Qua việc khảo sát các đánh giá sản phẩm trên các hệ thống mua bán trực tuyến, chúng tôi rút ra kết luận: hầu hết các thuộc tính của sản phẩm xuất hiện trong các đánh giá đều ở dạng danh từ hoặc cụm danh từ. Vì vậy, ở đây chúng tôi chỉ tập trung vào việc khai phá luật kết hợp trên tập các danh từ và cụm danh từ có mặt trong đánh giá sản phẩm. Phương pháp thực hiện sẽ gồm 3 bước như sau.

Bước một, sinh tập chỉ mục, hệ thống thực hiện trích chọn ra các danh từ trong tập dữ liệu các đánh giá sản phẩm đã được gán nhãn từ loại ở bước trên. Dựa vào các danh từ này chúng tôi tạo ra một file giao tác. File này có cấu trúc như sau: mỗi dòng trong file là một dãy các kí tự 0, 1 cách nhau bởi dấu cách, có độ dài bằng nhau và bằng số danh từ tìm được ở trên, thể hiện cho một câu trong tập các đánh giá sản phẩm. Mỗi một số trong dãy 0, 1 thể hiện sự xuát hiện của một danh từ trong câu: 0 có nghĩa là danh từđó không xuất hiện trong câu, còn 1 là có xuất hiện. File giao tác này chính là cơ sở dữ liệu giao tác sẽ dùng trong thuật toán Apriori ở bước sau.

Bước hai, áp dụng thuật toán Apriori trên tập chỉ mục và cơ sở dữ liệu giao tác thu được ở bước trên, ta sẽ thu được các tập chỉ mục phổ biến (frequent itemsets), mỗi đối tượng thuộc các tập này có khả năng là một thuộc tính của sản phẩm. Một tập chỉ mục được coi là phổ biến khi các từ trong tập này xuất hiện ít nhất trong c% số câu của tập dữ liệu (minimum support = c%, c là giá trị do chúng ta định trước). Chú ý ở bước này,

25

chúng ta sẽ không chạy thuật toán Apriori để tìm hết tất cả các tập phổ biến mà chỉ tìm các tập phổ biến có độ dài trong giới hạn xác định, bởi vì các thuộc tính của sản phẩm cũng có giới hạn về số từ (trong khảo sát các đánh giá sản phẩm điện thoại, chúng tôi nhận thấy độ dài tối đa của một thuộc tính là 5 từ - ví dụ như cụm danh từ sau “màn hình tinh cảm ứng”). Vì vậy chúng tôi sẽđưa ra ngưỡng giới hạn độ dài tối đa của tập chỉ mục phổ biến cần tìm. Nhờ vậy tiết kiệm được thời gian và công sức.

Sau khi tìm được các tập chỉ mục phổ biến, hệ thống thực hiện bước 3: “cắt tỉa” các đối tượng không phải thuộc tính. Việc “cắt tỉa” gồm 2 bước con:

• Compactness pruning (cắt tỉa bảo đảm tính chặt chẽ): trong bước này, chúng tôi kiểm tra các thuộc tính có nhiều hơn 2 từ trở lên để loại bỏ những cụm từ vô nghĩa. Nguyên nhân là do khi thực hiện khai phá luật kết hợp, thuật toán chỉ quan tâm tới số lần xuất hiện của các từ, tức là độ hỗ trợ của từ, chứ không quan tâm tới vị trí xuất hiện của từ trong câu, điều này dẫn tới khả năng trong các tập chỉ mục phổ biến tìm được có chứa nhiều cụm từ vô nghĩa. Ví dụ: có tập chỉ mục phổ biến 1 phần tử {hệ điều hành, Symbian}. Khi áp dụng thuật toán Apriori để tìm tập chỉ mục phổ biến 2 phần tử, giả sử ta thu được kết quả là {hệđiều hành Symbian, Symbian hệđiều hành}. Ta thấy ngay chỉ có "hệđiều hành Symbian" mới là thuộc tính cần tìm, còn "Symbian hệđiều hành" là một cụm từ vô nghĩa phải loại bỏ.

Để loại bỏđược các kết quả vô nghĩa, chúng tôi đưa ra khái niệm "cụm từ chặt chẽ" như sau:

+ giả sử f là một cụm từ phổ biến gồm n từ tạo ra từ thuật toán Apriori, f={w1, w2, …,wn}. Nếu tồn tại một câu s chứa toàn bộ w1, w2, …,wn và khoảng cách giữa wi và wi+1 trong s không quá 3 thì f được coi là "chặt" đối với s.

+ Nếu f xuất hiện trong m câu thuộc tập dữ liệu đánh giá, và f là "chặt" đối với ít nhất 2 trong m câu trên thì f là một cụm từ chặt chẽ.

Đối với những cụm từ không thỏa mãn điều kiện chặt chẽ trên, hệ thống sẽ tiến hành loại bỏ khỏi tập thuộc tính phổ biến.

Redundancy pruning (cắt tỉa dư thừa): bước này tập trung vào loại bỏ các thuộc tính thừa (những thuộc tính là danh từ đơn). Ví dụ về một thuộc tính dư thừa như sau: trong bản đánh giá về sản phẩm điện thoại X, người tiêu dùng đề cập tới “tuổi thọ pin

26

ngắn”, khi thực hiện tách từ, gán nhãn và sinh tập thuộc tính phổ biến, trong kết quả thu được có 2 thuộc tính “tuổi thọ” và “tuổi thọ pin”. Ta thấy ởđây thuộc tính “tuổi thọ” là dư thừa do nó đóng vai trò không quan trọng so với thuộc tính “tuổi thọ pin”. Vì vậy, hệ thống sẽ loại bỏ các thuộc tính thừa này. Tuy nhiên, không phải cứ có một thuộc tính khác bao hàm mình thì thuộc tính con sẽ bị loại bỏ, bởi vì có thể thuộc tính con vẫn mang ý nghĩa quan trọng. Ví dụ nhưở trường hợp sau, “màn hình”, “màn hình chính”, “màn hình ngoài”, lúc này ta không thể loại bỏ thuộc tính “màn hình”.

Để xác định một thuộc tính là dư thừa hay không, chúng tôi sử dụng độ đo pure support, có thể dịch là độ hỗ trợ hoàn toàn (kí hiệu là p-support). Độ đo p-support được định nghĩa như sau: p-support của một thuộc tính f được tính bằng phần trăm số câu trong

Một phần của tài liệu Tóm tắt reviews người dùng trong hệ thống bán hàng trực tuyến (Trang 27 - 37)

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

(53 trang)