【问题标题】:String clustering (using trigrams?)字符串聚类(使用三元组?)
【发布时间】:2014-12-03 01:05:43
【问题描述】:

我有一个字符串列表,我想将其分类。然后我想在每个组的字符串上显示。

假设我的列表如下所示:

  • 敏捷的棕狐跳过懒狗
  • 敏捷的棕狐跳过懒狗!!!
  • 棕狐跳过懒狗
  • Zing,侏儒运动员烦恼淋巴
  • 侏儒运动员烦恼淋巴123
  • 我喜欢饼干

然后我想展示这样的东西(每个类一个字符串):

  • 敏捷的棕狐跳过懒狗
  • 侏儒运动员烦恼淋巴123
  • 我喜欢饼干

我知道三元组是一种非常简单且有用的解决方案,可以将字符串分类为“相似的字符串”和“不同的字符串”。我也很确定它们可以用于将字符串列表划分为类,但我不确定如何。

这里有人可以帮助我吗,或者我应该使用完全不同的东西吗?

比起高精度,我更喜欢一种简单且可维护的方法。

【问题讨论】:

  • 您的问题是clustering,而不是classification(已编辑标签和标题)

标签: machine-learning cluster-analysis trigram


【解决方案1】:

您几乎可以使用任何聚类技术,只需从每个聚类中选择一个代表即可。最简单的方法之一是在文本的 n-gram 空间上使用 k-medoids,并打印出集群的质心(因为 k-medoids 要求质心成为训练集的一部分)

【讨论】:

    【解决方案2】:

    您还没有提到用于将字符串聚类成组的标准。从您的问题中不清楚什么是分组标准。我可以想象任何标准:

    • 字符串长度在一定范围内
    • 字符串中出现(或未出现)的一些字母
    • 字符串中出现(或未出现)的一些单词
    • 字符串接近某个指标(例如 Levenstein 距离)
    • 字符串在感觉上很接近
    • 还有数百个..

    请准确说明您的案例的分类标准是什么。

    【讨论】:

      猜你喜欢
      • 2015-08-22
      • 2015-08-31
      • 2020-09-17
      • 2014-02-19
      • 1970-01-01
      • 2016-06-18
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      相关资源
      最近更新 更多