Google trends (GT) là công cụ phân tích dữ liệu tìm kiếm trực tuyến của Google được sử dụng phổ biến hiện nay. Nó cung cấp thông tin về xu thế (trend) tìm kiếm của người dùng Internet, nhận diện các chủ đề và nội dung liên quan, làm cơ sở cho nghiên cứu phân tích dự báo, giúp nâng cao hiệu quả hoạt động đào tạo, sản xuất, kinh doanh.
Hiện nay, GT được khai thác chủ yếu thông qua công cụ trực tuyến do Google cung cấp, dễ sử dụng và đáp ứng các nhu cầu thông thường. Tuy nhiên, công cụ này có nhiều hạn chế ở tính tự động và khả năng ứng dụng các phương pháp công nghệ mới nhằm sử dụng hiệu quả dữ liệu của GT phục vụ cho vấn đề cụ thể của doanh nghiệp, tổ chức hoặc cá nhân.
Việc sử dụng R, một nền tảng tính toán tiên tiến của khoa học dữ liệu (KHDL), có thể giúp tự động hóa việc thu thập, tiền xử lý và phân tích dữ liệu GT. Thư viện đồ sộ của R cung cấp đầy đủ công cụ xử lý cho nhiều loại bài toán và dữ liệu khác nhau. Ở đây, chúng tôi sử dụng các thư viện gtrendsR, outliers và ggplot2 lần lượt cho việc thu thập dữ liệu từ GT, tiền xử lý, phân tích dữ liệu và trình bày kết quả.
Lập trình với R có thể được thực hiện trên môi trường tương tác cài đặt sẵn trong R, nhưng nó kém thân thiện người dùng và nhiều hạn chế. Sự phát triển của Jupyter, công cụ KHDL kết hợp lập trình và ghi chú giải thích trong cùng 1 tài liệu, đã đem đến cho cộng đồng KHDL một môi trường phát triển tiện dụng và mạnh mẽ. Gần đây, việc Microsoft tích hợp hoàn hảo Jupyter vào VsCode (Visual Studio Code), một công cụ khá phổ biến của công nghệ phần mềm (CNPM) đã biến VsCode thành môi trường phát triển lý tưởng cho cả CNPM lẫn KHDL. Trong demo này, chúng tôi sử dụng VsCode cho lập trình R từ xa trên máy chủ Cloud.
Một nhóm từ khóa bao gồm: bún đậu mắm tôm, trà sữa, phở và covid-19 được sử dụng để truy vấn trên GT trong khoảng thời gian 6 tháng đầu năm 2020, thời điểm diễn ra dịch cúm Covid-19. Dữ liệu thu thập được khám phá sơ lược. Một số phát hiện khá thú vị như: bún đậu mắm tôm được quan tâm nhiều nhất ở TP.HCM; Hà tĩnh là địa phương quan tâm covid-19 nhiều nhất.
Tương tự, Đà nẵng là quán quân tìm kiếm trà sữa, đặc biệt là các thương hiệu mới. Trong phần tiếp theo, dữ liệu sẽ được tiền xử lý và biểu diễn trực quan với biểu đồ (chart).
Kết quả biểu diễn trực quan với biểu đồ như sau:
Dịch cúm Covid-19 là nguyên nhân khiến tìm kiếm từ khóa này tăng đột biến. Do đó cần kiểm tra đánh giá mức độ tăng tìm kiếm từ khóa này, rất có thể đây là một dị biệt (outlier). Có nhiều phương pháp kiểm tra outlier, trong đó Chi-squared test là một trong các phương pháp phổ dụng:
Cần lưu ý là không có phương pháp nào tức thời xác định và loại bỏ tất cả outliers. Ở đây chúng tôi tiến hành chọn khoảng 1st-3rd quartiles. Đây là lựa chọn an toàn. Tuy nhiên, outliers đôi khi cũng là 1 xu thế/cơ hội mới trong kinh doanh.
Hình trên là biểu đồ kết quả sau khi thực hiện tiền xử lý dữ liệu. Có thể thấy tâm lý e ngại “covid-19” càng cao thì người ta càng ít tìm kiếm “phở”.
Phần sau cùng là trình bày kết quả phân tích, trên website để truy cập trực tuyến. Việc sử dụng R cho lập trình web khá bất tiện. Ở đây chúng tôi sử dụng C# hiển thị kết quả phân tích từ R lên website. Thư viện Rserve được sử dụng để kết nối C# và R; C# gửi lệnh phân tích đến R và nhận kết quả. Do máy chủ chạy R và máy chạy website khác nhau, việc kết nối sử dụng mật khẩu như dưới đây.
Trong C#, các lệnh phân tích dữ liệu, như đã trình bày, được cài đặt và thử nghiệm trên môi trường Jupyter với VsCode, như sau:
Biểu đồ từ R được mã hóa thành chuỗi ký tự định dạng HTML. C# sẽ gửi chuỗi này lên trang web trình bày. Toàn bộ demo này được thiết lập trực tuyến ở đây.
Nếu sử dụng ngôn ngữ Java, bạn cũng có thể lập trình R với công cụ kết nối Rserve như trình bày ở trên, hoặc tải R vào Java (nếu trên cùng 1 máy và R được biên dịch chế độ share) sử dụng thư viện JRI (Java/R Interface) là thư viện có chức năng tương tự thư viện RDotNet cho C#. Lập trình R với Java dễ dàng hơn vì các thư viện cần thiết đều được R tích hợp sẵn. Hơn nữa R được phát triển chủ yếu với Java và C/C++.
Cảm ơn bạn đã đọc bài viết này.