我有一个nltk应用程序需要部分语音(pos)标记,主要目标是识别动词。包含逗号分隔的动词序列的句子在应用程序中很常见。
例如:
我在公园里跑步,游泳和滑冰。
请考虑以下代码:
import nltk
nltk.pos_tag(nltk.tokenize.word_tokenize('I run, swim, and skate in the park'))
错误地将滑冰和游泳标记为名词:
[('I', 'PRP'), ('run', 'VBP'), (',', ','), ('swim', 'NN'), (',', ','), ('and', 'CC'), ('skate', 'NN'),('in', 'IN'), ('the', 'DT'), ('park', 'NN')]
当在每个动词本身的句子中时,动词被正确标记。
例如:
nltk.pos_tag(nltk.tokenize.word_tokenize('I swim in the park'))
产生
[('I', 'PRP'), ('swim', 'VBP'), ('in', 'IN'), ('the', 'DT'), ('park', 'NN')]
和
nltk.pos_tag(nltk.tokenize.word_tokenize('I skate in the park'))
产生
[('I', 'PRP'), ('skate', 'VBP'), ('in', 'IN'), ('the', 'DT'), ('park', 'NN')]
标记“我在公园里跑步,游泳和滑冰”所涉及的是什么,运行,游泳和滑冰都被认为是动词?
提前致谢!
布赖恩