nltk python 3 如果名词在用户输入中,你如何 return true?
nltk python 3 how do you return true if a noun is in the user input?
我正在使用 nltk,下面显示的这个方法应该可以打印 "noun found"
如果输入中有名词。问题是它没有,有人可以展示吗
我该怎么做谢谢!
NOUN_CODES = {
'NN', # Noun, base form
'NNP',
'NNS',
'NNPS',
def Command_Noun_Check(what_person_said_l,what_person_said_l_wt):
Command_Noun_Result = nltk.pos_tag(what_person_said_l_wt)
print (Command_Noun_Result)
for x in Command_Noun_Result:
if x in NOUN_CODES:
print ("Noun Found")
return True
else:
return False
这个简单的函数应该return一个句子中的所有名词。请记住,nltk.pos_tag 需要对句子进行标记化,return 由 nltk.pos_tag 编辑的值是一个元组数组。
import nltk
from nltk.tokenize import word_tokenize as wt
NOUN_CODES = ['NN', 'NNP'] # input any codes you want here
def check_nouns(sentence):
tokenized = wt(sentence)
tags = nltk.pos_tag(tokenized)
return [i[0] for i in tags if i[1] in NOUN_CODES]
在您的代码中,我假设 what_person_said_l_wt 已标记化。在这种情况下,我将按以下方式修改它(使用更好的格式并牢记缩进):
NOUN_CODES = ['NN','NNP','NNS','NNPS']
def Command_Noun_Check(what_person_said_l,what_person_said_l_wt):
Command_Noun_Result = nltk.pos_tag(what_person_said_l_wt)
print (Command_Noun_Result)
for x in Command_Noun_Result:
if x[1] in NOUN_CODES:
print ("Noun Found")
return True
else:
return False
我正在使用 nltk,下面显示的这个方法应该可以打印 "noun found" 如果输入中有名词。问题是它没有,有人可以展示吗 我该怎么做谢谢!
NOUN_CODES = {
'NN', # Noun, base form
'NNP',
'NNS',
'NNPS',
def Command_Noun_Check(what_person_said_l,what_person_said_l_wt):
Command_Noun_Result = nltk.pos_tag(what_person_said_l_wt)
print (Command_Noun_Result)
for x in Command_Noun_Result:
if x in NOUN_CODES:
print ("Noun Found")
return True
else:
return False
这个简单的函数应该return一个句子中的所有名词。请记住,nltk.pos_tag 需要对句子进行标记化,return 由 nltk.pos_tag 编辑的值是一个元组数组。
import nltk
from nltk.tokenize import word_tokenize as wt
NOUN_CODES = ['NN', 'NNP'] # input any codes you want here
def check_nouns(sentence):
tokenized = wt(sentence)
tags = nltk.pos_tag(tokenized)
return [i[0] for i in tags if i[1] in NOUN_CODES]
在您的代码中,我假设 what_person_said_l_wt 已标记化。在这种情况下,我将按以下方式修改它(使用更好的格式并牢记缩进):
NOUN_CODES = ['NN','NNP','NNS','NNPS']
def Command_Noun_Check(what_person_said_l,what_person_said_l_wt):
Command_Noun_Result = nltk.pos_tag(what_person_said_l_wt)
print (Command_Noun_Result)
for x in Command_Noun_Result:
if x[1] in NOUN_CODES:
print ("Noun Found")
return True
else:
return False