python - 词根的词形还原
问题描述
我刚刚开始学习/玩 NLP,并且遇到了以下行为:
使用 nltk,我提取词的词性,然后按如下方式进行词形还原:
import nltk
from nltk import WordNetLemmatizer
from nltk.corpus import wordnet
wordnet_lemmatizer = WordNetLemmatizer()
def get_wordnet_pos(word):
"""Map POS tag to first character lemmatize() accepts"""
tag = nltk.pos_tag([word])[0][1][0].upper()
tag_dict = {"J": wordnet.ADJ,
"N": wordnet.NOUN,
"V": wordnet.VERB,
"R": wordnet.ADV}
return tag_dict.get(tag, wordnet.NOUN)
def pos_and_lemmatize(str):
return [wordnet_lemmatizer.lemmatize(w, get_wordnet_pos(w)) for w in nltk.word_tokenize(str)]
对以下单词执行pos_and_lemmatize
(或仅):仅返回相同的单词,而不是. 有什么方法可以实现这个目标?wordnet_lemmatizer.lemmatize
variability, variables, variance, variation
vary
解决方案
推荐阅读
- python - pickle.loads() 的问题 - 输入不足
- javascript - 在我的 Windows 7 32 位终端上尝试 expo-cli 时,我总是遇到错误
- rust - 是否有更短的方法来编写接受和返回闭包的函数签名?
- java - onRequestPermission / onActivityResult Android Studio 出错
- javascript - 使用 Ajax 和 vanilla JS 调用特定的 php 函数
- windows-10 - Windows 10 更改强调色开始菜单和应用程序背景
- android - 如何将滚动视图布局划分为多个固定大小的视图,以便在 Android 中创建多页 PDF
- c# - TypeDescriptor ConvertFromInvariantString 抛出异常?
- neo4j - Neo4J (Cypher) 查询以查找所有不遵循模式的路径
- c# - 在 ASP.NET Core 3.0 MVC 中通过 ViewData 多选发送数据