Phân loại thống kê văn bản


32

Tôi là một lập trình viên không có nền tảng thống kê và hiện tôi đang xem xét các phương pháp phân loại khác nhau cho một số lượng lớn các tài liệu khác nhau mà tôi muốn phân loại thành các danh mục được xác định trước. Tôi đã đọc về kNN, SVM và NN. Tuy nhiên, tôi có một số rắc rối khi bắt đầu. Những tài nguyên nào bạn đề nghị? Tôi biết khá rõ về biến đơn và đa biến, vì vậy toán của tôi phải đủ mạnh. Tôi cũng sở hữu cuốn sách của Giám mục về Mạng lưới thần kinh, nhưng nó đã được chứng minh là hơi dày đặc như một lời giới thiệu.

Câu trả lời:


19

Tôi giới thiệu những cuốn sách này - chúng cũng được đánh giá cao trên Amazon:

"Khai thác văn bản" của Weiss

"Lập trình ứng dụng khai thác văn bản", bởi Konchady

Đối với phần mềm, tôi khuyên dùng RapidMiner (với plugin văn bản), miễn phí và nguồn mở.

Đây là "quy trình khai thác văn bản" của tôi:

  • thu thập tài liệu (thường là thu thập dữ liệu trên web)
    • [mẫu nếu quá lớn]
    • dấu thời gian
    • loại bỏ đánh dấu
  • tokenize: chia thành các ký tự, từ, n-gram hoặc cửa sổ trượt
  • xuất phát (hay còn gọi là từ vựng)
    • [bao gồm các từ đồng nghĩa]
    • xem các đại từ và bài viết thuật toán porter hoặc snow snow thường là những người dự đoán xấu
  • xóa mật khẩu
  • tính năng vector hóa
    • nhị phân (xuất hiện hoặc không)
    • số từ
    • tần số tương đối: tf-idf
    • thông tin đạt được, chi vuông
    • [có giá trị tối thiểu để đưa vào]
  • trọng số
    • trọng lượng từ ở đầu tài liệu cao hơn?

Sau đó, bạn có thể bắt đầu công việc phân loại chúng. kNN, SVM hoặc Naive Bayes khi thích hợp.

Bạn có thể xem loạt video khai thác văn bản của tôi ở đây


Đây là một câu trả lời tuyệt vời! Tôi sẽ xem xét các đề xuất sách của bạn và mô tả về quy trình của bạn cũng rất tuyệt. Tôi đặc biệt thích các đề xuất cho vector hóa tính năng.
Emil H

(Nếu bất cứ ai muốn giải thích sâu hơn về phần vector hóa, điều đó sẽ rất tuyệt.)
Emil H

11

Một văn bản giới thiệu tuyệt vời bao gồm các chủ đề bạn đề cập là Giới thiệu về Truy xuất thông tin , có sẵn trực tuyến toàn văn miễn phí.

Giới thiệu về truy xuất thông tin


Tôi thực sự đã quét nó tại nơi làm việc ngày hôm qua. Đây là một bài đọc thú vị - Tôi ước mình có nhiều thời gian hơn để tiếp thu tài liệu trong đó, nhưng tôi phải có được thứ mình cần và tiếp tục.
Thomas Owens

đồng ý, đó là một cuốn sách tuyệt vời Nó giải thích khá nhiều về cách Google hoạt động :)
Neil McGuigan

5

Mạng lưới thần kinh có thể bị chậm đối với một số lượng lớn tài liệu (hiện tại điều này đã khá lỗi thời).
Và bạn cũng có thể kiểm tra Rừng ngẫu nhiên trong số các phân loại; Nó khá nhanh, cân đẹp và không cần điều chỉnh phức tạp.


+1 cho Rừng ngẫu nhiên. Chắc chắn là một trình phân loại tốt để thử 1st, vì chúng không phù hợp.
Zach

4

Nếu bạn đến từ phía lập trình, một tùy chọn là sử dụng Bộ công cụ ngôn ngữ tự nhiên (NLTK) cho Python. Có một cuốn sách O'Reilly, có sẵn một cách tự do , có thể là một giới thiệu ít dày đặc và thiết thực hơn để xây dựng các phân loại cho các tài liệu trong số những thứ khác.

Nếu bạn quan tâm đến việc tăng cường về mặt thống kê, cuốn sách của Roger Levy đang tiến hành, Các mô hình xác suất trong nghiên cứu ngôn ngữ , có thể không tệ khi xem qua. Nó được viết cho sinh viên tốt nghiệp cogsci / compsci bắt đầu với các kỹ thuật NLP thống kê.


3

Trước tiên tôi có thể giới thiệu cho bạn cuốn sách Cơ sở xử lý ngôn ngữ tự nhiên thống kê của Manning và Schütze.

Các phương pháp tôi sẽ sử dụng là phân phối tần số từ và mô hình ngôn ngữ ngram. Việc đầu tiên hoạt động rất tốt khi bạn muốn phân loại theo chủ đề và chủ đề của bạn là cụ thể và chuyên gia (có từ khóa). Mô hình Ngram là cách tốt nhất khi bạn muốn phân loại các phong cách viết, v.v.


0

Naive Bayes thường là điểm khởi đầu để phân loại văn bản, đây là một bài viết của Tiến sĩ Dobbs về cách thực hiện. Đây cũng thường là điểm kết thúc để phân loại văn bản vì nó rất hiệu quả và song song tốt, SpamAssassin và POPFile sử dụng nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.