文章观点提取的几种测试

有需求要从文章里面如果有观点就摘出来,没有观点就放过去,在一开始的demo中我尝试了2种办法。


首先对文本进行一些必要的清洗处理,去掉无意义符号,去掉前后空格等等,然后将文章分割成N个句子,句子的分隔符以句号或感叹号等分句符进行判断。

然后对分割好的句子进行以下操作


1.使用依存句法分析

采取HanLP对句子进行依存句法分析,得到句子的语法树。使用一些观点句子进行测试,比如“XXX专家表示,XXXXXXXXXXXXXXXXXX”这种类型的句子,还是比较容易得到一个相对准确的语法树,观察了几组观点后却发现因为中文的表达方式太多,并不是所有可以被认为观点的语法树结构都相似,甚至几乎都是大相径庭,难以提取出一种可以用来识别观点语句的模式。也可能是工具的准确性问题,但我更倾向认为这是难以实现的,因为中文的表达方式实在太多了。


2.使用简单的关键字提取判断

通过整理一些观点的文章数据可以看出,大部分有价值的,可以认为是观点的句子一般都会带“表示,宣称,认为,透露”等等这一类动词,于是决定采用简单粗暴的以关键词来识别观点。当句子中只要出现了以上我们认为是观点动词时我们都会认为这是一句疑似观点句。然后对动词之前的句子进行分词,对比多个观点句的分词之后决定将所有词性为N开头,即词性为名词类的词连接起来,一般都可以得到一个相对准确的观点表达人。但是又会出现一些“XXX对记者表示”类型的句子,所以还添加了一步对谓词的过滤,尽量提取到我们认为是想要的句子。


实践最后采用了第二种办法,应用上的数据看起来效果还可以。有时候想想,在NLP的领域,有好多算法真的是难以施展拳脚,甚至不如一些土办法来的准确率可能高一些。保持学习的过程中,还是要多思考,不能盲目的去实践,结合论文和实际生产环境来判断应该使用什么方法。在这个问题上,由于针对的目标语句其实是具有比较明显特征的,所以土办法使用起来确实准确率较高。

你可能感兴趣的:(lucene)