法律状态公告日
法律状态信息
法律状态
2019-09-03
授权
授权
2017-01-11
实质审查的生效 IPC(主分类):G06F17/30 申请日:20160715
实质审查的生效
2016-12-14
公开
公开
技术领域
本发明属于数据挖掘领域,涉及一种短文本观点挖掘技术,具体是一种基于互补语料的短文本观点挖掘方法。
背景技术
随着Web 2.0技术的快速发展,互联网用户生成了大量内容,尤其是电子商务领域产生了大量用户生成的产品使用体验以及评论,这些产品评论对产品口碑的形成产生了重要影响,同时公共事件民众评论为在线社会舆情分析提供了丰富的数据来源。
但是这些评论文本属于典型的短文本,具有长度短、噪声数据多的特点,同时人工对短文本进行分析和归纳的工作量繁重,几乎不现实,因此结合自然语言处理、机器学习等技术对评论的短文本观点挖掘一度成为学术及业界的研究热点和难点。
发明内容
本发明基于互补的微博和新闻语料,创造性地引入新闻文本帮助挖掘隐藏在微博短文本中的事件主题,并对各主题下微博和新闻中的观点进行对比分析;从而克服了短文本主题模糊的问题,同时为事件分析提供了准确客观的主题词以及情感鲜明的观点词,并对观点词进行了极性分析,实现了全面而深入的基于属性的观点挖掘;具体是一种基于互补语料的短文本观点挖掘方法。
具体步骤包括:
步骤一、针对某段微博,从微博语料中根据观点词词典选取训练语料,并进行分词处理,词性标注和筛选;
微博语料包括至少一条微博文本;
分词处理是根据中文语言的特点,将训练语料中选择的每条中文文本切割成一个一个的单词;
词性标注是给每一个单词打上词性标签,词性标签包括形容词、动词、名词、副词、连词、叹词和方位词等。
筛选是指去除无意义的停用词,单个词,以及高频和低频词。
步骤二、根据观点词词典中的观点词,将训练语料进行属性词的标注;
属性词是指,在训练语料中选择的每条文本中,至少包括一个观点词,出现观点词附近的又不在观点词集合中的词。
观点词集合是指从观点词词典中选取的观点词组成的集合。
步骤三、对标注完属性词的训练语料,结合观点词,使用词性标注做为特征,训练最大熵模型;
最大熵模型的使用方法为:对于一段新的微博语料,首先进行分词处理和词性标注,针对某个标注了词性的分词,将该分词以及附近的两个分词的词性标注,共同输入最大熵模型自动得到该分词属于属性词的概率或者观点词的概率;
步骤四、针对某个事件,同时分析该事件的微博语料和新闻语料,构建跨语料的话题模型,并结合最大熵模型,分析该事件所属的话题并提取相应的属性词分布和观点词分布;
跨语料话题模型用来计算事件中的某个分词归属为共享话题的具体话题概率,或者独享话题中的具体话题概率;
具体为:
步骤401、针对某个事件,同时选取该事件的微博语料和新闻语料,组成集合语料;
新闻语料包括至少一条新闻文档,微博语料包括至少一条微博文档,文档由句子组成;
步骤402、对集合语料中的每条文档,分别进行分词处理和词性标注并筛选;
步骤403、将每条文档中的分词组成输入列表,作为跨语料话题模型的输入;
步骤404、针对该事件的集合语料,初始化共享话题个数和共享话题的相关词分布,以及独享话题个数和独享话题的相关词分布,以及所有不同的分词集合
共享话题是指,与事件相关的微博语料和新闻语料享有的共同属性。
独享话题是指,与事件相关的微博语料或新闻语料报道的多个不同事件属性。
根据集合语料的所有分词,去除重复分词,计算得出所有不同的分词集合为
将第z个共享话题的相关词分布
其中,
步骤405、根据输入分词列表、初始化的分词分布和所有不同分词的集合,利用跨语料话题模型选出最终的分词;
跨语料话题模型的使用方法为:
步骤4051、根据输入文档d所处的语料类型,生成语料类型指示变量c。
如果文档d是微博语料中的一篇文档,则c=1,若文档d是新闻语料中的一篇文档,则c=2;
步骤4052、对于输入文档d中的某个句子s,根据共享独享指示变量rd,s标记该句子s由共享话题生成或者独享话题生成;
指示变量rd,s表示句子s是否是由共享话题生成;rd,s=0表示句子s由共享话题生成;rd,s=1表示句子s由独享话题生成;
步骤4053、为文档d中的句子s选取话题下标指示变量zd,s;
zd,s表示文档d中的句子s选取的第z个话题,共享或独享由rd,s决定;
rd,s=0,生成共享话题下标
初始化文档d的共享话题分布
步骤4054、对于句子s中某个输入分词wd,s,n,根据最大熵模型计算该分词wd,s,n属于观点词或者属性词的指示变量yd,s,n值;
根据最大熵模型得到分词wd,s,n属于属性词的概率,若分词属于属性词的概率大于属于观点词的概率,则分词被判定为属性词,用指示变量yd,s,n=0表示;否则分词属于观点词的概率大于属于属性词的概率,则该分词判定为观点词,用yd,s,n=1表示。
步骤4055、根据语料类型指示变量c、共享独享指示变量rd,s、属性观点指示变量yd,s,n和话题下标指示变量zd,s,根据话题词分布从输入文档d中选出最终的分词wd,s,n;
若rd,s=0,yd,s,n=0,生成词
若rd,s=0,yd,s,n=1,生成词
若rd,s=1,yd,s,n=0,生成词
若rd,s=1,yd,s,n=1,生成词
步骤406、将最终分词输入到期望最大化算法EM,迭代计算跨语料话题模型中的参数,输出该事件实际共享话题的相关词分布,或者独享话题的相关词分布。
参数包括
步骤五、针对某个具体共享话题的所有观点词或者某个具体独享话题中的所有观点词,利用情感分类器进行极性分析。
极性分析是指:利用基于情感词典的方法进行情感分类,区分观点词的极性,从而获得每类观点的正面情感、中性情感和负面情感的比例。
本发明的优点是:
1)、一种基于互补语料的短文本观点挖掘方法,适用于对舆情事件的属性分析及观点挖掘,具有高效性、鲁棒性和易用性的特点,在观点挖掘、舆情监控等领域具有重要的应用价值。
2)、一种基于互补语料的短文本观点挖掘方法,可以通过微博语料和新闻语料的互补性,准确地发现事件的主要话题,并区分每个话题的客观方面(属性词)和主观观点(观点词),并对每个观点的正负极性进行统计。
3)、一种基于互补语料的短文本观点挖掘方法,提供了一种非监督学习方法,自动发现事件话题并进行观点分析。
4)、一种基于互补语料的短文本观点挖掘方法,提出了一种自动构建最大熵分类器训练数据的算法,避免了人工标注训练数据,提高了模型的可用性。
附图说明
图1为本发明一种基于互补语料的短文本观点挖掘方法图;
图2为本发明分析事件所属的话题并提取相应的属性词和观点词分布方法图;
图3为本发明利用跨语料话题模型选出最终的分词的流程图。
具体实施方式
下面将结合附图对本发明作进一步的详细说明。
本发明进一步考虑短文本在基于属性的观点挖掘上的劣势,即短文本表达更加情绪化和口语化以致于主题或者属性比较模糊,与此相反,新闻文本的属性突出,但观点比较单调和隐晦。有鉴于此,本发明引入一种基于互补语料的短文本观点挖掘方法,结合新闻文本挖掘隐藏在微博短文本中的事件主题,并对各主题下微博和新闻中的观点进行对比分析,最后对观点进行极性分析。
首先在短文本语料中训练最大熵模型,建立属性词(客观词)和观点词(主观词)的自动分类器,以自动的方式同时挖掘事件的隐藏方面以及相应的观点;随后构建跨语料的话题模型,分析事件的属性,将事件属性细分为共享属性和独享属性,最后利用基于情感词典的情感分类器,对事件的观点进行极性分析,获取舆情事件中观点的极性比例。
如图1所示,具体实施步骤如下:
步骤一、针对某段微博,从微博语料中根据观点词词典选取训练语料,并进行分词处理,词性标注和筛选;
微博语料包括至少一条微博文档,每条文档包含多个句子;从微博语料中选取属性和观点较为丰富的文本,用作最大熵模型的训练语料。使用中科院分词系统ICTCLAS对训练语料进行分词处理和词性标注处理。
分词处理是根据中文语言的特点,将训练语料中选择的每条中文文本切割成一个一个的单词;
词性标注是给每一个单词打上词性标签,词性标签包括形容词、动词、名词、副词、连词、叹词、方位词等。
筛选是指对分词后的结果,做如下处理:其一是去除无意义的停用词,其二是去除单个词,其三是去除高频和低频词。
步骤二、根据观点词词典中的观点词,将训练语料进行属性词的标注;
属性词是指,在训练语料中选择的每条文本中,至少包括一个观点词,出现观点词附近的又不在观点词集合中的词。
观点词集合是指从观点词词典中选取的观点词组成的集合。
首先从一个通用的观点词词典中选取M个观点词,组成观点词集合
随后,从微博语料中选择S个文本,选取时需保证每个文本至少包含
通过大量观测发现在一个文本中两个观点词通常不会在一起出现,一个观点词的出现通常伴随着在其前后非观点词即属性词的出现。
其中,属性词是指能够表达事件主题的客观单词,如上海外滩踩踏事件语料中,典型的属性词包括“国民”、“素质”、“安全”、“秩序”,而观点词表达了网民对事件的主观倾向,典型的观点词包括“调查”、“宽慰”、“教育”、“无序”。
步骤三、对标注完属性词的训练语料,结合观点词,使用词性标注做为特征,训练最大熵模型;
对训练语料,根据属性词和观点词的标注结果,使用词性标注作为特征,训练最大熵模型,用以对新的文本进行属性词和观点词的自动分类,获取语料中每个词属于主客观词的先验概率。
最大熵模型的使用方法为:对于一段新的微博语料,首先进行分词处理和词性标注,针对某个标注了词性的分词,将该分词以及附近的两个分词的词性标注,共同输入最大熵模型自动得到该分词属于属性词的概率或者观点词的概率;
步骤四、针对某个事件,同时分析该事件的微博语料和新闻语料,构建跨语料的话题模型,并结合最大熵模型,分析该事件所属的话题并提取相应的属性词和观点词;
针对一篇文档(微博或新闻)隐含事件的多个属性,每个属性用话题来表示,每个话题用一组词的分布表示,如某篇文档中有一个对踩踏事件表示哀悼的话题,该话题中“叹息”出现2次、“遗憾”出现3词、“悲伤”出现5次、其他的词出现频率较低以致可以忽略不计(即一个词分布就是一组不同词出现频率的组合,不同的词分布构成了不同的话题),因此一篇文档可以看成是多个话题的混合体。
构建跨语料的话题模型就是,针对某个事件的微博语料和新闻预料组成集合语料,将集合语料中每个词的生成过程模拟出来,目标是分析得出集合语料中的共享属性、独享属性以及各自的属性词和观点词。
首先,话题模型假定事件隐含了若干属性,将事件属性即话题细分为共享话题和独享话题,共享话题为互补语料共享的事件属性,独享话题为微博或新闻语料特有的事件属性。每种话题又根据观点词和属性词的不同再进行细分,因此总共有四种话题的词分布,包括共享话题的观点词分布、共享话题的属性词分布、独享话题的观点词分布和独享话题的属性词分布。随后,跨语料话题模型进行每个词的生成。跨语料话题模型假定每个句子只隐含一个话题,针对每个句子,首先选择从共享或独享话题中选定一个话题,话题选定之后,对于句子中的某个词,需要判定该词是属性词或观点词,最后从相应的话题词分布去生成最终的分词。跨语料话题模型假定了话题的词分布,以及每个分词的生成过程,而实际模型输入的是分词,通过EM(期望最大化算法)可以反求出各类话题的词分布(即模型的参数)。
跨语料的话题模型的处理思路如下,针对微博语料和新闻语料:首先,模型提取出一个舆情事件相关的微博和新闻语料享有的共同属性。例如,上海外滩踩踏事件的微博和新闻语料中,均报道了此事件的几个属性,典型的属性包括(1)阐述人群较为拥挤,人群中出现“后退哥”大喊后退;(2)遇难者名单公布,遇难身份得到确认。这两个典型的属性组成了微博和新闻语料在外滩踩踏事件中的共同属性。其次,跨语料的话题模型提取出在一个舆情事件中微博和新闻语料报道的多个不同事件属性,例如,在上海外滩踩踏事件中,微博语料中包含了(3)有关民众素质有待提高的事件属性,而新闻语料中包含了(4)有关政府追究事件责任的事件属性。这两个属性构成了两个语料独享的事件属性。
随后,跨语料的话题模型针对微博和新闻语料共享的事件属性,提取相应的属性词和观点词。对于每一个共享的属性而言,有一组属性词表示属性本身,并生成相应微博语料的观点词和新闻语料的观点词,例如对于共享属性(1),属性词包括“外滩”、“后退哥”、“警察”、“秩序”等,表示了事件属性本身,微博语料观点词包括“好样”、“感动”、“冷静”、“感谢”等,表达了对后退哥的感激之情,新闻语料观点词包括“上面”、“下来”、“摔倒”、“拥挤”等,多是一种客观状况的描述。
最后,跨语料的话题模型针对微博和新闻语料的每一个独享属性,提取微博语料的属性词、观点词以及新闻语料的属性词、观点词。例如对于微博语料的独享属性(3),提取微博语料的属性词包括“素质”、“提高”、“国民”、“素养”,观点词包括“教育”、“提高”、“宽慰”、“无序”,表达了对国民素养提高的诉求,对于新闻语料的独享属性(4),提取新闻语料的属性词包括“事件”、“教训”、“事故”、“原因”,观点词包括“调查”、“客观”、“处理”、“严查”,阐述了政府调查事件责任的客观情况。
如图2所示,具体为:
步骤401、针对某个事件,同时选取该事件的微博语料和新闻语料,组成集合语料;
新闻语料包括至少一条新闻文档,微博语料包括至少一条微博文档,文档由句子组成;
步骤402、对集合语料中的每条文档,分别进行分词处理和词性标注并筛选;
步骤403、将每条文档中的分词组成输入列表,作为跨语料话题模型的输入;
步骤404、针对该事件的集合语料,初始化共享话题个数和共享话题的相关词分布,以及独享话题个数和独享话题的相关词分布,以及所有不同的分词集合
根据集合语料的所有分词,去除重复分词,计算得出所有不同的分词集合为
根据分词总数V,将第z个共享话题的相关词分布
集合语料中的共享话题
集合语料中的独享话题
通过跨语料话题模型和最大熵模型,将输入列表中每个分词进行话题分类,并计算每个分词属于具体话题中的观点词概率或者属性词概率。话题分类是指:针对某个分词,通过跨语料话题模型计算该分词归属为共享话题的概率或独享话题的概率,以及该分词归属为共享话题的具体话题概率,独享话题中的具体话题概率;
共享话题是指,与事件相关的微博语料和新闻语料享有的共同属性。
独享话题是指,与事件相关的微博语料或新闻语料报道的多个不同事件属性。
步骤405、根据输入分词列表、初始化的分词分布和所有不同分词的集合,利用跨语料话题模型选出最终的分词;
如图3所示,跨语料话题模型的使用方法为:
步骤4051、根据输入文档d所处的语料类型,生成语料类型指示变量c。
如果文档d是微博语料中的一篇文档,则c=1,若文档d是新闻语料中的一篇文档,则c=2;
步骤4052、对于文档d中的某一个句子s,根据共享独享指示变量rd,s标记该句子s由共享话题生成或者独享话题生成;
指示变量rd,s表示句子s是否是由共享话题生成;rd,s=0表示句子s由共享话题生成;rd,s=1表示句子s由独享话题生成;
该指示变量是句子s以σ为参数的伯努利分布生成的,服从rd,s~Bern(σd);σ由经验值给出,一般令σ=0.5;
步骤4053、为文档d中的一个句子s,选取该句子s的话题下标指示变量zd,s;
zd,s表示文档d中的文本s选取的第z个话题(共享或独享由rd,s决定);
rd,s=0,生成共享话题下标
步骤4054、对于句子s中某个分词wd,s,n,根据最大熵模型和属性观点指示变量yd,s,n,判断该分词wd,s,n属于观点词或者属性词;
wd,s,n表示文档d句子s中的第n个分词;借助最大熵模型得到分词wd,s,n属于属性词的概率,若分词属于属性词的概率大于属于观点词的概率,则分词被判定为属性词,指示变量yd,s,n=0,否则分词属于观点词的概率大于属于属性词的概率,则该分词判定为观点词,用yd,s,n=1表示。
步骤4055、根据语料类型指示变量c、共享独享指示变量rd,s、属性观点指示变量yd,s,n和话题下标指示变量zd,s,根据话题词分布从输入文档d中选出最终的分词wd,s,n;
跨语料话题模型假定话题的词分布已知,词是由分布生成的。
若rd,s=0,yd,s,n=0,生成词
若rd,s=0,yd,s,n=1,生成词
若rd,s=1,yd,s,n=0,生成词
若rd,s=1,yd,s,n=1,生成词
语料的观点词分布生成,该词是观点词;
步骤406、将最终分词输入到期望最大化算法EM,迭代计算跨语料话题模型中的参数,输出该事件实际共享话题的相关词分布,或者独享话题的相关词分布。
使用EM(期望最大化算法)以迭代方式计算跨语料话题模型中所有的参数,包括
步骤五、针对某个具体共享话题的所有观点词或者某个具体独享话题中的所有观点词,进行极性分析。
极性分析是指:利用基于情感词典的方法进行情感分类,区分观点词的极性,从而获得每类观点的正面情感、中性情感和负面情感的比例。
机译: 一种基于DNA频率谱的数据挖掘方法
机译: 一种预测基于互补性质量模型的感知图像质量的方法
机译: 一种基于人的互补编码的设备和方法,用于快速计算椭圆曲线密码学中的公钥,以确保物联网中的通信