System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种结合隐喻识别与句法结构的情绪检测方法,属于自然语言处理和情感分析。
技术介绍
1、随着自然语言处理(nlp)和情感计算技术的快速发展,情绪检测在多个领域得到了广泛应用,如社交媒体分析、智能客服和满意度评估等。尽管当前的情绪检测技术在显性情感识别数据处理上表现出色,但在处理复杂的语言现象时,尤其是隐喻表达和复杂句法结构,效果仍显不足。隐喻是一种常见的修辞手法,通过形象化的表达传递复杂、微妙的情绪,常常掩盖在表层语言之下,增加了情绪检测的难度。
2、当前有些情绪检测方法采用基于词袋模型或简单的机器学习分类器,主要依赖情感词典进行情感极性提取。这类方法虽然在处理字面意思明确的文本时表现较好,但难以准确处理复杂的情感表达。具体而言,许多方法在结合隐喻识别方面存在明显不足。隐喻作为日常语言中的常见现象,能够传达潜在的情感意图。现有方法大多专注于表层情感词的提取,未能有效识别和处理隐含于隐喻中的情感表达。结果,这些方法在面对含有隐喻的句子时,常常无法判断其真实情感倾向,导致情绪检测结果出现偏差。另一方面,句法结构在情感表达中的重要性也常常被忽视。许多情绪检测方法主要关注情感词的提取,而未充分考虑词汇之间的语法关系。句法结构能够揭示词汇的依赖关系,影响情感的传递和变化。然而,忽略句法结构可能导致方法在处理复杂句式时出现偏差,尤其在情感表达依赖于句子结构或语法信息时导致理解复杂的情感表达缺乏深度,进而影响情绪检测的准确性和鲁棒性。
3、尽管隐喻识别技术近年来取得了长足进展,隐喻与情感分析的结合仍处于早期
技术实现思路
1、本专利技术的目的是为了解决现有情绪检测方法在处理隐喻表达和复杂句法结构时存在情感强度指标识别精度不足的技术问题,提出一种结合隐喻识别与句法结构的情绪检测方法。
2、本专利技术的目的是通过以下技术方案实现的:
3、步骤1:利用自然语言处理库对待分析文本的词性进行粗粒度标注化;进一步的对标注后的结果进行提取识别,进而获得情感关键词;
4、步骤2:对情感关键词进行细粒度标注,并对情感关键词的位置进行序号标记;
5、步骤3:对待分析文本进行特征提取,获得特征向量、段向量和掩码向量;
6、步骤3.1:采用式(1)所示的方式构建用于隐喻检测模型训练的字典;
7、(text,word,pos,fgpos,index)(1)
8、其中,text为文本,word为目标词,pos为粗粒度词性,fgpos为细粒度词性,index为目标词在文本中的位置序号。
9、步骤3.2:利用预训练的分词器将字典中的文本和目标词分解为文本标记texttokens和目标词标记targettokens;
10、步骤3.3:以栈的方式对目标词分词后的位置序号进行更新得targetpos;
11、步骤3.4:采用如式(2)所示的方式对待分析文本进行局部上下文片段的提取;
12、localstart=min(i|texttokens[i]′,′),
13、localend=min(i|texttokens[i]=′,′),
14、for i≤targetpos,for i>targetpos (2)
15、其中,localstart为局部上下文片段的开始位置,localend为局部上下文片段的结束位置。
16、步骤3.5:将文本标记texttokens和目标词标记targettokens采用如式(3)所示的方式进行拼接编码形成特征向量;
17、
18、其中,表示串联,fvocabulary(·)表示按照roberta预训练模型的词汇表将标记转化为对应的id,[cls]表示roberta预训练模型的开始标记,[sep]表示roberta预训练模型的分界和结尾标记。
19、步骤3.6:根据特征向量采用如式(4)所示的方式形成段向量和掩码向量;
20、
21、inputmask=[1]*len(inputias) (4)
22、其中,i表示段向量segmentias中的索引,表示inputias中第一个[sep]的索引,表示inputids中最后一个[sep]的索引。
23、步骤3.7:对特征向量、段向量和掩码向量采用如式(5)所示的方式填充标记符,使三者的序列长度保持固定;
24、
25、其中,seqlengthmax表示输入序列的最大长度,[pad]表示roberta预训练模型填充标记。
26、步骤4:筛选获得隐喻的目标词;
27、步骤4.1:利用隐喻检测模型的全连接层采用如式(6)所示的方式对特征向量、段向量和掩码向量进行分类处理获得隐喻的概率值;
28、logits=fclassifier(fencoder(inputids,segmentids,inputmask)) (6)
29、其中,fencoder(·)表示编码器,fclassifier(·)表示线性分类层,[·;·]表示拼接操作。logits采用二分类进行处理得到logits=[logit0,logit1],logit0是类别0(非隐喻)的得分,logit1是类别1(隐喻)的得分。
30、步骤4.2:利用如式(7)所示的方式获得隐喻;
31、
32、步骤4.3:利用隐喻对目标词进行筛选获得隐喻的目标词;
33、步骤5:利用自然语言处理库对待分析文本进行解析,生成依存树,将依存树采用如式(8)所示的方式构建依存树的节点关系;同时,采用如式(9)所示的方式进行排序拼接,进而获得子句;
34、c=wt∪head(wt)∪{children(wt)}(8)
35、其中,head(wt)表示目标词的依存头部,{children(wt)}表示目标词的依赖词集合;
36、clause=fjoin(sort(c,key=i)) (9)
37、其中,i表示每个词在句子中的索引,fjoin(·)表示将词语通过空格连接。
38、步骤6:将子句与待分析文本进行拼接输入至情绪检测模型采用如式(10)所示的方式进行情绪分类评估;将评估用于情绪化自然语言文本数据处理中。
39、
40、其中,fvocabulary(·)表示按照bert预训练模型的词汇表将标记转化为对应的id,fencoder(·)表示bert编码器,fclassifier(·)表示线性分类层。
41、本专利技术方法相比现有技术,具有以下优点:
42、1、通过隐喻识别模型与情绪检测模型的协同本文档来自技高网...
【技术保护点】
1.一种结合隐喻识别与句法结构的情绪检测方法,其特征在于:包括以下步骤,
2.如权利要求1所述的一种结合隐喻识别与句法结构的情绪检测方法,其特征在于:步骤4实现方法为,
【技术特征摘要】
1.一种结合隐喻识别与句法结构的情绪检测方法,其特征在于:包括以下步骤,
2....
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。