Ứng dụng SQL trong tìm kiếm văn bản dựa trên từ khóa

SQL Big Data
SQL Big Data

Trong bài viết này, ta sẽ ứng dụng ngôn ngữ truy vấn SQL vào phép tính nhân hai ma trận rời rạc (có nhiều giá trị bằng 0). Từ phép tính này, ta tiến hành xây dựng bộ máy tìm kiếm văn bản dựa trên từ khóa.

Bài viết sử dụng sqlite3, độc giả có thể tìm hiểu cách cài đặt ở trang web sau: http://www.tutorialspoint.com/sqlite/sqlite_installation.htm

Mọi tập tin liên quan đến bài viết có thể truy xuất tại Github: https://github.com/ongxuanhong/database-analysis

Xem tiếp

Phân tích tâm lý (Sentiment Analysis) Twitter (P2) – Tính chỉ số tâm lý (sentiment score)

Sentiment Analysis
Sentiment Analysis

Ở phần hai, ta sẽ tính chỉ số tâm lý (sentiment score) cho từng tweet dựa vào nội dung của người dùng. Chỉ số cho từng tweet được tính bằng cách lấy tổng điểm sentiment của từng từ trong tweet đó. Ta tạo file tweet_sentiment.py nhận hai đối số đầu vào là AFINN-111.txt và tweets.json. Sau đó, lưu chỉ số tâm lý cho từng tweet vào file tweet_scores.txt.

Xem tiếp

Phân tích tâm lý (Sentiment Analysis) Twitter (P1) – Thu thập dữ liệu

Sentiment Analysis
Sentiment Analysis

Ngày nay, Twitter trở thành một công cụ mới để thực hiện các phép đo tâm lý xã hội. Có hàng triệu người bày tỏ ý kiến của mình trên mọi lĩnh vực đời sống. Nguồn dữ liệu này vô cùng quý giá cho cả nghiên cứu lẫn kinh doanh.

Ví dụ, các nhà nghiên cứu đã chỉ ra rằng “tâm trạng” truyền thông trên twitter phản ánh nhịp điệu sinh học và thậm chí được sử dụng để dự đoán thị trường chứng khoán. Một sinh viên tại UW sử dụng tweets geocoded để vẽ bản đồ các địa điểm nơi có “sấm sét” vào mùa hè năm 2012.

Trong phần một, ta sẽ thu thập dữ liệu từ Twitter bằng ngôn ngữ lập trình python qua API mà twitter cung cấp.

Xem tiếp

Gom nhóm (Clustering analysis) tập dữ liệu Labor

Trong bài viết này, ta sẽ áp dụng các phương pháp gom nhóm (clustering) trên tập dữ liệu Labor. Đây là tập dữ liệu chứa các thông tin (số ngày nghỉ, số giờ làm việc, lương tăng hàng năm, …) để phân biệt nhân viên tốt (good) và nhân viên không tốt (bad). Hai thuật toán được sử dụng là K-meanHierarchical Clustering (AGNES). Để dễ tiếp cận, các phương pháp được thực hiện với Weka.

Labor
Labor

Tập dữ liệu: labor
Địa chỉ: https://archive.ics.uci.edu/ml/machine-learning-databases/labor-negotiations/labor-negotiations.data
Mô tả: https://archive.ics.uci.edu/ml/machine-learning-databases/labor-negotiations/labor-negotiations.names
Github: https://github.com/ongxuanhong/Clustering-analysis-with-Labor-dataset

Xem tiếp

Áp dụng các phương pháp phân lớp (Classification) trên tập dữ liệu Mushroom

Trong bài viết này, ta sẽ áp dụng các phương pháp phân lớp (classification) lên tập dữ liệu Mushroom. Đây là tập dữ liệu mô tả các đặc tính vật lý của nấm, cùng với nhãn phân loại có độc hoặc ăn được. Các thuật toán được sử dụng gồm Naive Bayes, Nearest neighbor, ID3, J48. Để dễ tiếp cận, các phương pháp được thực hiện với Weka.

Mushroom
Mushroom

Tập dữ liệu: mushroom
Địa chỉ: https://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data
Mô tả: https://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.names
Github: https://github.com/ongxuanhong/Applying-Classifiers-on-Mushroom-dataset/

Xem tiếp

Đánh giá mô hình (Model evaluation)

Model evaluation
Model evaluation

Trong thực tế, ta cần áp dụng nhiều thuật toán Machine learning để chọn ra được mô hình phù hợp nhất cho bài toán của mình. Vấn đề đặt ra, làm thế nào để đánh giá và chọn ra các mô hình. Ngoài thuật toán học máy, sự thực thi của mô hình có thể phụ thuộc vào các yếu tố khác như sự phân bố của các lớp, chi phí phân loại sai, kích thước của tập huấn luyện và tập thử nghiệm, độ đo thực thi. Trong bài viết này, ta sẽ đánh giá thực thi: tập trung vào khả năng dự đoán của mô hình hơn là tốc độ phân loại hay xây dựng mô hình, khả năng co giãn.

Xem tiếp

Apriori và FP-Growth với tập dữ liệu plants

Trong bài viết này, ta sẽ khai thác các tập phổ biến (frequent itemset) trên tập dữ liệu Plants (sự phân bố của một số loài thực vật ở khu vực Mỹ và Canada). Các công đoạn tiền xử lý được thực hiện bởi Python. Để dễ tiếp cận, các bước khai thác dữ liệu được thực hiện với Weka.

Plant
Plant

Tập dữ liệu: plants
Địa chỉ: http://archive.ics.uci.edu/ml/machine-learning-databases/plants/plants.data
Mô tả: http://archive.ics.uci.edu/ml/machine-learning-databases/plants/stateabbr.txt
Github: https://github.com/ongxuanhong/Apriori-and-FP-growth-with-plant-dataset

Xem tiếp

Khai thác tập phổ biến (frequent itemsets) với thuật toán Apriori

Chips and soda
Chips and soda

Bài toán khai thác tập phổ biến (frequent itemset) là bài toán rất quan trọng trong lĩnh vực data mining. Bài toán khai thác tập phổ biến là bài toán tìm tất cả tập các hạng mục (itemset) S có độ phổ biến (support) thỏa mãn độ phổ biến tối thiểu minsupp: supp(S) \geq minsupp.

Dựa trên tính chất của tập phổ biến, ta có phương pháp tìm kiếm theo chiều rộng (thuật toán Apriori (1994)) hay phương pháp phát triển mẫu (thuật toán FP-Growth (2000)). Trong bài viết này, ta sẽ nói về Apriori cùng với một số ví dụ minh họa khi chạy thuật toán này.

Xem tiếp

Công cụ Data Analysis cho doanh nghiệp

Data analysis tools
Data analysis tools

Sau một thời gian tìm kiếm các công cụ mã nguồn mở miễn phí phục vụ cho phân tích Big Data, tôi đã góp nhặt và tổng hợp thành danh sách 6 công cụ phân tích dữ liệu miễn phí và mạnh mẽ cho các doanh nghiệp hiện nay. Các công cụ này đều thoả các tiêu chí như: miễn phí (ai cũng có thể download về dùng), dễ dàng sử dụng (giao diện trực quan), khả năng tương thích cao (làm việc trên nhiều loại tài liệu khác nhau), có nhiều tài liệu hướng dẫn.

Xem tiếp