首页 > 解决方案 > 词根的词形还原

问题描述

我刚刚开始学习/玩 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.lemmatizevariability, variables, variance, variationvary

标签: pythonnlpnltk

解决方案


推荐阅读