awi*_*bra 5 nlp full-text-search data-mining
我需要在一大组客户支持评论中计算一组给定形容词的单词频率.但是我不想包括被否定的那些.
例如,假设我的形容词列表是:[有帮助,知识渊博,友好].我想确保"友好"不算在"代表不是非常友好"这样的句子中.
我是否需要对文本执行完整的NLP解析,或者是否有更简单的方法?我不需要超高精度.
我对NLP并不熟悉.我希望有一些没有如此陡峭的学习曲线并且处理器密集程度不高的东西.
谢谢
如果你想要的只是形容词频率,那么问题相对简单,而不是一些残酷的、不太好的机器学习解决方案。
做什么?
在文本上添加 POS 标签。这会使用词性标签来注释您的文本,因此您的准确率将达到 95% 或更高。您可以使用斯坦福解析器在线标记您的文本以感受它。解析器实际上还为您提供语法结构,但您只关心标记。
您还想确保句子被正确分解。为此,您需要一个断句器。它包含在斯坦福解析器等软件中。
然后,只需分解句子,给它们贴上标签,然后用 ADJ 标签或他们使用的任何标签来计算所有内容。如果标签没有意义,请查找 Penn Treebank 标签集(Treebank 用于训练 NLP 工具,Penn Treebank 标签是常见的)。
如何?
Java或Python是NLP工具的语言。Python,使用 NLTK。它很简单、有据可查且易于理解。
对于Java,有GATE、LingPipe 和Stanford Parser 等。使用斯坦福解析器真是太痛苦了,幸运的是我已经受过苦了,所以如果你选择走那条路,你就不必这样做。请参阅我的谷歌页面,了解斯坦福解析器的一些代码(在页面底部)示例。
全部吗?
不,你可能也想提取形容词的词干——这就是你得到单词词根形式的地方:
汽车 -> 汽车
我实际上无法想到需要使用形容词的情况,但它可能会发生。当您查看输出时,您会很清楚是否需要这样做。词性标注器/解析器/等将为您提供词干词(也称为引理)。
更多NLP解释 请看这个问题。