我想使用BERT词嵌入生成同义词或类似词。 我开始使用BERT进行此操作。 对于以后的软件集成,必须在JAVA中完成,因此我选择了easy-bert (https://github.com/robrua/easy-bert)。
看来我可以通过这种方式来嵌入单词:
try(Bert bert = Bert.load(new File("com/robrua/nlp/easy-bert/bert-uncased-L-12-H-768-A-12"))) {
float[][] embedding = bert.embedTokens("A sequence");
float[][][] embeddings = bert.embedTokens("Multiple", "Sequences");
}
您知道我如何从这些词嵌入中获得相似词吗?
感谢您的帮助!
答案 0 :(得分:1)
该主题的类似任务(词汇替换)将属于 LS07 和 LS14。 一位研究人员使用 BERT 在这些基准测试中达到了 SOTA。 你会感兴趣阅读这篇论文。 https://www.aclweb.org/anthology/P19-1328.pdf
作者如下。
<块引用>将 dropout 应用于目标词的嵌入以进行部分屏蔽 这个词,允许 BERT 平衡考虑目标 用于提议替代候选者的词的语义和上下文,以及 然后根据候选人的替代影响来验证候选人 关于句子的全局上下文化表示。"
我不知道如何重现相同的结果,因为该实现未向公众开放。但这里有一个提示 - 可以应用嵌入 dropout 来生成替代候选。