一种确定文档情感倾向性的方法及装置与流程

文档序号:19366551发布日期:2019-12-10 20:54阅读:191来源:国知局
一种确定文档情感倾向性的方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种确定文档情感倾向性的方法及装置。



背景技术:

网络舆情是近几年来逐渐兴起的一个课题,其在风险规避、服务提升等社会生活方面发挥了越来越重要的作用。情感计算主要是针对网络上的数据进行情感倾向性计算,统计大众对某件事情或者某个话题的支持程度、反对程度,也叫舆情计算。情感计算的结果对很多企业有非常重要的指导意义。

情感计算可以通过很多方法来实现,一般分为两大类型,一是基于机器学习的方法,二是纯粹基于词典的方法。机器学习的方法,一般是通过标记语料训练一个通用分类器,然后利用这个分类器来进行情感判断。基于词典的方法需要准备一个较大的情感词典,通过词典中情感词匹配的程度来进行情感判断。

机器学习的情感计算方法首先需要一批均衡的标记语料,可能来自于不同的数据来源或者各种各样的数据格式。因此,收集带标记的语料过程是比较耗费时间的,不同的数据来源具有不同的数据特点,可能需要使用不同的训练方式,工作量较大,训练时间较长。并且,不同领域的数据分布不相同,很难找到一个通用的模型适应所有的领域。而基于词典的情感计算过程需要一个情感词典,情感词内部包含一系列带有情感倾向的词汇,在实际计算过程中,利用情感词的情感程度累积来表示整个文档的情感值。一般需要先对文档进行分词。通常来说,词典要想取得好的更好的效果,只能通过不断增大情感词典,算法的复杂度将达到m*n,其中m是词典中词条的个数,n是文档中出现词语的个数。因此,在将文档进行分词后再带入情感词典进行计算会需要较长时间,影响文档的情感划分效率。



技术实现要素:

有鉴于此,本发明提供一种确定文档情感倾向性的方法及装置,主要目的在于解决由于情感词的增加造成的情感词典增大以及文档分词复杂所共同导致的判断文档情感倾向性效率降低的问题。

为达到上述目的,本发明主要提供如下技术方案:

一方面,本发明提供了一种确定文档情感倾向性的方法,该方法包括:

获取一个具有字典树结构的情感词典,所述情感词典中包含带有情感标定值的情感词;

将待测文档以字为单位与所述情感词典中字典树的各节点进行匹配,获取相匹配的情感词以及所述情感词的情感标定值;

累加所述待测文档获取到的所有情感词的情感标定值,得到所述待测文档的情感标定值;

根据所述待测文档的情感标定值在预置的情感趋向映射区间中的位置,确定所述待测文档的情感趋向。

另一方面,本发明还提供了一种确定文档情感倾向性的装置,该装置包括:

第一获取单元,用于获取一个具有字典树结构的情感词典,所述情感词典中包含带有情感标定值的情感词;

第二获取单元,用于将待测文档以字为单位与所述第一获取单元获取的情感词典中字典树的各节点进行匹配,获取相匹配的情感词以及所述情感词的情感标定值;

计算单元,用于累加所述第二获取单元从所述待测文档中获取到的所有情感词的情感标定值,计算出所述待测文档的情感标定值;

确定单元,用于根据所述计算单元计算出待测文档的情感标定值在预置的情感趋向映射区间中的位置,确定所述待测文档的情感趋向。

依据上述本发明所提出的确定文档情感倾向性的方法及装置,是通过选取与待测试文档具有相同领域或行业的情感词典进行情感倾向性的判断,使得情感词的情感趋向更加准确。同时,在情感词典中引入字典树的结构,将情感词以更简单的词组或单个字的形式添加到字典树结构的节点中,与待测试文档的内容进行匹配测试。此外,在匹配时,待测试文档不再采用分词的方式进行拆分,而是通过单个字匹配的方式,逐字的在情感词典中进行匹配,以获取文档中所具有的情感词以及对应的情感值,再根据预设的情感值区间判断整个文档的情感趋向。与现有技术相比,本发明在情感词典中使用的字典树结构可有效的提高情感词典匹配情感词的效率,同时,对待测文档还省去了分词步骤,以字为单位逐个地进行匹配,也大幅提高了文档的处理效率。可见,本发明通过对情感词典的改进以及对测试文档的处理方式的优化,从整体上提高了确定测试文档情感趋向的判断速度。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提出的一种确定文档情感倾向性的方法流程图;

图2示出了本发明实施例提出的另一种确定文档情感倾向性的方法流程图;

图3示出了本发明实施例中情感词典的字典树结构示意图;

图4示出了本发明实施例提出的一种确定文档情感倾向性的装置组成框图;

图5示出了本发明实施例提出的另一种确定文档情感倾向性的装置组成框图;

图6示出了本发明实施例提出的第三种确定文档情感倾向性的装置组成框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种确定文档情感倾向性的方法,如图1所示,该方法应用于对文档整体内容情感倾向性的定性分析,其中,文档的形式可以是短句、短文或是文章等,具体步骤包括:

101、获取一个具有字典树结构的情感词典。

本发明实施例是采用基于情感词典进行判断文档的情感倾向性的实现方法,而在对文档进行倾向性判断前,首先需要确定一个情感词典,该词典中包含有多个情感词,并且这些情感词都标记有与该词相对应的情感标定值。在本实施例中的情感词典相比于普通的情感词典,所使用的构建方式为字典树结构的组成方式。

字典树,又称单词查找树或trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串,所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。在本发明实施例中,字典树的构建是将情感词典中的情感词进行拆解,得到更简单的词,甚至是单个字,将相同的词或字作为同一个节点,与相关的其他词或字进行连接,组成树状结构的情感词典。在该情感词典中,每个节点的词或字都不相同,因此,通过对节点的查找,可以快速地定位情感词的位置,提高查找情感词典的速度。

102、将待测文档以字为单位与情感词典中字典树的各节点进行匹配,获取相匹配的情感词以及该情感词的情感标定值。

在选定情感词典后,还需要对待测试文档做进一步处理,在以往的情感计算过程中,一般是要对该文档进行分词处理,而现有的分词处理方法中不能完全准确的将文档根据原文的意思进行分词。因此,本发明实施例不采用分词的方式,而是将文档进行更简便、更彻底、更可行的拆解操作,就是将文档分成单个字,以字为单位逐个的在情感词典的字典树结构中进行查找,因为字典树中的节点内容都不相同,并且相对完整的词要简单,因此,在查找的速度以及准确度上都比现有的分词方式要高。

其中,在字典树中各个节点的内容是词时,只需要判断文档中的字是否与节点中词的开头字相同即可。

在进行匹配查询时,当文档中的字与情感词典中的节点内容相同,或者是与节点中内容的第一个字相同时,将读取文档中该字后面的一个字与情感词典中该节点的所有子节点,或者是该节点中的第二个字进行匹配,重复前述的过程,直至无法再得到相同的子节点为止。提取匹配相同的字,组成情感词,并在情感词典中查找该情感词所标记的标定值,同时记录下该标定值。

103、累加待测文档获取到的所有情感词的情感标定值,得到该待测文档的情感标定值。

将待测试文档中的所有字逐个的带入到情感词典中进行上述102步骤的匹配。将记录下来的所有获取到的情感词的情感标定值进行累加计算,就得出了该待测文档在该情感词典中所具有的整体情感标定值。

需要说明的是,该情感标定值是一个相对值,其值的大小与情感词典的变化而变动。在情感词典中添加或删减情感词都会对待测文档的情感标定值产生影响。

104、根据待测文档的情感标定值在预置的情感趋向映射区间中的位置,确定所述待测文档的情感趋向。

根据103步得到的待测文档的情感标定值并不能直接反应出该文档的情感趋向,而只是一个数值。要判断该文档的情感趋向则需要预先设置一个情感趋向的映射区间,规定不同区间中的值代表不同的情感趋向。其中,情感趋向的映射区间的分界值为一个经验值,是通过采用该情感词典对大量已知情感趋向的文档进行训练判断得到的。

一般的设置是将情感趋向设置为正面、负面和中性三种情感趋向。当然,也可以根据具体的需要将情感趋向进行更详细的划分,分出更多的区间。本实施例对情感趋向映射区间的划分不做具体限定。

只有在设定了情感趋向映射区间后,才能够判断待测文档的情感标定值是落在了哪个区间中,进而确定待测文档的情感趋向。

结合上述的实现方式可以看出,本发明实施例所采用的确定文档情感倾向性的方法,是通过选取与待测试文档具有相同领域或行业的情感词典进行情感倾向性的判断,使得情感词的情感趋向更加准确。同时,在情感词典中引入字典树的结构,将情感词以更简单的词组或单个字的形式添加到字典树结构的节点中,与待测试文档的内容进行匹配测试。此外,在匹配时,待测试文档不再采用分词的方式进行拆分,而是通过单个字匹配的方式,逐字的在情感词典中进行匹配,以获取文档中所具有的情感词以及对应的情感值,再根据预设的情感值区间判断整个文档的情感趋向。与现有技术相比,本发明在情感词典中使用的字典树结构可有效的提高情感词典匹配情感词的效率,同时,对待测文档还省去了分词步骤,以字为单位逐个地进行匹配,也大幅提高了文档的处理效率。可见,本发明实施例通过对情感词典的改进以及对测试文档的处理方式的优化,从整体上提高了确定测试文档情感趋向的判断速度。

为了更加详细地说明本发明提出的一种确定文档情感倾向性的方法,本发明实施例以实际应用中的示例进行具体说明,如图2所示,该方法在确定文档情感倾向性时所包括步骤为:

201、创建情感词典。

情感词典是一个情感词的集合,因此要创建一个情感词典就需要先确定词典中的情感词。由于同一个词在不同的领域或行业中所代表的意思不同。因此,在创建情感词典时,要先确定一个行业或领域,这样做,对于待测试文档的判断就能够更加的准确。对于情感词典的创建方式,在现有的技术中可以是人工创建,也可以是通过语料库由机器自动创建,本实施例对具体创建形式不做限定。

在情感词典中,会将情感词根据所表达的情感倾向分为正面、负面、中性三大类,并且根据每个情感词所表达的情感强度标记有不同的情感值,一般是将带有正面情感倾向的情感词标记为大于零的值,即正值;将带有负面情感倾向的情感词标记为小于零的值,即负值;将中性情感词的情感值标记为零。在本实施例中的所创建的情感词典还会将情感词进行拆分,得到单个字。根据情感词中字的组成关系,在情感词典中建立字典树,例如,在情感词典中含有如下的情感词:美好、美丽、美人胚子、美人计,那么以这四个词所构建的字典树,如图3所示,每一个字都为字典树中的一个节点,其中“美”字是共有的节点,是节点“丽”,“好”,“人”的上一层节点,称为父亲节点,而这三个节点为“美”字节点的下一层节点,称为孩子节点。

此外,情感词典在需要增加情感词时,只需要确定情感词首字在字典树中节点的位置,或者是情感词中某个字的节点位置,根据节点的层级关系加入其它的字即可。

需要指出的是,本实施例中所创建的情感词典根据不同的领域或行业会创建多个不同的情感词典,在对待测试文档进行测试时,可以根据测试文档的所述领域进行选择,进行有针对性的检测。

202、获取一个具有字典树结构的情感词典。

根据测试文档的领域获取在201中创建的领域相同或近似的情感词典,用于对测试文档进行情感倾向性的判断。

203、将待测文档以字为单位与情感词典中字典树的各节点进行匹配,获取相匹配的情感词以及该情感词的情感标定值。

将待测试文档拆解成单个字,以字为单位在情感字典中进行查找匹配。以一短句文档为例,“这个杯子颜色很漂亮,造型也很别致”,将这个短句分成单个字,在情感词典的字典树中依次查找“这”、“个”、“杯”、“子”…“很”、“漂”、“亮”…“别”、“致”。当在查找“漂”字时,如果情感词典的字典树中存在有“漂”字的节点,情感词典会将该“漂”字节点设置为父亲节点,并将该节点的所有子节点与文档中“漂”字的后一个字进行匹配,如果存在“亮”字节点,则继续以“亮”字节点为父亲节点进行查找,直到子节点中没有与文档中相匹配的节点为止。将此次所有匹配成功的字组成情感词后,即“漂亮”,继续将文档中的其他字带入情感词典进行匹配,直到完成所有字的匹配,会在情感词典中匹配出“漂亮”、“别致”两个词,在情感词中查找这两个词的情感标定值,假定两个词的情感标定值为1.5和2。

需要说明的是,当匹配完“漂”字后,由于“亮”字已经被匹配出,为了防止重复计算情感标定值,“亮”字将不再进行匹配,直接查找“亮”字后面的“造”字。虽然在该短句中不会将“亮”字匹配出其他的词,但是在一些多字的情感词中,中间字就有可能出现不同的词而被重复统计的情况,因此,在本实施例中,凡是被匹配过一次或是与前面字构成情感词被统计的字将不再进行匹配查找。

204、累加待测文档获取到的所有情感词的情感标定值,得到该待测文档的情感标定值。

针对上述的例子,将“漂亮”、“别致”两个词的情感标定值进行累加就得到了该短句的情感标定值,即1.5+2=3.5,本句的情感标定值为3.5。

205、根据待测文档的情感标定值在预置的情感趋向映射区间中的位置,确定所述待测文档的情感趋向。

在得到待测文档的情感标定值后,即标定值为3.5的短句,要判断该句的情感倾向,还需要设置一个情感趋向映射区间,在设置该映射区间时,需要确定在取值范围中的两个阈值,即正面情感阈值和负面情感阈值,通过这两个阈值来确定区间的划分,将大于正面情感阈值的部分为定义为正趋向区间,当文档的情感标定值落在该区间中时,就说明该文档的内容所表达的情感是倾向于正面的;将小于负面情感阈值的部分为定义为负趋向区间,当文档的情感标定值落在该区间中时,就说明该文档的内容所表达的情感是倾向于负面的;将两个阈值中间的部分定义为中性区间,落在该区间中的文档所表达的内容是正向情感与负向情感相互抵消,可以视为不存在情感倾向的文档。在本实施例中,假设将正面情感阈值和负面情感阈值分别设置为1和-1,则{1,∞}为正趋向区间,{-1,1}为中性区间,{-∞,-1}为负趋向区间,据此,该短句的情感标定值为3.5,落在了正趋向区间,其内容的情感倾向性是倾向正面的。

需要说明的是,在实际应用中,可以通过增加阈值的取值个数来划分更多的情感趋向映射区间,以达到更加细致划分文档情感倾向的目的。

本发明实施例所采用的方法对于大多数的文档来说,非情感词在查询时只需要查询一遍字典树中的节点,只有在查询情感词时,才会根据词的长度进行词语的匹配,而大部分的词语长度都在2-4个字之间,因此,在查询匹配时,本实施例省去了现有技术中大部分的无效查询,节省了查询的时间,提高了查询匹配效率。

进一步的,作为对上述方法的实现,本发明实施例提供了一种确定文档情感倾向性的装置,如图4所示,该装置实施例与前述方法实施例相对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置包括:

第一获取单元41,用于获取一个具有字典树结构的情感词典,所述情感词典中包含带有情感标定值的情感词;

第二获取单元42,用于将待测文档以字为单位与所述第一获取单元41获取的情感词典中字典树的各节点进行匹配,获取相匹配的情感词以及所述情感词的情感标定值;

计算单元43,用于累加所述第二获取单元42从所述待测文档中获取到的所有情感词的情感标定值,计算出所述待测文档的情感标定值;

确定单元44,用于根据所述计算单元43计算出待测文档的情感标定值在预置的情感趋向映射区间中的位置,确定所述待测文档的情感趋向。

进一步的,如图5所示,所述第一获取单元41包括:

创建模块411,用于根据不同的领域创建至少一个情感词典,所述情感词典中包含指定领域中的情感词;

标记模块412,用于将所述创建模块411创建的情感词典中的情感词按照正面、中性、负面三类进行划分,并根据情感词的情感程度标记情感标定值;

组建模块413,用于将所述创建模块411创建的情感词典中的情感词以字为单位组建字典树,得到具有字典树结构的情感词典;

获取模块414,用于在所述创建模块411创建的至少一个情感词典中获取一个所述待测试文档所属领域的情感词典。

进一步的,如图5所示,所述第二获取单元42包括:

分解模块421,用于将所述待测文档分解为单个的字;

匹配模块422,用于根据所述分解模块421分解出的字在待测文档中的排列顺序依次与所述情感词典中字典树的各节点进行匹配;

所述匹配模块422还用于,当存在与所述字相匹配的节点时,在所述节点的子节点中匹配与所述字相邻的后一个字;

获取模块423,用于将所述匹配模块422匹配成功的字组成情感词,并获取所述情感词的情感标定值。

进一步的,所述匹配单元42还用于,当所述第二获取单元43匹配到以所述待测文档中的字为开头的情感词,并获取所述情感词的情感标定值后,将不再匹配所述待测文档中与所述字组成所述情感词的其他字。

进一步的,如图6所示,所述装置还包括:

设置单元45,用于在所述确定单元44确定所述待测文档的情感趋向之前,设置正面情感阈值和负面情感阈值;

划分单元46,用于根据所述设置单元45的设置,将大于所述正面情感阈值的情感标定值区间划分为正趋向区间,将小于所述负面情感阈值的情感标定值区间划分为负趋向区间,将正面情感阈值和负面情感阈值之间的区间范围划分为中性区间。

进一步的,所述第一获取单元41中的标记模块412还用于,将正面情感词的情感值取大于零的值;将负面情感词的情感值取小于零的值;将中性情感词的情感值取为零。

综上所述,本发明实施例所采用的确定文档情感倾向性的方法及装置,是通过选取与待测试文档具有相同领域或行业的情感词典进行情感倾向性的判断,使得情感词的情感趋向更加准确。同时,在情感词典中引入字典树的结构,将情感词以更简单的词组或单个字的形式添加到字典树结构的节点中,与待测试文档的内容进行匹配测试。此外,在匹配时,待测试文档不再采用分词的方式进行拆分,而是通过单个字匹配的方式,逐字的在情感词典中进行匹配,以获取文档中所具有的情感词以及对应的情感值,再根据预设的情感值区间判断整个文档的情感趋向。与现有技术相比,本发明在情感词典中使用的字典树结构可有效的提高情感词典匹配情感词的效率,同时,对待测文档还省去了分词步骤,以字为单位逐个地进行匹配,也大幅提高了文档的处理效率。可见,本发明实施例通过对情感词典的改进以及对测试文档的处理方式的优化,从整体上提高了确定测试文档情感趋向的判断速度。

所述计算文本主题归属度的装置包括处理器和存储器,第一获取单元、第二获取单元、计算单元和确定单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决由于情感词的增加造成的情感词典增大以及文档分词复杂所共同导致的判断文档情感倾向性效率降低的问题。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取一个具有字典树结构的情感词典,所述情感词典中包含带有情感标定值的情感词;将待测文档以字为单位与所述情感词典中字典树的各节点进行匹配,获取相匹配的情感词以及所述情感词的情感标定值;累加所述待测文档获取到的所有情感词的情感标定值,得到所述待测文档的情感标定值;根据所述待测文档的情感标定值在预置的情感趋向映射区间中的位置,确定所述待测文档的情感趋向。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1