首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用FastText (词汇外的句子)找到相似的句子

如何利用FastText (词汇外的句子)找到相似的句子
EN

Stack Overflow用户
提问于 2021-08-03 10:35:03
回答 1查看 571关注 0票数 2

我正在尝试创建一个NLP模型,它可以找到类似的句子。例如,应该可以说“软件工程师”、“软件开发人员”、“软件开发人员”、“软件工程师”是类似的句子。

我有一个数据集,其中列出了一些角色,如Cheif高管、软件工程师,这些术语的变化将是未知的(词汇量不足)。

我试着在Gensim中使用fastText,但是很困难。有没有人推荐过可能对我有帮助的阅读材料/教程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-03 17:11:48

对于FastText (以及类似的Word2vec类算法)来说,仅仅列出角色可能不是足够的数据,它需要查看自然用法上下文中的单词(或标记),以及其他相关的单词,以逐步将它们推入相对相似性对齐。

你只是有头衔或其他角色的描述吗?

如果标题是由单个单词组成的,在标题上下文中,这些词的含义大多与正常上下文中相同,而且它们非常短(每个字数为2-3个单词),一种可能的方法是尝试"word mover's title“(WMD)度量。

你会想要从其他地方训练好的单词向量,它们具有良好的上下文和兼容的词义,因此'software'、'engineer'等单独的向量都是相当好的。然后,你可以在Gensim的单词向量类中使用.wmdistance()方法来计算一个度量,在所有文本单词中,一个单词的运行与另一个单词的运行不同。

Update:请注意,对于来自大规模毁灭性武器的值(以及那些来自余弦相似性的值),您通常不应该纠结于它们的绝对值,而应该只关注它们如何影响相对排名。也就是说,无论wmd(['software', 'engineer'], ['electric', 'engineer'])返回什么原始值(无论是0.01还是100 ),重要的衡量标准都是这个数字与其他成对比较的比较方式,比如wmd(['software', 'engineer'], ['software', 'developer'])

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68634515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档