- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想对这段文字进行词形还原,它只是对名词进行词形还原,我还需要对动词进行词形还原
>>> import nltk, re, string
>>> from nltk.stem import WordNetLemmatizer
>>> from urllib import urlopen
>>> url="https://raw.githubusercontent.com/evandrix/nltk_data/master/corpora/europarl_raw/english/ep-00-01-17.en"
>>> raw = urlopen(url).read()
>>> raw ="".join(l for l in raw if l not in string.punctuation)
>>> tokens=nltk.word_tokenize(raw)
>>> from nltk.stem import WordNetLemmatizer
>>> lemmatizer = WordNetLemmatizer()
>>> lem = [lemmatizer.lemmatize(t) for t in tokens]
>>> lem[:20]
['Resumption', 'of', 'the', 'session', 'I', 'declare', 'resumed', 'the', 'session', 'of', 'the', 'European', 'Parliament', 'adjourned', 'on', 'Friday', '17', 'December', '1999', 'and']
这里像resumed这样的动词应该是resume你能告诉我我应该怎么做才能对整个文本进行词形还原
最佳答案
在wordnetlemmatizer中使用pos
参数:
>>> from nltk.stem import WordNetLemmatizer
>>> from nltk import pos_tag
>>> wnl = WordNetLemmatizer()
>>> wnl.lemmatize('resumed')
'resumed'
>>> wnl.lemmatize('resumed', pos='v')
u'resume'
完整代码如下,带有pos_tag
功能:
>>> from nltk import word_tokenize, pos_tag
>>> from nltk.stem import WordNetLemmatizer
>>> wnl = WordNetLemmatizer()
>>> txt = """Resumption of the session I declare resumed the session of the European Parliament adjourned on Friday 17 December 1999 , and I would like once again to wish you a happy new year in the hope that you enjoyed a pleasant festive period ."""
>>> [wnl.lemmatize(i,j[0].lower()) if j[0].lower() in ['a','n','v'] else wnl.lemmatize(i) for i,j in pos_tag(word_tokenize(txt))]
['Resumption', 'of', 'the', 'session', 'I', 'declare', u'resume', 'the', 'session', 'of', 'the', 'European', 'Parliament', u'adjourn', 'on', 'Friday', '17', 'December', '1999', ',', 'and', 'I', 'would', 'like', 'once', 'again', 'to', 'wish', 'you', 'a', 'happy', 'new', 'year', 'in', 'the', 'hope', 'that', 'you', u'enjoy', 'a', 'pleasant', 'festive', 'period', '.']
关于Python NLTK : how to lemmatize text include verb in english?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24232702/
我将 NLTK WordNet Lemmatizer 用于词性标记项目,首先将训练语料库中的每个单词修改为其词干(就地修改),然后仅在新语料库上进行训练。但是,我发现 lemmatizer 没有像我预
我想将“eat”之类的字符串转换为“eating”、“eats”。我搜索并找到了词形还原作为解决方案,但我遇到的所有词形还原工具都使用词表或字典查找。有没有什么词形还原器可以避免查字典,效率高,可能是
关闭。这个问题需要更多 focused .它目前不接受答案。 想要改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this q
我在 Brown Corpus 上通过 NLTK 使用 Wordnet Lemmatizer(以确定其中的名词是以单数形式还是复数形式更多地使用)。 即 from nltk.stem.wordnet
对于词形还原 spacy 有一个 lists of words :形容词、副词、动词...以及异常(exception)情况列表: adverbs_irreg... 对于常规的,有一组 rules 让
您好,我对 nltk (2.0.4) 有疑问:我试图阻止“男人”或“ dentry ”这个词,但它似乎不起作用。这是我的代码: ####################################
我正在尝试在推文上使用 NLTK WordNet Lemmatizer。 我想删除在 WordNet 中找不到的所有单词(twitter 句柄等),但 WordNetLemmatizer.lemmat
我正在将 wordNet 词形还原器应用到我的语料库中,并且我需要为词形还原器定义词性标注器: stemmer = PorterStemmer() def lemmitize(document):
我正在尝试使用 NLTK 的 WordNetLemmatizer 对句子中的所有单词进行词形还原。我有很多句子,但我只是使用第一句话来确保我正确执行此操作。这是我所拥有的: train_sentenc
我需要为关键字提取器找到与所有相关词匹配的公共(public)词根。 如何使用 python nltk 词形还原器将单词转换为相同的词根? 例如: generalized, generalizatio
我将词形还原添加到我的计数向量化器中,如 Sklearn page 中所述. from nltk import word_tokenize from nltk.stem import
我是 spacy 的新手,我想使用它的 lemmatizer 功能,但我不知道如何使用它,就像我进入单词字符串一样,它将以单词的基本形式返回字符串。 例子: '单词'=>'单词' '做过' =>'做'
tokens = [The, wage, productivity, nexus, the, process, of, development,....] 我正在尝试使用 SpaCy 的 Lemmat
我是文本分析的新手,正在尝试创建一个词袋模型(使用 sklearn 的 CountVectorizer 方法)。我有一个数据框,其中有一列文本包含“酸”、“酸性”、“酸度”、“木材”、“木质”、“木质
我正在尝试对文本中的单词进行词形还原。例如“pickled”应该变成“pickle”,“ran”应该变成“run”,“raisins”应该变成“raisin”等等。 我正在使用 nltk 的 Word
运行以下命令: from nltk import WordNetLemmatizer as wnl wnl().lemmatize("American") wnl().lemmatize("Ameri
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我目前正在尝试阻止一个大语料库(大约 800k 个句子)。我已经成功地只阻止了基本的一个。现在的问题是我只想提取特定单词的词干,例如此方法仅适用于引理是原始单词的子字符串的情况。例如,“苹果”一词的后
我知道如何注释一个句子并获得每个单词的引理,但如果我只想对单个单词进行引理,我不知道该怎么做。我试过 Annotation tokenAnnotation = new Annotation("wedd
我将 NLTK WordNet Lemmatizer 用于词性标记项目,首先将训练语料库中的每个单词修改为其词干(就地修改),然后仅在新语料库上进行训练。但是,我发现词形还原器没有按我的预期运行。 例
我是一名优秀的程序员,十分优秀!