评论标签提取

1.目的:标签提取是提取评论中的核心词语生成标签,比如像评价汽车“油耗超低的,外观也挺漂亮的”,提取出来的标签就是“油耗低”、“外观漂亮”。

应用场景就是,比如我们写盘点类文章,我们的主题是10万以内油耗低的suv,因为之前对每条评论都进行了标签提取,生成了一个字段,当文章里需要展示评论的时候,就可以通过这个字段,把相应的评论拿出来。

2.方法:句法分析,多分类来实现这样的功能。

尝试了两种方法。

预处理:分词、词性标注。

3.一种方法:首先针对11个垂类,抓取了各个有关站点的评论数据,有的站点会提供评论的标签,这个标签也会抓下来。这样就相当于各个垂类有了一批有标签的数据。然后对这些标签进行归一化处理,比如“质量不错,质量很好,东西不错”,都可以归为”质量好“这个标签。然后将他们下面的评论评论都放到一起。这样问题就转化成了一个有监督的分类问题。可以用分类模型去做。但是我们尝试了之后发现效果不是特别好,首先这个精度不是很高,只有70%多,另外一个大问题是,我们通过抓取站点中的这些评论标签,得到的标签是固定,并且有限的,就类似于淘宝的评论,他们是如果有8条评论的标签都是一样的,那么就展示这个标签,但是当有新的评论来的时候,这条评论可能提供了新的标签,但是模型并没有学习到这种对应关系。另外一个就是有的站点,只展示好评的标签,差评的标签是抓不到的,所以直接使用他们的标签不太合理。(另一种方法是直接当成分类问题,抓数据的时候能抓到友商提供的标签,然后进行训练,当成多分类问题,进行分类。但是这样一个不好处是,标签是固定的,太少了,之后可能会有新的标签进来,没有扩展性。)

4.另一种方法:依存句法分析。

https://www.ltp-cloud.com/intro/#dp_how 

HanLp,

规则:比如主体词性一般为名词或名词短语,而修饰词一般为形容词或动名词之类的

进行依存句法分析,根据每个句子中的依存关系,抽取 关键标签,构成此实体的标签库,通过观察,发现我们需要的标签类型的短语句式都是主谓宾结构的。比如”这款车的外观看起来还是很大气的“,提取出主体名词为“外观”,形容词为“大气”,“看起来”、“还是”、“很”都是修饰“大气”的,组成ADV(状中关系),“外观”和“大气”组成SBV(主谓关系),显然句法成分验证没问题,最终评论标签: 外观+大气。

并且对标签库进行归一化处理,利用dbscan+word2vec的方法对标签进行聚类,通过聚类将语义相似的一些标签聚在一起,实现语义消重的作用。使用dbscan可以很好地将相关标签聚在一起,而不过多地引入杂质。后针对每个品类取top20的标签进行人工review。

这样下来精确率已经挺高的了,但是召回略低,1.利用强规则提取标签,定义若干样本;2.对这些样本再进行一次TextCNN模型训练;3.利用训练好的TextCNN模型去作分类处理。

 

 

 

你可能感兴趣的:(NLP相关)