从多行文本中提取相似/同义词的方法:使用BERT和NMSLIB

我们将首先将文本进行词语分词,因为我们想要单个词语作为输出结果。然后,我们将使用BERT(句子转换器)将最常见的词语进行嵌入,然后使用NMSLIB获取每个词语的最接近匹配。我们将使用来自Twitter的推文数据集来查找其中的相似词语。
注意:在本文中,我们正在查找整个数据集中的相似词语/同义词。因此,我们将获取所有行并提取最常见的名词,然后对它们进行处理。不会有行的概念。此外,所得到的词语不一定是完全可替代的同义词,而只是可能或可能不会直接替代句子中的相似词语。例如,我们最终可能得到“excellence”和“quality”,以及“soundcloud”和“spotify”。
清理推文
我们首先对数据进行清理。我删除停用词和数字,并将文本转换为小写。


创建推文中所有单词的列表
在每个推文进行清理后,我们将对每个推文进行词语分词,并创建一个列表。
缩小单词列表的规模
由于我们有大量的单词要处理,对所有单词查找相似词语将没有意义。因此,我选择了最频繁出现的单词(前10000个),然后进一步仅保留其中的名词。
