Sử dụng Machine Learning để visualize customer preferences
Năm 2012, tôi đã thấy một trong những hình minh họa chữ ( word cloud visualization) tuyệt nhất tại New York Times. Được tạo ra bởi Mike Bostock, và team của anh ấy. Vốn là những chuyên gia về data visualization (minh họa data) để giúp người đọc hiểu rõ thêm về những vấn đề trong chiến dịch tái ứng cử của Obama.
Khi chúng tôi giới thiệu Soylent, đã có hàng lũ lượt các bình luận trên Hacker News, Twitter, và Reddit. Feedback nhiều vô kể, cả tích cực lẫn tiêu cực. Thật tiếc là chúng tôi không thể nào đọc hết từng ấy bình luận. Để đối mặt với vấn đề đấy, chúng tôi đã tìm cách để có thể những vấn đề quan trọng và nổi bật nhất đến từ cả 2 phía supporters và detractors. Sau đây tôi sẽ nêu ra cách thức mà để thiết kế ra hệ thống đó, sau đó dùng Elon Musk’s Hyperloop làm ví dụ.
Cách mà NYTimes tạo nên những hình minh họa như vậy
“Nó so sánh việc các ứng viên thường xuyên dùng từ, câu văn nào. Dựa trên một phân tích từ transcripts của Federal News Service”
Hiểu một cách đơn giản, vòng tròn càng to thì từ đó càng được dùng nhiều trong bài diễn văn của ứng viên, như từ “traditional” chẳng hạn. Thế nhưng hình minh họa của NYT có chút khác biệt bởi nó giúp bạn hiểu rõ hơn về những vấn đề mà 2 phe đối lập muốn hướng tới. Bình thường thì các hình minh họa chữ chỉ làm nổi bật đề tài chứ không cho biết thêm gì khác.
Một ví dụ minh họa chữ nhưng khá vô dụng
Ở hình trên, bạn không biết được gì ngoài tên của chủ đề và những thứ liên quan tới nó. Ngay cả việc dùng màu sắc cũng chả giúp ích được gì. Đã có rất nhiều bài viết chỉ trích việc thiết kế một cách mù quáng và không chưa đựng một ý nghĩa nào.
Hàng “thật” thì sẽ như thế nào?
Hình minh họa chữ các bạn được thấy của NYT là hàng “thật” bởi nó không chỉ cho chúng ta biết về những chủ đề nổi bật mà còn chỉ ra chúng thường được dùng bởi phe phái nào. Tương tự như việc phân tích customer feedback, chúng ta hiểu được một phần nào đó về họ cũng như những điều mà họ muốn nghe. Nói cách khác, ta biết rõ lập luận cũng như trường phái giữa phe cộng hòa và dân chủ. Khi tung ra một sản phẩm mới, đặc biệt là khi nó có nhiều phản ứng trái chiều. Cực kì quan trọng là bạn phải phân biệt được những vấn đề nào nổi bật nhất và đến từ ai.
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ư. Cuối cùng JavaScript library D3.js sẽ vẽ thành hình minh họa chữ cho chúng ta.
Sử dụng phân tích này trên Hyperloop launch của Elon Musk
Tôi nghĩ chúng ta có thể lấy Hyperloop launch làm ví dụ để sử dụng cho công nghệ trên vì một số lí do sau. Đầu tiên, Elon Musk vừa mới công bố rằng team của ông đang chế tạo và phát triển Hyperloop như trong phim giả tưởng. Các nhà đầu tư vẫn đang đổ tiền vào các dự án phát triển tương tự. Không chỉ vậy với sự hiện diện của KickStarter, các công ty cũng bắt đầu mạnh dạn hơn trong quá trình lên ý tưởng và testing chúng. Tuy vậy, Elon Musk thật sự đã bức phá cược chơi với tuyên bố trên.
Sau đây là các comment trên HackerNew khi nghe tin Hyperloop launch, được minh họa chữ:
Sau đây là một số key-note chúng ta có thể rút ra:
- Các nhà đầu tư lo lắng nhất về chi phí cũng như tính an toàn. Họ lo rằng tiền cần cho cơ sở hạ tầng của project sẽ vượt mức đạt ra và mất quá nhiều thời gian để hoàn thành.
- Các người ủng hộ/khách hàng thì tin rằng Elon Musk là thiên tài có thể đạt được bất cứ thứ gì ông đề ra. Có thể thấy ông có khá nhiều ảnh hưởng lên độc giả tại HackerNews.
- Vấn đề chính trị cũng khá được quan tâm bởi hai phía. Việc Hyperloop có khả năng sẽ lách được nhiều qui định nhưng chính quyền sẽ không dễ dàng gì làm ngơ.
- Nhóm ủng hộ cũng khá quan tâm về các chi tiết thiết kế như nhiệt độ, áp lực, và nhiều yếu tố khác.
- Các nhà đầu tư thì lo về tính khả thi của project hơn với các chi phí phát sinh khi phát triển project.
Tuy đây chỉ là một phần nổi của tảng băng nhưng nó cũng đã cho ta biết được rất nhiều thông tin quí giá và thú vị về suy nghĩ cũng như những vấn đề mà người dùng và nhà đầu tư quan tâm.
Áp dụng vào quá trình kinh doanh của Soylent
Tại Soylent, nhờ vào cách thức phân tích trên, chúng tôi hiểu rằng khách hàng của mình rất quan tâm tới những khía cạnh của sản phẩm như lành mạnh, tiện lợi và giá cả phải chăng. Nhờ đó mà Soylent nhận ra hướng phát triển mới cho sản phẩm của mình với khả năng mang lại cả 3 giá trị trên.
Nếu bạn cũng đang phát triển một công ty non trẻ và may mắn có được sự đóng góp nhận xét tích cực từ cộng đồng người dùng và nhà đầu tư. Tôi khuyến khích bạn sử dụng machine learning để có thể lọc ra những thông tin quan trọng và đầy quí giá về thị hiếu cũng như các giá trị mà khách hàng của bạn quan tâm tới.
Tham khảo thêm: Việc làm cho lập trình viên Machine Learning mới nhất
Nguồn: topdev via Hackernoon
- G Giải Quyết Bài Toán Kinh Doanh Bằng Big Data và AI
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- F Framework nào tốt nhất cho dự án của bạn? – Checklist chi tiết
- K Kinh nghiệm xử lý responsive table hiệu quả
- S Stackoverflow là gì? Bí kíp tận dụng Stack Overflow hiệu quả
- 7 7 kinh nghiệm hữu ích khi làm việc với GIT trong dự án
- B Bài tập Python từ cơ bản đến nâng cao (có lời giải)
- B Bảo mật API là gì? Một số nguyên tắc và kỹ thuật cần biết
- H Hướng dẫn cài đặt và tự học lập trình Python cơ bản từ A-Z
- C Chinh Phục Phân Tích Dữ Liệu Với Pandas Trong Python: Hướng Dẫn Từng Bước