一种情感词典构建方法及系统与流程

文档序号:18740720发布日期:2019-09-21 01:44阅读:2729来源:国知局
一种情感词典构建方法及系统与流程

本发明涉及自然语言处理技术领域,特别涉及一种情感词典构建方法及系统。



背景技术:

情感分析是指根据文本所表达的含义和情感信息将文本划分成褒义、贬义的两种或几种类型,是对文本作者倾向性和观点、态度的划分,因此有时也称为倾向性分析。情感分析作为一种特殊的分类问题,既有一般模式分类的共性问题,也有其特殊性,如情感信息表达的隐蔽性、多义性和极性不明显等。目前进行情感分析一般有两种方式:通过情感词词典分析和基于机器学习的方法,其中,通过情感词词典分析方法的实现依赖于预先建立的情感词典,而目前构建情感词典多数是采用人工标注的方式,人工构建词典需要较大的代价,如耗费大量的人力、物力,且效率低。



技术实现要素:

本发明的目的在于提供一种情感词典构建方法及系统,解决人工构建情感词典所存在的效率低、耗费人力物力的问题。

为了实现上述发明目的,本发明实施例提供了以下技术方案:

一种情感词典构建方法,包括以下步骤:

将单个语句的文本语料分割为若干个词;

将分割出的每一个词输入情感识别模型中,输出得到每个词的权重和整个语句的情感概率值;

将每个词的权重与整个语句的情感概率值相乘,分别得到每个词的情感分数,将情感分数大于等于设定阈值的词作为情感词加入情感词典中。

另一方面,本发明实施例还提供了一种情感词构建系统,包括以下模块:

分词模块,用于对文本语料进行分词,将单个语句分割为若干个词;

情感识别模块,用于将分割出的每一个词输入情感识别模型中,输出得到每个词的权重和整个语句的情感概率值;

词典构建模块,用于将每个词的权重与整个语句的情感概率值相乘,分别得到每个词的情感分数,将情感分数大于等于设定阈值的词作为情感词加入情感词典中。

再一方面,本发明实施例同时提供了一种包括计算机可读指令的计算机可读存储介质,所述计算机可读指令在被执行时使处理器执行本发明实施例中所述方法中的操作。

再一方面,本发明实施例同时提供了一种电子设备,包括:存储器,存储程序指令;处理器,与所述存储器相连接,执行存储器中的程序指令,实现本发明实施例中所述方法中的步骤。

与现有技术相比,本发明是一种新颖的构建情感词词典的方法,相比于人工构建情感词典的方式,效率更高,解决了复杂的人工构建情感词词典代价大的问题。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳实施例中所述的一种情感词典构建方法的流程图。

图2为本发明较佳实施例中情感识别模型训练方法的流程图。

图3为本发明较佳实施例中情感识别模型的结构图。

图4为本实施例中通过Self-Attention生成新的表示的示意图。

图5为本实施例中提供的一种情感词典构建系统的功能模块图。

图6为本实施例中提供的一种电子设备的结构框图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本实施例示意性地提供了一种情感词典构建方法,包括以下步骤:

S10,对文本语料进行分词。本实施例中,文本语料是指单个的语句,语句末尾有例如句号、感叹号等表示句子结束的标点符号,将文本语料中进行分词就是将完整的句子分为若干个词,标点符号也被划分为单独的一个词。例如,“我今天很高兴!”就分为“我”“今天”“很”“高兴”“!”五个词。若语句中间也有标点符号,例如逗号,也将该逗号分割为单独的一个词。标点符号是语句的一个组成部分,因此本实施例中,将标点符号也作为了一个词,当然,作为其他实施方式,也可以将标点符号舍去。将文本语料分割为词,在自然语言处理技术中为常用手段,此处对其具体过程不做细述。

S20,将分割出的每一个词输入情感识别模型中,输出得到每个词的权重和整个语句的情感概率值。

S30,将每个词的权重与整个语句的情感概率值相乘,分别得到每个词的情感分数,将情感分数大于等于设定阈值的词作为情感词加入情感词典中。所述阈值可根据实际情况而定。

仅后文所举语句“我今天很高兴!”中的“高兴”一词为例,经过情感识别模型进行情感识别后,得到“高兴”的权重为a=0.56,整个语句的情感概率值为p,那么“高兴”一词的情感分数为0.56*p。

请参阅图2,本实施例示意性地提供了上述情感识别模型的训练方法,该方法包括以下步骤:

S101,对文本语料进行人工标注,并将标注后的文本语料按照一定比例(作为举例,例如8:2)划分为训练集和测试集。需要说明的是,在进行模型训练时,所有文本语料中可能带有情感词,也可能不带有情感词,由人工来判断整句语句是正面的,标注成正面,人工判断整句是负面的进行负面标注。此处的正面标注和负面标注仅是两种不同的标注形式,以进行区分。仅作为举例,例如,将带正面情感词的语句标注为1,将带负面情感词的语句标注为0。

S102,将训练集和测试集中的各个语句分别分割为若干个词。

S103,初始化情感识别模型的参数,将全部训练集输入初始情感识别模型中进行训练。

S104,将全部测试集输入经步骤S103训练得到的情感识别模型进行预测,并根据预测结果进行损失计算,若损失变化较大,例如大于设定阈值,则优化模型的参数,并返回步骤S103,循环执行步骤S103~S104;若损失变化较小,例如小于设定阈值,则训练结束,得到最终的情感识别模型。

情感识别模型构建完成后,即可通过该情感识别模型对文本语料进行情感识别,得到语句中各个词的权重以及整个语句的情感概率值。

请参阅图3,本实施例中,情感识别模型的结构从下往上可分为五层。

第一层是接收词向量,所述词向量由语句分割所得的若干个词转换所得。例如,“我”“今天”“很”“高兴”“!”共5个词,转换后得到5个词向量,输入第一层。

第二层是将输入的词向量(用X表示)通过Self-Attention生成新的表示:

请参阅图4,仅以处理“我”这个词向量为例,通过Self-Attention生成新的表示的过程如下:

将“我”作为搜索的query,去和句子中所有词(包含“我”本身)的key去匹配,看看相关度有多高。用q1代表“我”对应的query vector,及k1代表“我”对应的keyvector,则计算“我”的attention score的时候需要计算q1与k1的点乘,然后进行尺度缩放,除以一个尺度标度其中dk为一个query和key向量的维度,然后再利用Softmax操作将缩放后的结果归一化为概率分布,然后再乘以矩阵V(语句中所有词向量相加所得结果)就得到权重求和的表示Z1。

第三层是将输入的词向量Z(词向量Z为第二层的输出结果)通过Self-Attention生成新的表示:

本实施例中,通过将文本语句分割得到的词向量进行两次Self-Attention表达,可以提高表达结果的准确性。

第四层为取值层,将Z通过Self-Attention表示成W,然后将每个Z映射到W上的权重作为词的权重a。例如,“我”的权重为0.02,“今天”的权重为0.07,“很”的权重为0.11,“高兴”的权重为0.56,“!”的权重为0.24。

如图3所示,在第三层中,词向量Z通过Self-Attention表示成r,在r到W过程时,通过将r1-r5词向量相加得到W,然后通过r1-r5与W做类似self-attention操作,得到本层结果。

第五层,通过sigmoid函数得到整个句子的情感识别的结果p。

整个句子的情感识别的结果p通过与第四层得到的a相乘,即可计算得到各个词的情感分数为a*p,例如,“高兴”的权重为0.56*p。

实验例

应用本实施例上述方法对某条酒店评论数据进行情感识别,构建情感词典。

如:虽然表面看很一般,但里面装修还是很精致的,住着干净,舒服;以后去宜兴首选还是宜兴宾馆!

上述语句经过分词后,得到如下词语:“虽然”,“表面”,“看”,“很”,“一般”,“,”,“但”,“里面”,“装修”,“还是”,“很”,“精致”,“的”,“,”,“住”,“着”,“干净”,“,”,“舒服”,“;”,“以后”,“去”,“宜兴”,“首选”,“还是”,“宜兴”,“宾馆”,“!”

将上述各个词转换为词向量后,输入情感识别模型,经过情感识别模型处理后,输出得到整个语句的情感概率值p值为0.98,得到各个词权重如下表所示:

最后,选取大于等于0.09的词作为情感词,即选取“精致”、“干净”、“舒服”作为情感词,加入情感词典中。

从上述实验例可以看出,通过本发明上述方法可以比较准确地提取出情感词继而构建情感词典,而且相比于人工构建方法,通过上述方法可以极大地提高效率,降低人工成本。

请参阅图5,基于相同的发明构思,本实施例中同时提供了一种情感词典构建系统,图5中所示的各模块之间的箭头表示数据的传输方向。具体的,该情感词构建系统包括以下模块:

分词模块,用于对文本语料进行分词,将单个语句分割为若干个词。

情感识别模块,用于将分割出的每一个词输入情感识别模型中,输出得到每个词的权重和整个语句的情感概率值。

词典构建模块,用于将每个词的权重与整个语句的情感概率值相乘,分别得到每个词的情感分数,将情感分数大于等于设定阈值的词加入情感词典中。

其中,情感识别模块还用于训练得到所述情感识别模型。情感识别模型具体的训练过程请参阅图3所示流程图及前述内容。

上述情感词典构建系统与本实施例中前述情感词典构建方法是基于相同的构思而提出的,因此,此处系统描述中未涉及之处请参阅前述方法描述中的相关内容。

如图6所示,本实施例同时提供了一种电子设备,该电子设备可以包括处理器51和存储器52,其中存储器52耦合至处理器51。值得注意的是,该图是示例性的,还可以使用其他类型的结构来补充或替代该结构,实现数据提取、报告生成、通信或其他功能。

如图6所示,该电子设备还可以包括:输入单元53、显示单元54和电源55。值得注意的是,该电子设备也并不是必须要包括图6中显示的所有部件。此外,电子设备还可以包括图6中没有示出的部件,可以参考现有技术。

处理器51有时也称控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器51接收输入并控制电子设备的各个部件的操作。

其中,存储器52例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其他合适装置中的一种或多种,可存储上述处理器51的配置信息、处理器51执行的指令、记录的表格数据等信息。处理器51可以执行存储器52存储的程序,以实现信息存储或处理等。在一个实施例中,存储器52中还包括缓冲存储器,即缓冲器,以存储中间信息。

输入单元53例如用于向处理器51提供各个文本报告。显示单元54用于显示处理过程中的各种结果,该显示单元例如可以为LCD显示器,但本发明并不限于此。电源55用于为电子设备提供电力。

本发明实施例还提供一种计算机可读指令,其中当在电子设备中执行所述指令时,所述程序使得电子设备执行本发明方法所包含的操作步骤。

本发明实施例还提供一种存储有计算机可读指令的存储介质,其中所述计算机可读指令使得电子设备执行本发明方法所包含的操作步骤。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

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