(生物医学)词干的所有可能的词形补全

2024-10-02 02:39:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我熟悉R中tm包中的词干和补全

我正试图想出一个快速而肮脏的方法来找到给定单词的所有变体(在一些语料库中)。例如,如果我的输入是“白细胞”,我想得到“白细胞”和“白细胞”。在

如果我必须现在就做,我可能只会做一些类似的事情:

library(tm)
library(RWeka)
dictionary <- unique(unlist(lapply(crude, words)))
grep(pattern = LovinsStemmer("company"), 
    ignore.case = T, x = dictionary, value = T)

我用Lovins是因为Snowball的搬运工似乎不够积极。在

我愿意为其他词干分析器、脚本语言(Python?)提供建议或者完全不同的方法。在


Tags: 方法dictionarylibrary变体单词事情tmunique
1条回答
网友
1楼 · 发布于 2024-10-02 02:39:00

这个解决方案需要对语料库进行预处理。但一旦完成,这是一个非常快速的字典查找。在

from collections import defaultdict
from stemming.porter2 import stem

with open('/usr/share/dict/words') as f:
    words = f.read().splitlines()

stems = defaultdict(list)

for word in words:
    word_stem = stem(word)
    stems[word_stem].append(word)

if __name__ == '__main__':
    word = 'leukocyte'
    word_stem = stem(word)
    print(stems[word_stem])

对于/usr/share/dict/words语料库,这将产生结果

^{pr2}$

它使用^{}模块,该模块可以与

pip install stemming

相关问题 更多 >

    热门问题