我正在使用SentiWordNet和阿帕奇NLP库开发一个情感分析工具。问题是当我使用NLP库标记句子时,我得到的结果如下,
Test_NNP Tweet_NNP is_VBZ ready_JJ now_RB for_IN the_DT change._NN
但是sentiWordNet有POS
标记,如a
、v
、n...etc
--如何使用Apache将NNP
、VBZ
、JJ
转换为n
或v
或a
?我应该使用不同的库来标记吗?
发布于 2014-09-04 06:50:18
从Apache获得的标记是Penn标记,您必须将这些标记转换为SentiWordNet兼容的标记。以下函数将树状银行标记映射到语音名称的WordNet部分:
def get_wordnet_pos(treebank_tag):
if treebank_tag.startswith('J'):
return 'a'
elif treebank_tag.startswith('V'):
return 'v'
elif treebank_tag.startswith('N'):
return 'n'
elif treebank_tag.startswith('R'):
return 'r'
else:
return ''
https://stackoverflow.com/questions/25657854
复制相似问题