所以,我必须承认,我完全是nlp的新手,我对nltk一无所知,我只是试图使用上一位开发人员留下的遗留代码。我需要对大部分来自化学和生物技术出版物的词语进行词汇化。我通常使用WordNetLemmatizer。大多数情况下,它都是有效的。
from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
lemmatizer.lemmatize('cats')返回cat。
但后来我试着
lemmatizer.lemmatize('dehydrogenases')它返回‘脱氢酶’。我想让它返回‘脱氢酶’。我该怎么做呢?
发布于 2020-03-24 00:43:39
说明
如果您将nltk作为模块安装,然后使用以下代码初始化WordNetLemmatizer:
from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()你可能会得到一个LookupError,上面写着:
LookupError:
**********************************************************************
Resource wordnet not found.
Please use the NLTK Downloader to obtain the resource:
>>> import nltk
>>> nltk.download('wordnet')
For more information see: https://www.nltk.org/data.html
Attempted to load corpora/wordnet.zip/wordnet/Reason
您初始化的词条化器是基于WordNet的。引用WordNet的文档:
WordNet®是一个大型的英语词汇数据库。名词、动词、形容词和副词被分成一组认知同义词(同义词),每个同义词表达一个不同的概念。同义词通过概念-语义和词汇关系相互联系。由此产生的有意义的相关单词和概念的网络可以使用浏览器进行导航。WordNet也可以免费公开下载。WordNet的结构使其成为计算语言学和自然语言处理的有用工具。
基本上,它没有英语词典中的所有单词来进行词汇化。因此,虽然它适用于猫这个词,但它可能不适用于不在WordNet词法数据库中的其他词。
我希望这能帮到你。
https://stackoverflow.com/questions/60817384
复制相似问题