You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用MongoDB聚合框架实现70%-80%部分相似字符串分组?

MongoDB部分相似问题分组需求及现有方案局限

我在MongoDB的一个集合中存入了约5000条问题,现在需要将相似度处于70%-80%区间的部分相似问题归为一组,再返回给前端。

我尝试了以下MongoDB聚合管道,但它仅能对100%完全相同的问题进行分组:

{
  '$group': {
    '_id': {
      '$toLower': '$question'
    },
    'count': {
      '$sum': 1
    },
    'allData': {
      '$push': {
        '_id': '$_id',
        'question': '$question',
        'categoryId': '$categoryId',
        'subCategoryId': '$subCategoryId',
        'answers': '$answers',
        'solution': '$solution',
        'createdAt': '$createdAt',
        'updatedAt': '$updatedAt'
      }
    }
  }
}, {
  '$match': {
    'count': {
      '$gte': 2
    }
  }
}

需要识别的相似问题示例

示例1

关于地震,哪些陈述是正确的?
关于地 震,哪些陈述是正确的?
:::上述两个问题应被标记为相似。

示例2

沃尔沃集团的总部位于欧洲哪个城市?
沃尔沃的总部位于欧洲哪个城市?
:::上述两个问题相似度达70%-80%,应被标记为相似。

内容的提问来源于stack exchange,提问作者Debojyoti Dey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 03:35:29