L—RES:一个轻量级评论抽取系统的设计与实现
2016-07-05彭庆喜张力张瑞志
彭庆喜 张力 张瑞志
【摘 要】本文利用Java结合开源机器学习工具Weka设计与实现了一个轻量级评论抽取原型系统L-RES。首先设计了一个爬行子系统,将评论从网站爬取下来,然后对网页进行解析以及结构化。进一步,采用机器学习方法挖掘评论中的情感信息。最后将原型系统封装撑API供开发者是使用。实验证明该框架非常有效。
【关键词】L-RES;评论;抽取;Weka
1 引言
随着互联网的发展,电子商务更广泛的被使用。同时,产品评论越来越引起人们的关注。据调查,在电子购物网站上,当产品的评分从4.5到5.0分(满分5分),可以为用户带来25%的产品销量增长[1]。因此产品评论网站如Yelp,Resellerratings,Tripadvisor,中国的点评网(Dianping.com)等越来越多。然而,产品评论网站中的评论信息数量巨大,内容庞杂,用户很难从中获取自己感兴趣的信息。本文设计与实现了一个Web评论抽取系统Lightweight Review Extraction System(L-RES),通过爬虫将Web评论抽取下来。进一步的从,采用机器学习方法对评论按照情感进行分类。最后的结果设计成API供开发者调用。
2 L-RES抽取子系统设计
本文设计的抽取系统主要由以下模块组成:(1)网页爬行模块;(2)网页解析模块。
2.1 网页爬行模块
为了获取网页,爬虫必须像一个web客户端那样进行工作。它首先向服务器发送一个http请求,并读取返回的响应。如果读取到的http状态码为200,则表示本次请求成功,并建立了一个连接。为了让爬虫系统能够正常且自动的爬取特定的网页,必须首先建立一个种子URL,作为爬虫抓取网页的入口。当连接建立之后,爬虫会获取到连接到的网页,并提取特定的网页链接加入到URL队列,然后保存连接到的网页文件到相应的文件系统,进入到下一次爬取和链接抽取的状态,直到目标URL全部抓取完成。Redis是一个基于C语言且开源的内存数据库,使用Redis中的Set集合可以实现爬虫队列的功能,故本文使用Redis数据库作为本文爬虫系统的URL队列。
2.2 网页解析模块
本文爬虫的网页解析模块使用jsoup1.9.1和文档型数据MongoDB [2]开发。
jsoup是一个用于解析HTML标签的Java类库,它提供了非常便利的API来操作和抽取HTML标签下的信息。
MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为web应用提供可扩展的高性能数据存储方案。是非关系型数据库中功能最丰富的数据库产品。本文主要利用MongoDB存储手机评论语句、评论人、评论时间、产品评分等信息。MongoDB与RDBMS(Relationship Database Management System)的最大区别在于,MongoDB中没有表结构的概念,存储在数据库中的最小单元为文档,故本文中解析得到的信息在MongoDB中的存储形式为:{
Comment: ,
Holder: ,
Time: ,
Score:
}
其中Comment是评论语句,Holder是评论人,Time是评论时间,Score是产品评分。
3 L-RES情感分析子系统
数据预处理是情感分析的前提,对于情感分类任务而言,需处理的数据一般为非结构化文本,故需要借助自然语言处理技术来处理此类数据。
在情感分析之前需对数据完成诸如分词、去除停用词、词干恢复、词性标注、句法分析、语义分析、句子依存关系分析等处理任务,以便充分获取特征词,进而提高情感分类的召回率和精确率。
本文中的数据预处理模块基于weka [3]开发完成,主要实现了以下功能:
(1)中文情感句的依存关系分析;
(2)英文情感句的依存关系分析;
(3)英文句的词性标注;
(4)中文句子的分词处理;
(5)向量空间模型的生成;
本框架主要实现了情感分类算法:算法描述如下:
Step1:对待处理数据做去停止词,分词及词性标注等预处理;
Step2:将Step1 得到的数据作为训练数据训练简单贝叶斯分类器;
Step3:对测试数据集执行Step1并将得到的数据用于测试Step2中训练的模型。若测 试结果符合要求则执行Step4,否则依次执行Step1,Step2和Step3;
Step4:保存测试好的分类器;
Step5:调用Step4得到的分类器对未标记数据执行分类任务;
4 总结
本文研究了Web评论的抽取。设计与实现了一个轻量级评论抽取系统原型系统L-RES。首先设计爬行系统从互联网爬取评论信息,然后设计了网页解析模块对网页进行解析与结构化,然后将评论持久化到Mongo DB数据库。进一步,调用Weka分类算法对评论中的情感进行分类。最后将结果封装给开发者使用。该系统目前存在的问题在于,针对管控比较严格的评论系统还不能有效抽取评论。另外一方面,系统的可扩展性不強,下一步我们打算针对这两方面对其进行改进。
参考文献
[1]Here's Proof That Yelp Rating Can Make Or Break A Retailer. "Here's Proof That Yelp Rating Can Make Or Break A Retailer." Businessinsider
[2]Tong Y M,Huang W,Dai-Wei L I,et al. Design and implementation of information integration system based on Mongo DB[J]. Information Technology,2015
[3] Hall M. The WEKA Data Mining Software: An Update SIGKDD Explorations[J]. Acm Sigkdd Explorations Newsletter,2010,11(1):10-18