自然语言处理(NLP),尤其是英语,已经发展成为如果存在"完美"的引理词,词干将成为一种古老技术的阶段.这是因为词干分析器将单词/标记的表面形式改变为一些无意义的词干.
然后,"完美"变形器的定义是值得怀疑的,因为不同的NLP任务需要不同级别的词形还原.例如,在动词/名词/形容词形式之间转换单词.
词干
[in]: having
[out]: hav
Run Code Online (Sandbox Code Playgroud)
Lemmatizers
[in]: having
[out]: have
Run Code Online (Sandbox Code Playgroud)
所以问题是,英语词干器今天有用吗?因为我们有大量的英语词汇化工具
如果不是,那么我们应该如何着手构建强大的lemmatizers可以取nounify,verbify,adjectify和adverbify
预处理?
如何将词形还原任务轻松扩展到与英语具有相似形态结构的其他语言?
使用NLTK和WordNet,如何将简单时态动词转换为现在的,过去的或过去的分词形式?
例如:
我想写一个函数,它会给我预期形式的动词,如下所示.
v = 'go'
present = present_tense(v)
print present # prints "going"
past = past_tense(v)
print past # prints "went"
Run Code Online (Sandbox Code Playgroud) 我试图从python中使用Wordnet的动词中获取名词.我希望能够得到:
从动词'创造'名词'创造者',
'funded' => 'funder'
Verb X => Noun Y
Run Code Online (Sandbox Code Playgroud)
Y 是指一个人
我已经能够做到另一面了: Noun Y => Verb X
import nltk as nltk
from nltk.corpus import wordnet as wn
lem = wn.lemmas('creation')
print lem
related_forms = lem[0].derivationally_related_forms()
print related_forms
Run Code Online (Sandbox Code Playgroud)
这是给出的输出
[Lemma('creation.n.01.creation'), Lemma('creation.n.02.creation'), Lemma('creation.n.03.creation'), Lemma('initiation.n.02.creation'), Lemma('creation.n.05.Creation'), Lemma('universe.n.01.creation')]
[Lemma('create.v.02.create'), Lemma('produce.v.02.create'), Lemma('create.v.03.create')]
Run Code Online (Sandbox Code Playgroud)
但是,我正试图做相反的事情.这是一个看起来像我想做的链接,但代码不起作用,不回应我的请求:
在动词/名词/形容词形式之间转换单词
我正在使用wordnet为我的项目尝试词义消歧.作为项目的一部分,我想将派生的形容词或副词形式转换为它的根名词形式.
例如
美丽==>美妙的奇观==>奇迹
我怎样才能做到这一点?除了wordnet之外还有其他任何提供这种转换的词典吗?
如果我可以将形容词的确切意义映射到具有确切意义的名词形式,那对我来说将是一个额外的好处.那可能吗?
谢谢
有没有办法在NLTK或其他python库中获得与给定副词相对应的形容词.例如,对于副词" 非常 ",我需要变得" 可怕 ".谢谢.
我需要使用python中的NLTK库列出单词的所有形式(动词,名词,比较词,最高级词,形容词和副词)。例如,如果我有“ write”一词,则结果应为:writing writer writer writer等...,如果该词可以比较和最高级形式书写,例如;冷然后更冷,最冷。快速:快速等。有没有办法做到这一点?
有谁知道如何将英语形容词转换为相应的副词?Python是理想的选择,但实际上任何编程方法都很棒。
我尝试过pattern.en,nltk wordnet和spacy无济于事。
将副词转换为其根形容词形式没有问题。我在这里使用SO解决方案。
我想要的是走另一条路。从形容词到副词。
这是nltk词网代码,可以在不同的词形式之间转换词,但是对于形容词<->副词转换失败。
具体来说,我想要一个这样的函数getAdverb:
getAdverb('quick')
>>> quickly
getAdverb('noteable')
>>> notably
getAdverb('happy')
>>> happily
Run Code Online (Sandbox Code Playgroud)
任何代码,资源或建议将不胜感激!
如何在python中获得副词和形容词的相应动词和名词?似乎简单的继承和优先可能不是很准确.可能存在类似于例如的停用词.在我很高兴学习......
我不能将任何图书馆甚至问题陈述正式化.
现在代码.现在我想为句子中的每个形容词返回相应的副词和名词动词.请帮忙.
Code:
def pos_func(input_text):
#pos tagging code:
text=input_text
tokens=tokenize_words(text)
tagged=pos_tag(tokens)
pos_store(tagged)
def pos_store(tagged):
verbs=[]
adjectives=[]
adverbs=[]
nouns=[]
for tag in tagged:
pos=tag[1]
if pos[0]=='V':
verbs.append(tag[0])
elif pos[0]=='N':
nouns.append(tag[0])
elif pos[0]=='J':
adjectives.append(tag[0])
elif pos[0:2]=='RB':
adverbs.append(tag[0])
def tokenize_words(text):
tokens = TreebankWordTokenizer().tokenize(text)
contractions = ["n't", "'ll", "'m"]
fix = []
for i in range(len(tokens)):
for c in contractions:
if tokens[i] == c: fix.append(i)
fix_offset = 0
for fix_id in fix:
idx = fix_id - 1 - fix_offset
tokens[idx] = tokens[idx] + …Run Code Online (Sandbox Code Playgroud) nlp ×7
python ×6
nltk ×5
wordnet ×5
linguistics ×1
python-2.7 ×1
spacy ×1
stanford-nlp ×1
stemming ×1