CN116956881A - 一种面向任务式对话系统的纠错方法、装置、设备及介质 - Google Patents
一种面向任务式对话系统的纠错方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116956881A CN116956881A CN202310948251.1A CN202310948251A CN116956881A CN 116956881 A CN116956881 A CN 116956881A CN 202310948251 A CN202310948251 A CN 202310948251A CN 116956881 A CN116956881 A CN 116956881A
- Authority
- CN
- China
- Prior art keywords
- error correction
- slot
- confusion
- result
- model
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 213
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 10
- 230000003321 amplification Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 6
- 238000003058 natural language processing Methods 0.000 abstract description 9
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 244000299461 Theobroma cacao Species 0.000 description 3
- 235000009470 Theobroma cacao Nutrition 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002650 habitual effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000008267 milk Substances 0.000 description 1
- 210000004080 milk Anatomy 0.000 description 1
- 235000013336 milk Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 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/232—Orthographic correction, e.g. spell checking or vowelisation
-
- 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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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/3332—Query translation
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Acoustics & Sound (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及自然语言处理领域,提供一种面向任务式对话系统的纠错方法、装置、设备及介质。所述方法包括:获取用户文本,将用户文本输入多任务语义理解模型,得到识别结果;根据识别结果获取槽位词表数据,将槽位词表数据同步到纠错数据库中;根据槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;基于纠错数据库和调整后的阈值对槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;对不同纠错阶段的召回分数进行加权处理,得到计算结果;确定计算结果中分值最大的词组作为纠错结果,基于纠错结果进行召回。本申请提供的面向任务式对话系统的纠错方法可以解决NLP模型命中率低、ASR识别有误的问题。
Description
技术领域
本申请涉及自然语言处理领域,具体涉及一种面向任务式对话系统的纠错方法、装置、设备及介质。
背景技术
目前,纠错能力作为自然语言处理(Natural Language Processing,NLP)领域中的一个重要能力分支,存在于任务式的对话系统中。任务式对话一般可以分为三个关键的子任务:领域识别、意图识别、关键槽位识别,纠错系统主要应用在两个部分:在槽位识别后、以及领域识别前。目前在各种人机对话系统中都得到了广泛的应用,如任务式对话系统、智能问答系统等。
任务式对话系统的处理流程为:从各类终端获取的用户输入,语音等经过语音识别(Automatic Speech Recognition,ASR),转化为规范的文本数据之后,进行语义理解。解析出用户的领域(比如:音乐、智能家居)、意图(比如播放音乐、打开灯)及关键槽位(比如歌手名、歌曲名、视频名称),为用户提供相应的服务。针对用户输入信息的错误、及ASR功能的不足,对错误信息进行相应的召回。
目前的纠错系统一般实现方法可以分为两种:一种是根据先验知识进行纠错:将用户的纠正数据进行标注,通过历史纠正词进行召回。二是通过用户数据训练深度模型,针对特定的ASR产生的大量的错误数据训练,从而形成端到端的错误检测和纠正。而第二种实现方式因为平台的能力、数据量及人工打标量的难度高,维护成本大,适用于积累了大量数据的平台。因为ASR的不确定性,不同ASR识别的错误数据多样,容易造成信息茧房,本发明主要围绕第一种方法进行创新。上述方案存在以下缺点:1.用户纠错数据量多,召回范围大,无法精确的识别意图;2.缺少领域识别前的基本槽位错误判断(如:“卧想听歌”中“卧”的实际词为“我”属于基本槽位类型);3.打分和召回机制单一,仅依靠模型打分或词频打分容易出现误纠错的情况。
发明内容
本申请实施例提供一种面向任务式对话系统的纠错方法、装置、设备及介质,用以解决NLP模型命中率低、ASR识别有误的技术问题。
第一方面,本申请实施例提供一种面向任务式对话系统的纠错方法,包括:
一种面向任务式对话系统的纠错方法,包括:
获取用户文本,将所述用户文本输入多任务语义理解模型,得到识别结果;
根据所述识别结果获取槽位词表数据,将所述槽位词表数据同步到纠错数据库中;
根据所述槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;
基于所述纠错数据库和所述调整后的阈值对所述槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
对不同纠错阶段的召回分数进行加权处理,得到计算结果;
确定所述计算结果中分值最大的词组作为纠错结果,基于所述纠错结果进行召回。
在一个实施例中,在根据所述槽位词表数据的字数对阈值进行动态调整之后,所述方法还包括:对字数小于第一预设阈值的实体进行阈值放大;对字数大于第一预设阈值小于第二预设阈值的实体进行阈值缩减预设范围;对字数大于等于第二预设阈值的实体进行全量拼音匹配。
在一个实施例中,所述纠错基础数据库包括ES纠错数据库、BKTree文本库和拼音模型库;所述基于所述纠错数据库和所述调整后的阈值对所述槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数,具体包括:对所述槽位词表数据中具有预设概率出错的混淆音进行笛卡尔积计算,得到匹配的混淆音序列,基于所述拼音模型库和调整后的阈值,根据所述混淆音序列得到候选项;根据所述候选项计算编辑距离,得到第一召回分数;若所述槽位词表数据为中文,则基于弹性搜索ES纠错数据库和调整后的阈值进行搜索召回,得到召回选项,基于召回选项计算得到第二召回分数;若所述槽位词表数据为英文,则基于BKTree文本库和调整后的阈值进行检索,基于检索结果计算得到第三召回分数。
在一个实施例中,所述获取用户文本,将所述用户文本输入多任务语义理解模型,具体包括:将用户语音转换为语句,基于混淆度分析模型对所述语句进行混淆度纠错,将进行混淆度纠错后的语句作为用户文本;将所述用户文本输入至多任务语义理解模型。
在一个实施例中,所述混淆度分析模型包括混淆模型和困惑度模型;所述混淆模型和所述困惑度模型为根据训练语料训练好的模型;所述混淆模型为多种N-gram模型。
在一个实施例中,所述基于混淆度分析模型对所述语句进行混淆度纠错,将进行混淆度纠错后的语句作为用户文本,具体包括:基于所述混淆模型进行语音转换得到最大概率的语句;通过困惑度模型得出所述语句的困惑度;当所述困惑度高于第四预设阈值时,将语句的非关键槽位进行替换;对进行非关键槽位后替换后的语句再次进行困惑度判断,确定将困惑度最低的语句作为用户文本。
第二方面,本申请实施例提供一种面向任务式对话系统的纠错装置,包括:
多任务语义理解模块,用于获取用户文本,将所述用户文本输入多任务语义理解模型,得到识别结果;
数据同步模块,用于根据所述识别结果获取槽位词表数据,将所述槽位词表数据同步到纠错数据库中;
纠错打分模块,用于根据所述槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;基于所述纠错数据库和所述调整后的阈值对所述槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
线性加权计算模块,用于对不同纠错阶段的召回分数进行加权处理,得到计算结果;确定所述计算结果中分值最大的词组作为纠错结果,基于所述纠错结果进行召回。
第三方面,本申请实施例提供一种终端,包括存储器,收发机,处理器;
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
获取用户文本,将所述用户文本输入多任务语义理解模型,得到识别结果;
根据所述识别结果获取槽位词表数据,将所述槽位词表数据同步到纠错数据库中;
根据所述槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;
基于所述纠错数据库和所述调整后的阈值对所述槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
对不同纠错阶段的召回分数进行加权处理,得到计算结果;
确定所述计算结果中分值最大的词组作为纠错结果,基于所述纠错结果进行召回。
第四方面,本申请实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述的面向任务式对话系统的纠错方法的步骤。
第六方面,本申请实施例提供一种处理器可读存储介质,处理器可读存储介质存储有计算机程序,计算机程序用于使处理器执行实现第一方面所述的面向任务式对话系统的纠错方法的步骤。
本申请实施例提供的一种面向任务式对话系统的纠错方法、装置、设备及介质,通过提前将对应的槽位及领域加载到内存模型中,当数据进行编辑距离判断时,已经固定了领域及槽位,此时再进行实体匹配+编辑距离的召回能够显著提高纠错的召回率和匹配度。通过构建基于ES搜索+编辑距离的召回方案,应用ES模糊搜索+BKTree编辑距离的方式,不但提升了召回速度,且能够在纠错实体是英文的前提下提升纠错效果。在任务式对话的前提下,丰富了对召回候选集的打分规则,应用了混淆音笛卡尔积、ES模糊搜索、BKTree编辑距离的加权评分,并对识别出不同长度的实体,设置混淆音笛卡尔积阈值,进行拼音模型的匹配,能够提升有限错误中的召回精度和准确度。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的总体模块规划图;
图2是本申请实施例提供的面向任务式对话系统的纠错方法的流程示意图之一;
图3是本申请实施例提供的面向任务式对话系统的纠错方法的流程示意图之二;
图4是本申请实施例提供的实体纠错方法的流程示意图;
图5是本申请实施例提供的面向任务式对话系统的纠错装置的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
1.现有技术中,ASR识别后出现的错字问题,在领域识别、意图识别及槽位识别三个子任务后,并没有对识别出的实体进行槽位相关性的判别。
2.现有技术中欠缺前置纠错机制。举例来说,“卧想听雇佣者”,该数据属于因错字造成的混淆句式,该句式用传统的模型匹配和深度模型都不能达到很好的效果,而这种句式因为ASR问题而大量存在于各种领域,大部分识别为了闲聊技能,少部分识别为听书或音乐后也命中了错误的实体。
3.现有技术中存在打分和召回机制单一,仅依靠混淆音进行纠错文本的召回会出现大范围候选集,无法精确捕捉用户意图和想法。
本发明基于上述缺陷,创新提出了一种面向任务式对话系统的纠错方法、装置、设备及介质。本发明通过对实体的纠错,能够辅助意图的识别,这种形式的关联增强,能够更加提升和优化召回率。通过混淆度模型、拼音混淆模型、ES检索匹配分数、编辑距离匹配,将规则识别前及识别后的实体进行纠错召回,最终达到提升NLP模型命中率的效果。针对一些较为模糊的用户数据,假设模型识别错误,可以根据一些人为总结的先验知识(先验知识为根据经验积累总结的知识),构建多N-gram模型,对文本进行纠错,以提高语义理解模型的识别准确率。
本发明提出了一种面向任务式对话系统的纠错方法、装置、设备及介质。通过在领域识别前添加混淆度模型、在槽位识别后进行槽位和实体关联度判别,在精确了实体范围后进行模糊检索、BKTree编辑距离判断和混淆拼音的加权模型过滤,成功解决了上游任务中用户习惯性输入造成的语句或实体混淆的问题,以及ASR识别有误的问题。如图1所示,本发明主要分为两大模块,其中模块划分如下图1,进一步的实体纠错流程图如下图2,首先将用户文本多任务语义理解模型,得到领域、意图及槽位的识别结果。随后通过识别槽位和实体输入纠错线性打分模型,根据纠错规则得到备选的纠错候选集,最后比较原文中的识别结果和备选结果,通过综合打分对候选集进行排序,即对识别结果进行纠正,否则直接返回最开始的识别结果。下面进行具体说明。
图3为本申请实施例提供的面向任务式对话系统的纠错方法的流程示意图之一。参照图3,本申请实施例提供一种面向任务式对话系统的纠错方法,可以包括:
S310:获取用户文本,将用户文本输入多任务语义理解模型,得到识别结果。
在一个实施例中,获取用户文本,将用户文本输入多任务语义理解模型,具体包括:将用户语音转换为语句,基于混淆度分析模型对语句进行混淆度纠错,将进行混淆度纠错后的语句作为用户文本;将用户文本输入至多任务语义理解模型。
在一个实施例中,混淆度分析模型包括混淆模型和困惑度模型;混淆模型和困惑度模型为根据训练语料训练好的模型;混淆模型为多种N-gram模型。
在一个实施例中,基于混淆度分析模型对语句进行混淆度纠错,将进行混淆度纠错后的语句作为用户文本,具体包括:基于混淆模型进行语音转换得到最大概率的语句;通过困惑度模型得出语句的困惑度;当困惑度高于第四预设阈值时,将语句的非关键槽位进行替换;对进行非关键槽位后替换后的语句再次进行困惑度判断,确定将困惑度最低的语句作为用户文本。
具体地,针对目前主流ASR模型的局限性,不能进行语句通顺性、连贯性及语法错误识别的问题,本发明提出了在NLP解析前引入混淆度纠错模型的纠错方案。本发明中提及的混淆度纠错模型使用KenLM方案构建,基于N-gram原理,通过N-1阶马尔可夫性假设进行概率分布的判定。
困惑度的模型概念为
即给定所有的历史信息来预测当前词的概率等价于给定前N-1个词来预测当前词的概率,例如:我要去奶奶家,在用2-gram来计算困惑度的时候,通过训练后的混淆度纠错模型,从“要”字开始,在“我”字的前提下,“要”字出现的概率,经过整句话的加权得到具体数值,为句子的困惑度。
通过自然语言能否识别,进行混淆句式的判断及收集。训练语料包含识别用户输入语料(训练打分为1)+混淆语料(训练打分为-1),通过2-gram、3-gram预测方式进行模型训练。
用N-gram模式计算两句话,当用户输入为“少先队员因该扶老奶奶过街”时,用困惑度模型计算出的困惑度较高或高于一定阈值,检测非关键槽位并将非关键槽位“因该”替换成“应该”、“应改”放入2-gram、3-gram模型中,再次通过困惑度判断“应该”为符合度最高的值,对应困惑度最低的语句。因此将“应该”替换后继续进行下发。
将替换后的语句作为用户文本通过多任务联合语义理解模型进行领域、意图和槽位的识别,获得识别结果。
纠错模块主要基于现有知识库创新提出了线性加权模型进行纠错,对多任务联合语义理解模型的识别结果进行校验纠正。深度或规则命中实体后,判断槽位和实体在数据库中是否存在,如果在数据库中不存在,则进入实体纠错算法模块。如图4所示为算法实现的具体步骤。
S320:根据识别结果获取槽位词表数据,将槽位词表数据同步到纠错数据库中。
在一个实施例中,纠错基础数据库包括弹性搜索(ElasticSearch,ES)纠错数据库、BKTree文本库和拼音模型库;
具体地,通过数据管理平台实现分领域、分槽位的媒资的定时、定量的同步,将槽位词表数据同步到三个纠错基础数据库中,分别为ES纠错数据库(用于模糊搜索)、BKTree文本库(用于编辑距离计算)和拼音模型库(用于快速匹配)。
S330:根据槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值。
在一个实施例中,在根据槽位词表数据的字数对阈值进行动态调整之后,对字数小于第一预设阈值的实体进行阈值放大;对字数大于第一预设阈值小于第二预设阈值的实体进行阈值缩减预设范围;对字数大于等于第二预设阈值的实体进行全量拼音匹配。
具体地,为了提升算法速度,对字数小于三的实体进行阈值放大(可匹配的拼音数组增多),在召回计算需求短的情况下,提升召回量;对字数大于三小于五的实体进行阈值缩减0.75~1,在一定领域降低匹配量,有效提升匹配速度;对字数大于等于5的实体进行全量拼音匹配,在字数多时,降低模糊音的匹配性,提高编辑距离的可信任度。
S340:基于纠错数据库和调整后的阈值对槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数。
在一个实施例中,基于纠错数据库和调整后的阈值对槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数,具体包括:对槽位词表数据中具有预设概率出错的混淆音进行笛卡尔积计算,得到匹配的混淆音序列,基于拼音模型库和调整后的阈值,根据混淆音序列得到候选项;根据候选项计算编辑距离,得到第一召回分数;若槽位词表数据为中文,则基于弹性搜索ES纠错数据库和调整后的阈值进行搜索召回,得到召回选项,基于召回选项计算得到第二召回分数;若槽位词表数据为英文,则基于BKTree文本库和调整后的阈值进行检索,基于检索结果计算得到第三召回分数。
具体地,按照线上数据错误类型划分为混淆音和模糊匹配,进行线性加权模型召回。
1.混淆音错误处理:在拼音匹配中进行混淆音的替换,对可能出错的混淆音进行笛卡尔积计算得出可能匹配的混淆音序列,在拼音模型中依据该序列匹配出候选项,通过匹配结果计算编辑距离,得出召回分数。
例如,ASR识别或用户输入“郭永哲”在转换为拼音后变成’guo yong zhe’,模型库中对三个字的混淆度拼音模型按阈值(guo->gu 0.75gun 1gui 0.6)进行模糊检索,形成[‘guo yong zhe’,‘gu yun zhe’]...等进行搜索,如果拼音完全匹配则召回候选集分数为1;如果未完全匹配则计算编辑距离,得分为编辑距离/字符长度,如编辑距离过大则丢弃。
2.判断中英文:如果实体是中文,则进行ES搜索召回前十条,得到score,计算编辑距离并按得分排序放入候选集;如果实体是英文,则进行BKTree的检索,对不同长度英文按得分放入候选集中,得分为编辑距离的倒数。
S350:对不同纠错阶段的召回分数进行加权处理,得到计算结果;确定计算结果中分值最大的词组作为纠错结果,基于纠错结果进行召回。
具体地,通过对候选集数组的线性加权模型计算,输入混淆音分数、ES匹配分数、BKTree,[w1*拼音候选集*拼音模型阈值,w2*ES候选集score*编辑距离的倒数],对数组进行排序,取排名第一的输出作为纠错的结果进行召回。
在经过上述召回的设计后,总体语音识别的精确率为90%以上。
基于上述说明,本发明中通过引入领域限制向量及知识纠错(知识库知识及人工总结的纠错规则知识),提升了任务式语义理解能力的识别准确率。以下为关键保护点:
1)加权使用先验知识+模糊拼音模型+ES召回+编辑距离进行纠错系统的设计。
2)使用多种N-gram模型进行非关键槽位的替换与重组。
3)面向任务式对话系统,在已知槽位和领域的情况下进行高效,加速纠错。
与现有技术相比,本发明具有以下优点:
本发明中的纠错是面向任务式对话的,会提前将对应的槽位及领域加载到内存模型中。当数据进行编辑距离判断时,已经固定了领域及槽位,此时再进行实体匹配+编辑距离的召回能够显著提高纠错的召回率和匹配度。
现有技术中应用音素词得到候选结果,但是现实情况是在实体纠错的过程中往往存在着音素错误+字符长度错误的问题,举例用户输入“我想听可可西里牧羊人”中,对应实体“可可西里牧羊人”实际应为“可可西里的牧羊人”,对于该种错误现有技术的音素方法不能很好的解决对应问题。在本发明中构建了基于ES搜索+编辑距离的召回方案,对于上例能够在批量召回的前提下,通过编辑距离+匹配度得分来解决。应用ES模糊搜索+BKTree编辑距离的方式,不但提升了召回速度,且能够在纠错实体是英文的前提下提升纠错效果。
在任务式对话的前提下,丰富了对召回候选集的打分规则,应用了混淆音笛卡尔积、ES模糊搜索、BKTree编辑距离的加权评分,并对识别出不同长度的实体,设置混淆音笛卡尔积阈值,进行拼音模型的匹配,能够提升有限错误中的召回精度和准确度。
下面对本申请实施例提供的一种面向任务式对话系统的纠错装置进行描述,下文描述的一种面向任务式对话系统的纠错装置与上文描述的一种面向任务式对话系统的纠错方法可相互对应参照。
多任务语义理解模块,用于获取用户文本,将用户文本输入多任务语义理解模型,得到识别结果;
数据同步模块,用于根据识别结果获取槽位词表数据,将槽位词表数据同步到纠错数据库中;
纠错打分模块,用于根据槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;基于纠错数据库和调整后的阈值对槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
线性加权计算模块,用于对不同纠错阶段的召回分数进行加权处理,得到计算结果;确定计算结果中分值最大的词组作为纠错结果,基于纠错结果进行召回。
在一种实施例中,纠错打分模块还用于对字数小于第一预设阈值的实体进行阈值放大;对字数大于第一预设阈值小于第二预设阈值的实体进行阈值缩减预设范围;对字数大于等于第二预设阈值的实体进行全量拼音匹配。
在一个实施例中,纠错基础数据库包括ES纠错数据库、BKTree文本库和拼音模型库;纠错打分模块还包括第一召回分数计算单元,第二召回分数计算单元以及第三召回分数计算单元;第一召回分数计算单元用于对槽位词表数据中具有预设概率出错的混淆音进行笛卡尔积计算,得到匹配的混淆音序列,基于拼音模型库和调整后的阈值,根据混淆音序列得到候选项,根据候选项计算编辑距离,得到第一召回分数;第二召回分数计算单元用于若槽位词表数据为中文,则基于弹性搜索ES纠错数据库和调整后的阈值进行搜索召回,得到召回选项,基于召回选项计算得到第二召回分数;第三召回分数计算单元用于若槽位词表数据为英文,则基于BKTree文本库和调整后的阈值进行检索,基于检索结果计算得到第三召回分数。
在一个实施例中,多任务语义理解模块包括混淆度分析单元,混淆度分析单元用于将用户语音转换为语句,基于混淆度分析模型对语句进行混淆度纠错,将进行混淆度纠错后的语句作为用户文本;将用户文本输入至多任务语义理解模型。
在一个实施例中,混淆度分析单元具体用于基于混淆模型进行语音转换得到最大概率的语句;通过困惑度模型得出语句的困惑度;当困惑度高于第四预设阈值时,将语句的非关键槽位进行替换;对进行非关键槽位后替换后的语句再次进行困惑度判断,确定将困惑度最低的语句作为用户文本。
本申请实施例涉及的终端,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备等。在不同的系统中,终端设备的名称可能也不相同,例如在5G系统中,终端设备可以称为用户设备(UserEquipment,UE)。
图5为根据本申请实施例的终端的结构示意图,参照图5,本申请实施例还提供一种终端,可以包括:存储器510,收发机520以及处理器530;
存储器510用于存储计算机程序;收发机520,用于在处理器530的控制下收发数据;处理器530,用于读取存储器510中的计算机程序并执行以下操作:
获取用户文本,将用户文本输入多任务语义理解模型,得到识别结果;
根据识别结果获取槽位词表数据,将槽位词表数据同步到纠错数据库中;
根据槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;
基于纠错数据库和调整后的阈值对槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
对不同纠错阶段的召回分数进行加权处理,得到计算结果;
确定计算结果中分值最大的词组作为纠错结果,基于纠错结果进行召回。
其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器530代表的一个或多个处理器和存储器510代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机520可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口540还可以是能够外接内接需要设备的接口。
处理器530负责管理总线架构和通常的处理,存储器510可以存储处理器530在执行操作时所使用的数据。
处理器530通过调用存储器510存储的计算机程序,用于按照获得的可执行指令执行本申请实施例提供的任一方法。处理器与存储器也可以物理上分开布置。
可选地,处理器530还用于执行以下操作:
在一个实施例中,在根据槽位词表数据的字数对阈值进行动态调整之后,方法还包括:对字数小于第一预设阈值的实体进行阈值放大;对字数大于第一预设阈值小于第二预设阈值的实体进行阈值缩减预设范围;对字数大于等于第二预设阈值的实体进行全量拼音匹配。
在一个实施例中,纠错基础数据库包括ES纠错数据库、BKTree文本库和拼音模型库;基于纠错数据库和调整后的阈值对槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数,具体包括:对槽位词表数据中具有预设概率出错的混淆音进行笛卡尔积计算,得到匹配的混淆音序列,基于拼音模型库和调整后的阈值,根据混淆音序列得到候选项;根据候选项计算编辑距离,得到第一召回分数;若槽位词表数据为中文,则基于弹性搜索ES纠错数据库和调整后的阈值进行搜索召回,得到召回选项,基于召回选项计算得到第二召回分数;若槽位词表数据为英文,则基于BKTree文本库和调整后的阈值进行检索,基于检索结果计算得到第三召回分数。
在一个实施例中,获取用户文本,将用户文本输入多任务语义理解模型,具体包括:将用户语音转换为语句,基于混淆度分析模型对语句进行混淆度纠错,将进行混淆度纠错后的语句作为用户文本;将用户文本输入至多任务语义理解模型。
在一个实施例中,混淆度分析模型包括混淆模型和困惑度模型;混淆模型和困惑度模型为根据训练语料训练好的模型;混淆模型为多种N-gram模型。
在一个实施例中,基于混淆度分析模型对语句进行混淆度纠错,将进行混淆度纠错后的语句作为用户文本,具体包括:基于混淆模型进行语音转换得到最大概率的语句;通过困惑度模型得出语句的困惑度;当困惑度高于第四预设阈值时,将语句的非关键槽位进行替换;对进行非关键槽位后替换后的语句再次进行困惑度判断,确定将困惑度最低的语句作为用户文本。
在此需要说明的是,本申请实施例提供的终端,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communication Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的计算机程序,以执行面向任务式对话系统的纠错方法的步骤,例如包括:
获取用户文本,将用户文本输入多任务语义理解模型,得到识别结果;
根据识别结果获取槽位词表数据,将槽位词表数据同步到纠错数据库中;
根据槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;
基于纠错数据库和调整后的阈值对槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
对不同纠错阶段的召回分数进行加权处理,得到计算结果;
确定计算结果中分值最大的词组作为纠错结果,基于纠错结果进行召回。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的面向任务式对话系统的纠错方法的步骤,例如包括:
获取用户文本,将用户文本输入多任务语义理解模型,得到识别结果;
根据识别结果获取槽位词表数据,将槽位词表数据同步到纠错数据库中;
根据槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;
基于纠错数据库和调整后的阈值对槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
对不同纠错阶段的召回分数进行加权处理,得到计算结果;
确定计算结果中分值最大的词组作为纠错结果,基于纠错结果进行召回。
另一方面,本申请实施例还提供一种处理器可读存储介质,处理器可读存储介质存储有计算机程序,计算机程序用于使处理器执行上述各实施例提供的方法的步骤,例如包括:
获取用户文本,将用户文本输入多任务语义理解模型,得到识别结果;
根据识别结果获取槽位词表数据,将槽位词表数据同步到纠错数据库中;
根据槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;
基于纠错数据库和调整后的阈值对槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
对不同纠错阶段的召回分数进行加权处理,得到计算结果;
确定计算结果中分值最大的词组作为纠错结果,基于纠错结果进行召回。
处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种面向任务式对话系统的纠错方法,其特征在于,包括:
获取用户文本,将所述用户文本输入多任务语义理解模型,得到识别结果;
根据所述识别结果获取槽位词表数据,将所述槽位词表数据同步到纠错数据库中;
根据所述槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;
基于所述纠错数据库和所述调整后的阈值对所述槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
对不同纠错阶段的召回分数进行加权处理,得到计算结果;
确定所述计算结果中分值最大的词组作为纠错结果,基于所述纠错结果进行召回。
2.根据权利要求1所述的面向任务式对话系统的纠错方法,其特征在于,在根据所述槽位词表数据的字数对阈值进行动态调整之后,所述方法还包括:
对字数小于第一预设阈值的实体进行阈值放大;
对字数大于第一预设阈值小于第二预设阈值的实体进行阈值缩减预设范围;
对字数大于等于第二预设阈值的实体进行全量拼音匹配。
3.根据权利要求1所述的面向任务式对话系统的纠错方法,其特征在于,所述纠错基础数据库包括ES纠错数据库、BKTree文本库和拼音模型库;
所述基于所述纠错数据库和所述调整后的阈值对所述槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数,具体包括:
对所述槽位词表数据中具有预设概率出错的混淆音进行笛卡尔积计算,得到匹配的混淆音序列,基于所述拼音模型库和调整后的阈值,根据所述混淆音序列得到候选项;根据所述候选项计算编辑距离,得到第一召回分数;
若所述槽位词表数据为中文,则基于弹性搜索ES纠错数据库和调整后的阈值进行搜索召回,得到召回选项,基于召回选项计算得到第二召回分数;
若所述槽位词表数据为英文,则基于BKTree文本库和调整后的阈值进行检索,基于检索结果计算得到第三召回分数。
4.根据权利要求1所述的面向任务式对话系统的纠错方法,其特征在于,所述获取用户文本,将所述用户文本输入多任务语义理解模型,具体包括:
将用户语音转换为语句,基于混淆度分析模型对所述语句进行混淆度纠错,将进行混淆度纠错后的语句作为用户文本;
将所述用户文本输入至多任务语义理解模型。
5.根据权利要求4所述的面向任务式对话系统的纠错方法,其特征在于,所述混淆度分析模型包括混淆模型和困惑度模型;
所述混淆模型和所述困惑度模型为根据训练语料训练好的模型;
所述混淆模型为多种N-gram模型。
6.根据权利要求5所述的面向任务式对话系统的纠错方法,其特征在于,所述基于混淆度分析模型对所述语句进行混淆度纠错,将进行混淆度纠错后的语句作为用户文本,具体包括:
基于所述混淆模型进行语音转换得到最大概率的语句;
通过困惑度模型得出所述语句的困惑度;
当所述困惑度高于第四预设阈值时,将语句的非关键槽位进行替换;
对进行非关键槽位后替换后的语句再次进行困惑度判断,确定将困惑度最低的语句作为用户文本。
7.一种面向任务式对话系统的纠错装置,其特征在于,包括:
多任务语义理解模块,用于获取用户文本,将所述用户文本输入多任务语义理解模型,得到识别结果;
数据同步模块,用于根据所述识别结果获取槽位词表数据,将所述槽位词表数据同步到纠错数据库中;
纠错打分模块,用于根据所述槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;基于所述纠错数据库和所述调整后的阈值对所述槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
线性加权计算模块,用于对不同纠错阶段的召回分数进行加权处理,得到计算结果;确定所述计算结果中分值最大的词组作为纠错结果,基于所述纠错结果进行召回。
8.一种终端,其特征在于,包括存储器,收发机,处理器;
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
获取用户文本,将所述用户文本输入多任务语义理解模型,得到识别结果;
根据所述识别结果获取槽位词表数据,将所述槽位词表数据同步到纠错数据库中;
根据所述槽位词表数据的字数对阈值进行动态调整,得到调整后的阈值;
基于所述纠错数据库和所述调整后的阈值对所述槽位词表数据中的数据进行实体纠错,确定不同纠错阶段的召回分数;
对不同纠错阶段的召回分数进行加权处理,得到计算结果;
确定所述计算结果中分值最大的词组作为纠错结果,基于所述纠错结果进行召回。
9.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的面向任务式对话系统的纠错方法的步骤。
10.一种处理器可读存储介质,处理器可读存储介质存储有计算机程序,其特征在于,计算机程序用于使处理器执行如权利要求1至6任一项所述的面向任务式对话系统的纠错方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310948251.1A CN116956881A (zh) | 2023-07-28 | 2023-07-28 | 一种面向任务式对话系统的纠错方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310948251.1A CN116956881A (zh) | 2023-07-28 | 2023-07-28 | 一种面向任务式对话系统的纠错方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116956881A true CN116956881A (zh) | 2023-10-27 |
Family
ID=88458094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310948251.1A Pending CN116956881A (zh) | 2023-07-28 | 2023-07-28 | 一种面向任务式对话系统的纠错方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116956881A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117150023A (zh) * | 2023-10-27 | 2023-12-01 | 南京邮电大学 | 一种面向智能对话系统的对话状态追踪方法 |
-
2023
- 2023-07-28 CN CN202310948251.1A patent/CN116956881A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117150023A (zh) * | 2023-10-27 | 2023-12-01 | 南京邮电大学 | 一种面向智能对话系统的对话状态追踪方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304372B (zh) | 实体提取方法和装置、计算机设备和存储介质 | |
CN109918680B (zh) | 实体识别方法、装置及计算机设备 | |
US9911413B1 (en) | Neural latent variable model for spoken language understanding | |
US6839667B2 (en) | Method of speech recognition by presenting N-best word candidates | |
CN101326572B (zh) | 具有巨大词汇量的语音识别系统 | |
Chelba et al. | Retrieval and browsing of spoken content | |
US6067520A (en) | System and method of recognizing continuous mandarin speech utilizing chinese hidden markou models | |
CN111341305B (zh) | 一种音频数据标注方法、装置及系统 | |
CN109637537B (zh) | 一种自动获取标注数据优化自定义唤醒模型的方法 | |
CN106570180B (zh) | 基于人工智能的语音搜索方法及装置 | |
CN110232923B (zh) | 一种语音控制指令生成方法、装置及电子设备 | |
WO2003010754A1 (fr) | Systeme de recherche a entree vocale | |
CN111209363B (zh) | 语料数据处理方法、装置、服务器和存储介质 | |
CN111489746B (zh) | 一种基于bert的电网调度语音识别语言模型构建方法 | |
CN116956881A (zh) | 一种面向任务式对话系统的纠错方法、装置、设备及介质 | |
CN113343671A (zh) | 一种语音识别后的语句纠错方法、装置、设备及存储介质 | |
CN114550718A (zh) | 热词语音识别方法、装置、设备与计算机可读存储介质 | |
CN112216284A (zh) | 训练数据更新方法及系统、语音识别方法及系统、设备 | |
CN117149984A (zh) | 一种基于大模型思维链的定制化培训方法及装置 | |
CN111508497B (zh) | 语音识别方法、装置、电子设备及存储介质 | |
CN114783424A (zh) | 文本语料筛选方法、装置、设备及存储介质 | |
CN113535925A (zh) | 语音播报方法、装置、设备及存储介质 | |
Hori et al. | Deriving disambiguous queries in a spoken interactive ODQA system | |
CN110750967A (zh) | 一种发音的标注方法、装置、计算机设备和存储介质 | |
CN113536776B (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 |