chủ đề của tôi là sự giống nhau và phân cụm (một loạt) văn bản. Tóm lại: Tôi muốn nhóm các văn bản thu thập lại với nhau và chúng sẽ xuất hiện trong các cụm có ý nghĩa ở cuối. Để làm điều này, cách tiếp cận của tôi cho đến bây giờ là như sau, vấn đề của tôi là trong clustering. Phần mềm hiện tại được viết bằng php.Phân cụm hiệu quả của ma trận tương tự
1) Tương tự: Tôi xử lý mọi tài liệu dưới dạng "bag-of-words" và chuyển đổi các từ thành vectơ. Tôi sử dụng
- lọc (chỉ "thật" từ)
- tokenization (split câu diễn tả bằng lời)
- bắt nguồn (giảm từ để hình thức cơ bản của họ; Stemmer Porter)
- tỉa (cắt chữ với quá cao & tần số thấp)
làm phương pháp giảm kích thước. . Sau đó, tôi đang sử dụng cosin tương đồng (như đề xuất/mô tả trên các trang web khác nhau trên web and here
Kết quả sau đó là một ma trận tương tự như thế này:
A B C D E
A 0 30 51 75 80
B X 0 21 55 70
C X X 0 25 10
D X X X 0 15
E X X X X 0
A ... E là văn bản của tôi và Bởi vì sim (A, B) == sim (B, A) chỉ có một nửa của ma trận được điền vào. Vì vậy, sự giống nhau của văn bản A để văn bản D là 71%
Tôi muốn tạo ra một số nhóm chưa biết (!) Chưa biết trước của ma trận này. Các cụm phải đại diện cho các mục tương tự (đến một điểm dừng nhất định) p tiêu chí) với nhau.
Tôi đã thử một thực hiện cơ bản bản thân mình, đó là cơ bản như thế này (60% như một ngưỡng tương đồng cố định)
foreach article
get similar entries where sim > 60
foreach similar entry
check if one of the entries already has a cluster number
if no: assign new cluster number to all similar entries
if yes: use that number
Nó làm việc (bằng cách nào đó), nhưng là không tốt chút nào và kết quả thường các cụm quái vật. Vì vậy, tôi muốn làm lại điều này và đã có một cái nhìn vào tất cả các loại thuật toán phân cụm, nhưng tôi vẫn không chắc cái nào sẽ hoạt động tốt nhất. Tôi nghĩ rằng nó nên là một thuật toán kết tụ, bởi vì mỗi cặp văn bản có thể được xem như là một cụm trong đầu. Nhưng vẫn còn các câu hỏi là những gì các tiêu chí dừng là và nếu thuật toán nên phân chia và/hoặc hợp nhất các cụm hiện có với nhau.
Xin lỗi nếu một số nội dung có vẻ cơ bản nhưng tôi tương đối mới trong lĩnh vực này. Cảm ơn đã giúp đỡ.
Bạn có nhận được bất kỳ câu trả lời hay nào không? Nó thậm chí không rõ ràng với tôi bao nhiêu kích thước clustering nên làm việc trong ... – Jim