Sử dụng Machine Learning để phân tích Customer Feedback như thế nào?

  1. Công nghệ thông tin

Mình được biết để biết cộng đồng đang thảo luận như thế nào về những sự kiện thì không phải dùng con người để đọc hết ngần ấy comment mà là Machine Learning, nhưng mình vẫn chưa hiểu hết nguyên tắc hoạt động của nó như thế nào? Mong mọi người chỉ giúp, mình cám ơn.

Từ khóa: 

công nghệ thông tin

Chào bạn, với việc sử dụng machine learning/ natural language processing, chúng ta có thể tự động phân loại bình luận nào tích cực/tiêu cực/ trung lập với phân tích tình cảm và sau đó xác định vấn đề gốc rễ thật sự của chúng.


Cách tạo ra một hệ thống tự động để làm công việc phân tích trên


Với HackerNews API, Google’s Natural Language API, và D3.js cũng như kết nối chúng bằng Python. Tôi muốn tạo ra một web tương tác, tự động phân tích và cho ra kết quả tương tự như hình minh họa chữ của NYT. HackerNews API được host trên Firebase và có tài liệu hướng dẫn kĩ lưỡng từ Github. Nó cho phép ta pull rất dễ dàng các bình luận về một nội dụng. Sau đó, Google’s Cloud Natural Language API giúp ta phân tích và lọc. Cuối cùng, khi đã biết được các nội dung nổi bật cũng như những ai thường nói tới nó thì việc làm hình minh họa chữ chỉ là việc cỏn con.


Code của ta thực chất sẽ làm những việc như sau:


  • Dùng HackerNews ID để lấy IDs của bình luận từ HackerNews API
  • Đến mấy cái threads của bình luận và thu thập chúng
  • Submit từng bình luận đến Natural Language API và lưu trữ kết quả.
  • Biến kết quả thành JSON object cho việc làm hình minh họa chữ bằng D3
  • Dùng D3 để vẽ và cho ra hình minh họa chữ



Bước quan trọng nhất chính là khi phân biệt các comment tích cực hay tiêu cực. Đây là lúc chúng ta cần đến machine learning để phân loại chúng (tiêu cực hay tích cực, ý kiến của nhà đầu tư hay là của khách hàng). Ở hình trên, bạn có thể thấy kết quả từ Google’s Natural Language API. Nhờ vào API này mà chúng ta bớt đi khối lượng lớn công việc phức tạp và tốn thời gian khi phải xài một learning machine model mới, bởi Google model vừa chính xác lại giá cả phải chăng. Có thể thấy trong hình, toàn bộ các comment đã được phân chia dựa theo mức độ cảm xúc – tích cực, tiêu cực và trung lập. (điểm giao động từ -0.1 đến 1.0).

Với từng comment đi qua Natural Language API, điểm sẽ được cho và chúng được phân loại vào từng nhóm riêng. Sau đó, tùy vào điểm mà sẽ có màu khác nhau ví dụ như xanh cho nhóm khách hàng và đỏ cho nhóm đầu tư.

Trả lời

Chào bạn, với việc sử dụng machine learning/ natural language processing, chúng ta có thể tự động phân loại bình luận nào tích cực/tiêu cực/ trung lập với phân tích tình cảm và sau đó xác định vấn đề gốc rễ thật sự của chúng.


Cách tạo ra một hệ thống tự động để làm công việc phân tích trên


Với HackerNews API, Google’s Natural Language API, và D3.js cũng như kết nối chúng bằng Python. Tôi muốn tạo ra một web tương tác, tự động phân tích và cho ra kết quả tương tự như hình minh họa chữ của NYT. HackerNews API được host trên Firebase và có tài liệu hướng dẫn kĩ lưỡng từ Github. Nó cho phép ta pull rất dễ dàng các bình luận về một nội dụng. Sau đó, Google’s Cloud Natural Language API giúp ta phân tích và lọc. Cuối cùng, khi đã biết được các nội dung nổi bật cũng như những ai thường nói tới nó thì việc làm hình minh họa chữ chỉ là việc cỏn con.


Code của ta thực chất sẽ làm những việc như sau:


  • Dùng HackerNews ID để lấy IDs của bình luận từ HackerNews API
  • Đến mấy cái threads của bình luận và thu thập chúng
  • Submit từng bình luận đến Natural Language API và lưu trữ kết quả.
  • Biến kết quả thành JSON object cho việc làm hình minh họa chữ bằng D3
  • Dùng D3 để vẽ và cho ra hình minh họa chữ



Bước quan trọng nhất chính là khi phân biệt các comment tích cực hay tiêu cực. Đây là lúc chúng ta cần đến machine learning để phân loại chúng (tiêu cực hay tích cực, ý kiến của nhà đầu tư hay là của khách hàng). Ở hình trên, bạn có thể thấy kết quả từ Google’s Natural Language API. Nhờ vào API này mà chúng ta bớt đi khối lượng lớn công việc phức tạp và tốn thời gian khi phải xài một learning machine model mới, bởi Google model vừa chính xác lại giá cả phải chăng. Có thể thấy trong hình, toàn bộ các comment đã được phân chia dựa theo mức độ cảm xúc – tích cực, tiêu cực và trung lập. (điểm giao động từ -0.1 đến 1.0).

Với từng comment đi qua Natural Language API, điểm sẽ được cho và chúng được phân loại vào từng nhóm riêng. Sau đó, tùy vào điểm mà sẽ có màu khác nhau ví dụ như xanh cho nhóm khách hàng và đỏ cho nhóm đầu tư.

Đơn giản thôi: Thu thập comment của người dùng -> Phân loại tích cực tiêu cực -> Đánh giá, cho điểm -> Kết luận :D

Mỗi phần sẽ có 1 bài toán cụ thể riêng :D