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

Test_NNP Tweet_NNP is_VBZ ready_JJ now_RB for_IN the_DT change._NN


但是sentiWordNet具有POS标签,例如avn...etc如何使用Apache NLP将NNPVBZJJ转换为nva
我应该使用其他库进行标记吗?

最佳答案

从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 ''

关于machine-learning - 使用SentiWordNet和Apache OpenNLP的情感分析工具,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25657854/

10-16 18:25