machine-learning - 如何训练模型按预定义的含义区分/分类单词?
问题描述
深度学习和 NLP 中的语义分析通常是关于整个句子的含义,例如情感分析。在很多情况下,一个词的意思可以通过句子结构来理解。例如,
你能从中看出这一点吗?
你能告诉我一些关于这件事的事情吗?
是否有任何既定的方法可以通过数据集训练模型
word meaning_id sentence
tell 1 Can you tell this from that?
tell 2 Can you tell me something about this?
请注意,目的只是按预定义的含义/示例对单词进行分类。
我使用的是斯坦福 CoreNLP,但我怀疑是否有这种可能性。任何深度学习程序都可以。
解决方案
我能想到的是使用上下文化的 WordEmbeddings。这些是给定上下文的单词的嵌入。这意味着根据上下文,一个词有另一个嵌入。BERT 生成这样的上下文化嵌入。可以假设这些嵌入对于不同的含义有显着差异,但对于一个单词的相同含义却非常相似。你会做的是:
- 用包含你的单词“tell”的句子运行 BERT
- 从 BERT 的最后一层提取单词“tell”的嵌入
- 尝试将特定嵌入聚类为不同的含义。如果你已经有了预定义的含义和一些例句,你甚至可以尝试训练一个分类器。
这是一个博客条目,展示了这种方法的可行性。