我正在尝试对语料库中的多义词或具有不同含义的词进行语义聚类以进行课堂学习,我想通过词嵌入来做到这一点,但我不知道如何达到我想要的聚类目标。(我正在寻找的类似目标作为图片发布在下面)
我有什么:一个语料库
我想要的是:考虑到这些词具有多种含义,将 K 个常用词与语料库中其他最相关的语义相似词聚类。
例如:假设单词cell在语料库中重复 5000 次,这里有一些句子:“生物细胞中有很多细胞器”、“他去了监狱牢房”和
“我们的手机快用完了”,在每个我们在上下文中收到的句子与 cell 不同,分别是血细胞、监狱和手机/电话。
因此,我想将每个单词 [例如此处的单元格] 与它们在语义上相似的单词进行聚类。(有时相似的词是同义词)
我做了什么:
- 预处理语料库以找到 K 个频繁词。
- 由于单词的每个含义都与对应的句子上下文相关,我认为我们可以将这些句子的 BERT 向量与其他句子进行比较,但问题是 Bert 将向量与向量进行比较,不同的意义取决于它们的句子,但我不知道如何我应该在与第一句话比较的句子中正确定位语义相似的单词。
我搜索了相关论文,有一个WordNet,看起来很相似,但不是用词嵌入方法构建的。
虽然有像
GloVe
,,这样的词嵌入可以给我们带来相似的词FastText
,Word2Vec
但上下文会被忽略,我没有找到任何可以在语义上工作的地方!
最后有一个ELMo
ELMo 词表示将整个输入句子带入计算词嵌入的方程。因此,术语“细胞”在不同的上下文中会有不同的 ELMo 向量,但它仍然按上下文对单词进行分类,而不是将语义相似的单词放在一个类别中,这样我不知道如何通过它们来聚类不同的含义语义相似的词。
另外,我检查了文件,WSD不是我想要的东西,也许Word Sense Induction
聚类似乎更准确,但仍然不准确。
这是一张 WordNet 的照片,里面有单词Search,有点像我想要的东西。(你可以看到每个词搜索集群在语义上都连接到它们的相似组)
我在这里要求获得更多想法,或者我的直觉可能都是错误的。
谢谢你的时间。
任何信息都会有所帮助和赞赏。