【发布时间】:2019-09-01 21:43:05
【问题描述】:
我正在使用词嵌入模型(通过 Gensim 库的 FastText)来扩展搜索条件。 所以,基本上,如果用户写“操作系统”,我的目标是用“os”、“windows”、“ubuntu”、“software”等非常相似的术语来扩展这个术语。
该模型运行良好,但现在是使用“外部信息”改进模型的时候了,“外部信息”是指 OOV(词汇表外)术语或没有良好上下文的术语。
按照我上面写的示例,当用户编写操作系统时,我想用“一般”术语扩展查询:
FastText 模型中内置的术语:
- 窗户
- ubuntu
- 软件
与
代表(组织/公司)的术语,例如“Microsoft”、“Apple”,因此完整的查询将是:
- 术语:操作系统
- 查询:操作系统、操作系统、软件、windows、ios、Microsoft、Apple
我的问题是我在语料库中没有公司,或者,如果存在的话,我不需要太多的上下文来将微软“链接”到“操作系统”。
例如,如果我在语料库中提取一个片段,我可以读到“......我已于 2000 年 11 月开始与我的朋友约翰在 Microsoft 工作......”所以,如您所见,我无法将“Microsoft”上下文化这个词,因为我确实没有很好的上下文。
一个小回顾:
- 我有一个语料库,其中公司(术语)的上下文很差
- 我有一个大型数据库,其中包含公司及其业务的描述。
我需要做什么:
我想将这些公司包含在我的 FastText 模型中,并“手动”设置他们的单词上下文/相关术语云。
想法?
【问题讨论】:
-
你不能,首先你需要了解使用word embeddings word2vec或fast text library的目的,它是用来根据被包围的词的上下文找到词向量的。
-
@min2bro 我知道,但我也必须将公司放在上下文中......所以,我应该手动将它们添加到语料库中吗?然后再次训练模型?
标签: python machine-learning nlp gensim