您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python中的wordnet词法化和pos标记

python中的wordnet词法化和pos标记

首先,您nltk.pos_tag()无需培训即可直接使用。该函数将从文件中加载预训练的标记器。您可以使用以下命令查看文件nltk.tag._POS_TAGGER

nltk.tag._POS_TAGGER
>>> 'taggers/maxent_treebank_pos_tagger/english.pickle'

在使用Treebank语料库进行训练时,它也使用Treebank标签集

以下功能会将树库标签映射到语音名称的WordNet部分:

from nltk.corpus import wordnet

def get_wordnet_pos(treebank_tag):

    if treebank_tag.startswith('J'):
        return wordnet.ADJ
    elif treebank_tag.startswith('V'):
        return wordnet.VERB
    elif treebank_tag.startswith('N'):
        return wordnet.NOUN
    elif treebank_tag.startswith('R'):
        return wordnet.ADV
    else:
        return ''

然后可以将返回值与lemmatizer一起使用:

from nltk.stem.wordnet import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
lemmatizer.lemmatize('going', wordnet.VERB)
>>> 'go'

在将返回值传递给Lemmatizer之前,请先检查返回值,因为空字符串会产生KeyError

python 2022/1/1 18:34:11 有340人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶