使用SentiWordNet和Apache OpenNLP的情感分析工具

时间:2014-09-04 05:25:32

标签: machine-learning nlp sentiment-analysis opennlp

我正在使用SentiWordNetApache NLP库制作情感分析工具。 问题是,当我使用NLP库标记句子时,我得到的结果如

Test_NNP Tweet_NNP is_VBZ ready_JJ now_RB for_IN the_DT change._NN

但是sentiWordNet有POS个标记,例如avn...etc如何转换NNPVBZ,{{1使用Apache NLP到JJnv? 我应该使用不同的库来标记吗?

1 个答案:

答案 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 ''