Phân tích tự động quan điểm người dùng về sản phẩm

MỤC LỤC

Danh sách bảng

Giới thiệu

Hiện nay nền công nghệ càng ngày càng phát triển, đặc biệt với sự ra đời của Web, lượng thông tin trên Web là một kho tàng đồ sộ và nhiệm vụ của chúng ta là làm thế nào để khai thác kho tàng to lớn đó. Các chuyên ngành như Web mining, NLP (Nature Language Processing), hay Machine Learning đều đi tìm câu trả lời cho câu hỏi đó tuy nhiên chúng cũng chỉ tìm được câu trả lời cho những phần nhỏ của câu hỏi mà thôi. Mỗi người quan tâm một số lĩnh vực, mỗi người cần biết thông tin về một vài thứ mà trên Web thì bao gồm vô vàn thông tin thế nhưng lĩnh vực mà đa số người đều quan tâm, từ những nhà doanh nghiệp đến khách hàng - những người dùng đều quan tâm đó chính là sản phẩm.

Còn doanh nghiệp thì lại thường quan tâm đến sản phẩm của họ được mọi người tiếp đón thế nào, những điểm nào chưa tốt để họ bổ sung sửa chữa, hay phát huy thêm những điểm người dùng quan tâm … Câu trả lời cho những câu hỏi này nằm trong nghiên cứu về “Opinion Mining” hay còn gọi “phân tích quan điểm người dùng”. Với mỗi sản phẩm sẽ có những điểm tính năng riêng (Features) và nhiệm vụ của chúng tôi là từ những review, comment, Feedback,… trên nguồn dữ liệu khổng lồ Web để đánh giá xem tính năng của sản phẩm này được mọi người tiếp đón thế nào. • Chương 2: Chúng tôi giới thiệu về những hướng tiếp cận cho bài toán tự động đánh giá quan điểm người dùng, những công trình nghiên cứu hiện tại và những thách thức sẽ giải quyết trong tương lai.

Giới thiệu GATE

  • Các thành phần quan trọng của GATE
    • Các công cụ quản lý chất lượng

      Về cơ bản có thể nói GATE chạy khá tốt trong công việc xử lý ngôn ngữ tự nhiên tuy nhiên trong khi vận hành vẫn còn một vài hạn chế nhỏ về giao diện chưa ổn định hay quản lý lưu trữ chưa tốt…. • Nhãn (Annotation): là một tập các cấu trúc gồm có khóa (Id), vị trí đầu (startNode) vị trí cuối (endNode) nhằm xác định vị trí của nhãn trong văn bản, kiểu (Type) và tập các đặc trưng (FeatureMap). Khi một luật JAPE thực thi thì các luật nhỏ trong nó được thi hành một cách tuần tự, từ trên xuống nếu như cùng Priority và nó thi hành các luật từ Priority thấp nhất đến cao nhất (mặc định là -1 nếu không khai báo Priority).

      Nhờ đó ngoài việc tạo ra các nhãn (annotations) mới, mệnh đề phải còn có thể làm rất nhiều việc khác như: chèn thêm các đặc trưng (features), thay đổi kiểu nhãn (Type) hay xóa các nhãn đã tồn tại v.v…. Việc luôn luôn có sự đánh giá chất lượng ngay từ giai đoạn xây dựng tập dữ liệu cho đến những giai đoạn cuối cùng (đánh giá kết quả làm việc của hệ thống) giúp hệ thống vận hành trơn tru và dễ dàng hơn trong sự kiểm soát của người phát triển. Bởi để mang tính khách quan, ta luôn luôn phải có hai đội xây dựng tập dữ liệu độc lập và khi đó “Annotation Diff” sẽ giúp so sánh những phần làm việc chung, để đi đến thống nhất tạo ra một tập dữ liệu chuẩn.

      Hình 1 - Giao diện của GATE
      Hình 1 - Giao diện của GATE

      Hệ thống đánh giá quan điểm người dùng

      Giới thiệu hệ thống

      Sau khi đã có thêm các văn bản làm input, hệ thống của chúng tôi sẽ đưa ra kết quả về từng Feature cho thể loại computer. Ví dụ như Feature cauhinh: 6/4 nghĩa là trong văn bản nói về sản phẩm có 6 câu nói cấu hình của máy tính đó là positive còn 4 câu là negative. Sau đây là hình ảnh mô tả giao diện và kết quả của hệ thống [Hình 7].

      Thu thập dữ liệu và gán nhãn

        Khó khăn trong công việc này là văn bản trên Internet về sản phẩm cũng không phải nhiều trừ một số sản phẩm về điện tử hay công nghệ như máy tính, ô tô, xe máy, di động, … thì những sản phẩm khác lại ít được người dùng quan tâm hơn. Ngoài ra những đánh giá đo lại thường được viết theo ngôn ngữ @ hay 9x,… hay một số thể loại khác không theo chính thống làm cho việc thu thập dữ liệu cũng gặp nhiều khó khăn. Chủ yếu nguồn dữ liệu của chúng tôi được lấy về từ trang http://tinvadung.vn theo chủ đề (category) máy tính (laptop & desktop) trong tương lai chúng tôi sẽ mở rộng thêm các chủ đề về ô tô & xe máy, điện thoại di động.

        Chúng tôi sau khi lấy dữ liệu về cũng tiến hành một số thao tác nhỏ nhằm làm cho dữ liệu trở lên chính quy hơn như: sửa một số lỗi chính tả do người dùng; một số từ theo cách viết cá nhân, viết tắt (“wa”, “ko”…); một số đoạn thiếu chấm câu, cách dòng,. Hệ thống của chúng tôi có mục đích đánh giá quan điểm như vậy xét trong phạm vi từ, những từ về quan điểm là cần thiết nhất, chúng tôi dùng 2 gán nhãn PosWord và NegWord để phân lớp cho từ quan điểm. Tiếp đó từ nói đến Feature để đưa ra đánh giá là quan trọng thứ nhì, chúng tôi gọi chung những từ này là Entity và xét riêng cho từng Feature thì lấy tên của Feature đấy làm tên của nhãn ví dụ như: cauhinh, vanhanh….

        Hình 8 - Những reviews do người dùng đánh giá ở trang tinvadung.vn
        Hình 8 - Những reviews do người dùng đánh giá ở trang tinvadung.vn

        Xây dựng hệ thống đánh giá quan điểm

        • Xây dựng bộ luật

          Tính hiệu quả của khung làm việc GATE cho bài toán nhận dạng thực thể đã được chứng minh qua nhiều nghiên cứu (Maynard 2001, Cao 2007), bởi vậy chúng tôi quyết định xây dựng hệ thống nhận dạng thực thể trong văn bản tiếng Việt như một thành phần tích hợp (Plugin) trên GATE nhằm tận dụng những ưu điểm mà GATE mang lại. Mỗi từ điển gồm các từ mang cùng một ý nghĩa nào đó, có thể là chứa các thực thể cùng loại như: từ mang nghĩa positive, từ mang nghĩa negative,… hay chứa các từ, cụm từ đóng những vai trò giống nhau về mặt cú pháp, ngữ nghĩa, hoặc chỉ đơn giản là để sử dụng cho một luật nào đó trong bộ luật. Những từ chỉ quan điểm được xác định dựa trên từ điển các từ chỉ quan điểm tuy nhiên có nhiều từ trong một số ngữ cảnh lại không mang ý chỉ quan điểm (như từ “thời trang”: “Phong cách rất thời trang” và “Thiết kế của máy có nét thời trang giống với chiếc xe ô tô”) hay lại vừa mang ý positive vừa mang ý negative như từ “cao” nếu nói đến cấu hình thì là positive còn nói đến giá cả thì lại là negative.

          Thông thường theo một cách dễ thấy các từ mang ý chỉ quan điểm thường đi cùng với một số từ có ý nghĩa nhấn mạnh như: rất, siêu, khá… Với PosWord có những từ nhấn mạnh như: cực, đáp ứng, tương đối, luôn … Với NegWord thì lại có một số từ khác như: dễ, hơi, gây, bị … Kết hợp những từ nhấn mạnh này với những từ có trong bộ từ điển thì khả năng rất cao từ này mang ý nghĩa quan điểm. Đối với câu so sánh, do những câu so sánh thường nói đến sản phẩm này so với sản phẩm kia trong khi mục đích của chúng tôi hạn hẹp hơn một chút là liên quan đến các Features do đó mà chúng tôi coi như câu so sánh là một dạng của câu đánh giá quan điểm. Đối với những câu đơn được chia thành 2 loại PosSen và NegSen thì việc đánh giá Features trở lên dễ dàng hơn vì quan điểm lúc này đã được xác định và việc còn lại là dựa trên các entity để xác định xem câu đó có nói đến Features này hay không.

          Hình 10 - Mô tả chi tiết hệ thống đánh giá quan điểm người dùng trên GATE
          Hình 10 - Mô tả chi tiết hệ thống đánh giá quan điểm người dùng trên GATE

          Kết quả thực nghiệm và phân tích lỗi

          • Kết quả thực nghiệm
            • Phân tích lỗi

              Ở mức từ chúng tôi chỉ dùng những nhãn từ cần thiết quyết định cho cả hệ thống đó là: PosWord (từ quan điểm mang nghĩa tích cực), NegWord (từ quan điểm mang nghĩa tiêu cực) (xem thêm ở phụ lục A về các nhãn). Kết quả của chúng tôi theo Feature là khá đặc biệt và hầu như không có hệ thống nào ra kết quả tương tự cho nên ở phần này chúng tôi đưa ra một phương pháp đánh giá sơ bộ cho hệ thống của chúng tôi. Sau khi thử nghiệm chúng tôi cũng nhận thấy kết quả của chúng tôi hiện tại cũng là rất khả quan theo mức từ (khoảng 77%), theo mức Feature (89%) còn theo mức câu thì hệ thống có độ chính xác không cao lắm (63%) chủ yếu do lỗi tách câu khá lớn.

              Trong khi đó từ “thỏa mãn” cũng mang ý nghĩa positive tuy nhiên do bộ gán nhãn từ loại không xác định được từ loại của từ đó (nhãn là X) [Hình 12] cho nên hệ thống của chúng tôi cũng không xác định được từ quan điểm này. Việc tách câu ghép thành các câu đơn là không hề dễ dàng nhất là với văn bản tiếng Việt thì độ chính xác về phân tích cấu trúc câu không cao do đó mà chúng tôi không thể mượn việc phân tích cấu trúc câu để tách câu. Ví dụ như dùng luật chính xác và đầy đủ hơn cho ngữ cảnh hay dùng bộ gán nhãn, tách từ có độ chính xác cao hơn, xây dựng bộ từ điển chuẩn xác hơn, … Đó là những công việc trong tương lai để hệ thống có độ chính xác cao hơn.

              Bảng 1 - Kết quả nhận dạng từ đánh giá trên tập huấn luyện
              Bảng 1 - Kết quả nhận dạng từ đánh giá trên tập huấn luyện