如何从python中的短语中提取头名词?

如何从python中的短语中提取头名词?,python,nlp,Python,Nlp,我正在做一项关键短语分类任务,为此,我正在用python从关键短语中提取中心名词。互联网上提供的少量帮助没有什么用处。这个任务被称为词性标注,属于自然语言处理(NLP)领域。为了从文本中提取名词,您可以使用nltk import nltk text= 'Your text goes here' # Check if noun (=NN) isNoun = lambda pos: pos[:2] == 'NN' # tokenise text and keep only nouns toke

我正在做一项关键短语分类任务,为此,我正在用python从关键短语中提取中心名词。互联网上提供的少量帮助没有什么用处。这个任务被称为词性标注,属于自然语言处理(NLP)领域。为了从文本中提取名词,您可以使用
nltk

import nltk

text= 'Your text goes here'

# Check if noun (=NN)
isNoun = lambda pos: pos[:2] == 'NN'

# tokenise text and keep only nouns
tokenized = nltk.word_tokenize(lines)
nouns = [word for (word, pos) in nltk.pos_tag(tokenized) if isNoun (pos)] 
print(nouns)
TextBlow

from textblob import TextBlob
text= 'Your text goes here'
blob = TextBlob(text)
print(blob.noun_phrases)

如果你想了解更多关于词性标注的知识,你可能会发现它非常有用

您可以使用NLTK工具包对句子使用词性标记,并提取与“名词”、“动词”相关的标记

输出:

您可以使用并获取依赖关系;然后使用适合您的关系,例如nn或component(名词复合修饰语)。您可以查看De Marneffe的类型依赖项手册

在手册中,“石油价格期货”的名词短语包含有两个修饰语和一个词头的复合词

您可以从Stanford解析器演示界面检查任何句子的解析树和依赖项

希望这有帮助


干杯

我想你在做一些自然语言分析,也许可以作为一个一般性的建议来看看;我建议您确定要解决的子问题/任务。在这种情况下,我不知道你到底想做什么。我假设你想找到句子中的第一个名词。您可以使用正则表达式模块[1]将句子拆分为单词,然后检查每个单词是否为名词[2]。[1] [2]我不知道这个答案会被否决:)有人能解释一下吗?
text = '''I am doing a keyphrase classification task and for this i am working with the head noun extraction from keyphrases in python. The little help available on internet is not of good use. i am struggling with this.'''
pos_tagged_sent = nltk.pos_tag(nltk.tokenize.word_tokenize(text))

nouns = [tag[0] for tag in pos_tagged_sent if tag[1]=='NN']
[('I', 'PRP'),
 ('am', 'VBP'),
 ('doing', 'VBG'),
 ('a', 'DT'),
 ('keyphrase', 'NN'),
 ('classification', 'NN'),