簡體   English   中英

如何在Java中使用k-means算法執行單詞聚類

[英]how to perform word clustering using k-means algorithm in java

請幫助我如何在Java中使用k-means算法執行單詞聚類。 從文檔集中,我得到單詞及其頻率計數。 然后我不知道如何開始集群。我已經搜索了谷歌。 但是不知道。 請告訴我執行單詞聚類的步驟。 現在非常需要。 提前致謝。

托比·塞加蘭(Toby Segaran)撰寫的“編程集體智慧”中有一個精彩的章節,介紹了如何執行此操作。 這些示例使用Python,但是應該易於移植到Java。

在集群中,最重要的事情是構建一種方法,該方法檢查事物(例如)如何“緊密”在一起。 例如,您是否對具有相同lang的字符串感興趣,可能像這樣:

int calculateDistance(String s1, String s2) {
     return Math.abs(s1.length() - s2.length());
}

然后我不太確定,但是可以這樣:1.選擇(可以是隨機的)第一個k字符串,2.迭代所有字符串,並將它們與“最近”字符串相關聯。

然后可以是一些事情,例如從其中的每個“集群”中進行選擇,然后重新啟動。 我不記得100%的情況,但我認為這是一個很好的起點。

請記住,最重要的是方法calculateDistance()!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM