各位板友好
小弟最近碰到一个分群的问题
首先我有一个term-by-document的matrix
假设我有8个term是A B C D E F G H
想利用cos similarity对这8个term做分群
分群的条件是群内的任两个term的cos similarity都大于等于门槛值
例如最后分出来的最大的两群为(A B C D) 以及 (F G H)
群内的任意两个term的cos similarity都大于等于门槛值
但是目前能想到的方法只有暴力法
例如先找跟A的cos similarity大于等于门槛值的term
可以先找到(A B C D E)这一个群,这时候就跑循环检查B C D E的相似度
在循环的过程中发现B跟E不相似,所以要把E或B拿掉,如果把E拿掉的话,
会变成(A B C D),之后检查C跟D也符合条件,就输出(A B C D)这一个群,
但如果把B拿掉的话,会变成(A C D E),但可能之后的检查过程中发
现C跟E又不相似,之后把C拿掉,接着D跟E又不相似,之后把D拿掉,到最后只会
剩下(A E),但是(A E)这一群并不是最大的...请问有什么有效率的算法有办法
解决目前我遇到的这个问题嘛?
谢谢指教