我正在使用SentiWordNet和Apache NLP库制作情感分析工具。 问题是,当我使用NLP库标记句子时,我得到的结果如
Test_NNP Tweet_NNP is_VBZ ready_JJ now_RB for_IN the_DT change._NN
但是sentiWordNet有POS
个标记,例如a
,v
,n...etc
如何转换NNP
,VBZ
,{{1使用Apache NLP到JJ
或n
或v
?
我应该使用不同的库来标记吗?
答案 0 :(得分:1)
您从Apache NLP获得的标签是Penn Treebank标签,您必须将标签转换为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 ''