CƠ SỞ LÝ LUẬN
Giới thiệu về xử lý ngôn ngữ tự nhiên
Xử lý ngôn ngữ tự nhiên (natural language processing – NLP) là một lĩnh vực nghiên cứu của trí tuệ nhân tạo, tập trung vào nghiên cứu các phương pháp, kỹ thuật cho phép xử lý ngôn ngữ tự nhiên bằng máy tính, từ đó xây dựng các chương trình, hệ thống máy tính xử lý ngôn ngữ của con người.
Xử lý ngôn ngữ tự nhiên đƣợc áp dụng trong nhiều bài toán và ứng dụng thực tế, trong nhiều lĩnh vực:
Nhận dạng chữ viết: Có hai kiểu nhận dạng Thứ nhất là nhận dạng chữ in.
Thứ hai, phức tạp hơn là nhận dạng chữ viết tay, có khó khăn bởi vì chữ viết tay không có khuôn dạng rõ ràng và thay đổi từ người này sang người khác Với chương trình nhận dạng chữ viết in có thể chuyển hàng ngàn đầu sách trong thư viện thành văn bản điện tử trong thời gian ngắn Nhận dạng chữ viết của con người có ứng dụng trong khoa học hình sự và bảo mật thông tin (nhận dạng chữ ký điện tử).
Nhận dạng tiếng nói: Nhận dạng tiếng nói rồi chuyển chúng thành văn bản tương ứng Giúp thao tác của con người trên các thiết bị nhanh hơn và đơn giản hơn Đây cũng là bước đầu tiên cần phải thực hiện trong ước mơ thực hiện giao tiếp giữa con người với robot Nhận dạng tiếng nói có khả năng trợ giúp người khiếm thị rất nhiều.
Tổng hợp tiếng nói: Từ một văn bản tự động tổng hợp thành tiếng nói Giống như nhận dạng tiếng nói, tổng hợp tiếng nói là sự trợ giúp tốt cho người khiếm thị, nhưng ngược lại nó là bước cuối cùng trong giao tiếp giữa robot với người.
Dịch máy (machine translate): Như tên gọi đây là chương trình dịch tự động từ ngôn ngữ này sang ngôn ngữ khác.
Tìm kiếm và truy xuất thông tin: Đặt câu hỏi và chương trình tự tìm ra nội dung phù hợp nhất Thông tin ngày càng đầy lên theo cấp số nhân, đặc biệt với sự trợ giúp của internet việc tiếp cận thông tin trở lên dễ dàng hơn bao giờ hết Việc khó khăn lúc này là tìm đúng nhất thông tin mình cần giữa bề bộn tri thức và đặc biệt thông tin đó phải đáng tin cậy.
Tóm tắt văn bản: Từ một văn bản dài tóm tắt thành một văn bản ngắn hơn theo mong muốn nhƣng vẫn chứa những nội dung thiết yếu nhất.
Khai phá dữ liệu: Từ rất nhiều tài liệu khác nhau phát hiện ra tri thức mới.
Thực tế để làm đƣợc điều này rất khó, nó gần nhƣ là mô phỏng quá trình học tập,khám phá khoa học của con người, đây là lĩnh vực đang trong giai đoạn đầu phát triển.
Khai phá quan điểm
Khai phá quan điểm là một trong các lĩnh vực khai thác thông tin nằm trong ứng dụng của xử lý ngôn ngữ tự nhiên, giúp thu thập đƣợc những thông tin mong muốn về quan điểm của dữ liệu Bài toán phân tích các đánh giá cho một chủ đề nhất định, hoặc sự kiện, sản phẩm để tự động phân loại đánh giá theo hướng tích cực, tiêu cực của quan điểm Bài toán còn bao gồm nội dung tổng hợp quan điểm từ các tài liệu quan điểm thu đƣợc.
Khai phá quan điểm có ảnh hưởng lớn đến hành vi của con người trong tương lai vì nó là nhận thức, niềm tin của con người về vấn đề thực tế và phụ thuộc vào cách nhìn của mỗi người.
Bất cứ khi nào cần đưa ra quyết định, chúng ta thường tham khảo ý kiến của người khác, đối với cá nhân, lấy ý kiến từ cha mẹ, bạn bè, đối với tổ chức có thể là các cuộc điều tra, khảo sát hay các cuộc thăm dò dƣ luận.
Khai phá quan điểm là kỹ thuật để phát hiện và trích xuất thông tin về tình cảm của con người được lưu trong cơ sở dữ liệu, để làm được việc này vấn đề quan trọng là phân cực đƣợc tình cảm, quan điểm đối với vấn đề, hay nói cách khác đó là gán nhãn cho tài liệu, đánh giá đó là tích cực hay tiêu cực với đối tƣợng mục tiêu (chủ đề) Các ý kiến quan điểm có thể thể hiện theo hai hướng:
- Quan điểm trực tiếp: cho ý kiến hoặc là tích cực, hoặc là tiêu cực trực tiếp về các đối tƣợng quan tâm.
- Quan điểm gián tiếp: so sánh các đối tƣợng quan tâm với đối tƣợng tương tự khác để đưa ra ý kiến cá nhân.
Với mỗi vấn đề trao đổi, mỗi ý kiến đều là quan điểm chủ quan của cá nhân đƣa ra, không đủ cơ sở nhận định chung cho vấn đề Do vậy, cần thu thập dữ liệu chứa ý kiến, quan điểm từ nhiều người, sau đó tổng hợp các ý kiến, quan điểm để rút ra cái nhìn tổng quan cho toàn vấn đề.
1.2.2 Một số bài toán trong khai phá quan điểm a) Bài toán xác định quan điểm
Phát biểu bài toán: Đầu vào: Văn bản đầu vào (thường là một câu). Đầu ra: Đánh giá văn bản vào một trong hai lớp: khách quan và chủ quan.
Bài toán này tương đương với việc xác định xem văn bản đầu vào có mang quan điểm hay đánh giá về quan điểm hay không Vấn đề này đôi khi khó khăn hơn so với phân lớp phân cực Tính chủ quan của từ và cụm từ có thể phụ thuộc vào hoàn cảnh của văn bản đó, và một tài liệu khách quan có thể chứa câu chủ quan (ví dụ, một bài báo trích dẫn ý kiến của người dân). b) Bài toán phân loại quan điểm
Phát biểu bài toán: Đầu vào: Văn bản đầu vào mang quan điểm chủ quan. Đầu ra: Đánh giá quan điểm của văn bản vào một trong hai lớp: tích cực và tiêu cực.
Với bài toán này có thể coi khai phá quan điểm nhƣ bài toán phân lớp văn bản Bài toán phân lớp một văn bản đánh giá là tích cực hay tiêu cực Ví dụ: với một đánh giá sản phẩm, hệ thống xác định xem nhận xét về sản phẩm ấy là tốt hay xấu. Phân lớp này thường là phân lớp ở mức tài liệu Thông tin được phát hiện không mô tả chi tiết về những gì mọi người thích hay không thích. c) Bài toán khai phá quan điểm theo đặc trƣng, khía cạnh
Phát biểu bài toán: Đầu vào: Văn bản đầu vào. Đầu ra: Đánh giá quan điểm của văn bản theo đặc trƣng khía cạnh.
Bài toán này xác định những ý kiến hay những cảm xúc thể hiện trên những đặc trƣng khác nhau hoặc khía cạnh khác của các thực thể, ví dụ, một chiếc điện thoại di động, một cái máy ảnh kỹ thuật số hoặc một ngân hàng Một đặc trƣng hay khía cạnh là một thuộc tính hoặc một thành phần của thực thể, ví dụ, màn hình của một chiếc điện thoại di động hoặc chất lƣợng hình ảnh của máy ảnh Ƣu điểm của phân tích quan điểm dựa theo đặc trƣng, khía cạnh là việc khả năng nắm bắt đƣợc những sắc thái về các đối tƣợng quan tâm. d) Bài toán tóm tắt quan điểm
Phát biểu bài toán: Đầu vào: Văn bản đầu vào. Đầu ra: Bản đánh giá tổng hợp quan điểm về đối tƣợng đƣợc đề cập.
Trong luận văn này, chúng tôi tập trung vào bài toán phân loại quan điểm trên miền dữ liệu Twitter.
1.2.3 Một số khó khăn trong khai phá quan điểm
Phong cách viết của mỗi người là khác nhau: Mỗi cá nhân con người là khác nhau, cách thức diễn đạt và sử dụng ngôn ngữ cũng khác nhau Sự phong phú của ngôn ngữ dẫn đến đa dạng hóa cách thể hiện quan điểm của từng người Hơn thế nữa, quan điểm của từng người còn phụ thuộc vào nhiều yếu tố như: tính cách, trình độ, tuổi tác v.v
Sự phụ thuộc vào bối cảnh và thời gian: Cùng một từ, một câu nói ở tình huống này thể hiện tính chất tích cực, nhƣng cũng chính từ đó, câu nói đó trong tình huống khác lại thể hiện tính chất tiêu cực Các lối nói ẩn dụ, hay đặc biệt là trong các hoàn cảnh với ngụ ý mỉa mai, châm biếm có thể gây ra sự hiểu lầm về quan điểm Quan điểm về một bộ phận của vấn đề cũng làm ảnh hưởng đến quan điểm về toàn bộ vấn đề nói chung.
Tồn tại nhiều quan điểm mâu thuẫn trong cùng một tài liệu: Trong cùng một tài liệu, cụ thể nhƣ một bài viết, một bình luận có thể chứa nhiều quan điểm trái ngƣợc nhau, bao gồm cả tích cực lẫn tiêu cực Đây cũng là một trong những vấn đề gây khó khăn trong việc khai phá quan điểm.
1.2.4 Các cấp độ dữ liệu phân tích quan điểm a) Cấp độ tài liệu
Trong tài liệu phân tích có thể có rất nhiều câu không thể hiện quan điểm tình cảm đối với thực thể đang xét do đó chủ đề hay đối tƣợng rất là quan trọng trong việc phân loại ở cấp độ này, còn những câu không phù hợp phải đƣợc loại bỏ ra khỏi quá trình xử lý để giảm độ phức tạp của tài liệu.
Tần suất từ hay cụm từ nói lên quan điểm là những đặc trƣng để phân loại ở cấp độ tài liệu. Ƣu điểm: Có thể lấy đƣợc toàn bộ các quan điểm khác nhau của thực thể đặc biệt của tài liệu.
Nhƣợc điểm: Những cảm xúc khác nhau về các đặc tính khác nhau của thực thể không đƣợc trích rút riêng biệt. b) Cấp độ câu
Tổng quan bài toán khai phá quan điểm trên dữ liệu mạng xã hội Twitter
1.3.1 Giới thiệu về mạng xã hội Twitter
Mạng xã hội twitter ra đời vào ngày 21/3/2006 bởi Jack Dorsey và July, tính đến tháng 5 năm 2016, Twitter có hơn 1.3 tỉ người dùng, trong đó có hơn 310 triệu người dùng tích cực trong tháng và trung bình trên mỗi người dùng có 208 người theo dõi Trung bình có hơn 500 triệu tweet đƣợc tạo ra trên một ngày Điều đó có nghĩa có 6000 tweet mỗi giây Có 80% người sử dụng truy cập qua điện thoại, có65.8% các công ty ở Mỹ với hơn 100 người làm sử dụng Twitter để tiếp thị, quảng bá.
Từ một số thông tin trên, ta cũng có thể nhận thấy Twitter mà một kênh truyền tải thông tin nhanh chóng, đa dạng, thể hiện quan điểm của người dùng trên nhiều khía cạnh khác nhau trong cuộc sống.
Dưới đây là một số khái niệm được sử dụng trong Twitter:
- Twitter: là 1 trang micro-blog và cũng là một mạng nhắn tin.
- Tweet: là một đoạn văn (một SMS) của người dùng tạo ra.
- Follower: người đang theo dõi bạn
- Following: người bạn đang theo dõi
- Reply: là một từ hoặc một cụm từ bắt đầu bằng các ký hiệu “@”, là hành động tag tên người dùng để trả lời hoặc đề cập đến người đó.
- Hashtag: là một từ hoặc một cụm từ bắt đầu bằng các ký hiệu “#” đƣợc gọi là biểu tƣợng băm, nó là một hình thức thẻ siêu dữ liệu, các tweets có thể đƣợc gắn thẻ bằng một hay nhiều từ Ví dụ “#Wikipedia is an #encyclopedia”.
- Url (link) trên các tweets đều đƣợc rút gọn lại để tránh các kiểu lợi dụng đường link nhằm lừa đảo hay phát tán phần mềm độc hại và để giúp hiện thị tốt trên tweet (vì tweet chỉ có 140 ký tự) Công cụ của twitter rút gọn link nhƣng vẫn hiện thị tên miền đầy đủ để người dùng có thể biết họ bấm vào đường link nào.
Bài toán khai phá quan điểm trên dữ liệu mạng xã hội Twitter là bài toán khai phá quan điểm với miền dữ liệu trong phạm vi là mạng xã hội Twitter Mỗi tweet đƣợc phân loại vào ba loại tích cực, tiêu cực và trung lập. Đầu vào: Một câu trên mạng xã hội Twitter. Đầu ra: Đánh giá về quan điểm của câu đầu vào thành các loại tích cực và tiêu cực.
Mạng xã hội ngày càng phát triển một cách mạnh mẽ Trong đó, Twitter là một trong top 15 mạng xã hội phổ biến nhất Tuy nhiên, do Twitter hạn chế số lượng ký tự (tối đa là 140) và lượng người dùng ở Việt Nam cũng tương đối ít Do đó, luận văn chỉ xét với bài toán khai phá quan điểm trên miền dữ liệu Twitter là tiếng anh.
Mạng xã hội Twitter ngày càng lớn mạnh, cùng với đó, việc thể hiện quan điểm trên mạng xã hội này cũng càng phổ biến Việc khai phá quan điểm trên mạng xã hội này có nhiều ý nghĩa, giúp ta thấy quan điểm của một người về một vấn đề nào đó.
Khai phá quan điểm cho thấy quan điểm chung của một cộng đồng về một thực thể Nếu xét một vấn đề theo thời gian, ta còn có thể nhận thấy quá trình nhìn nhận, thay đổi quan điểm của cộng đồng về vấn đề đó Điều này rất quan trọng trong đánh giá và dự đoán xu hướng của mọi người trong một lĩnh vực nhất định. Đối với doanh nghiệp hay tổ chức, bài toán này mang ý nghĩa lớn trong việc định hướng sản phẩm, định hướng kinh doanh, đưa ra các chiến lược hoạt động Đối với cá nhân, chẳng hạn như với người nổi tiếng, hoặc có vai trò quan trọng trong xã hội, bài toán này nhƣ một dạng đánh giá danh tiếng Những ví dụ trên cho thấy bài toán khai phá quan điểm trên mạng xã hội Twitter có ý nghĩa vô cùng lớn.
1.3.4 Khó khăn và thách thức
Việc phân loại quan điểm với dữ liệu Twitter gặp khá nhiều khó khăn và thách thức.
Các tweet có đặc điểm riêng khác so với các dạng văn bản truyền thống hay dữ liệu trên các forum, mạng xã hội khác nhƣ Facebook Số ký tự tối đa nhỏ, từ viết tắt, từ lóng, từ sai chính tả, hơn nữa, chất lƣợng và độ tin cậy thấp Nhiều đặc điểm của dữ liệu Twitter làm giảm hiệu quả khai phá quan điểm dựa trên những kỹ thuật xử lý ngôn ngữ tự nhiên truyền thống.
Một số kỹ thuật trong khai phá quan điểm
1.4.1 Các phương pháp cây quyết định
Cây quyết định (Decision Tree) là cấu trúc cây có dạng biểu đồ luồng, mỗi nút trong là kiểm định trên một thuộc tính, mỗi nhánh đại diện cho một kết quả kiểm định, các nút lá đại diện cho các lớp Nút cao nhất trên cây là nút gốc. Để phân loại một mẫu chƣa biết, các giá trị thuộc tính của mẫu sẽ đƣợc kiểm định trên cây Đường đi từ gốc tới một nút lá cho biết dự đoán lớp đối với mẫu đó. Cây quyết định có thể dễ dàng chuyển đổi thành các luật phân loại.
Với kỹ thuật phân lớp dựa trên cây quyết định, kết quả của quá trình xây dựng mô hình sẽ cho ra một cây quyết định Cây này đƣợc sử dụng trong quá trình phân lớp các đối tƣợng dữ liệu chƣa biết hoặc đánh giá độ chính xác của mô hình. Tương ứng với hai giai đoạn trong quá trình phân lớp là quá trình xây dựng và sử dụng cây quyết định.
Quá trình xây dựng cây quyết định bắt đầu từ một nút đơn biểu diễn tất cả các mẫu dữ liệu Sau đó, các mẫu sẽ đƣợc phân chia một cách đệ quy dựa vào việc lựa chọn các thuộc tính Nếu các mẫu có cùng một lớp thì nút sẽ trở thành lá, ngƣợc lại sử dụng một độ đo thuộc tính để chọn ra thuộc tính tiếp theo làm cơ sở để phân chia các mẫu ra các lớp Theo từng giá trị của thuộc tính vừa chọn, tạo ra các nhánh tương ứng và phân chia các mẫu vào các nhánh đã tạo Lặp lại quá trình trên cho tới khi tạo ra đƣợc cây quyết định, tất cả các nút triển khai thành lá và đƣợc gán nhãn.
Quá trình đệ quy sẽ dừng lại khi một trong các điều kiện sau đƣợc thỏa mãn:
(1) Tất cả các mẫu thuộc cùng một nút; (2) Không còn một thuộc tính nào để lựa chọn; (3) Nhánh không chứa mẫu nào.
Phần lớn các giải thuật sinh cây quyết định đều có hạn chế chung là sử dụng nhiều bộ nhớ Lượng bộ nhớ sử dụng tỷ lệ thuận với kích thước của mẫu dữ liệu huấn luyện Một chương trình sinh cây quyết định có hỗ trợ sử dụng bộ nhớ ngoài song lại có nhƣợc điểm về tốc độ thực thi.
1.4.2 Phương pháp K-láng giềng gần nhất (K-Nearest Neighbor)
Thuật toán K-Nearest Neighbor (KNN hay K-láng giềng gần nhất) là một thuật toán học có giám sát điển hình KNN là phương pháp truyền thống khá nổi tiếng theo hướng tiếp cận thống kê Trong giai đoạn đầu của nghiên cứu phân loại văn bản, KNN được đánh giá là một trong những phương pháp tốt nhất. Ý tưởng của thuật toán này là khi cần phân loại 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, Cosin, Manhattan, ) 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 Ta 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ủ đề Khi đó, 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.
Trọng số của chủ đề đối với văn bản x đƣợc tính nhƣ sau:
Trong đó: thuộc {0,1}, với: y = 0: văn bản di không thuộc về chủ đề cj y = 1: văn bản di thuộc về chủ đề cj sim(x, d): độ giống nhau giữa văn bản cần phân loại x và văn bản d. bj là ngƣỡng phân loại của chủ đề cj đƣợc tự động học sử dụng một tập văn bản hợp lệ đƣợc chọn ra từ tập huấn luyện. Để chọn đƣợc tham số K tốt nhất cho phân loại, thuật toán cần đƣợc chạy thử nghiệm trên nhiều giá trị K khác nhau, giá trị K càng lớn thì thuật toán càng ổn định và sai sót càng thấp.
Kỹ thuật K-láng giềng gần nhất là một phương pháp tìm kiếm đơn giản Tuy nhiên, nó có một số mặt hạn chế là giới hạn phạm vi ứng dụng của nó Đó là thuật toán này có độ phức tạp tính toán là luỹ thừa bậc 2 theo số bản ghi (mẫu) của tập dữ liệu.
Vấn đề chính liên quan đến thuộc tính của bản ghi, một bản ghi gồm nhiều thuộc tính độc lập, nó bằng một điểm trong không gian tìm kiếm có số chiều lớn. Trong các không gian có số chiều lớn, giữa hai điểm bất kỳ hầu nhƣ có cùng khoảng cách Vì thế mà kỹ thuật K-láng giềng rất khó có thể cho thêm một thông tin có ích nào để dự đoán cho điểm hiện tại, vì khi tất cả các cặp điểm đều có thể coi các láng giềng của nó Phương pháp K-láng giềng cũng không đưa ra lý thuyết để hiểu cấu trúc dữ liệu như những quy luật mà con người có thể nhìn vào đó hiểu đƣợc.
Support vector machines (SVMs) là một tập hợp các 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 tiên đƣợc Vladimir Vapnik đề xuất vào năm 1995 và Corinna 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 mặt phẳng h quyết định tốt nhất có thể chia các điểm trên không gian này thành hai lớp riêng biệt tương ứng lớp + và lớp - Chất lượng của siêu mặt phẳng này được quyết định bởi khoảng cách (gọi là biên) 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 thuật toán SVM tìm ra đƣợc khoảng cách biên lớn nhất để tạo kết quả phân lớp tốt.
Hình 1.1 Mặt phẳng phân chia dữ liệu thành Mặt phẳng phân chia dữ liệu thành 2 lớp trong SVM với khoảng cách biên lớn nhất.
Hình trên biểu diễn mặt phẳng cần tìm Mặt phẳng này chia dữ liệu thành hai lớp âm và dương với khoảng cách biên lớn nhất Các điểm gần mặt phẳng nhất là các vector hỗ trợ (Support Vector).
Sử dụng Naive Bayes, Max Entropy và Support Vector Machines (SVM), kết quả là SVM phân lớp tốt hơn hẳn những loại khác [12].
1.4.4 Một số nghiên cứu liên quan Đã có rất nhiều công trình nghiên cứu của các tác giả [1, 4, 9, 10, 13] liên quan đến việc khai phá quan điểm từ nhiều nguồn dữ liệu với các phương pháp khác nhau.
Sự phát triển nhanh chóng của mạng xã hội Twitter, thu hồi quan điểm trên Twitter đã đƣợc nhiều sự quan tâm của các tác giả [1, 3, 13] Bên cạnh đó luận văn cũng tham khảo các phương pháp khai phá quan điểm của nhiều tác giả [2, 6, 8, 10] trên các dữ liệu khác để có thể học hỏi và nâng cao kết quả. Đặc trưng dựa trên từ và Ngram
Mỗi từ xuất hiện trong câu phục vụ nhƣ một đặc trƣng nhị phân với trọng số bằng đảo ngƣợc số từ trong tập dữ liệu twitter Davidov và cộng sự [4] đã từng sử dụng từ 2-5 từ liên tiếp để làm đặc trưng với trọng số tương tự, do đó trọng số của đặc trƣng Ngram luôn cao hơn trọng số các đặc trƣng thành phần của nó, các từ hiếm có trọng số cao hơn các tự thông thường Các từ hoặc Ngram xuất hiện chưa đầy 0.5% trong tập huấn luyện không phải là một đặc trƣng Các biểu tƣợng mặt cười ASCII và các dấu chấm khác có chứa hai hoặc nhiều hơn các biểu tượng dấu chấm câu liên tiếp đƣợc sử dụng nhƣ một đặc trƣng, từ đặc trƣng này gồm từ thay siêu từ trong link, nguồn(references) và hashtag. Đặc trưng mạng xã hội (twitter)
Trong một tweet người ta thường sử dụng “@” trước tên người dùng để trả lời người dùng khác Nội dung của tweet này có nhiều khả năng là “nội dung cá nhân” (personal content) Các nghiên cứu trước cho thấy “nội dung cá nhân” trên toàn bộ chứa quan điểm nhiều hơn “nội dung chính thức” (personal content) [12].
Vì thế dùng đặc trƣng “@username” là một đặc trƣng nhị phân (có hoặc không).
Chia sẻ link trong tweet là rất phổ biến trên twitter Hầu hết các tweet chứa link thường có mục đích giới thiệu đến các liên kết Ngoài ra, spam trong twitter thường chứa link Do đó sử dụng đặc trưng chứa link là một đặc trưng để xây dựng mô hình.
Kết luận chương 1
Trong chương 1 của luận văn, chúng tôi đã giới thiệu về xử lý ngôn ngữ tự nhiên, cũng nhƣ một lĩnh vực quan trọng trong xử lý ngôn ngữ tự nhiên là bài toán khai phá quan điểm Chương này cũng trình bày tổng quan về mạng xã hội Twitter và bài toán khai phá quan điểm trên mạng xã hội này, tầm quan trọng, ý nghĩa, khó khăn, thách thức của bài toán.
Ngoài ra, nội dung chương còn đề cập đến một số kỹ thuật trong lĩnh vực khai phá dữ liệu như phương pháp cây quyết định, phương pháp K-láng giềng gần nhất, thuật toán SVM và các đặc trƣng dữ liệu đƣợc sử dụng Qua đó, đánh giá về ưu điểm, nhược điểm của mỗi phương pháp Ví dụ như phương pháp K láng giềng gần nhất thì đây là phương pháp đơn giản nhưng lại hạn chế là giới hạn phạm vi ứng dụng của nó và nó không rút ra đƣợc những quy luật mà khi nhìn vào đó chúng ta có thể hiểu được Phương pháp cây quyết định có điểm hạn chế là khi sinh cây quyết định nó sẽ tốn nhiều bộ nhớ Trong trường hợp có hỗ trợ sử dụng bộ nhớ ngoài thì nó lại có nhƣợc điểm về tốc độ thực thi Thuật toán SVM đƣợc đánh giá tốt hơn so với các phương pháp khác trong việc phân lớp dữ liệu Việc trích xuất đƣợc các đặc trƣng giá trị, cũng nhƣ việc biểu diễn các đặc trƣng này cũng đóng vai trò quan trọng trong giải quyết bài toán Chính vì vậy, trong bản luận văn này sẽ sử dụng thuật toán SVM kết hợp với các biểu diễn đặc trƣng nhƣ N-gram, Log- count ratio và CBS Nội dung của chương sau sẽ đi vào tìm hiểu kỹ hơn về kỹ thuật đƣợc lựa chọn.
PHƯƠNG PHÁP PHÂN LOẠI QUAN ĐIỂM TRÊN TWITTER SỬ DỤNG HỌC MÁY
Phương pháp phân loại quan điểm
Các bài toán phân lớp quan điểm đều thực hiện theo hai giai đoạn cơ bản là giai đoạn huấn luyện và giai đoạn phân lớp.
Pha huấn luyện sẽ sử dụng một tập dữ liệu ban đầu đã đƣợc xác định nhãn trước Sau đó tập dữ liệu này sẽ được biểu diễn dưới dạng các văn bản cần phân lớp là (c, ⃑) trong đó c là nhãn của văn bản, ⃑ là vector biểu diễn cho văn bản Sau đó, dữ liệu sẽ đƣợc biến đổi thành một mô hình dữ liệu phân lớp thông qua các thuật toán học máy. Đầu vào: dữ liệu để học đã đƣợc gán nhãn quan điểm phân cực Đầu ra: bộ phân lớp quan điểm phân cực tích cực, tiêu cực.
Các bước thực hiện của giai đoạn huấn luyện được biểu diễn như sau:
Hình 2.1 Sơ đồ giai đoạn huấn luyện
Pha phân lớp là giai đoạn sử dụng mô hình phân lớp để phân lớp cho các văn bản mới chưa có nhãn Trong luận văn này bước phân lớp được thực hiện trên một tập thử nghiệm có gán nhãn và so sánh kết quả gán nhãn với nhãn gốc để xác định độ chính xác.
Nhiệm vụ của bước này là sử dụng bộ phân lớp quan để đánh giá quan điểm của dữ liệu mới. Đầu vào: một câu tweet mới Đầu ra: quan điểm của tweet đó.
Các bước thực hiện giống với pha huấn luyện ở bốn bước đầu chỉ khác ở 2 bước cuối cùng:
• Phân loại bằng mô hình phân loại
• Dữ liệu đã gán nhãn
Hình 2.2 Sơ đồ giai đoạn phân lớp
Dữ liệu mới cần phân lớp sẽ qua quá trình tiền xử lý, trích chọn đặc trƣng, được biểu diễn dưới dạng vector đặc trưng, cuối cùng sẽ đi qua bộ phân loại sử dụng mô hình phân lớp ở trên Đầu ra của giai đoạn này chính là dữ liệu mới đã đƣợc gán nhãn phân lớp.
Trong giai đoạn huấn luyện, việc thu thập dữ liệu đóng vai trò quan trọng Bộ dữ liệu ban đầu phải có một số yêu cầu nhƣ: đƣợc gán nhãn sẵn và có số lƣợng đủ lớn Dữ liệu này phải đƣợc gán nhãn một cách chính xác, loại bỏ đi những dữ liệu giống hoặc tương tự nhau Số lượng dữ liệu cũng phải đủ lớn để tăng tính chính xác của mô hình sau huấn luyện Việc thu thập dữ liệu có thể từ nhiều nguồn khác nhau nhƣ crawler, nguồn cung cấp sẵn, v.v
Dữ liệu thô/gốc ban đầu thường có các đặc điểm:
- Có cấu trúc, bán cấu trúc hoặc phi cấu trúc.
- Đƣợc đƣa vào từ các nguồn dữ liệu trong các hệ thống xử lý tập tin hoặc các hệ thống cơ sở dữ liệu.
Trong giai đoạn phân loại, dữ liệu đầu vào là dữ liệu chƣa đƣợc gán nhãn. Đối với thực nghiệm trong luận văn, chúng tôi sử dụng bộ dữ liệu đƣợc cung cấp tại http://sentiment140.com/for-students Sentiment140 đƣợc tạo bởi Alec Go, Richa Bhayani, và Lei Huang, là những sinh viên đã tốt nghiệp ngành khoa học máy tính tạo trường đại học Stanford Đây là bộ dữ liệu được cung cấp cho mục đích nghiên cứu về phân loại quan điểm trên mạng xã hội Twitter Bộ dữ liệu gồm 1.600.00 câu đã đƣợc gán nhãn sẵn vào 2 lớp tích cực và tiêu cực Nguồn dữ liệu gốc đƣợc lấy thông qua Twitter API, nên tuân theo một cấu trúc chung và định dạng trong tập tin CSV.
2.1.2 Tiền xử lý dữ liệu
Trong qui trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưa vào các mô hình là rất cần thiết, bước này làm cho dữ liệu có được ban đầu qua thu thập dữ liệu có thể áp dụng đƣợc với các mô hình khai phá dữ liệu cụ thể Quá trình này xử lý dữ liệu thô/gốc nhằm cải thiện chất lƣợng dữ liệu và do đó, cải thiện chất lƣợng của kết quả phân loại Không có dữ liệu tốt thì không thể có kết quả khai phá tốt Phần lớn công việc xây dựng một kho dữ liệu là trích chọn, làm sạch và chuyển đổi dữ liệu.
Dữ liệu thô ban đầu chứa nhiều thông tin không liên quan đến quá trình cũng như kết quả đầu ra của hệ thống như: ID của tweet, Thời gian, Query, Người dùng v.v Trong bước này loại bỏ những thông tin dư thừa không cần thiết, chỉ giữ lại các thông tin có ích Phần còn lại là phần văn bản và phần mang quan điểm tương ứng của phần văn bản đó.
Vì dữ liệu tweet là tự do, nhiễu và sai chính tả do đó việc chuẩn hóa và tiền xử lí là quan trọng.
Trong một số tweet thường chứa các biểu tượng cảm xúc Biểu tượng cảm xúc cũng thể hiện quan điểm tích cực hay tiêu cực Do đó, trong luận văn chúng tôi không loại bỏ các biểu tƣợng cảm xúc Thay vào đó, chúng tôi sử dụng bộ từ điển biểu tƣợng cảm xúc [1] để phát hiện và đƣợc thay thế bằng các thẻ ||P|| nếu biểu tƣợng cảm xúc là tích cực, ||EP|| nếu biểu tƣợng là tích cực mạnh, ||N|| nếu biểu tƣợng cảm xúc là tiêu cực, ||NU|| nếu biểu tƣợng cảm xúc là trung lập.
Bảng 2.1 Ví dụ về biểu tƣợng cảm xúc trong từ điển
Biểu tƣợng cảm xúc Tính quan điểm
Trong một tweet người ta thường sử dụng “@” trước tên người dùng để trả lời người dùng khác Nội dung của tweet này có nhiều khả năng là “nội dung cá nhân” (personal content) Các nghiên cứu trước cho thấy “nội dung cá nhân” trên toàn bộ chứa quan điểm nhiều hơn “nội dung chính thức” (personal content) [2] Vì thế dùng đặc trƣng “@username” là một đặc trƣng nhị phân (có hoặc không).
Chia sẻ link trong tweet là rất phổ biến trên twitter Hầu hết các tweet chứa link thường có mục đích giới thiệu đến các liên kết (ví dụ tweet của quý vị được đăng bởi BBC News) Ngoài ra, spam trong twitter thường chứa link Do đó sử dụng đặc trƣng chứa link là một đặc trƣng để xây dựng mô hình.
Hashtag là người dùng đánh dấu các chủ đề và bắt đầu bằng ký tự “#” Sử dụng đặc trƣng chứa hashtag là một đặc trƣng để xây dựng mô hình.
Từ những nhận xét trên, áp dụng vào quá trình tiền xử lý trong luận văn, chúng tôi sử dụng những đặc trưng về tên người dùng, hashtag, link Từ đó, thay thế những tag tên người dùng “@” thành ||T||, những hashtag thành ||H||, link thành ||U||.
Trong dữ liệu tweet thu đƣợc chứa nhiều những từ phổ biến, chung chung, không mang ý nghĩa về quan điểm của câu nhƣ “the”, “and”, “too” v.v Những từ thế này đƣợc gọi là “stop word” Ví dụ câu sau đây:
“The way to the school is long and hard when walking in the rain.”
Từ “the” xuất hiện 3 lần nhƣng không có liên quan gì đến quan điểm của câu Các “stop word” này không có ảnh hưởng đến quan điểm của tài liệu Không những thế, chúng còn làm tăng không gian lưu trữ và giảm tốc độ xử lý Do đó, việc loại bỏ các “stop word” là một phần trong quá trình tiền xử lý.
Các phương pháp trích chọn đặc trưng
Kỹ thuật N-gram chiếm ƣu thế trong xử lý ngôn ngữ tự nhiên hiện đại cũng nhƣ các ứng dụng của xử lý ngôn ngữ tự nhiên N-gram truyền thống là một chuỗi các thành phần xuất hiện trong văn bản Những yếu tố này có thể là từ, ký tự, v.v trong văn bản Quy ước ký tự “N” trong N-gram tương ứng với số phần tử trong một chuỗi Trong phạm vi luận văn này, chúng tôi sử dụng N-gram xét với mức thành phần cơ bản là từ.
Cho ví dụ, đối với câu “The cow jumps over the moon”, nếu với N=2 (còn đƣợc gọi là Bigram) thì các Bigram sẽ là:
Chúng ta thu được 5 N-gram trong trường hợp này Tương tự, nếu N=3, chúng ta thu sẽ có 4 Trigram với câu trên nhƣ sau:
Khi N=1, đƣợc gọi là unigram, điều này về cơ bản là từng từ trong một câu. Khi N = 2, đƣợc gọi là bigram.
Khi N = 3, đƣợc gọi là trigram.
Khi N > 3, thường được gọi tương ứng với giá trị của N, chẳng hạn 4-gram, 5-gram, v.v
Số N-gram trong một câu đƣợc tính theo công thức nhƣ sau: Nếu X là số từ trong câu K, thì số n-gram trong câu K sẽ là:
Trong lĩnh vực phân loại văn bản, việc sử dụng kỹ thuật học máy là khá phổ biến Một yêu cầu cho việc sử dụng của hầu hết các thuật toán học máy là các dữ liệu học có thể được biểu diễn như một tập các vector Một hướng tiếp cận cho việc biểu diễn văn bản như các vector đặc trưng là hướng tiếp cận dựa trên tập hợp từ Một tài liệu đƣợc biểu diễn bởi một vector đặc trƣng mà chứa thuộc tính boolean cho mỗi từ xuất hiện trong tập các tài liệu học Nếu một từ xuất hiện trong một tài liệu học thì đƣợc thiết lập giá trị là 1, nếu không nó đƣợc thiết lập giá trị là
0 Nhƣ vậy, mỗi tài liệu đƣợc biểu diễn bởi một tập hợp các từ chứa trong nó. Trong luận văn, chúng tôi cũng sử dụng hướng tiếp cận này, kết hợp sử dụng N- gram nhƣ một đặc trƣng để xây dựng vector đặc trƣng.
2.2.2 Độ tương đồng dựa trên tâm (CBS) a) Ý tưởng cơ bản Đặt sự quan tâm của người dùng đến chủ đề là P (tích cực) và thiết lập tất cả các chủ đề không liên quan khác trên một nguồn truyền thông xã hội là T (là hình thức của dữ liệu tiêu cực):
Trong đó, n thường là lớn.
Tuy nhiên, do năng lực gán nhãn thủ công là có giới hạn, ta chỉ có thể gán nhãn một số lƣợng nhất định dữ liệu Từ đó, các dữ liệu tiêu cực đƣợc gán nhãn chỉ bao gồm một số lƣợng nhỏ các chủ đề không liên quan S của T ( ) nhƣ là tiêu cực. Hơn nữa, do tính chất thay đổi thường xuyên của truyền thông xã hội nên việc gán nhãn tất cả các chủ đề tiêu cực là không thể Trong thử nghiệm, khi bài viết của chủ đề tiêu cực khác trong T-S, phân loại của chúng không thể dự đoán được trước Ví dụ, trong một ứng dụng, dữ liệu huấn luyện có thể không có ví dụ tiêu cực về thể thao Tuy nhiên, trong thử nghiệm, một số bài viết về thể thao có thể xuất hiện Các bài viết này có thể đƣợc phân loại một cách tùy tiện, kết quả độ chính xác phân loại thấp Phương pháp Độ tương đồng dựa trên tâm – CBS nhằm mục đích giải quyết vấn đề này.
Trong học máy, vấn đề này đƣợc gọi là “covariate shift”, một loại của “lựa chọn mẫu thiên lệch” Trong học máy cố điển, giả định rằng các dữ liệu huấn luyện và thử nghiệm đƣợc rút ra từ cùng một phân phối Tuy nhiên, giả thiết này không đúng trong thực tế, tức là phân phối trên tập huấn luyện và tập thử nghiệm là khác nhau Nói chung, vấn đề lựa chọn mẫu thiên lệch là không thể giải quyết đƣợc vì mỗi cặp hai phân phối có thể xa nhau ngẫu nhiên Các giả định khách nhau đƣợc thực hiện để giải quyết các trường hợp đặc biệt của vấn đề Một giả định chính là phân phối có điều kiện của lớp cho một trường dữ liệu như nhau trong các bộ huấn luyện và bộ kiểm thử Giả định vấn đề “covariate shift” xảy ra chủ yếu trong dữ liệu tiêu cực, và không có sự thay đổi hoặc thay đổi một cách tối thiểu trong dữ liệu tích cực Giả định này hợp lý vì người dùng biết loại của bài viết, tài liệu mà người đó đang tìm kiếm và có thể đƣợc gắn nhãn nhiều cho chúng.
Coi tập huấn luyện là trong đó: là vector dữ liệu hoặc vector đặc trƣng. là nhãn lớp của
Và tập kiểm thử là chƣa có nhãn.
Chúng ta phân lớp theo phân lớp nhị phân, do đó sẽ nhận giá trị là 1 nếu là lớp tích cực, nhận giá trị -1 nếu là lớp tiêu cực Dữ liệu huấn luyện đã đƣợc gán nhãn và dữ liệu kiểm thử có cùng một phân phối có điều kiện mục tiêu p(y|x) và phân phối biên của số liệu tích cực Nhƣng phân phối biên của dữ liệu tiêu cực trong tập huấn luyện và tập kiểm thử là khác nhau.
Trong đó: L, T và – lần lƣợt là dữ liệu huấn luyện đƣợc gán nhãn, dữ liệu kiểm thử và lớp tiêu cực tương ứng.
Trong phương pháp đề xuất, thay vì thực hiện học có giám sát trong không gian tài liệu ban đầu dựa trên n-gram, chúng ta biểu diễn tập huấn luyện trong một không gian tương tự Như vậy, đặc điểm mới quan trọng của phương pháp này là sự chuyển đổi từ không gian tài liệu gốc (DS) đến một không gian tƣợng tự dựa trên tâm (CBS) Trong không gian mới, vấn đề “covariate shift” đƣợc giảm thiểu đáng kể, cho phép phân loại chính xác hơn Lý do cho điều này là trong huấn luyện CBS dựa trên các vector trong không gian tương tự cho phép SVM tìm ranh giới tốt của tập dữ liệu tích cực dựa trên sự giống nhau và tách nó từ tất cả các tầng lớp tiêu cực có thể, bao gồm cả những dữ liệu tiêu cực mà không đƣợc đại diện trong tập huấn luyện Trong phần sau sẽ trình bày chi tiết thuật toán đề xuất, đƣợc gọi là CBS-L (CBS Learning)
Trong đề xuất phương pháp CBS-L, mỗi tài liệu d vẫn được biểu diễn như một vector đặc trƣng nhƣng các vector này không còn biểu diễn dựa trên N-gram. Thay vào đó, nó đại diện cho một tập hợp các giá trị giống nhau giữa tài liệu d và các trung tâm của các tài liệu tích cực Cụ thể, việc học bao gồm các bước sau đây:
1 Mỗi tài liệu d (trong lớp tích cực hay tiêu cực) đầu tiên đƣợc biểu diễn với một tập hợp các tài liệu đại diện Ví dụ, không gian vector tài liệu (ds-vector) dựa trên chính nó trong phân loại văn bản truyền thống Mỗi vector biểu thị một biểu diễn của tài liệu Biểu diễn này có thể chỉ dựa trên unigram hoặc chỉ dựa trên bigram Để đơn giản, chúng ta chỉ sử dụng một biểu diễn cho một vector x (ví dụ, unigram) ở đây để biểu diễn cho d Mỗi đặc trƣng trong một ds-vector gọi là ds-feature.
2 Một vector c đƣợc tính toán cho mỗi biểu diễn tài liệu với lớp tích cực bằng cách sử dụng ds-vector của tất cả tài liệu tích cực và tiêu cực c do đó cũng là một ds-vector.
3 Mỗi tài liệu d trong lớp tích cực và tiêu cực sau đó đƣợc chuyển sang không gian vector tương đồng dựa trên tâm S d (đƣợc gọi là cbs-vector) S d bao gồm một tập các giá trị tương tự nhau giữa các ds-vector {x} và các tập tương ứng vector trung tâm lớp tích cực, tức là {c}.
Trong đó, Sim là hàm tương tự bao gồm một tập các độ đo tương tự Mỗi đặc trƣng trong S d vẫn có có nhãn của lớp gốc nhƣ d Giả sử vector trung tâm cho lớp tích cực đã đƣợc tính toán dự trên biểu diễn unigram nhƣ sau:
Cặp y:z biểu diễn một đặc trƣng ds-feature và giá trị của nó Chúng ta sẽ chuyển những tài liệu tích cực d1 và tài liệu tiêu cực d2 từ ds-vector sang cbs-vector.
Nếu chúng ta sử dụng cosin là độ đo tương tự trong Sim thì chúng ta sẽ sinh ra đặc trƣng cbs-feature 1:0.5 cho d 1 (cosin(c, d1) = 0.5) và 1:0.27 cho d 2 (cosin(c, d2) = 0.27)
Kết quả là cbs-vector cho d 1 và d 2 với nhãn 1 và -1 là:
4 Bây giờ chúng ta có một phân lớp nhị phân trong không gian CBS Bước này chỉ đơn giản là chạy một giải thuật phân lớp, ví dụ SVM để tạo bộ phân lớp. b) Phương pháp học CBS
SVM – Support Vevtor Machine
SVM sử dụng thuật toán học nhằm xây dựng một siêu phẳng làm cực tiểu hoá độ phân lớp sai của một đối tƣợng dữ liệu mới Độ phân lớp sai của một siêu phẳng đƣợc đặc trƣng bởi khoảng cách bé nhất tới siêu phẳng đấy SVM có khả năng rất lớn cho các ứng dụng đƣợc thành công trong bài toán phân lớp văn bản.
Phân lớp văn bản là một cách tiếp cận mới để tạo ra tập phân lớp văn bản từ các mẫu cho trước Cách tiếp cận này phối hợp với sự thực thi ở mức độ cao và hiệu suất cùng với những am hiểu về mặt lý thuyết, tính chất thô ngày càng đƣợc hoàn thiện Thông thường, hiệu quả ở mức độ cao không có các thành phần suy nghiệm Phương pháp SVM có khả năng tính toán sẵn sàng và phân lớp, nó trở thành lý thuyết học mà có thể chỉ dẫn những ứng dụng thực tế trên toàn cầu. Đặc trƣng cơ bản quyết định khả năng phân lớp là khả năng phân lớp những dữ liệu mới dựa vào những tri thức đã tích luỹ đƣợc trong quá trình huấn luyện Sau quá trình huấn luyện nếu hiệu suất tổng quát hoá của bộ phân lớp cao thì thuật toán huấn luyện đƣợc đánh giá là tốt Hiệu suất tổng quát hoá phụ thuộc vào hai tham số là sai số huấn luyện hay và năng lực của máy học Trong đó sai số huấn luyện là tỷ lệ lỗi phân lớp trên tập dữ liệu huấn luyện Còn năng lực của máy học đƣợc xác định bằng kích thước Vapnik-Chervonenkis (kích thước VC) Kích thước VC là một khái niệm quan trọng đối với một họ hàm phân tách (hay là tập phân lớp) Đại lƣợng này đƣợc xác định bằng số điểm cực đại mà họ hàm có thể phân tách hoàn toàn trong không gian đối tƣợng Một tập phân lớp tốt là tập phân lớp có năng lực thấp nhất (có nghĩa là đơn giản nhất) và đảm bảo sai số huấn luyện nhỏ Phương pháp SVM được xây dựng trên ý tưởng này.
Xét bài toán phân loại đơn giản nhất – phân loại hai phân lớp với tập dữ liệu mẫu: |
Trong đó mẫu là các vector đối tượng được phân loại thành các mẫu dương và mẫu âm:
- Các mẫu dương là các mẫuthuộc lĩnh vực quan tâm và được gán nhãn
- Các mẫu âm là các mẫuthuộc lĩnh vực quan tâm và đƣợc gán nhãn
Hình 2.3 Mặt phẳng phân chia tập dữ liệu thành hai lớp dương và âm
Thực chất phương pháp này là một bài toán tối ưu, mục tiêu là tìm ra một không gian H và siêu mặt phẳng quyết định h trên H sao cho sai số phân lớp là thấp nhất.
Trong trường hợp này, tập phân lớp SVM là mặt siêu phẳng phân tách các mẫu dương khỏi các mẫu âm với độ chênh lệch cực đại, trong đó độ chênh lệch – còn gọi là Lề (margin) xác định bằng khoảng cách giữa các mẫu dương và các mẫu âm gần mặt siêu phẳng nhất Mặt siêu phẳng này đƣợc gọi là mặt siêu phẳng lề tối ƣu.
Các mặt siêu phẳng trong không gian đối tượng có phương trình là:
Tương đương công thức i = 1, …, n Với là bộ hệ số siêu phẳng hay là vector trọng số, C là độ dịch, khi thay đổi w và C thì hướng và khoảng cách từ gốc toạ độ đến mặt siêu phẳng thay đổi.
Tập phân lớp SVM đƣợc định nghĩa nhƣ sau:
Nếu f(x) = +1 thì x thuộc về lớp dương (lĩnh vực được quan tâm), và ngược lại, nếu f(x) = -1 thì x thuộc về lớp âm (các lĩnh vực khác).
Máy học SVM là một học các siêu phẳng phụ thuộc vào tham số vector trọng số w và độ dịch C Mục tiêu của phương pháp SVM là ước lượng w và C để cực đại hoá lề giữa các lớp dữ liệu dương và âm Các giá trị khác nhau của lề cho ta các họ siêu mặt phẳng khác nhau, và lề càng lớn thì năng lực của máy học càng giảm. Nhƣ vậy, cực đại hoá lề thực chất là việc tìm một máy học có năng lực nhỏ nhất. Quá trình phân lớp là tối ƣu khi sai số phân lớp là cực tiểu.
Ta phải giải phương trình sau: tìm ra đƣợc vector trọng số w và sai số của mỗi điểm trong tập huấn luyện là ẵi từ đú ta cú phương trỡnh tổng quỏt của siờu phẳng tỡm ra được bởi thuật toỏn SVM là:
Với i = 1,…, n Trong đó n là số dữ liệu huấn luyện.
Sau khi đã tìm được phương trình của siêu phẳng bằng thuật toán SVM, áp dụng công thức này để tìm ra nhãn lớp cho các dữ liệu mới.
Huấn luyện SVM là việc giải bài toán quy hoạch toàn phương SVM Các phương pháp số giải bài toán quy hoạch này yêu cầu phải lưu trữ một ma trận có kích thước bằng bình phương của số lượng mẫu huấn luyện Trong những bài toán thực tế, điều này là không khả thi vì thông thường kích thước của tập dữ liệu huấn luyện thường rất lớn (có thể lên tới hàng chục nghìn mẫu) Nhiều thuật toán khác nhau đƣợc phát triển để giải quyết vấn đề nêu trên Những thuật toán này dựa trên việc phân rã tập dữ liệu huấn luyện thành những nhóm dữ liệu Điều đó có nghĩa là bài toán quy hoạch toàn phương với kích thước nhỏ hơn Sau đó, những thuật toán này kiểm tra các điều kiện KKT (Karush-KuhnTucker) để xác định phương án tối ƣu.
Một số thuật toán huấn luyện dựa vào tính chất: Nếu trong tập dữ liệu huấn luyện của bài toán quy hoạch toàn phương con cần giải ở mỗi bước có ít nhất một mẫu vi phạm các điều kiện KKT, thì sau khi giải bài toán náy, hàm mục tiêu sẽ tăng.Như vậy, một chuỗi các bài toán quy hoạch toàn phương con với ít nhất một mẫu vi phạm các điều kiện KKT được đảm bảo hội tụ đến một phương án tối ưu.
Do đó, ta có thể duy trì một tập dữ liệu làm việc đủ lớn có kích thước cố định và tại mỗi bước huấn luyện, ta loại bỏ và thêm vào cùng một số lượng mẫu.
2.3.4 Các ưu điểm của SVM trong phân lớp
Phân lớp là một quá trình đƣa các tài liệu chƣa biết chủ đề vào các lớp chủ đề đã biết (tương ứng với các chủ đề hay lĩnh vực khác nhau) Mỗi lĩnh vực được xác định bởi một số tài liệu mẫu của lĩnh vực đó Để thực hiện quá trình phân lớp, các phương pháp huấn luyện được sử dụng để xây dựng tập phân lớp từ các tài liệu mẫu, sau đó dùng tập phân lớp này để dự đoán lớp của những tài liệu mới (chƣa biết chủ đề).
Từ các thuật toán phân lớp hai lớp nhƣ SVM đến các thuật toán phân lớp đa lớp đều có đặc điểm chung là yêu cầu văn bản phải được biểu diễn dưới dạng vector đặc trƣng, tuy nhiên các thuật toán khác đều phải sử dụng các ƣớc lƣợng tham số và ngƣỡng tối ƣu trong khi đó thuật toán SVM có thể tự tìm ra các tham số tối ƣu này. Trong các phương pháp thì SVM là phương pháp sử dụng không gian vector đặc trưng lớn nhất (hơn 10.000 chiều) trong khi đó các phương pháp khác có số chiều bé hơn nhiều (nhƣ Nạve Bayes là 2000, k-Nearest Neighbors là 2415 v.v ).
Trong công trình của mình năm 1999 [10], Joachims đã so sánh SVM với Nạve Bayesian, k-Nearest Neighbour, Rocchio, và C4.5 và đến năm 2003 [11], Joachims đã chứng minh rằng SVM làm việc rất tốt cùng với các đặc tính đƣợc đề cập trước đây của văn bản Các kết quả cho thấy rằng SVM đưa ra độ chính xác phân lớp tốt nhất khi so sánh với các phương pháp khác.
Trong các công trình nghiên cứu của nhiều tác giả [12] (chẳng hạn nhƣKiritchenko và Matwin vào năm 2001, Hwanjo Yu và Han vào năm 2003, Lewis vào năm 2004) đã chỉ ra rằng thuật toán SVM đem lại kết quả tốt nhất phân lớp văn bản.
Kiritchenko và Matwin đã nghiên cứu và so sánh phương pháp SVM với kỹ thuật Nạve Bayesian, sau đĩ đã chứng minh được rằng SVM là phương pháp tốt nhất cho phân lớp thƣ điện tử cũng nhƣ phân lớp văn bản.
Kết luận chương 2
Chương 2 đã giới thiệu về các hướng tiếp cận, các công trình nghiên cứu, kỹ thuật liên quan để phục vụ giải quyết bài toán Chương này đi sâu về áp dụng phương pháp học máy SVM và phương pháp biểu diễn đặc trưng với N-gram, Log- count ratio và Độ tương đồng dựa trên tâm (CBS) trong bài toán khai phá quan điểm miền dữ liệu Twitter.
Chương tiếp theo sẽ trình bày về hệ thống khai phá quan điểm dữ liệu trên mạng xã hội Twitter, mô hình giải quyết bài toán, tập dữ liệu sử dụng, cách thức tiến hành thực nghiệm, kết quả thực nghiệm.
THỰC NGHIỆM HỆ THỐNG KHAI PHÁ QUAN ĐIỂM CHO DỮ LIỆU TWITTER
Dữ liệu thực nghiệm
Luận văn sử dụng tập dữ liệu đã đƣợc cung cấp sẵn tại địa chỉ website http:// sentiment140.com/for-students.
Cấu trúc dữ liệu đƣợc cung cấp nhƣ sau:
Tập dữ liệu gốc là một tập tin có định dạng CSV Mỗi dòng là một bản ghi với 6 trường:
0 – Tính phân cực của tweet (0 = tiêu cực, 2 = trung lập, 4 = tích cực)
3 – Truy vấn dữ liệu Nếu không có truy vấn thì giá trị là NO_QUERY
5 – Phần văn bản của tweet
Ví dụ một bản ghi dữ liệu
Tập dữ liệu gốc chứa 1.600.000 câu, tuy nhiên trong phạm vi luận văn và do tài nguyên xử lý có hạn, chúng tôi sử dụng 20.000 câu đề phù hợp với cấu hình bộ xử lý và giữ nguyên tỷ lệ giữa các câu tích cực và câu tiêu cực Cụ thể, chúng tôi sử dụng 10.000 câu tích cực và 10.000 câu tiêu cực lựa chọn ngẫu nhiên trong tập gốc.
Bảng 3.1 Bảng số liệu đối với bộ dữ liệu sử dụng
Số lƣợng Tweet tiêu cực 10.000 câu
Số lƣợng Tweet tích cực 10.000 câu
Số lƣợng từ chƣa tiền xử lý 297.935 từ
Số từ trung bình / câu chƣa tiền xử lý 14,89675 từ
Thiết lập thực nghiệm
3.2.1 Hướng tiếp cận thực nghiệm
Sau quá trình nghiên cứu và tìm hiểu các phương pháp, luận văn đã đề xuất mô hình giải quyết bài toán như đã trình bày ở phần trước Để kiểm tra và đánh giá đƣợc hiệu quả của mô hình đã đề xuất, chúng tôi đã tiến hành làm thực nghiệm.
Mục tiêu của thực nghiệm là kiểm tra tính khả thi của mô hình, vì mô hình mới dừng lại ở mức đề xuất dựa trên các phân tích và nghiên cứu liên quan, chƣa có kết quả thực tế.
Thực nghiệm sẽ đƣợc tiến hành theo từng pha của mô hình, dựa vào kết quả thực nghiệm mà rút ra nhận xét, đánh giá để cải thiện mô hình, nâng cao kết quả cuối cùng.
Cuối cùng, sau khi có kết quả thực nghiệm, cải tiến hệ thống, luận văn sẽ áp dụng vào trong thực tế, trong một số yêu cầu và lĩnh vực nhất định để đem lại hiệu quả trong cuộc sống.
3.2.2 Phương pháp sử dụng các đặc trưng trong thực nghiệm
Luận văn sử dụng nhiều đặc trƣng khác nhau trong quá trình thực nghiệm. Danh sách đặc trưng được liệt kê như dưới đây:
Bảng 3.2 Bảng các đặc trƣng sử dụng Đặc trƣng Mô tả
Unigram Đặc trƣng từng từ riêng lẻ trong câu
Bigram Đặc trƣng chuỗi chuỗi 2 từ liên tiếp trong câu Trigram Đặc trƣng chuỗi gồm 3 từ liên tiếp trong câu Đặc trƣng tweet Bao gồm các đặc trƣng Tag, Hashtag, Link
Biểu tƣợng cảm xúc Các đặc trƣng biểu tƣợng cảm xúc: tích cực, tiêu cực, trung lập, tích cực mạnh, tiêu cực mạnh
Từ phủ định Đặc trƣng chứa các từ phủ định nhƣ “no”,
“not” Độ tương đồng dựa trên tâm (CBS) Đặc trưng độ tương đồng dựa trên tâm Đặc trƣng Log-count ratio Đặc trƣng theo Log-count ratio
Trong đó, các đặc trƣng đƣợc đề cập chính là Unigram, Bigram, Trigram, Độ tương đồng dựa trên tâm (CBS), Đặc trưng Log-count-ratio Các đặc trưng còn lại sẽ luôn đƣợc sử dụng.
Chúng tôi sẽ tiến hành thử nghiệm với từng đặc trƣng chính, bắt đầu từ Unigram, sau đó nâng dần số đặc trƣng bằng cách kết hợp các đặc trƣng lại với nhau Việc này nhằm lựa chọn ra sự kết hợp đặc trƣng đƣợc sử dụng mang lại kết quả phân lớp chính xác nhất cho hệ thống.
Dưới đây là bảng danh sách cách sử dụng đặc trưng trong thực nghiệm:
Bảng 3.3 Bảng danh sách kết hợp đặc trƣng Đặc trƣng sử dụng
Unigram + Bigram + Log-count ratio
Unigram + Bigram + Trigram + Log-count ratio
Unigram + Bigram + Trigram + CBS + Log-count ratio
3.2.3 Phương pháp đánh giá tập dữ liệu Đánh giá độ chính xác của bộ phân lớp rất quan trọng, bởi vì nó cho phép dự đoán được độ chính xác của các kết quả phân lớp những dữ liệu tương lai Độ chính xác còn giúp so sánh các mô hình phân lớp khác nhau Một số phương pháp đánh giá phổ biến nhƣ Holdout, K-fold cross validation và Leave-one-out cross validation hoặc sử dụng kết hợp độ chính xác Precision, độ bao phủ Recall và độ điều hòa F. a) Phương pháp K-fold Cross Validation
Do tập dữ liệu sử dụng bao gồm 20.000 câu, chúng tôi sử dụng phương phápK-fold cross validation cho việc đánh giá tập dữ liệu để tránh việc trùng lặp giữa các tập kiểm thử (một số ví dụ cùng xuất hiện trong các tập kiểm thử khác nhau).
Hình 3.2 Minh họa K-fold cross validation
K-fold cross validation có các đặc điểm sau:
- Tập toàn bộ các ví dụ D đƣợc chia ngẫu nhiên thành k tập con không giao nhau (gọi là “fold”) có kích thước xấp xỉ nhau.
- Mỗi lần (trong số k lần) lặp, một tập con đƣợc sử dụng làm tập kiểm thử, và (k-1) tập con còn lại đƣợc dùng làm tập huấn luyện.
- k giá trị lỗi (mỗi giá trị tương ứng với một fold) được tính trung bình cộng để thu đƣợc giá trị lỗi tổng thể. Độ chính xác của dự báo là giá trị trung bình của k lần dự đoán tương ứng với k lần lặp Các lựa chọn thông thường của k: 5. Ở trong luận văn, chúng tôi đã thử k với nhiều trường hợp khác nhau và cuối cùng đã sử dụng 5-fold để đánh giá độ chính xác phân lớp của bài toán Áp dụng trong luận văn, chúng tôi chia bộ dữ liệu 20.000 câu thành 5 phần không trùng nhau và giữ nguyên tỷ lệ số câu tích cực với số câu tiêu cực nhƣ bộ dữ liệu gốc. b) Độ chính xác Precision, độ bao phủ Recall và độ điều hòa F Để đánh giá chính xác hơn chất lƣợng của mô hình ta sử dụng thêm 2 độ đo là Precision và Recall Precision cho biết bộ phân loại đoán chính xác bao nhiêu phần trăm với từng nhãn phân loại (ví dụ nếu bộ phân loại kết luận phản hồi là tích cực thì khả năng phản hồi đó thật sự là tích cực chiếm bao nhiêu phần trăm) Recall thì ngƣợc lại, nó cho biết nếu một câu phản hồi là tích cực, khả năng bộ phân loại đoán đúng là bao nhiêu phần trăm.
Thực tế thì hai độ đo trên không phải lúc nào cũng tăng giảm tương ứng với nhau, có trường hợp Recall cao còn Precision thấp và ngược lại, để cho đánh giá tổng quát hơn ta dùng độ đo F-measure là trung bình điều hòa của 2 độ đo trên với hệ số 0.5 (tầm quan trọng của 2 hệ số ngang nhau):
Precision hay còn gọi là Độ chính xác đối với lớp :
Recall hay còn gọi là Độ bao phủ đối với lớp :
: Số lƣợng các ví dụ thuộc lớp đƣợc phân loại chính xác vào lớp: Số lƣợng các ví dụ không thuộc lớp bị phân loại nhầm xác vào lớp: Số lƣợng các ví dụ không thuộc lớp đƣợc phân loại chính xác: Số lƣợng các ví dụ thuộc lớp bị phân loại nhầm
Bảng 3.4 Bảng ma trận nhầm lẫn Đƣợc phân lớp bởi hệ thống Lớp
Phân lớp thực Thuộc sự (đúng)
Công cụ thực nghiệm
Dưới đây là thông tin cấu hình phần cứng được sử dụng trong quá trình thực nghiệm của luận văn.
Bảng 3.5 Bảng cấu hình phần cứng
Bộ nhớ ngoài (HDD) SATA 500GB
Hệ điều hành (OS) Windows 10 Professional 64bit
Bảng 3.6 Bảng công cụ phần mềm
Tên công cụ Mô tả
Visual Studio IDE lập trình ngôn ngữ C#
LibSVM Bộ phần mềm cho học máy và phân loại bằng thuật toán
SVM Nguồn: http://www.csie.ntu.edu.tw/~cjlin/libsvm
LibSVMsharp Thƣ viện hỗ trợ LibSVM trên Net Nguồn: https://github.com/ccerhan/LibSVMsharpPython Tạo môi trường thực thi cho LibSVM
3.3.3 Giới thiệu LibSVM a) Giới thiệu
Hình 3.3 Hình ảnh giới thiệu LibSVM
LibSVM là một thƣ viện đơn giản, dễ sử dụng và hiệu quả đối với phân lớp SVM và hồi quy Nó có thể giải quyết phân lớp C-SVM, nu-SVM, hồi quy epsilon- SVM và hồi quy nu-SVM Thƣ viện này cũng cung cấp một công cụ lựa chọn mô hình tự động đối với phân lớp C-SVM LibSVM hỗ trợ phân loại đa lớp.
Phiên bản tính mới nhất tính đến thời điểm hiện tại là phiên bản 3.21 đƣợc phát hành ngày 14/12/2015. b) Tính năng chính
LibSVM cung cấp một giao diện đơn giản cho phép người dùng dễ dàng sử dụng trong các chương trình của họ Các tính năng chính bao gồm:
- Các dạng SVM khác nhau.
- Phân lớp đa lớp hiệu quả (multi-class classification).
- Kiểm chứng chéo (cross validation) để lựa chọn mô hình.
- Bao gồm nhiều loại kernel khác nhau.
- Trọng số SVM cho các dữ liệu không cân đối.
- Bao gồm cả mã nguồn C++ và Java.
- Giao diện GUI thể hiện phân lớp SVM và hồi quy SVM.
- Có phần mở rộng hỗ trợ nhiều ngôn ngữ lập trình khác nhau: Python, R,
MATLAB, Perl, Ruby, Weka, Common LISP, CLISP, Haskell, OCaml, LabVIEW, giao diện PHP, C# NET và CUDA.
- Tự động chọn mô hình đƣợc sinh ra theo tính chính xác của kiểm chứng chéo.
Trong luận văn, chúng tôi sử dụng LibSVM cho việc xây dựng mô hình, đánh giá kiểm chứng chéo (cross validation) Ngoài ra, chúng tôi còn sử dụng phần mở rộng của LibSVM cho ngôn ngữ lập trình C# là LibSVM Sharp để phục vụ cho việc phát triển ứng dụng. c) Định dạng dữ liệu
LibSVM yêu cầu dữ liệu đầu vào phải theo khuôn dạng đã đƣợc quy định sẵn, bao gồm cả tập tin dữ liệu huấn luyện và tập tin dữ liệu thử nghiệm.
: :
: là giá trị đích của tập huấn luyện Đối với việc phân lớp, nó là một số nguyên xác định một lớp Đối với hồi quy, nó là một số thực bất kỳ.
: là một số nguyên bắt đầu từ 1
: là một số thực
Các nhãn trong tập tin dữ liệu kiểm thử chỉ đƣợc sử dụng để tính toán độ chính xác hoặc lỗi.
Với các index mà có value = 0, có thể không xuất hiện trong định dạng vector dữ liệu của LibSVM Cách lưu trữ này giúp tiết kiệm bộ nhớ trong quá trình xử lý. d) Các tham số sử dụng trong LibSVM
Dưới đây là danh sách các tham số lựa chọn khi sử dụng LibSVM:
Bảng 3.7 Danh sách tham số trong LibSVM
Tham Mô tả Giá trị mặc định số
-s svm_type: loại của SVM 0
-t kernel_type : loại của hàm lõi 2
2 radial basis function: exp(-gamma*|u-v|^2)
-d degree: bậc của hàm lõi 3
-g gamma: giá trị gamma của hàm lõi 1/ số đặc trƣng
-r coef0: giá trị coef0 của hàm lõi 0
-c cost: tham số C của C-SVC, epsilon-SVR và nu- 1
-n nu: tham số nu trong nu-SVC, one-class SVM và 0.5 nu-SVR
-p epsilon: giá trị epsilon trong epsilon-SVR 0.1
-m cachesize: kích thước bộ nhớ cache bằng MB 100
-h shrinking: giá trị shrinking heuristics 0 hoặc 1 1
-b probability_estimates: ƣớc tính xác suất trong 0 mô hình SVC hoặc SVR 0 hoặc 1
-wi weight: giá trị tham số C của lớp i là weight * C, 1 đối với C-SVC
Kết quả thực nghiệm
Bảng 3.8 Bảng so sánh số liệu trước và sau tiền xử lý
Mô tả Trước tiền xử lý Sau tiền xử lý
Số lƣợng từ 297.935 từ 130.237 từ
Số từ trung bình / câu 14,89675 từ 6,51185 từ
Có thể nhận thấy, sau quá trình tiền xử lý và chuẩn hóa dữ liệu thô, số lƣợng từ nhiễu, không quan trọng, sai chính tả đã đƣợc loại bỏ nhiều so với số lƣợng gốc ban đầu.
Bảng 3.9 Bảng số kết quả thực nghiệm
3.4.2 Đánh giá kết quả a) So sánh độ chính xác của các phương pháp trích chọn đặc trưng Độ chính xác
Từ biểu đồ có thể thấy khi sử dụng đặc trƣng N-gram, độ chính xác bộ phân loại đạt khoảng 78%-80% với cả Unigram, Bigram và Trigram Khi kết hợp CBS với Ngram thì kết quả lại giảm xuống đáng kể Tuy nhiên, khi kết hợp Ngram với Log-count ratio hoặc cả 3 loại đặc trƣng thì kết quả lại cải thiện hơn so với chỉ dùng Ngram. b) So sánh độ chính xác phân loại giữa các nhãn
Xem xét các kết quả thí nghiệm ở trên thì độ chính xác của bộ phân loại (tính theo độ đo F ở trên) khác nhau tùy theo tập đặc trƣng và chênh lệch khá nhiều ở một số tập đặc trƣng khác nhau Tuy nhiên độ chính xác của bộ phân loại chênh lệch khá nhỏ giữa các nhãn Nhiều khả năng là do số lƣợng các nhãn phân loại trong tập huấn luyện đồng đều, các nhãn “POSITIVE” và “NEGATIVE” chiếm số lượng bằng nhau theo tỷ lệ dữ liệu gốc, điều này ảnh hưởng đến quá trình xây dựng bộ phân loại có xu hướng đồng đều độ chính xác cho các nhãn “POSITIVE” và
“NEGATIVE” Trong bảng dưới đây thống kê lại chất lượng phân loại tốt nhất với từng nhãn ở cả hai phương pháp:
Bảng 3.10 Thống kê độ chính xác phân loại theo nhãn
Nhãn Số câu Độ chính xác phân loại
Từ bảng trên ta nhận thấy độ chính xác phân loại theo nhãn khá tương đồng, mức chênh lệnh cũng không quá nhiều. Độ đo %
Hình 3.5 Biểu đồ chất lƣợng phân loại của các nhãn Đối chiếu với biểu đồ ta có thể thấy độ chính xác Precision và độ bao phủ
Recall đối với các nhãn có sự chênh lệch, tuy nhiên cũng không quá 10% Trong khi đó, độ chính xác (tính theo độ đo F-measure) lại xấp xỉ bằng nhau.
Kết luận chương 3
Nội dung chương này trình quá trình thực hệ thống khai phá quan điểm cho dữ liệu Twitter Trên cơ sở kết quả thực nghiệm ở chương này luận văn đưa ra phân tích đánh giá về phương pháp thực hiện Các kết quả cho thấy việc sử dụng các đặc trƣng riêng rẽ mang lại hiệu quả và độ chính xác không cao Khi tăng dần việc kết hợp các đặc trƣng, độ chính xác phân lớp đƣợc cải thiện hơn Điều này chứng tỏ tầm quan trọng trong việc trích chọn đặc trƣng và sử dụng kết hợp các đặc trƣng trong bài toán phân lớp.