当前位置: 首页 > 面试题库 >

python中的wordnet词法化和pos标记

温亮
2023-03-14
问题内容

我想在python中使用wordnet
lemmatizer,并且我了解到默认pos标记为NOUN,并且除非为pos标记明确指定为VERB,否则它不会为动词输出正确的引理。

我的问题是,为了准确地进行上述词素化,什么是最好的镜头?

我使用了pos标记nltk.pos_tag,但是迷失了将树库pos标记集成到wordnet兼容pos标记中的信息。请帮忙

from nltk.stem.wordnet import WordNetLemmatizer
lmtzr = WordNetLemmatizer()
tagged = nltk.pos_tag(tokens)

我得到了NN,JJ,VB,RB中的输出标签。如何将它们更改为Wordnet兼容标签?

我还必须训练nltk.pos_tag()带标签的语料库,还是可以直接在数据中使用它来进行评估?


问题答案:

首先,您nltk.pos_tag()无需培训即可直接使用。该函数将从html" target="_blank">文件中加载预训练的标记器。您可以使用以下命令查看文件名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中使用wordnet lemmatizer,我了解到默认的pos标记是NOUN,并且它不会为动词输出正确的引理,除非pos标记明确指定为动词。 我的问题是什么是最好的镜头,以便准确地执行上述表达? 我使用做了pos标记,我迷失在将树库pos标记集成到wordnet兼容pos标记中。请帮助 我得到了NN、JJ、VB、RB中的输出标签。如何将这些更改为与wordnet兼容的标签? 我

  • 问题内容: 我有以下两个带有POS标签的字符串: Sent1 :“ 类似作家专业或 词组工作方式的 东西真的很酷。 ” [(’something’,’NN’),(’like’,’IN’),(’how’,’WRB’),(’writer’,’NN’),(’pro’,’NN’) ,(或),(CC),(短语学,NN),(作品,NNS),(would,MD),(be,VB) ,(’really’,’RB’)

  • 问题内容: 我现在有一个wordnet中所有名词的列表,我只想保留车辆中的单词,其余的删除。我该怎么做?下面是我要制作的伪代码,但我不知道如何使它工作 问题答案: 这会给你从每一个同义词集这是一个所有独特的词下义词的名词“车辆”(第一感觉)的。

  • 我想为我的搜索引擎从数据库中提取一个基本的同义词列表。这包括通常拼写的名字,如Shaun vs.Shawn,Muhammad的不同变体,命名实体的首字母缩写,如United Nations(UN)或SARS(Severe acute respiratory syndrome)。 在提取之后,这个同义词列表将被放置在服务器中,并以这样的方式存储--相关术语/同义词的字符串。 示例 我使用了jaws

  • tl;dr.我怎样才能将词根和词性标签组合成一个完全修改过的单词? 例如:

  • 问题内容: WordNet很棒,但是我很难在nltk中获得同义词。如果您在此处类似地搜索“ small”一词,则会显示所有同义词。 基本上,我只需要了解以下内容: 哪里的选项可以是化名和反义词,但是获取同义词的选择是什么? 问题答案: 如果您想要同义词集中的同义词(又称组成集合的引理),则可以使用以下命令获取它们: