首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nltk lemmatizers不识别化学名称的复数形式

Nltk lemmatizers不识别化学名称的复数形式
EN

Stack Overflow用户
提问于 2020-03-24 00:13:58
回答 1查看 124关注 0票数 0

所以,我必须承认,我完全是nlp的新手,我对nltk一无所知,我只是试图使用上一位开发人员留下的遗留代码。我需要对大部分来自化学和生物技术出版物的词语进行词汇化。我通常使用WordNetLemmatizer。大多数情况下,它都是有效的。

代码语言:javascript
复制
from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
lemmatizer.lemmatize('cats')

返回cat。

但后来我试着

代码语言:javascript
复制
lemmatizer.lemmatize('dehydrogenases')

它返回‘脱氢酶’。我想让它返回‘脱氢酶’。我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2020-03-24 00:43:39

说明

如果您将nltk作为模块安装,然后使用以下代码初始化WordNetLemmatizer:

代码语言:javascript
复制
from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()

你可能会得到一个LookupError,上面写着:

代码语言:javascript
复制
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词法数据库中的其他词。

我希望这能帮到你。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60817384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档