基于情感分析的课程分析方法、装置、设备及介质与流程

文档序号:23801050发布日期:2021-02-02 13:29阅读:148来源:国知局
基于情感分析的课程分析方法、装置、设备及介质与流程

[0001]
本发明涉及人工智能技术领域,尤其涉及一种基于情感分析的课程分析方法、装置、设备及介质。


背景技术:

[0002]
自然语言处理(natural language processing,nlp)属于人工智能的一个子领域,是一门融语言学、计算机科学及数学于一体的科学,情感分析技术作为自然语言处理的一个重要分支,充分利用了cnn(convolutional neural networks,卷积神经网络)、lstm(long short-term memory,长短期记忆网络)等深度学习框架。
[0003]
在实际应用中,线上学习平台通常会产生大量的用户交互评论数据,对交互数据进行情感分析,能够有助于判断用户对课程的认可度,而传统的数据分析技术无法对评论数据形成有效的分析,因此,需要数据分析师通过肉眼逐条核查,并根据主观意识形成分析结果,不仅需要耗费大量的体力劳动与时间,且无法形成复用框架,分析师陷入了繁重的校对工作,无法投身于更有价值的业务分析。
[0004]
另外,当采用人工智能的方式对交互数据进行情感分析时,cnn并不适用于对长文本的处理,而传统的lstm也仅能实现对情感的二分类,在面对大量的待处理数据时,模型的稳定性及处理速度也欠佳。


技术实现要素:

[0005]
鉴于以上内容,有必要提供一种基于情感分析的课程分析方法、装置、设备及介质,能够通过对数据进行清洗提升模型的稳健性,使模型的判断更加准确,结合多进程并发及负载均衡实现对大量数据处理时的优化,同时,通过对数据进行动态划分,提高了运行效率,并对模型的分类结果进行了优化,进而结合人工智能手段实现对课程的情感分析,且分析结果更加准确可靠。
[0006]
一种基于情感分析的课程分析方法,所述基于情感分析的课程分析方法包括:
[0007]
响应于课程分析指令,根据所述课程分析指令确定待分析课程,并获取所述待分析课程对应的初始数据;
[0008]
对所述初始数据进行文本清洗,得到待分析数据;
[0009]
检测所述待分析数据中每个数据的文本长度,并根据每个数据的文本长度将所述待分析数据划分为短文本数据及长文本数据;
[0010]
确定所述短文本数据的数据量及所述长文本数据的数据量,并根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程,及根据所述长文本数据的数据量为所述长文本数据配置处理线程作为第二处理线程;
[0011]
调用所述第一处理线程对所述短文本数据执行第一情感分析,得到第一分析结果,及调用所述第二处理线程对所述长文本数据执行第二情感分析,得到第二分析结果;
[0012]
根据所述第一分析结果及所述第二分析结果确定所述待分析课程的情感分析结
果。
[0013]
根据本发明优选实施例,所述根据所述课程分析指令确定待分析课程,并获取所述待分析课程对应的初始数据包括:
[0014]
解析所述课程分析指令的方法体,得到所述课程分析指令所携带的信息;
[0015]
获取预设标签;
[0016]
在所述课程分析指令所携带的信息中查找与所述预设标签相同的数据作为所述待分析课程;
[0017]
连接所述待分析课程对应的服务器,并从所述服务器中获取对所述待分析课程的评价数据作为所述初始数据。
[0018]
根据本发明优选实施例,所述对所述初始数据进行文本清洗,得到待分析数据包括:
[0019]
调取简繁体映射表;
[0020]
根据所述简繁体映射表,运用工作流将所述待分析数据中的繁体转换为简体,得到第一数据;
[0021]
调取预先配置的特殊字符表;
[0022]
在所述第一数据中查找与所述特殊字符表中的字符相同的数据,并删除查找到的数据,得到第二数据;
[0023]
采用数据仓库技术对所述第二数据进行处理,得到所述待分析数据。
[0024]
根据本发明优选实施例,所述根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程包括:
[0025]
当所述短文本数据的数据量大于或者等于第一预设阈值时,为所述短文本数据配置第一数量的处理线程作为所述第一处理线程;或者
[0026]
当所述短文本数据的数据量大于或者等于第二预设阈值且小于所述第一预设阈值时,为所述短文本数据配置第二数量的处理线程作为所述第一处理线程;或者
[0027]
当所述短文本数据的数据量大于或者等于第三预设阈值且小于所述第二预设阈值时,为所述短文本数据配置第三数量的处理线程作为所述第一处理线程;
[0028]
其中,所述第一预设阈值大于所述第二预设阈值,所述第二预设阈值大于所述第三预设阈值,所述第一数量大于所述第二数量,所述第二数量大于所述第三数量。
[0029]
根据本发明优选实施例,所述对所述短文本数据执行第一情感分析,得到第一分析结果包括:
[0030]
获取预构建的情感词库;
[0031]
确定所述短文本数据中是否包含所述情感词库中的情感词;
[0032]
当所述短文本数据中不包含所述情感词库中的情感词时,确定所述第一分析结果为中性情感;或者
[0033]
当所述短文本数据中包含所述情感词库中的情感词时,调用预先训练的情感分析模型,将所述短文本数据输入至所述情感分析模型,并获取所述情感分析模型的输出作为所述第一分析结果。
[0034]
根据本发明优选实施例,所述对所述长文本数据执行第二情感分析,得到第二分析结果包括:
[0035]
识别所述长文本数据中的重复字符,并确定所述重复字符的总长度;
[0036]
获取所述长文本数据的文本长度;
[0037]
计算所述长文本数据的文本长度与所述重复字符的总长度的差值;
[0038]
当所述差值小于或者等于预设值时,确定所述长文本数据中是否包含所述情感词库中的情感词,当所述长文本数据中不包含所述情感词库中的情感词时,确定所述第二分析结果为中性情感,或者当所述长文本数据中包含所述情感词库中的情感词时,将所述长文本数据输入至所述情感分析模型,并获取所述情感分析模型的输出作为所述第二分析结果;或者
[0039]
当所述差值大于预设值时,将所述长文本数据输入至所述情感分析模型,并获取所述情感分析模型的输出作为所述第二分析结果。
[0040]
根据本发明优选实施例,所述根据所述第一分析结果及所述第二分析结果确定所述待分析课程的情感分析结果包括:
[0041]
从所述第一分析结果及所述第二分析结果中获取正向情感、负向情感及中性情感;
[0042]
确定所述待分析数据中分析结果为所述正向情感的数据的第一数据量,分析结果为所述负向情感的数据的第二数据量及分析结果为所述中性情感的数据的第三数据量;
[0043]
确定所述待分析数据的数据总量;
[0044]
计算所述第一数据量及所述待分析数据的数据总量的比值作为所述正向情感的第一占比,计算所述第二数据量及所述待分析数据的数据总量的比值作为所述负向情感的第二占比,计算所述第三数据量及所述待分析数据的数据总量的比值作为所述中性情感的第三占比;
[0045]
获取所述第一占比、所述第二占比及所述第三占比中最大的占比作为目标占比;
[0046]
将所述目标占比对应的分析结果确定为所述待分析课程的情感分析结果。
[0047]
一种基于情感分析的课程分析装置,所述基于情感分析的课程分析装置包括:
[0048]
确定单元,用于响应于课程分析指令,根据所述课程分析指令确定待分析课程,并获取所述待分析课程对应的初始数据;
[0049]
清洗单元,用于对所述初始数据进行文本清洗,得到待分析数据;
[0050]
划分单元,用于检测所述待分析数据中每个数据的文本长度,并根据每个数据的文本长度将所述待分析数据划分为短文本数据及长文本数据;
[0051]
配置单元,用于确定所述短文本数据的数据量及所述长文本数据的数据量,并根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程,及根据所述长文本数据的数据量为所述长文本数据配置处理线程作为第二处理线程;
[0052]
分析单元,用于调用所述第一处理线程对所述短文本数据执行第一情感分析,得到第一分析结果,及调用所述第二处理线程对所述长文本数据执行第二情感分析,得到第二分析结果;
[0053]
所述确定单元,还用于根据所述第一分析结果及所述第二分析结果确定所述待分析课程的情感分析结果。
[0054]
一种电子设备,所述电子设备包括:
[0055]
存储器,存储至少一个指令;及
[0056]
处理器,执行所述存储器中存储的指令以实现所述基于情感分析的课程分析方法。
[0057]
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述基于情感分析的课程分析方法。
[0058]
由以上技术方案可以看出,本发明能够通过对数据进行清洗提升模型的稳健性,使模型的判断更加准确,结合多进程并发及负载均衡实现对大量数据处理时的优化,同时,通过对数据进行动态划分,提高了运行效率,并对模型的分类结果进行了优化,进而结合人工智能手段实现对课程的情感分析,且分析结果更加准确可靠。
附图说明
[0059]
图1是本发明基于情感分析的课程分析方法的较佳实施例的流程图。
[0060]
图2是本发明基于情感分析的课程分析装置的较佳实施例的功能模块图。
[0061]
图3是本发明实现基于情感分析的课程分析方法的较佳实施例的电子设备的结构示意图。
具体实施方式
[0062]
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0063]
如图1所示,是本发明基于情感分析的课程分析方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
[0064]
所述基于情感分析的课程分析方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
[0065]
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personal digital assistant,pda)、游戏机、交互式网络电视(internet protocol television,iptv)、智能式穿戴式设备等。
[0066]
所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloud computing)的由大量主机或网络服务器构成的云。
[0067]
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtual private network,vpn)等。
[0068]
s10,响应于课程分析指令,根据所述课程分析指令确定待分析课程,并获取所述待分析课程对应的初始数据。
[0069]
在本实施例中,所述课程分析指令可以由指定工作人员触发,如:指定线上学习平台的运营人员等。
[0070]
所述初始数据是指用户对所述待分析课程的评价数据。
[0071]
在本发明的至少一个实施例中,所述根据所述课程分析指令确定待分析课程,并
获取所述待分析课程对应的初始数据包括:
[0072]
解析所述课程分析指令的方法体,得到所述课程分析指令所携带的信息;
[0073]
获取预设标签;
[0074]
在所述课程分析指令所携带的信息中查找与所述预设标签相同的数据作为所述待分析课程;
[0075]
连接所述待分析课程对应的服务器,并从所述服务器中获取对所述待分析课程的评价数据作为所述初始数据。
[0076]
具体地,所述课程分析指令实质上是一条代码,在所述课程分析指令中,根据代码的编写原则,{}之间的内容被称之为所述方法体。
[0077]
所述预设标签可以进行自定义配置,如name。
[0078]
通过上述实施方式,在以预设标签能够直接获取到待分析课程时,直接从指令中获取数据,以提升效率,并且,以标签进行获取,也提高了数据获取的准确性。
[0079]
s11,对所述初始数据进行文本清洗,得到待分析数据。
[0080]
需要说明的是,用户在对所述待分析课程进行评价时,由于每个人的语言表达习惯是不同的,因此可能出现多种表达形式的文本,因此,若直接将所述初始数据输入模型进行分析,将导致模型的输出并不准确,模型表现也不够稳健,因此,本实施例首先对所述初始数据进行文本清洗。
[0081]
具体地,所述对所述初始数据进行文本清洗,得到待分析数据包括:
[0082]
调取简繁体映射表;
[0083]
根据所述简繁体映射表,运用工作流将所述待分析数据中的繁体转换为简体,得到第一数据;
[0084]
调取预先配置的特殊字符表;
[0085]
在所述第一数据中查找与所述特殊字符表中的字符相同的数据,并删除查找到的数据,得到第二数据;
[0086]
采用etl(extract-transform-load,数据仓库技术)对所述第二数据进行处理,得到所述待分析数据。
[0087]
在上述实施方式中,首先对数据进行了简繁体转换,有效地规避了繁体字容易造成误判的缺陷,大幅提升预测能力。其次,由于预测模型无法识别特殊字符(如:非中文、数字、标点符号等),特殊字符会使得文本的整体预测能力极不稳健,因此,对特殊字符进行清理,使得模型预测能力更加稳定。进一步地,采用etl对数据进行清洗,进一步提升了模型的稳健性,使模型的判断更加准确。
[0088]
s12,检测所述待分析数据中每个数据的文本长度,并根据每个数据的文本长度将所述待分析数据划分为短文本数据及长文本数据。
[0089]
在本发明的至少一个实施例中,所述根据每个数据的文本长度将所述待分析数据划分为短文本数据及长文本数据包括:
[0090]
当在所述待分析数据中存在第一目标数据的文本长度小于预设长度时,将所述第一目标数据划分为所述短文本数据;
[0091]
或者当在所述待分析数据中存在第二目标数据的文本长度大于或者等于所述预设长度时,将所述第二目标数据划分为所述长文本数据。
[0092]
其中,所述预设长度可以根据实际需求及模型的运算能力进行配置,如:所述预设长度可以为3。
[0093]
s13,确定所述短文本数据的数据量及所述长文本数据的数据量,并根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程,及根据所述长文本数据的数据量为所述长文本数据配置处理线程作为第二处理线程。
[0094]
在本发明的至少一个实施例中,所述根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程包括:
[0095]
当所述短文本数据的数据量大于或者等于第一预设阈值时,为所述短文本数据配置第一数量的处理线程作为所述第一处理线程;或者
[0096]
当所述短文本数据的数据量大于或者等于第二预设阈值且小于所述第一预设阈值时,为所述短文本数据配置第二数量的处理线程作为所述第一处理线程;或者
[0097]
当所述短文本数据的数据量大于或者等于第三预设阈值且小于所述第二预设阈值时,为所述短文本数据配置第三数量的处理线程作为所述第一处理线程;
[0098]
其中,所述第一预设阈值大于所述第二预设阈值,所述第二预设阈值大于所述第三预设阈值,所述第一数量大于所述第二数量,所述第二数量大于所述第三数量。
[0099]
例如:当所述短文本数据的数据量>=100w时,配置所述处理线程数=10,即每个进程处理的数据量=10w;当所述短文本数据的数据量>=10w时,配置所述处理线程数=5,即每个进程处理样本量=5w;当所述短文本数据的数据量>=3w时,配置所述处理线程数=2,即每个进程处理样本量=2w。经过实验,1000w数据优化后只需1.5小时,整体性能提升640%,运行效率更高。
[0100]
需要说明的是,传统的情感分析方式中由于没有考虑到模型本身的并发预测能力,会在面对大量数据时出现预测瓶颈,导致模型的预测效果并不理想,既不符合业务方对时效的要求,同时对系统也造成长时间的性能损耗。
[0101]
为了克服这一问题,本实施例结合多进程并发及负载均衡实现了对大量数据处理时的优化,通过对数据进行动态划分,提高了运行效率,以便快速响应业务需求。
[0102]
本实施例中,根据所述长文本数据的数据量为所述长文本数据配置处理线程作为第二处理线程的方式与根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程的方式类似,在此不赘述。
[0103]
s14,调用所述第一处理线程对所述短文本数据执行第一情感分析,得到第一分析结果,及调用所述第二处理线程对所述长文本数据执行第二情感分析,得到第二分析结果。
[0104]
可以理解的是,短文本数据(如文本长度小于3)的情感色彩一般不明显,直接传入模型预测可能会得到不符合预期的结果。但是短文本数据的情感色彩也不能一刀切地归类,否则将导致较高的误判率,因此,需要对所述短文本数据及所述长文本数据分别进行情感分析,以提高分析的准确性。
[0105]
在本实施例中,所述对所述短文本数据执行第一情感分析,得到第一分析结果包括:
[0106]
获取预构建的情感词库;
[0107]
确定所述短文本数据中是否包含所述情感词库中的情感词;
[0108]
当所述短文本数据中不包含所述情感词库中的情感词时,确定所述第一分析结果
为中性情感;或者
[0109]
当所述短文本数据中包含所述情感词库中的情感词时,调用预先训练的情感分析模型,将所述短文本数据输入至所述情感分析模型,并获取所述情感分析模型的输出作为所述第一分析结果。
[0110]
其中,构建所述情感词库可以包括:收集各大高校实验室的情感词典,并剔除长度超过4的词语,同时对部分词语进行合并(比如:将“好”、“好人”、“好事”合并为情感词“好”),得到所述情感词库。
[0111]
进一步地,所述情感分析模型可以是预先训练的lstm(long short-term memory,长短期记忆网络)模型,下面将以lstm模型对所述情感分析模型的训练过程进行举例说明。
[0112]
例如:通过sigmoid层确定要从单元中抛弃哪些信息,再确定单元要存储哪些信息,主要包括以下步骤:通过sigmoid层确定要更新哪些值,其次,一个tanh层创建一个新的候选向量,以生成状态的更新。最后,通过sigmoid层确定输出单元状态的哪个部分,接着用tanh处理单元状态,最后将其与sigmoid输出值相乘,从而输出最终分析结果。
[0113]
进一步地,将待分析数据输入模型后,即可以输出文本的情感极性(如:正向情感、负向情感)和置信度(0-100分)。例如,当情感极性为正向且置信度大于70分时,确定为正向情感;当情感极性为负向且置信度小于40分时,确定为负向情感;则其余场景为中性情感。
[0114]
通过上述实施方式,能够对短文本数据进行有针对性的情感分析,既避免了传统分析方式中由于短文本的情感色彩不明显导致的分析不准确的问题,又避免了一刀切式分析带来的误判。
[0115]
进一步地,所述对所述长文本数据执行第二情感分析,得到第二分析结果包括:
[0116]
识别所述长文本数据中的重复字符,并确定所述重复字符的总长度;
[0117]
获取所述长文本数据的文本长度;
[0118]
计算所述长文本数据的文本长度与所述重复字符的总长度的差值;
[0119]
当所述差值小于或者等于预设值时,确定所述长文本数据中是否包含所述情感词库中的情感词,当所述长文本数据中不包含所述情感词库中的情感词时,确定所述第二分析结果为中性情感,或者当所述长文本数据中包含所述情感词库中的情感词时,将所述长文本数据输入至所述情感分析模型,并获取所述情感分析模型的输出作为所述第二分析结果;或者
[0120]
当所述差值大于预设值时,将所述长文本数据输入至所述情感分析模型,并获取所述情感分析模型的输出作为所述第二分析结果。
[0121]
通过上述实施方式,能够对长文本数据进行有针对性的情感分析,避免了直接分析时巨大的数据量给机器分析带来的负担,提升了系统性能。
[0122]
s15,根据所述第一分析结果及所述第二分析结果确定所述待分析课程的情感分析结果。
[0123]
在本发明的至少一个实施例中,所述根据所述第一分析结果及所述第二分析结果确定所述待分析课程的情感分析结果包括:
[0124]
从所述第一分析结果及所述第二分析结果中获取正向情感、负向情感及中性情感;
[0125]
确定所述待分析数据中分析结果为所述正向情感的数据的第一数据量,分析结果
为所述负向情感的数据的第二数据量及分析结果为所述中性情感的数据的第三数据量;
[0126]
确定所述待分析数据的数据总量;
[0127]
计算所述第一数据量及所述待分析数据的数据总量的比值作为所述正向情感的第一占比,计算所述第二数据量及所述待分析数据的数据总量的比值作为所述负向情感的第二占比,计算所述第三数据量及所述待分析数据的数据总量的比值作为所述中性情感的第三占比;
[0128]
获取所述第一占比、所述第二占比及所述第三占比中最大的占比作为目标占比;
[0129]
将所述目标占比对应的分析结果确定为所述待分析课程的情感分析结果。
[0130]
不同于传统情感分析时仅采用正向及负向两类分析结果,过于极端,容易对业务方造成误导,本实施方式对模型的分类结果进行了优化,将情感分类三类:正向情感、负向情感、中性情感,丰富了模型分类的结果,使得情感分析的预测结果更符合实际情况。
[0131]
需要说明的是,为了进一步提高数据的安全性,可以将所述待分析课程的情感分析结果存储于区块链。
[0132]
本实施例中,在确定了所述待分析课程的情感分析结果后,可以对负向情感对应的评论文本进行词云分析,以确定对应的待分析课程的槽点,以促进课程的改进;还可以对正向情感对应的评论文本进行词云分析,以判断出对应的待分析课程的亮点。进一步形成对课程的精细分类,对好评课程放入精品案例,重点收藏;热评课程纳入推荐体系,提高推荐系数;差评课程纳入改进范围,从而更好地为学员服务。
[0133]
由以上技术方案可以看出,本发明能够响应于课程分析指令,根据所述课程分析指令确定待分析课程,并获取所述待分析课程对应的初始数据,对所述初始数据进行文本清洗,得到待分析数据,提升了模型的稳健性,使模型的判断更加准确,检测所述待分析数据中每个数据的文本长度,并根据每个数据的文本长度将所述待分析数据划分为短文本数据及长文本数据,确定所述短文本数据的数据量及所述长文本数据的数据量,并根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程,及根据所述长文本数据的数据量为所述长文本数据配置处理线程作为第二处理线程,结合多进程并发及负载均衡实现了对大量数据处理时的优化,通过对数据进行动态划分,提高了运行效率,调用所述第一处理线程对所述短文本数据执行第一情感分析,得到第一分析结果,及调用所述第二处理线程对所述长文本数据执行第二情感分析,得到第二分析结果,实现对文本有针对性的情感分析,根据所述第一分析结果及所述第二分析结果确定所述待分析课程的情感分析结果,对模型的分类结果进行了优化,进而结合人工智能手段实现对课程的情感分析,且分析结果更加准确可靠。
[0134]
如图2所示,是本发明基于情感分析的课程分析装置的较佳实施例的功能模块图。所述基于情感分析的课程分析装置11包括确定单元110、清洗单元111、划分单元112、配置单元113、分析单元114。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
[0135]
响应于课程分析指令,确定单元110根据所述课程分析指令确定待分析课程,并获取所述待分析课程对应的初始数据。
[0136]
在本实施例中,所述课程分析指令可以由指定工作人员触发,如:指定线上学习平
台的运营人员等。
[0137]
所述初始数据是指用户对所述待分析课程的评价数据。
[0138]
在本发明的至少一个实施例中,所述确定单元110根据所述课程分析指令确定待分析课程,并获取所述待分析课程对应的初始数据包括:
[0139]
解析所述课程分析指令的方法体,得到所述课程分析指令所携带的信息;
[0140]
获取预设标签;
[0141]
在所述课程分析指令所携带的信息中查找与所述预设标签相同的数据作为所述待分析课程;
[0142]
连接所述待分析课程对应的服务器,并从所述服务器中获取对所述待分析课程的评价数据作为所述初始数据。
[0143]
具体地,所述课程分析指令实质上是一条代码,在所述课程分析指令中,根据代码的编写原则,{}之间的内容被称之为所述方法体。
[0144]
所述预设标签可以进行自定义配置,如name。
[0145]
通过上述实施方式,在以预设标签能够直接获取到待分析课程时,直接从指令中获取数据,以提升效率,并且,以标签进行获取,也提高了数据获取的准确性。
[0146]
清洗单元111对所述初始数据进行文本清洗,得到待分析数据。
[0147]
需要说明的是,用户在对所述待分析课程进行评价时,由于每个人的语言表达习惯是不同的,因此可能出现多种表达形式的文本,因此,若直接将所述初始数据输入模型进行分析,将导致模型的输出并不准确,模型表现也不够稳健,因此,本实施例首先对所述初始数据进行文本清洗。
[0148]
具体地,所述清洗单元111对所述初始数据进行文本清洗,得到待分析数据包括:
[0149]
调取简繁体映射表;
[0150]
根据所述简繁体映射表,运用工作流将所述待分析数据中的繁体转换为简体,得到第一数据;
[0151]
调取预先配置的特殊字符表;
[0152]
在所述第一数据中查找与所述特殊字符表中的字符相同的数据,并删除查找到的数据,得到第二数据;
[0153]
采用etl(extract-transform-load,数据仓库技术)对所述第二数据进行处理,得到所述待分析数据。
[0154]
在上述实施方式中,首先对数据进行了简繁体转换,有效地规避了繁体字容易造成误判的缺陷,大幅提升预测能力。其次,由于预测模型无法识别特殊字符(如:非中文、数字、标点符号等),特殊字符会使得文本的整体预测能力极不稳健,因此,对特殊字符进行清理,使得模型预测能力更加稳定。进一步地,采用etl对数据进行清洗,进一步提升了模型的稳健性,使模型的判断更加准确。
[0155]
划分单元112检测所述待分析数据中每个数据的文本长度,并根据每个数据的文本长度将所述待分析数据划分为短文本数据及长文本数据。
[0156]
在本发明的至少一个实施例中,所述划分单元112根据每个数据的文本长度将所述待分析数据划分为短文本数据及长文本数据包括:
[0157]
当在所述待分析数据中存在第一目标数据的文本长度小于预设长度时,将所述第
一目标数据划分为所述短文本数据;
[0158]
或者当在所述待分析数据中存在第二目标数据的文本长度大于或者等于所述预设长度时,将所述第二目标数据划分为所述长文本数据。
[0159]
其中,所述预设长度可以根据实际需求及模型的运算能力进行配置,如:所述预设长度可以为3。
[0160]
配置单元113确定所述短文本数据的数据量及所述长文本数据的数据量,并根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程,及根据所述长文本数据的数据量为所述长文本数据配置处理线程作为第二处理线程。
[0161]
在本发明的至少一个实施例中,所述配置单元113根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程包括:
[0162]
当所述短文本数据的数据量大于或者等于第一预设阈值时,为所述短文本数据配置第一数量的处理线程作为所述第一处理线程;或者
[0163]
当所述短文本数据的数据量大于或者等于第二预设阈值且小于所述第一预设阈值时,为所述短文本数据配置第二数量的处理线程作为所述第一处理线程;或者
[0164]
当所述短文本数据的数据量大于或者等于第三预设阈值且小于所述第二预设阈值时,为所述短文本数据配置第三数量的处理线程作为所述第一处理线程;
[0165]
其中,所述第一预设阈值大于所述第二预设阈值,所述第二预设阈值大于所述第三预设阈值,所述第一数量大于所述第二数量,所述第二数量大于所述第三数量。
[0166]
例如:当所述短文本数据的数据量>=100w时,配置所述处理线程数=10,即每个进程处理的数据量=10w;当所述短文本数据的数据量>=10w时,配置所述处理线程数=5,即每个进程处理样本量=5w;当所述短文本数据的数据量>=3w时,配置所述处理线程数=2,即每个进程处理样本量=2w。经过实验,1000w数据优化后只需1.5小时,整体性能提升640%,运行效率更高。
[0167]
需要说明的是,传统的情感分析方式中由于没有考虑到模型本身的并发预测能力,会在面对大量数据时出现预测瓶颈,导致模型的预测效果并不理想,既不符合业务方对时效的要求,同时对系统也造成长时间的性能损耗。
[0168]
为了克服这一问题,本实施例结合多进程并发及负载均衡实现了对大量数据处理时的优化,通过对数据进行动态划分,提高了运行效率,以便快速响应业务需求。
[0169]
本实施例中,根据所述长文本数据的数据量为所述长文本数据配置处理线程作为第二处理线程的方式与根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程的方式类似,在此不赘述。
[0170]
分析单元114调用所述第一处理线程对所述短文本数据执行第一情感分析,得到第一分析结果,及调用所述第二处理线程对所述长文本数据执行第二情感分析,得到第二分析结果。
[0171]
可以理解的是,短文本数据(如文本长度小于3)的情感色彩一般不明显,直接传入模型预测可能会得到不符合预期的结果。但是短文本数据的情感色彩也不能一刀切地归类,否则将导致较高的误判率,因此,需要对所述短文本数据及所述长文本数据分别进行情感分析,以提高分析的准确性。
[0172]
在本实施例中,所述分析单元114对所述短文本数据执行第一情感分析,得到第一
分析结果包括:
[0173]
获取预构建的情感词库;
[0174]
确定所述短文本数据中是否包含所述情感词库中的情感词;
[0175]
当所述短文本数据中不包含所述情感词库中的情感词时,确定所述第一分析结果为中性情感;或者
[0176]
当所述短文本数据中包含所述情感词库中的情感词时,调用预先训练的情感分析模型,将所述短文本数据输入至所述情感分析模型,并获取所述情感分析模型的输出作为所述第一分析结果。
[0177]
其中,构建所述情感词库可以包括:收集各大高校实验室的情感词典,并剔除长度超过4的词语,同时对部分词语进行合并(比如:将“好”、“好人”、“好事”合并为情感词“好”),得到所述情感词库。
[0178]
进一步地,所述情感分析模型可以是预先训练的lstm(long short-term memory,长短期记忆网络)模型,下面将以lstm模型对所述情感分析模型的训练过程进行举例说明。
[0179]
例如:通过sigmoid层确定要从单元中抛弃哪些信息,再确定单元要存储哪些信息,主要包括以下步骤:通过sigmoid层确定要更新哪些值,其次,一个tanh层创建一个新的候选向量,以生成状态的更新。最后,通过sigmoid层确定输出单元状态的哪个部分,接着用tanh处理单元状态,最后将其与sigmoid输出值相乘,从而输出最终分析结果。
[0180]
进一步地,将待分析数据输入模型后,即可以输出文本的情感极性(如:正向情感、负向情感)和置信度(0-100分)。例如,当情感极性为正向且置信度大于70分时,确定为正向情感;当情感极性为负向且置信度小于40分时,确定为负向情感;则其余场景为中性情感。
[0181]
通过上述实施方式,能够对短文本数据进行有针对性的情感分析,既避免了传统分析方式中由于短文本的情感色彩不明显导致的分析不准确的问题,又避免了一刀切式分析带来的误判。
[0182]
进一步地,所述分析单元114对所述长文本数据执行第二情感分析,得到第二分析结果包括:
[0183]
识别所述长文本数据中的重复字符,并确定所述重复字符的总长度;
[0184]
获取所述长文本数据的文本长度;
[0185]
计算所述长文本数据的文本长度与所述重复字符的总长度的差值;
[0186]
当所述差值小于或者等于预设值时,确定所述长文本数据中是否包含所述情感词库中的情感词,当所述长文本数据中不包含所述情感词库中的情感词时,确定所述第二分析结果为中性情感,或者当所述长文本数据中包含所述情感词库中的情感词时,将所述长文本数据输入至所述情感分析模型,并获取所述情感分析模型的输出作为所述第二分析结果;或者
[0187]
当所述差值大于预设值时,将所述长文本数据输入至所述情感分析模型,并获取所述情感分析模型的输出作为所述第二分析结果。
[0188]
通过上述实施方式,能够对长文本数据进行有针对性的情感分析,避免了直接分析时巨大的数据量给机器分析带来的负担,提升了系统性能。
[0189]
所述确定单元110根据所述第一分析结果及所述第二分析结果确定所述待分析课程的情感分析结果。
[0190]
在本发明的至少一个实施例中,所述确定单元110根据所述第一分析结果及所述第二分析结果确定所述待分析课程的情感分析结果包括:
[0191]
从所述第一分析结果及所述第二分析结果中获取正向情感、负向情感及中性情感;
[0192]
确定所述待分析数据中分析结果为所述正向情感的数据的第一数据量,分析结果为所述负向情感的数据的第二数据量及分析结果为所述中性情感的数据的第三数据量;
[0193]
确定所述待分析数据的数据总量;
[0194]
计算所述第一数据量及所述待分析数据的数据总量的比值作为所述正向情感的第一占比,计算所述第二数据量及所述待分析数据的数据总量的比值作为所述负向情感的第二占比,计算所述第三数据量及所述待分析数据的数据总量的比值作为所述中性情感的第三占比;
[0195]
获取所述第一占比、所述第二占比及所述第三占比中最大的占比作为目标占比;
[0196]
将所述目标占比对应的分析结果确定为所述待分析课程的情感分析结果。
[0197]
不同于传统情感分析时仅采用正向及负向两类分析结果,过于极端,容易对业务方造成误导,本实施方式对模型的分类结果进行了优化,将情感分类三类:正向情感、负向情感、中性情感,丰富了模型分类的结果,使得情感分析的预测结果更符合实际情况。
[0198]
需要说明的是,为了进一步提高数据的安全性,可以将所述待分析课程的情感分析结果存储于区块链。
[0199]
本实施例中,在确定了所述待分析课程的情感分析结果后,可以对负向情感对应的评论文本进行词云分析,以确定对应的待分析课程的槽点,以促进课程的改进;还可以对正向情感对应的评论文本进行词云分析,以判断出对应的待分析课程的亮点。进一步形成对课程的精细分类,对好评课程放入精品案例,重点收藏;热评课程纳入推荐体系,提高推荐系数;差评课程纳入改进范围,从而更好地为学员服务。
[0200]
由以上技术方案可以看出,本发明能够响应于课程分析指令,根据所述课程分析指令确定待分析课程,并获取所述待分析课程对应的初始数据,对所述初始数据进行文本清洗,得到待分析数据,提升了模型的稳健性,使模型的判断更加准确,检测所述待分析数据中每个数据的文本长度,并根据每个数据的文本长度将所述待分析数据划分为短文本数据及长文本数据,确定所述短文本数据的数据量及所述长文本数据的数据量,并根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程,及根据所述长文本数据的数据量为所述长文本数据配置处理线程作为第二处理线程,结合多进程并发及负载均衡实现了对大量数据处理时的优化,通过对数据进行动态划分,提高了运行效率,调用所述第一处理线程对所述短文本数据执行第一情感分析,得到第一分析结果,及调用所述第二处理线程对所述长文本数据执行第二情感分析,得到第二分析结果,实现对文本有针对性的情感分析,根据所述第一分析结果及所述第二分析结果确定所述待分析课程的情感分析结果,对模型的分类结果进行了优化,进而结合人工智能手段实现对课程的情感分析,且分析结果更加准确可靠。
[0201]
如图3所示,是本发明实现基于情感分析的课程分析方法的较佳实施例的电子设备的结构示意图。
[0202]
所述电子设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储
器12中并可在所述处理器13上运行的计算机程序,例如基于情感分析的课程分析程序。
[0203]
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,所述电子设备1既可以是总线型结构,也可以是星形结构,所述电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如所述电子设备1还可以包括输入输出设备、网络接入设备等。
[0204]
需要说明的是,所述电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
[0205]
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,存储器12还可以既包括电子设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于情感分析的课程分析程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0206]
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是所述电子设备1的控制核心(control unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行基于情感分析的课程分析程序等),以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据。
[0207]
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个基于情感分析的课程分析方法实施例中的步骤,例如图1所示的步骤。
[0208]
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成生成装置11包括确定单元110、清洗单元111、划分单元112、配置单元113、分析单元114。
[0209]
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述基于情感分析的课程分析方法的部分。
[0210]
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执
行时,可实现上述各个方法实施例的步骤。
[0211]
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
[0212]
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
[0213]
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的目标性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0214]
总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
[0215]
尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器13逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
[0216]
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
[0217]
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
[0218]
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
[0219]
图3仅示出了具有组件12-13的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0220]
结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种基于情感分析的课程分析方法,所述处理器13可执行所述多个指令从而实现:
[0221]
响应于课程分析指令,根据所述课程分析指令确定待分析课程,并获取所述待分
析课程对应的初始数据;
[0222]
对所述初始数据进行文本清洗,得到待分析数据;
[0223]
检测所述待分析数据中每个数据的文本长度,并根据每个数据的文本长度将所述待分析数据划分为短文本数据及长文本数据;
[0224]
确定所述短文本数据的数据量及所述长文本数据的数据量,并根据所述短文本数据的数据量为所述短文本数据配置处理线程作为第一处理线程,及根据所述长文本数据的数据量为所述长文本数据配置处理线程作为第二处理线程;
[0225]
调用所述第一处理线程对所述短文本数据执行第一情感分析,得到第一分析结果,及调用所述第二处理线程对所述长文本数据执行第二情感分析,得到第二分析结果;
[0226]
根据所述第一分析结果及所述第二分析结果确定所述待分析课程的情感分析结果。
[0227]
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
[0228]
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0229]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0230]
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0231]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
[0232]
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
[0233]
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
[0234]
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1