我有一个(不完美的)集群字符串数据,其中一个集群中的项目可能如下所示:
[
Yellow ripe banana very tasty,
Yellow ripe banana with little dots,
Green apple with little dots,
Green ripe banana - from the market,
Yellow ripe banana,
Nice yellow ripe banana,
Cool yellow ripe banana - my favourite,
Yellow ripe,
Yellow ripe
],
最佳标题是“黄熟香蕉”。
目前,我正在使用简单的启发式方法——在 SQL GROUP BY 的帮助下选择最常见或最短的名称。我的数据包含大量此类簇,它们经常变化,并且每次在簇中添加或删除新水果时,都必须重新计算簇的标题。
我想改进两点:
(1)效率——例如,只将新的水果名称与聚类的标题进行比较,避免每次对所有水果标题进行分组/词组聚类。
(2)精确度——我想提取最常见的短语,而不是寻找最常见的完整名称。当前的算法会选择'Yellow成熟',重复2次,是最常见的完整短语;然而,正如短语“黄熟香蕉”是给定集合中最常见的。
我正在考虑使用 Solr + Carrot2(没有第二个经验)。此时,我不需要对文档进行聚类——它们已经根据其他参数进行了聚类——我只需要选择中心短语作为聚类的中心/标题。
非常感谢任何输入,谢谢!