2012-04-02 34 views
5

Hãy xem xét một hộp văn bản tùy ý ghi lại câu trả lời cho câu hỏi, bạn muốn làm gì trước khi chết?Thuật toán để so sánh sự giống nhau của ý tưởng (dưới dạng chuỗi)

Sử dụng tập hợp các chuỗi phản hồi (độ dài tối đa 240), tôi muốn sắp xếp và nhóm chúng theo cách nào đó và đếm chúng theo ý tưởng (có thể chỉ giống như mô tả trong this question).

  1. Có cách nào khác hoặc tốt hơn để làm điều gì đó như thế này không?
  2. Đây có phải là bất kỳ khác biệt nào giống với chuỗi tương tự không?
  3. Đây có phải là câu hỏi phù hợp để hỏi?

Ý tưởng ở đây là phải có người viết trong một hộp văn bản hơn và hơn nữa, và tôi để cung cấp một số mô tả, nói chung, đó là 802 người viết xấp xỉ điều tương tự

+0

802 người? bạn muốn một số duy nhất? hoặc một phân vùng? hoặc phân vùng trùng lặp? – ninjagecko

+0

@ninjagecko đó là một câu hỏi hay. Bạn có chọn phân vùng trên một số không? nếu vậy, tại sao? – Kristian

+1

cũng nó bảo tồn nhiều thông tin hơn, nhưng nó sẽ phụ thuộc vào những gì bạn thực sự cố gắng làm. – ninjagecko

Trả lời

8

Nó khó hơn nhiều so với chuỗi tương tự. Đây là những gì bạn cần làm ở mức tối thiểu:

  • Thực hiện một số văn bản nhiệm vụ định dạng/giặt như loại bỏ punctuations ký tự và phổ biến "từ cửa"
  • Xây dựng một corpus (tập hợp các từ với thống kê sử dụng của họ) từ các điều khoản xảy ra câu trả lời.
  • Tính trọng lượng cho mỗi cụm từ.
  • Xây dựng vectơ tài liệu từ mọi câu trả lời (mỗi cụm từ tương ứng với thứ nguyên trong không gian Euclidian có chiều cao rất cao)
  • Chạy thuật toán phân cụm trên vectơ tài liệu.

Đọc một cuốn sách xử lý ngôn ngữ tự nhiên thống kê tốt, hoặc tìm kiếm google cho lời giới thiệu tốt/hướng dẫn (về khả năng: NLP thống kê, phân loại văn bản, phân nhóm) Bạn có thể tìm thấy một số thư viện (WEKA hoặc nltk tùy thuộc vào ngôn ngữ bạn chọn nhưng bạn cần hiểu các khái niệm để sử dụng thư viện.

2

Latent Semantic Analysis (LSA) có thể bạn quan tâm. Đây là a nice introduction.

Phân tích ngữ nghĩa tiềm ẩn (LSA) là một kỹ thuật trong xử lý ngôn ngữ tự nhiên, đặc biệt trong ngữ nghĩa vectơ, phân tích mối quan hệ giữa tập hợp tài liệu và các thuật ngữ chúng chứa bằng tập hợp các khái niệm liên quan đến tài liệu và điều kiện. [...]

+2

LSA là một kỹ thuật để giảm kích thước bằng cách hợp nhất các thuật ngữ tương tự với một số phép toán nghiêm trọng. Tôi nghĩ rằng anh ta có một chặng đường dài để đi (đầu tiên xây dựng các vectơ tài liệu một cách chính xác và sau đó phân cụm) trước khi xem xét áp dụng LSA ở giữa. –

1

Điều bạn muốn là rất nhiều vấn đề mở trong NLP. @ Ali của câu trả lời mô tả các ý tưởng ở một mức độ cao, nhưng phần "Xây dựng một vector tài liệu cho mỗi câu trả lời" là một trong những thực sự khó khăn. Có một vài cách rõ ràng để xây dựng một vectơ tài liệu từ một vectơ của các từ chứa trong đó. Ngoài ra, nhân và trung bình là nhanh, nhưng họ bỏ qua cú pháp một cách có ảnh hưởng. Man bites dogDog bites man sẽ có cùng một biểu diễn, nhưng rõ ràng không cùng ý nghĩa.Google compositional distributional semantics - theo như tôi biết, có những người tại các trường đại học Texas, Trento, Oxford, Sussex và tại Google làm việc trong khu vực.

Các vấn đề liên quan