【问题标题】:How to find similar Sentences using FastText ( Sentences with Out of Vocabulary words)如何使用 FastText 查找相似的句子(词汇不足的句子)
【发布时间】:2021-10-08 13:40:34
【问题描述】:

我正在尝试创建一个可以找到相似句子的 NLP 模型。例如,应该可以说“Software Engineer”、“Software Developer”、“Software Dev”、“Soft Engineer”是相似的句子。

我有一个数据集,其中包含一系列角色,例如首席执行官、软件工程师,这些术语的变体将是未知的(超出词汇表)。

我正在尝试将 fastText 与 Gensim 一起使用,但遇到了困难。 有没有人推荐过可能对我有帮助的阅读材料/教程?

【问题讨论】:

  • 我投票结束这个问题,因为它属于Data Science Stack Exchange 论坛,因为它与编程问题没有直接关系。请把问题移到那里。
  • 我明白了。谢谢

标签: machine-learning nlp gensim fasttext


【解决方案1】:

对于 FastText(和类似 word2vec 的算法)来说,仅仅角色列表可能不够数据,它需要在自然使用上下文中查看单词(或标记),以及其他相关词,逐渐将它们推向有趣的相对相似性对齐方式。

你只有头衔,还是对角色的其他描述?

如果标题由单个单词组成,在其标题上下文中的含义与正常上下文中的大部分相同,并且它们非常短(每个 2-3 个单词),一种可能的方法是尝试“字移动距离”(WMD)指标。

您需要从别处训练的具有良好上下文和兼容词义的良好词向量,以便 'software'、'engineer' 等单独的向量都相当不错。然后,您可以使用 Gensim 的词向量类中的 .wmdistance() 方法来计算在所有文本词中,一个词组与另一个词组的差异程度。

更新:请注意,对于来自 WMD 的值(以及来自余弦相似度的值),您通常不应该关注它们的绝对值,而只关注它们如何影响相对排名。也就是说,无论wmd(['software', 'engineer'], ['electric', 'engineer']) 返回什么原始值,无论是0.01 还是100,重要的衡量标准是该数字与其他成对比较的比较,例如wmd(['software', 'engineer'], ['software', 'developer'])

【讨论】:

  • 我有标题和描述。但是,描述中没有使用标题。我在 word2vec-google-news-300 数据集上尝试了 word movers 指标,它似乎不是很准确。它说像“软件工程师”和“电气工程师”这样的头衔非常接近,而它们却不是。您对我可以从其他地方获得具有兼容词义的良好词向量有什么建议吗?感谢您的帮助!
  • 在所有两个单词的世界中 software engineerelectric engineer 都非常接近!而且,请参阅我添加到关于正确解释大规模杀伤性武器或余弦相似度值的答案的 update。是的,同样,对于 WMD 和其他词向量项目一样,您确实希望使用与您的领域相关的词向量。 (GoogleNews 向量来自新闻文章,并且在 8 年多的时间里变得有点陈旧,因此尽管有 300 万个单词,但可能没有正确的新术语、缩写词和词义,因为其他领域的现代项目需要。 ) …
  • 如果您有足够的数据,最好从您正在分析的文本中训练自己的词向量。您可以尝试将标题和描述一起运行以获得通用的单词模型。您可以尝试将标题包含为 both 它们的多标记版本 (['senior', 'software', 'engineer']) 和人工复合标记 (['senior_software_engineer']) - 这样您的模型就可以同时了解单个单词和完整的 -标题,在它重复的范围内。
  • 对于一组固定的标题(在原始数据中或清理后),您可以考虑使用fasttext-supervised 模式,从文本描述中预测完整标题。 (请注意,Gensim 中未实现此模式。)您可以尝试应用 Gensim 的 Doc2Vec,将标题或标题词作为 doc-tags。根据您对相似度分数的预期用途,可以考虑使用其他文本分类或文本聚类或文本排名算法。对于某些用途,即使只是简单的共享子字符串/编辑距离测量也可能有助于将拼写错误/非标准措辞与标准标题相关联。
  • 谢谢!这很有意义。我会尝试这些技术并更新!
猜你喜欢
  • 2017-07-01
  • 2011-05-11
  • 2020-03-29
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
  • 2018-09-23
  • 2018-02-02
  • 2015-01-23
相关资源
最近更新 更多