CN117634471A - 一种nlp质检方法及计算机可读存储介质 - Google Patents
一种nlp质检方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117634471A CN117634471A CN202311667268.6A CN202311667268A CN117634471A CN 117634471 A CN117634471 A CN 117634471A CN 202311667268 A CN202311667268 A CN 202311667268A CN 117634471 A CN117634471 A CN 117634471A
- Authority
- CN
- China
- Prior art keywords
- character string
- content
- conversation
- nlp
- quality inspection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000007689 inspection Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000008451 emotion Effects 0.000 claims abstract description 5
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 claims description 10
- 238000003491 array Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 5
- 230000004927 fusion Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000003058 natural language processing Methods 0.000 description 25
- 238000012549 training Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 229910000510 noble metal Inorganic materials 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/226—Validation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2468—Fuzzy queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3343—Query execution using phonetics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Acoustics & Sound (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Fuzzy Systems (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Automation & Control Theory (AREA)
- Biomedical Technology (AREA)
- Probability & Statistics with Applications (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种NLP质检方法及计算机可读存储介质,将分离或标注出不同讲话人的大篇幅音频会话内容转换为文本,通过模糊查找方式,检查会话内容字符串中是否包含有所述目标字符串中的预期话术内容或/和固定问答内容,如有,则将会话内容字符串中包含的与目标字符串中的预期话术内容或/和固定问答内容相同或相似的文本内容进行剔除,对经步骤3处理后的会话内容字符串进行分句,然后对每个分句进行逐句语义分类,对会话内容字符串中包含的消极情绪分类项进行统计;对处理后的整段会话内容字符串使用大语言模型进行处理,并输出质检结果。本发明在使用少的算力资源同时,将不同讲话人的对话内容进行有效的NLP处理。
Description
技术领域
本发明涉及质检领域,尤其涉及一种NLP质检方法及计算机可读存储介质。
背景技术
在许多行业中,需要对一些重要会话进行记录,并对其进行质检,例如呼叫中心、金融产品销售、保险销售等等。基本的流程是先通过自动语音识别(Automatic SpeechRecognition,ASR)技术将对话内容转换为文本,然后用自然语言处理(Natural LanguageProcessing,NLP)技术对其进行质检。现有的质检方式通常包括语义查找及语义分类,其中语义查找即查找是否存在关键词及关键话术,语义分类即对某个短语进行NLP分类,确定其不同类别,比如积极的、消极的等。
传统的NLP质检中,语义分析适用于对短语或一句话进行处理,对大篇幅会话内容缺少逻辑推理能力。对于关键问题的质检,通常使用穷举关键词匹配的方式进行查找,比较依赖关键词库的完整性,灵活度不足,具有应用局限。而大语言模型(Large LanguageModel,LLM)虽然能够很好的理解上下文,也能进行逻辑推理,但一方面需要较高的硬件配置,处理成本和能耗高;另一方面,如果篇幅过大,也会降低质检处理的准确性,而且大篇幅内容引起的质检判断随机性,使得输出结果不稳定。
发明内容
本发明所要解决的第一个技术问题是针对上述现有技术现状而提供一种处理成本低且准确性高的对于大篇幅音频会话内容的NLP质检方法。
本发明所要解决的第二个技术问题是提供一种能执行上述NLP质检方法的计算机可读存储介质。
本发明解决上述第一个技术问题所采用的技术方案为:一种NLP质检方法,用于对大篇幅音频会话内容进行NLP质检,其特征在于,包括以下步骤:
步骤1、将包含有预期话术内容和固定问答内容的文本保存为目标字符串;
步骤2、对大篇幅会话中不同讲话人的音频进行分离或标注,并将分离或标注出不同讲话人的大篇幅音频会话内容转换为文本,将该文本内容称为会话内容字符串;
步骤3、通过模糊查找方式,检查会话内容字符串中是否包含有所述目标字符串中的预期话术内容或/和固定问答内容,如有,则将会话内容字符串中包含的与目标字符串中的预期话术内容或/和固定问答内容相同或相似的文本内容进行剔除,然后进入步骤4;如无,直接进入步骤4;
步骤4、对经步骤3处理后的会话内容字符串进行分句,然后对每个分句进行逐句语义分类,对会话内容字符串中包含的消极情绪分类项进行统计;
步骤5、对经步骤3处理后的整段会话内容字符串使用大语言模型进行处理,并输出质检结果。
音频数据有不同类型,优选地,所述步骤2中大篇幅会话音频如果包括分别为不同讲话人声音的多声道音频数据,则直接将不同声道的音频数据处理为不同讲话人的会话内容;如果同一个声道中有不同讲话人的声音,则通过声纹识别技术区分不同讲话人的会话内容。
优选地,所述步骤3中,模糊查找会话内容字符串中是否包含有所述目标字符串中的预期话术内容或/和固定问答内容的具体方式包括:
步骤3-1、将会话内容字符串中的占位符替换成预设的通配符,得到会话内容源字符串;
步骤3-2、将会话内容源字符串与目标字符串做部分匹配,获得一个或多个局部完全匹配的块结构体block,将这些局部完全匹配的块结构体block形成数组并称为blocks;
步骤3-3、如果相邻的局部完全匹配的块结构体之间由通配符隔开,则将这些相邻的局部完全匹配的块结构体进行融合,得到融合后的块结构体数组,将这些融合后的块结构体数组称为merged_blocks;
步骤3-4、依次计算每个融合后的块结构体与目标字符串中的预期话术内容的编辑距离,同时依次计算每个融合后的块结构体与目标字符串中的固定问答内容的编辑距离,从而得到每个融合后的块结构体与目标字符串的匹配值,返回其中最匹配的融合后的块结构体。
通配符可以只有一种形式,但为了方便区分,所述通配符包括第一通配符及第二通配符,所述第一通配符为'.',代表任意一个长度为1的字符;所述第二通配符为'*',代表任意长度任意内容的字符串,该字符串可为空。
为了使块结构体数组能表示局部完全匹配字符串的属性,所述块结构体数组具有三个属性值spos、dpos及len,spos表示局部完全匹配字符串在会话内容字符串中的起始位置,dpos表示局部完全匹配字符串在目标字符串中的起始位置,len表示局部完全匹配字符串的长度。
为了对剩下的不固定内容进行分句,所述步骤4中,对于经步骤3处理后的会话内容字符串,按时间顺序扫描对应音频文件,基于语音活性检测算法检测非语音的连续停顿时长,若停顿时长大于预设的停顿阈值,则切分为独立一句,同时对对应的会话内容字符串进行文本分割;若切分后的句子长度大于预设的分句阈值,则对该分句继续分割。
为了避免分句后遗漏信息导致断章取义的信息失真,所述分句的继续分割方法为在该句中间60%内容处进行语音活性和能量检测,找到两个停顿时间最大的点,若找不到停顿点,则找到两个音量最小处,按顺序标记d1、d2,将该分句从开头到d2分割为第一个句子,将该分句从d1到结尾分割为第二个句子。
由于在双录质检场景中,文本往往呈现内容多样、长度大的特点,优选地,所述步骤4中对分句进行语义分类的方法是:构造数据集,对大语言模型的self-attention层进行Lora微调,加载基础模型后,再加载Lora与原模型做参数融合。
本发明解决上述第二个技术问题所采用的技术方案为:一种计算机可读存储介质,其特征在于:所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上所述的NLP质检方法,以对大篇幅音频会话内容进行质检。
与现有技术相比,本发明的优点在于:该NLP质检方法对预期话术内容或/和固定问答内容进行模糊查找,从而简化后续NLP处理的复杂度;其次通过语义分析,对分句的内容按业务要求进行分类,通过较经济的算力资源实现业务需求;最后对于需要全局上下文分析的内容,使用强大的LLM,实现NLP的复杂任务;该方法在尽可能使用少的算力资源同时,最大程度的将不同讲话人的对话内容进行有效的NLP处理,并能处理复杂任务;不同任务之间能够互相复用处理成果,并提升后期NLP处理精度。
附图说明
图1为本发明实施例中NLP质检方法的总体流程图;
图2为本发明实施例中会话内容角色分离或标注的示意图;
图3为本发明实施例中融合相邻block的原理图;
图4为本发明实施例中步骤4分句的结构示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
如图1~4所示,本实施例的一种NLP质检方法用于对大篇幅音频会话内容进行NLP质检,包括以下步骤:
步骤1、将包含有预期话术内容和固定问答内容的文本保存为目标字符串;
步骤2、对大篇幅会话中不同讲话人的音频进行分离或标注,并将分离或标注出不同讲话人的大篇幅音频会话内容转换为文本,将该文本内容称为会话内容字符串;
步骤3、通过模糊查找方式,检查会话内容字符串中是否包含有目标字符串中的预期话术内容或/和固定问答内容,如有,则将会话内容字符串中包含的与目标字符串中的预期话术内容或/和固定问答内容相同或相似的文本内容进行剔除,然后进入步骤4;如无,直接进入步骤4;
步骤4、对经步骤3处理后的会话内容字符串进行分句,然后对每个分句进行逐句语义分类,对会话内容字符串中包含的消极情绪分类项进行统计;
步骤5、对经步骤3处理后的整段会话内容字符串使用大语言模型进行处理,并输出质检结果。
具体的,如图2所示,上述步骤2中对大篇幅会话中不同讲话人(角色)的音频进行分离或标注,对于会话内容的对话角色的准确处理,能够提升后续自然语言处理的准确性;基于NLP的不同处理任务,既可对角色讲话内容分离后进行处理,比如对话内容查找、语义分类;也可对角色标注后的完整上下文进行整体处理,比如基于上下文推理输出质检结果。
大篇幅会话音频如果包括分别为不同讲话人声音的多声道音频数据,则直接将不同声道的音频数据处理为不同讲话人的会话内容,通常这种情况出现在服务人员和客户通过远程通信工具建立的会话,比如传统callcenter、视频会议、视频客服等,会话自然就能够将多个讲话人通过不同声音通道区分开来;如果同一个声道中有不同讲话人的声音,则通过声纹识别技术区分不同讲话人的会话内容,这种情况一般出现于不同的讲话人在同一个地方进行对话,旁边有声音采集设备进行录音,比如一个房间内的会议录音、临柜双录等。
上述步骤3中模糊查找方式为:所述步骤3中,模糊查找会话内容字符串中是否包含有所述目标字符串中的预期话术内容或/和固定问答内容的具体方式包括:
步骤3-1、将会话内容字符串中的占位符替换成预设的通配符,得到会话内容源字符串;
具体的,一个含占位符的话术例子如下所示:
#{CUSTNM}#{CUSTGENDER},在确认开通天使银行黄金账户业务前,需与您通过录音录像的方式确认以下内容:您将要开通的黄金账户业务在我行的风险评级为R3,即贵金属产品具有一定的资产配置属性或交易属性,整体风险适中,不保证本金和收益。您在我行的风险评级为#{CUSTRSKGRD},属于#{CUSTRSKGRDDES}客户,等于产品风险评级;其中“#{CUSTNM}#{CUSTGENDER}”、“#{CUSTRSKGRD}”、“#{CUSTRSKGRD}”即为占位符;
对于会话内容字符串中的占位符,本实施例引入第一通配符及第二通配符,第一通配符为'.',代表任意一个长度为1的字符;第二通配符为'*',代表任意长度任意内容的字符串,该字符串可为空;本步骤中,将会话内容字符串中所有的占位符都替换为预定义的通配符,对于任意占位符,替换的目标通配符样式(替换成几个'.'或'*')可以由上层自定义。本实施例中,将上述三部分占位符“#{CUSTNM}#{CUSTGENDER}”、“#{CUSTRSKGRD}”、“#{CUSTRSKGRD}”均统一替换成“*”;
步骤3-2、将会话内容源字符串与目标字符串做部分匹配,获得一个或多个局部完全匹配的块结构体block,将这些局部完全匹配的块结构体block形成数组并称为blocks;
目标字符串中的预期话术内容可以包括多个话术语句,如话术语句A,话术语句B,话术语句C,话术语句D,话术语句E,将占位符替换成预设的通配符后的会话内容字符串与目标字符串进行匹配时,可能只有其中部分话术语句匹配成功,如只有话术语句A匹配成功,那么获得的块结构体block就是局部完全匹配;
块结构体block具有三个属性值spos、dpos及len,其中,spos表示局部完全匹配字符串在会话内容字符串中的起始位置,dpos表示局部完全匹配字符串在目标字符串中的起始位置,len表示局部完全匹配字符串的长度;
获得一系列block后,blocks中相邻的block由于各类不匹配的文本内容隔开;
步骤3-3、如果相邻的局部完全匹配的块结构体之间由通配符隔开,则将这些相邻的局部完全匹配的块结构体进行融合,得到融合后的块结构体数组,将这些融合后的块结构体数组称为merged_blocks;
步骤3-4、依次计算每个融合后的块结构体block与目标字符串中的预期话术内容的编辑距离,同时依次计算每个融合后的块结构体block与目标字符串中的固定问答内容的编辑距离,从而得到每个融合后的块结构体block与目标字符串的匹配值,返回其中最匹配的融合后的块结构体block。
上述步骤3-3的具体过程为如图3所示:
S1、初始化差值wildcard_deltalen为0;
S2、初始化下标i=0,blocks[i]表示原始局部完全匹配的块结构体数组blocks中下标为i的元素,依次扫描并修正该blocks[i]的spos值,全部扫描完成后就结束;
S3、判断该blocks[i]是否为数组blocks中最后一个元素,若否,则进入步骤S4;若是,则进入步骤S6;
S4、读取数组blocks中下一个元素blocks[i+1],并设定next为blocks[i+1]与blocks[i]之间不匹配的文本字符串在会话内容字符串中的起始位置,设定next_spos为blocks[i+1]的spos值,判断next和next_spos之间会话内容字符串(源字符串)是否含有'*',若有,则进入步骤S5;若没有,则进入步骤S6;
S5、修正wildcard_deltalen,设定blocks[i]为blocks[i+1],并返回步骤S3中继续进行判断;
S6、将该blocks[i]存入融合后的数组merged_blocks中,并返回步骤S2继续扫描。
其中,步骤S2中修正该blocks[i]的spos值的公式为block.spos+=wildcard_deltalen,计算next的公式为next=blocks[i].spos+blocks[i].len,计算next_spos的公式为next_spos=blocks[i+1].spos。
另外,修正wildcard_deltalen表示对应的相邻block之间,不匹配的会话内容字符串长度和目标字符串长度的差值,具体公式为:wildcard_deltalen+=(blocks[i+1].dpos-blocks[i].dpos-blocks[i].len)-(blocks[i+1].spos-blocks[i].spos-blocks[i].len)。
上述步骤3-4,对于merged_blocks中的每一个元素,依次计算每个融合后的块结构体block与目标字符串中的预期话术内容的编辑距离,同时依次计算每个融合后的块结构体block与目标字符串中的固定问答内容的编辑距离,根据编辑距离获得文本相似度,从而得到每个融合后的块结构体与目标字符串的匹配值,返回其中最匹配的融合后的块结构体。编辑距离算法采用现有技术中的常规算法,这里不再赘述。
但由于存在通配符,需要通过后处理修正匹配分数,整个具体步骤如下:
a.从目标字符串中截取子字符串,起始位置long_start=max(0,block.dpos-block.spos),期望截取长度long_len=会话内容字符串的长度+wildcard_deltalen;
b.计算子字符串和会话内容字符串的编辑距离distance;
c.修正'*'引起的编辑距离distance误差,公式为:
distance-=count_star*2+wildcard_deltalen,count_star表示会话内容字符串中'*'的个数。
d.修正'.'引起的编辑距离distance误差,公式为:
distance-=count_dot*2,count_dot表示会话内容字符串中实际可匹配的'.'的个数。统计方式如下:
i.count_dot初始化为0;
ii.统计相邻block之间,会话内容字符串中的'.'个数,以及对应的block之间目标字符串的长度,取其较小值加到count_dot;
iii.统计位于会话内容字符串两端的通配符的个数,记为found_first和found_last;
iv.计算位于句首的实际可匹配的'.'的个数,加到count_dot,计算公式为:
min(found_first,max(block.dpos-long_start,0))
v.计算位于句末的实际可匹配的'.'的个数,加到count_dot,计算公式为:
found_last-(long_len-true_len)。true_len表示实际截取的子字符串长度。
e.将匹配结果分别在句首和句末扩充最多两个字符或删除两个字符,重新比较,选取匹配值较高者为最终匹配结果。由于这边修改了子字符串长度,记实际的截取起始位置为start,实际期望截取的长度为len,上面计算实际可匹配的'.'的个数可修正为:
i.句首:min(found_first,max(block.dpos-start,0))
ii.句末:found_last-(long_len-match_len),其中:match_len=true_len+start-long_start
上述步骤主要为计算merged_blocks数组中每个block与目标字符串之间的编辑距离,修正两种通配符引起的误差,获得最终的编辑距离,根据最终的编辑距离计算最终的文本相似度。
对于ASR转出来的文本,有可能是同(近)音字或是多种写法。同(近)音字如“天使银行”和“天施银行”;多种写法短语如“二零二三年”和“2023年”。因此,本实施例可以对编辑距离计算的字符串比较算子进行改造,除了字符内容完全相同外,对于同(近)音字和多种写法的字符,也认为是等价的。另外,对于日期、时间、数字、电话号码等信息,可配置要求ASR统一输出阿拉伯数字,以便与统一比对。这样就放宽了相似度比较条件,对于同(近)音,不同写法的文字也能很好的处理,提高了搜索的鲁棒性。
步骤3中将会话内容字符串中文本相似度大于预设文本相似度阈值(例如0.8)的内容进行剔除后,对剩下的不固定内容进行分句和语义分类。对消极情绪分类项进行统计,作为质检扣分项,如消极违规等疑似不符合质检要求的句子。
如图4所示,步骤4中对于经步骤3处理后的会话内容字符串,按时间顺序扫描音频文件,基于语音活性检测算法检测非语音的连续停顿时长,若停顿时长大于预设的停顿阈值,则切分为独立一句,同时对自动语音识别转换的文字进行文本分割;若切分后的句子长度大于预设的分句阈值,则对该分句继续分割。其中,停顿阈值取值范围为1~3秒,建议为1.5秒;分句阈值取值范围为30~120字,建议为60字。
分句的继续分割方法为在该句中间60%内容处进行语音活性和能量检测,找到两个停顿时间最大的点,若找不到停顿点,则找到两个音量最小处,按顺序标记d1、d2,将该分句从开头到d2分割为第一个句子,将该分句从d1到结尾分割为第二个句子。2个句子有部分重叠,从而避免因为切割导致的“断章取义”的信息失真。
语义分类是NLP领域中最常见的任务之一,一般用Transformer模型中的Encoder模块即可完成任务,常见的有BERT模型及它的变体。在双录质检场景中,通常存在“自定义标签”的情况。如果需要分类的标签没有事先经过训练,那么就无法进行该项分类任务。对于上述问题,一般有三种解决方案:
(1)针对具体分类任务,在预训练模型的基础上微调。该方案针对不同的分类场景专业性比较强,输出的结果可控,但灵活性差、成本高,每次微调,都要搜集和构造数据集,然后训练和分别部署,有多少组分类标签,就要对应多少个模型。
(2)零训练样本分类。这种做法的特点是在训练阶段仅使用NLI(自然语言推理)相关数据集进行训练,在进行分类时,将任务转换成一系列NLI任务。该方案只需要一个模型,就可以灵活适应各种分类标签,且输出的结果可控,但每次推理时都需要推理n个样本(其中n为标签数量),模型推理时间随标签数量线性增长。
(3)基于文本生成的模型。这种做法的特点是借助大语言模型,通过prompt构造分类任务,并获得分类结果。该方案灵活,可以适应各种分类标签,且推理效率较高,每次推理只需要推理一个样本,但生成的结果可能不稳定,比如返回结果的形式不可控,或者分类结果不在候选标签中。
本实施例中,语义分类对不固定部分内容使用大语言模型进行处理,用来分析需要联系上下文的语义内容。语义理解和文本生成能力较强的大语言模型,参数往往高达千亿。部署这种模型,需要强大的GPU和能源,硬件成本非常高。相反,参数仅十亿级别的小参数量大语言模型运行要求就低很多,但是缺点是语言理解能力差,输出结果的控制不尽人意。
要使用小参数量的文本生成模型,首先要对模型微调,使其能理解固定格式的任务语义,并按照固定的文本模式返回结果。具体的操作方法是:
(1)构造数据集,对于文本生成模型,即输入-输出文本对;其中输入和输出必须遵从固定的格式,数据集中应包含不同的分类标签,方便模型快速适应任务模式;
(2)模型微调,微调方式为Lora,作用范围为大语言模型的self-attention层,Lora可以简单理解为对原模型部分参数的“修饰”,它的大小一般比基础模型小很多,训练速度很快,由于只是修改模型参数,所以并不会增加模型推理时间,经过Lora修饰的模型,生成结果更加可控,方便代码处理,又得益于基础大语言模型的泛化能力,可以很好的适应不同标签的分类任务;
(3)服务器部署,具体做法是先加载基础模型,再加载Lora与原模型做参数融合。Lora的加载比基础模型快很多,因此当出现新的输出需求,如多分类任务,语言推理任务时,只需要切换Lora模型即可实现,提高了模型切换的效率,并且大大降低的硬件要求。
步骤5中分析需要联系上下文的语义内容的质检结果包括是否最终解决客户问题,提取对话摘要等工作。
根据业务需求使用大语言模型的对话方式来处理剩下的整段内容,分为2种情况:去除标准话术的和保留标准话术。去除话术后,由于减少并简化了文本内容,可以提高处理精度和速度;若要保留话术,可先对话术内容做总结和精简,而后进行LLM对话处理。
若处理内容超过LLM所能接受的长度(目前的技术限制越来越低,即LLM能处理非常长的文本),可使用一些增加处理长度的技术来解除限制,比如使用StreamingLLM方法将LLM扩展为无限制输入长度且无需精调(finetune),或使用循环记忆Transformer模型实现更好效果的长输入的文本预测(这个方法需重新训练模型)。也可通过prompt规范化LLM输出格式,以便程序处理。
本实施例中对于大篇幅音频会话内容的NLP质检方法可以满足以下三类双录业务的质检需求:是否出现预期话术、固定问答;是否出现不恰当的对话内容,比如投诉、辱骂等等;从整体角度分析,业务是否正常完成,或是否最终解决客户问题。该方法既能够做到复用各个环节的处理,减少计算资源的浪费;又能够灵活配置,根据实际业务需求选择不同的质检能力。
本发明还保护一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上所述的NLP质检方法,以对大篇幅音频会话内容进行质检。
Claims (9)
1.一种NLP质检方法,用于对大篇幅音频会话内容进行NLP质检,其特征在于,包括以下步骤:
步骤1、将包含有预期话术内容和固定问答内容的文本保存为目标字符串;
步骤2、对大篇幅会话中不同讲话人的音频进行分离或标注,并将分离或标注出不同讲话人的大篇幅音频会话内容转换为文本,将该文本内容称为会话内容字符串;
步骤3、通过模糊查找方式,检查会话内容字符串中是否包含有所述目标字符串中的预期话术内容或/和固定问答内容,如有,则将会话内容字符串中包含的与目标字符串中的预期话术内容或/和固定问答内容相同或相似的文本内容进行剔除,然后进入步骤4;如无,直接进入步骤4;
步骤4、对经步骤3处理后的会话内容字符串进行分句,然后对每个分句进行逐句语义分类,对会话内容字符串中包含的消极情绪分类项进行统计;
步骤5、对经步骤3处理后的整段会话内容字符串使用大语言模型进行处理,并输出质检结果。
2.根据权利要求1所述的NLP质检方法,其特征在于:所述步骤2中大篇幅会话音频如果包括分别为不同讲话人声音的多声道音频数据,则直接将不同声道的音频数据处理为不同讲话人的会话内容;如果同一个声道中有不同讲话人的声音,则通过声纹识别技术区分不同讲话人的会话内容。
3.根据权利要求1所述的NLP质检方法,其特征在于:所述步骤3中,模糊查找会话内容字符串中是否包含有所述目标字符串中的预期话术内容或/和固定问答内容的具体方式包括:
步骤3-1、将会话内容字符串中的占位符替换成预设的通配符,得到会话内容源字符串;
步骤3-2、将会话内容源字符串与目标字符串做部分匹配,获得一个或多个局部完全匹配的块结构体block,将这些局部完全匹配的块结构体block形成数组并称为blocks;
步骤3-3、如果相邻的局部完全匹配的块结构体之间由通配符隔开,则将这些相邻的局部完全匹配的块结构体进行融合,得到融合后的块结构体数组,将这些融合后的块结构体数组称为merged_blocks;
步骤3-4、依次计算每个融合后的块结构体与目标字符串中的预期话术内容的编辑距离,同时依次计算每个融合后的块结构体与目标字符串中的固定问答内容的编辑距离,从而得到每个融合后的块结构体与目标字符串的匹配值,返回其中最匹配的融合后的块结构体。
4.根据权利要求3所述的NLP质检方法,其特征在于:所述通配符包括第一通配符及第二通配符,所述第一通配符为'.',代表任意一个长度为1的字符;所述第二通配符为'*',代表任意长度任意内容的字符串,该字符串可为空。
5.根据权利要求3所述的NLP质检方法,其特征在于:所述块结构体数组具有三个属性值spos、dpos及len,spos表示局部完全匹配字符串在会话内容字符串中的起始位置,dpos表示局部完全匹配字符串在目标字符串中的起始位置,len表示局部完全匹配字符串的长度。
6.根据权利要求1所述的NLP质检方法,其特征在于:所述步骤4中,对于经步骤3处理后的会话内容字符串,按时间顺序扫描对应音频文件,基于语音活性检测算法检测非语音的连续停顿时长,若停顿时长大于预设的停顿阈值,则切分为独立一句,同时对对应的会话内容字符串进行文本分割;若切分后的句子长度大于预设的分句阈值,则对该分句继续分割。
7.根据权利要求6所述的NLP质检方法,其特征在于:所述分句的继续分割方法为在该句中间60%内容处进行语音活性和能量检测,找到两个停顿时间最大的点,若找不到停顿点,则找到两个音量最小处,按顺序标记d1、d2,将该分句从开头到d2分割为第一个句子,将该分句从d1到结尾分割为第二个句子。
8.根据权利要求1所述的NLP质检方法,其特征在于:所述步骤4中对分句进行语义分类的方法是:构造数据集,对大语言模型的self-attention层进行Lora微调,加载基础模型后,再加载Lora与原模型做参数融合。
9.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至8任一项所述的NLP质检方法,以对大篇幅音频会话内容进行质检。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311667268.6A CN117634471A (zh) | 2023-12-06 | 2023-12-06 | 一种nlp质检方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311667268.6A CN117634471A (zh) | 2023-12-06 | 2023-12-06 | 一种nlp质检方法及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117634471A true CN117634471A (zh) | 2024-03-01 |
Family
ID=90026792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311667268.6A Pending CN117634471A (zh) | 2023-12-06 | 2023-12-06 | 一种nlp质检方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117634471A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118377812A (zh) * | 2024-06-25 | 2024-07-23 | 宁波菊风系统软件有限公司 | 一种双录音视频文件质检方法及计算机可读存储介质 |
-
2023
- 2023-12-06 CN CN202311667268.6A patent/CN117634471A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118377812A (zh) * | 2024-06-25 | 2024-07-23 | 宁波菊风系统软件有限公司 | 一种双录音视频文件质检方法及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112804400B (zh) | 客服呼叫语音质检方法、装置、电子设备及存储介质 | |
US11380333B2 (en) | System and method of diarization and labeling of audio data | |
US10347244B2 (en) | Dialogue system incorporating unique speech to text conversion method for meaningful dialogue response | |
CN110444198B (zh) | 检索方法、装置、计算机设备和存储介质 | |
AU2005285108B2 (en) | Machine learning | |
WO2020228173A1 (zh) | 违规话术检测方法、装置、设备及计算机可读存储介质 | |
CN111739516A (zh) | 一种针对智能客服通话的语音识别系统 | |
US20030191625A1 (en) | Method and system for creating a named entity language model | |
CN110853649A (zh) | 基于智能语音技术的标签提取方法、系统、设备及介质 | |
CN112233680B (zh) | 说话人角色识别方法、装置、电子设备及存储介质 | |
KR20200119410A (ko) | 전역 및 지역 문맥 기반 한국어 대화문 감정 인식 시스템 및 방법 | |
CN111489765A (zh) | 一种基于智能语音技术的话务服务质检方法 | |
CA2481080C (en) | Method and system for detecting and extracting named entities from spontaneous communications | |
CN111489743A (zh) | 一种基于智能语音技术的运营管理分析系统 | |
CN117634471A (zh) | 一种nlp质检方法及计算机可读存储介质 | |
CN113920986A (zh) | 会议记录生成方法、装置、设备及存储介质 | |
CN113626573A (zh) | 一种销售会话异议及应对提取方法及系统 | |
CN112102807A (zh) | 语音合成方法、装置、计算机设备和存储介质 | |
CN115022471A (zh) | 一种智能机器人语音交互系统和方法 | |
US20110119052A1 (en) | Speech recognition dictionary creating support device, computer readable medium storing processing program, and processing method | |
Santoso et al. | Large Language Model-Based Emotional Speech Annotation Using Context and Acoustic Feature for Speech Emotion Recognition | |
CN115577712A (zh) | 一种文本纠错方法及装置 | |
Barnard et al. | Real-world speech recognition with neural networks | |
Thakur et al. | NLP & AI speech recognition: an analytical review | |
CN113435902A (zh) | 一种基于语音信息分析的智能物流客服机器人 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |