CN111859948A - 语言识别、语言模型训练、字符预测方法及装置 - Google Patents

语言识别、语言模型训练、字符预测方法及装置 Download PDF

Info

Publication number
CN111859948A
CN111859948A CN201910350674.7A CN201910350674A CN111859948A CN 111859948 A CN111859948 A CN 111859948A CN 201910350674 A CN201910350674 A CN 201910350674A CN 111859948 A CN111859948 A CN 111859948A
Authority
CN
China
Prior art keywords
sample
character string
character
word vector
language
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.)
Granted
Application number
CN201910350674.7A
Other languages
English (en)
Other versions
CN111859948B (zh
Inventor
龚彩霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201910350674.7A priority Critical patent/CN111859948B/zh
Priority claimed from CN201910350674.7A external-priority patent/CN111859948B/zh
Publication of CN111859948A publication Critical patent/CN111859948A/zh
Application granted granted Critical
Publication of CN111859948B publication Critical patent/CN111859948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/005Language recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本申请实施例提供了一种语言识别、语言模型训练、字符预测方法及装置,其中,语言识别方法包括:获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型;基于训练的所述语言模型,获取待识别语言的语言识别结果。本申请实施例能够兼顾语言识别功能的上线更新速度和识别准确率。

Description

语言识别、语言模型训练、字符预测方法及装置
技术领域
本申请涉及语言处理技术领域,具体而言,涉及一种语言识别、语言模型训练、字符预测方法及装置。
背景技术
近年来,随着语音产品的不断推广,语音输入作为一种重要的人机交互手段,被越来越多的人们所接受。当用户采用语音输入作为人机交互手段时,计算机设备会对用户所输入的语音进行识别。语音识别一般包括声学识别和语言识别两个部分;其中,声学识别用于将语音转化为音节、音素、拼音等语言信息;语言识别用于对语言信息进行识别,得到语言识别结果。
当前的语言识别方法一般采用机器学习模型来实现,例如神经网络语言模型(Recurrent Neural Network Based Language Model,RNNLM)、汉语语言模型(ChineseLanguage Model,CLM,又称N-Gram)等。
RNNLM在语言识别中的准确率较高,但是RNNLM的训练过程较慢,影响了语言识别功能的上线更新速度;N-Gram模型是大词汇连续语言识别中常用的一种语言模型,其语言识别在使用同等规模的训练数据情况下,训练过程快,可以在比较短的时间学习更多的数据,但识别准确率较低。
在进行语言识别时,如何兼顾语言识别功能的上线更新速度和识别准确率是目前需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种语言识别、语言模型训练、字符预测方法及装置,能够兼顾语言识别功能的上线更新速度和识别准确率。
第一方面,本申请实施例提供一种语言识别方法,包括:
获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型;
基于训练的所述语言模型,获取待识别语言的语言识别结果。
一种可选实施方式中,所述获取多个样本文本,包括:
获取多个原始样本文本;
针对各个所述原始样本文本进行去除标点的操作,获得去除标点后的所述多个样本文本。
一种可选实施方式中,所述对各个样本文本进行切分处理,获取多个字符串组,包括:
针对每个所述切分尺寸,使用与该切分尺寸对应的切分窗口,以一个字符为移动步长,对各个所述样本文本进行切分处理,获取与该切分尺寸对应的字符串组。
一种可选实施方式中,所述对各个样本文本进行切分处理,获取多个字符串组,包括:
针对每个所述切分尺寸,分别对各个所述样本文本进行切分处理,获取与各个所述样本文本分别对应的多个切分字符串;
对所述样本文本分别对应的所述切分字符串进行去重复的处理,并将去重复处理后剩余的切分字符串作为与该切分尺寸对应的样本字符串,并基于与该切分尺寸对应的样本字符串构成与该切分尺寸对应的字符串组。
一种可选实施方式中,各个所述切分尺寸递增,所述切分尺寸为大于一个字符,且小于预设的字符数量阈值的整数;相邻的切分尺寸之间的差值为一个字符。
一种可选实施方式中,针对每个字符串组,获取该字符串组中各个样本字符串在所有样本文本中出现的概率,包括:
针对该字符串组中的任一样本字符串,并针对该样本字符串中的任一字符,将该样本字符串中,位于该任一字符之前的所有字符作为目标字符串,并确定所述目标字符串出现时,该任一字符出现的条件概率;
根据该样本字符串中各个字符对应的条件概率,确定该样本字符串在所有样本文本中出现的概率。
一种可选实施方式中,所述基于所述样本文本以及每个字符串组中各个样本字符串在所有样本文本中出现的概率,训练语言模型,包括:
根据各个所述样本文本中字符出现的先后顺序,构建各个所述样本文本的特征向量序列;每个所述特征向量序列中包括与各个字符分别对应的字向量;
针对每个特征向量序列,按照该特征向量序列中各个字向量的顺序,遍历该特征向量序列中的各个字向量,执行:
将遍历到的字向量输入至所述基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果;
根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数;其中,所述遍历到的字向量对应的样本字符串包括:在所述遍历到的字向量之前且与遍历到的字向量距离最近的N个字向量对应的字符、所述遍历到的字向量对应的字符、以及由所有所述样本文本中的字符构成的字典中的任一字符;其中,N+2小于或者等于所述切分尺寸的最大值;
遍历下一字向量,并返回将遍历到的字向量输入至所述基础识别模型中,获取与遍历到的字向量对应的语言预测结果的步骤;
直至完成各个特征向量序列的遍历,完成对所述基础识别模型的本轮训练;
经过对所述基础识别模型的多轮训练,得到所述语言模型。
一种可选实施方式中,所述将所述遍历到的字向量输入至所述基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果,包括:
针对所述遍历到的字向量为各个特征向量序列中首个字向量的情况,将所述遍历到的字向量输入至第一神经网络中,获取与所述遍历到的字向量对应的中间特征向量;
针对所述遍历到的字向量并非各个所述特征向量序列中首个字向量的情况,将所述遍历到的字向量,以及所述遍历到的字向量的前一字向量对应的中间特征向量,输入至所述第一神经网络中,获取所述遍历到的字向量对应的中间特征向量;
将所述遍历到的字向量对应的中间特征向量输入至分类器中,获取与所述遍历到的字向量对应的语言预测结果。
一种可选实施方式中,所述语言预测结果包括:所述字典中的各个字符出现在当前输入的字向量对应的字符之后的概率;
所述根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数,包括:
根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,确定所述遍历到的字向量对应的交叉熵损失;
根据所述交叉熵损失,调整所述基础识别模型的参数。
第二方面,本申请实施例提供一种语言模型训练方法,包括:获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型。
第三方面,本申请实施例提供一种字符预测方法,包括:
获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
针对每个字符串组,获取该字符串组中各个样本字符串在所有样本文本中出现的概率;
基于所述样本文本以及每个字符串组中各个样本字符串在所有样本文本中出现的概率,训练字符检测模型;
基于训练的所述字符检测模型,获取待识别语言的字符检测结果。
第四方面,本申请实施例提供一种语言识别装置,包括:
第一获取模块,用于获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
第一处理模块,用于针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
第一训练模块,用于基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型;
语言识别模块,用于基于训练的所述语言模型,获取待识别语言的语言识别结果。
一种可选实施方式中,所述第一获取模块,用于采用下述方式获取多个样本文本:
获取多个原始样本文本;
针对各个所述原始样本文本进行去除标点的操作,获得去除标点后的所述多个样本文本。
一种可选实施方式中,所述第一获取模块,用于采用下述方式对各个样本文本进行切分处理,获取多个字符串组:
针对每个所述切分尺寸,使用与该切分尺寸对应的切分窗口,以一个字符为移动步长,对各个所述样本文本进行切分处理,获取与该切分尺寸对应的字符串组。
一种可选实施方式中,所述第一获取模块,用于采用下述方式对各个样本文本进行切分处理,获取多个字符串组:
针对每个所述切分尺寸,分别对各个所述样本文本进行切分处理,获取与各个所述样本文本分别对应的多个切分字符串;
对所述样本文本分别对应的所述切分字符串进行去重复的处理,并将去重复处理后剩余的切分字符串作为与该切分尺寸对应的样本字符串,并基于与该切分尺寸对应的样本字符串构成与该切分尺寸对应的字符串组。
一种可选实施方式中,各个所述切分尺寸递增,所述切分尺寸为大于一个字符,且小于预设的字符数量阈值的整数;相邻的切分尺寸之间的差值为一个字符。
一种可选实施方式中,所述第一处理模块,用于采用下述方式针对每个字符串组,获取该字符串组中各个样本字符串在所有样本文本中出现的概率:
针对该字符串组中的任一样本字符串,并针对该样本字符串中的任一字符,将该样本字符串中,位于该任一字符之前的所有字符作为目标字符串,并确定所述目标字符串出现时,该任一字符出现的条件概率;
根据该样本字符串中各个字符对应的条件概率,确定该样本字符串在所有样本文本中出现的概率。
一种可选实施方式中,所述第一训练模块,用于采用下述方式基于所述样本文本以及每个字符串组中各个样本字符串在所有样本文本中出现的概率,训练语言模型:
根据各个所述样本文本中字符出现的先后顺序,构建各个所述样本文本的特征向量序列;每个所述特征向量序列中包括与各个字符分别对应的字向量;
针对每个特征向量序列,按照该特征向量序列中各个字向量的顺序,遍历该特征向量序列中的各个字向量,执行:
将遍历到的字向量输入至所述基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果;
根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数;其中,所述遍历到的字向量对应的样本字符串包括:在所述遍历到的字向量之前且与遍历到的字向量距离最近的N个字向量对应的字符、所述遍历到的字向量对应的字符、以及由所有所述样本文本中的字符构成的字典中的任一字符;其中,N+2小于或者等于所述切分尺寸的最大值;
遍历下一字向量,并返回将遍历到的字向量输入至所述基础识别模型中,获取与遍历到的字向量对应的语言预测结果的步骤;
直至完成各个特征向量序列的遍历,完成对所述基础识别模型的本轮训练;
经过对所述基础识别模型的多轮训练,得到所述语言模型。
一种可选实施方式中,所述第一训练模块,用于采用下述方式将所述遍历到的字向量输入至所述基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果:
针对所述遍历到的字向量为各个特征向量序列中首个字向量的情况,将所述遍历到的字向量输入至第一神经网络中,获取与所述遍历到的字向量对应的中间特征向量;
针对所述遍历到的字向量并非各个所述特征向量序列中首个字向量的情况,将所述遍历到的字向量,以及所述遍历到的字向量的前一字向量对应的中间特征向量,输入至所述第一神经网络中,获取所述遍历到的字向量对应的中间特征向量;
将所述遍历到的字向量对应的中间特征向量输入至分类器中,获取与所述遍历到的字向量对应的语言预测结果。
一种可选实施方式中,所述语言预测结果包括:所述字典中的各个字符出现在当前输入的字向量对应的字符之后的概率;
所述第一训练模块,用于采用下述方式根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数:
根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,确定所述遍历到的字向量对应的交叉熵损失;
根据所述交叉熵损失,调整所述基础识别模型的参数。
第五方面,本申请实施例还提供一种语言模型训练装置,包括:
第二获取模块,用于获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
第二处理模块,用于针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
第二训练模块,用于基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型。
第六方面,本申请实施例还提供一种字符预测装置,包括:
第三获取模块,用于获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
第三处理模块,用于针对每个字符串组,获取该字符串组中各个样本字符串在所有样本文本中出现的概率;
第三训练模块,用于基于所述样本文本以及每个字符串组中各个样本字符串在所有样本文本中出现的概率,训练字符检测模型;
字符检测模块,用于基于训练的所述字符检测模型,获取待识别语言的字符检测结果。
第七方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或执行上述第二方面、或执行上述第三方面中任一实施方式中的步骤。
第八方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤,或执行上述第二方面、或执行上述第三方面中任一实施方式中的步骤。
本申请实施例通过将样本文本按照多个切分尺寸进行切分处理,获取与每个切分尺寸分别对应的多个字符串组,针对每个字符串组,获取该字符串组中没个样本字符串在所有样本文本中出现的概率,并基于样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型,然后基于训练的语言模型,获取待识别语言的语言识别结果。在该过程中,由于基于样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型,也即,将每个字符串组中每个样本字符串在所有样本文本中出现的概率,作为训练的目标值,使得模型的参数能够更快地向所有训练样本的目标值靠近,加快语言模型的训练速度,以提升语言模型的上线更新速度,进而在保证了语言模型精度的基础上,提升了其训练速度,进而能够兼顾语言识别功能的上线更新速度和识别准确率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种语言识别方法的流程图;
图2示出了本申请实施例提供的语言识别方法中,训练语言模型的具体方法的流程图;
图3示出了本申请实施例提供的语言识别方法中,获取与遍历到的字向量对应的语言预测结果的具体方法的流程图;
图4示出了本申请实施例提供的一种语言模型训练方法的流程图;
图5示出了本申请实施例提供的一种字符预测方法的流程图;
图6示出了本申请实施例提供的一种语言识别装置的结构示意图;
图7示出了本申请实施例提供的一种语言模型训练装置的结构示意图;
图8示出了本申请实施例提供的一种字符预测装置的结构示意图;
图9示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“语言识别”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕语言识别进行描述,但是应该理解,这仅是一个示例性实施例。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种语言识别方法进行详细介绍,本申请实施例所提供的语言识别方法的执行主体一般为具有一定计算能力的电子设备,且执行不同步骤的电子设备可以是一台,也可以是多台。下面以执行主体为一台电子设备对本申请实施例提供的语言识别方法加以说明。
实施例一
参见图1所示,为本申请实施例一提供的语言识别方法的流程图,所述方法包括下述步骤S101~S104:其中:
S101:获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
S102:针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
S103:基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型;
S104:基于训练的所述语言模型,获取待识别语言的语言识别结果。
以下分别为对上述S101~S104的说明:
I:在上述S101中,样本文本可以是针对某个领域的文本,也可以是不限制领域的文本。样本文本获取的方式可以从预设的网络平台上爬取,也可以线下收集。
示例性的,若样本文本是针对某个领域的文本,且该领域为对用户输入至网约车客户端的语言进行识别,所获取的样本文本中的内容包括打车常用的用语,例如样本文本中会包括各种地址、时间、车辆类型、网约车客户端能够提供的不同约车服务、用于触发自动报警的危险对话内容等。
具体地,本申请实施例中,获取的原始样本文本通常是有标点符号的。在语言识别过程中要获取与用户输入的语言对应的文字;而一个文本中,每个字符并非是单独存在的,而是具有前后联系的,为了使得语言模型学习到这种字符之间的联系,要针对获取的各个原始样本文本进行去除标点的操作,使得具有标点符号的原始样本文本去除了标点符号后,形成一个只由字符构成的样本文本,并基于样本文本训练语言模型。
在获取样本文本后,需要对样本文本进行切分处理。
具体地,在对样本文本进行切分处理,是按照多个切分尺寸来进行的。切分尺寸的数量和大小均可以根据实际的需要进行设置,例如,多个切分尺寸可以设置为:两个字符、三个字符、四个字符、五个字符、六个字符、七个字符等中任意的多个。
示例性的,各个所述切分尺寸递增,所述切分尺寸为大于一个字符,且小于预设的字符数量阈值的整数;相邻的切分尺寸之间的差值为一个字符。例如,多个切分尺寸分别为:两个字符、三个字符、四个字符。
在按照确定的切分尺寸对样本文本进行切分时,得到的位置相邻的两个字符串之间,可以有位置相同的字符,也可以没有位置相同的字符。
例如,对“ABCDEFGH”进行切分时,切分尺寸为2个字符,当获得的位置相邻的字符串之间有位置相同的字符时,切分结果包括:AB、BC、CD、DE、EF、FG、GH。当获得的位置相邻的字符串之间没有位置相同的字符时,切分结果可以为:AB、CD、EF、GH。
这里,为了尽可能全面的让语言模型学习到字符之间的关联关系,一般在对样本文本进行切分时,针对同一切分尺寸,位置相邻的两个字符串之间具有位置相同的字符,这样能够使得字符之间的关联关系表达的更加全面。
进一步地,针对同一切分尺寸,位置相邻的两个字符串之间位置相同的字符的数量m,满足:m=N-1;其中,N为切分尺寸的大小。
具体地,本申请实施例还提供一种对各个样本文本进行切分处理,获取多个字符串组的具体方式,包括:
针对每个切分尺寸,使用与该切分尺寸对应的切分窗口,以一个字符为移动步长,对各个所述样本文本进行切分处理,获取与该切分尺寸对应的字符串组。
与切分尺寸对应的切分窗口,是指切分窗口能够涵盖的字符的数量,与切分尺寸的大小相等。使用该切分窗口,从每个样本文本的第一个字符开始,按照一个字符的移动步长移动,每移动一次,切分窗口涵盖的字符即构成一个切分字符串,实现对样本文本的切分处理。
这里需要注意的是,在使用与某切分尺寸对应的切分窗口对样本文本进行切分处理的时候,由于可能会出现完全相同的切分字符串,因此不能将各个切分字符串直接作为样本字符串,而是需要对获取的切分字符串进行去重复的处理,并将去重复处理后剩余的切分字符串作为与该切分尺寸对应的样本字符串,并基于与该切分尺寸对应的样本字符串构成与该切分尺寸对应的字符串组。
例如,样本文本包括:“ABCDDDEFGH”,切分尺寸为两个字符,则得到的切分字符串包括:AB、BC、CD、DD、DD、DE、EF、FG、GH,对各个切分字符串进行去重复处理,得到的样本字符串包括:AB、BC、CD、DD、DE、EF、FG、GH。
Ⅱ:在上述S102中,各个字符串组中的各个样本字符串在所有样本文本中出现的概率,可以采用下述方式获得:
针对该字符串组中的任一样本字符串,并针对该样本字符串中的任一字符,将该样本字符串中,位于该任一字符之前的所有字符作为目标字符串,并确定所述目标字符串出现时,该任一字符出现的条件概率;
根据该样本字符串中各个字符对应的条件概率,确定该样本字符串在所有样本文本中出现的概率。
示例性的,样本字符串是由字符序列:W1、W2、……、Wn组成,则针对该样本字符串中的位于第i位的字符Wi,将该样本字符串W1W2……Wn中,位于该字符Wi之前的所有字符作为目标字符串,也即,目标字符串为W1W2……Wi-1;目标字符串出现时,该任一字符出现的条件概率表示为:P(Wi|W1W2……Wi-1)。
则该样本字符串在所有样本文本中出现的概率P(W1W2……Wn)满足:P(W1W2……Wn)=P(W1)×P(W2|W1)×…×P(Wi|W1W2……Wi-1)×…×P(Wn|W1W2……Wn-1)
其中:
(1):当i为1时,由于位于第1位之前不存在其他字符,因此,当i=1时,该Wi的条件概率表示为P(W1),也即W1在所有样本文本中出现的概率。且P(W1)满足公式1:
Figure BDA0002043829820000101
其中,s1为W1在所有样本文本中出现的次数,k1为所有样本文本中字符的总数量。
(2)当i为2时,由于位于第1位之前只有一个其他字符,由该字符单独构成目标字符串,因此,当i=2时,该Wi的条件概率P(W2|W1)满足公式2:
Figure BDA0002043829820000111
其中,P(W1W2)表示字符串W1W2在所有样本文本中出现的概率,且满足公式3:
Figure BDA0002043829820000112
其中,s2为字符序列W1W2在所有样本文本中出现的次数,k2为使用切分尺寸为2个字符的切分窗口对各个样本文本进行切分时,形成的切分字符串总数量。
P(W1)表示目标字符串W1在所有样本文本中出现的概率,具体获取方式与上述公式1相同。
……
(3)Wi的条件概率P(Wi|W1W2……Wi-1)满足公式4:
Figure BDA0002043829820000113
P(W1W2……Wi-1Wi)表示字符串W1W2……Wi在所有样本文本中出现的概率,且满足公式5:
Figure BDA0002043829820000114
其中,si为字符序列W1W2……Wi在所有样本文本中出现的次数,ki为使用切分尺寸为i个字符的切分窗口对各个样本文本进行切分时,形成的切分字符串总数量。
P(W1W2……Wi-1)表示字符串W1W2……Wi-1在所有样本文本中出现的概率,且满足公式6:
Figure BDA0002043829820000115
其中,si-1为目标字符串W1W2……Wi-1在所有样本文本中出现的次数,ki-1为使用切分尺寸为i-1个字符的切分窗口对各个样本文本进行切分时,形成的切分字符串总数量。
……
最终,根据上述过程,得到各个字符串组中,各个样本字符串在所有样本文本中出现的概率。
Ⅲ:在相关技术中,在对语言模型训练过程中,在使用每个训练样本对语言模型进行训练的时候,与该训练样本对应的目标值只与当前训练样本相关。
例如当前训练样本为:“今天是周一”,当前时刻输入至模型的输入为“周”,则对应的当前历史信息为:“今天是周”,在以该训练样本训练模型时,对应的目标值中,只有字符“一”的概率为1,其他的字符对应的概率均为0。如果下一训练样本为:“今天是周二”,当前时刻输入至模型的输入为“周”,则对应的当前历史信息为:“今天是周”,在以该训练样本训练模型时,对应的目标值就会变为:字符“二”的概率为1,其他字符的概率均为0,这就导致在模型参数在训练过程中,在当前训练样本下会向“一”靠近,而在下一训练样本下就会向“二”靠近,进而导致模型需要较长的训练时间才能够调整至合适的参数。
为了解决该问题,本申请实施例中,是基于样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型,也即,将每个字符串组中每个样本字符串在所有样本文本中出现的概率,作为训练的目标值,使得模型的参数能够更快地向所有训练样本的目标值靠近,加快语言模型的训练速度,以提升语言模型的上线更新速度。
具体地,在上述S103中,参见图2所示,本申请实施例还提供一种训练语言模型的具体方法,包括:
S201:根据各个所述样本文本中字符出现的先后顺序,构建各个所述样本文本的特征向量序列;每个所述特征向量序列中包括与各个字符分别对应的字向量。
在具体实施中,在构建特征向量序列的时候,首先要将所有样本文本中的各个字符转化为字向量的表示。此处,可以采用独热one-hot的方式将各个字符转化为字向量。另外,也可以采用word2vec模型来训练样本文本中各个字符的字向量。
在确定了各个字符的字向量后,就能够按照各个样本文本中字符出现的先后顺序,根据各个字符对应的字向量构建各个样本为本的特征向量序列。
此处,需要注意的是,每个样本文本对应的特征向量序列可以是一个,也可以是多个。
示例性的,当每个样本文本对应的特征向量序列有多个的时候,该样本文本的不同的特征向量序列对应该样本文本的不同语句,也即,可以先按照样本文本对应的原始样本文本中的标点符号,例如句号、对原始样本文本进行切分,形成多个样本文本句子,然后针对每个样本文本句子,构建与每个样本文本句子对应的特征向量序列。
这里需要注意的是,当样本文本对应的特征向量序列有多个的时候,由于属于同一样本文本的句子之间也具有一定的联系,因此可以按照句子的顺序,将对应特征向量序列输入至模型中,对模型进行训练,以使模型能够学习到句子和句子之间的联系。
S202:针对每个特征向量序列,按照该特征向量序列中各个字向量的顺序,遍历该特征向量序列中的各个字向量,执行:
S2021:将当前特征向量序列中,遍历到的字向量输入至所述基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果。
参见图3所示,本申请实施例还提供一种将遍历到的字向量输入至基础识别模型中,获取与遍历到的字向量对应的语言预测结果的具体方法,包括:
S301:针对所述遍历到的字向量为各个特征向量序列中首个字向量的情况,将所述遍历到的字向量输入至第一神经网络中,获取与所述遍历到的字向量对应的中间特征向量。
此处,第一神经网络可以采用循环神经网络模型(Recurrent Neural Network,RNN)、长短期记忆网络(Long Short-Term Memory,LSTM)等。第一神经网络包括有隐藏层,该隐藏层所输出的特征向量即为中间特征向量。
S302:针对所述遍历到的字向量并非各个所述特征向量序列中首个字向量的情况,将所述遍历到的字向量,以及所述遍历到的字向量的前一字向量对应的中间特征向量,输入至所述第一神经网络中,获取所述遍历到的字向量对应的中间特征向量。
S303:将所述遍历到的字向量对应的中间特征向量输入至分类器中,获取与所述遍历到的字向量对应的语言预测结果。
此处,所述语言预测结果包括:所述样本文本中的各个字符出现在当前输入的字向量对应的字符之后的概率。
承接上述S2021,还包括:
S2022:根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数。
其中,所述遍历到的字向量对应的样本字符串包括:在所述遍历到的字向量之前且与遍历到的字向量距离最近的N个字向量对应的字符、所述遍历到的字向量对应的字符、以及由所有所述样本文本中的字符构成的字典中的任一字符;其中,N+2小于或者等于所述切分尺寸的最大值。
示例性的,切分尺寸的最大值为4个字符;若特征向量序列包括:字符M1~M10分别对应的字向量;
当遍历到字符M1对应的字向量时,该字向量对应的样本字符串为:M1Xi;
当遍历到字符M2对应的字向量时,该字向量对应的样本字符串为:M1M2Xi;
当遍历到字符M3对应的字向量时,该字向量对应的样本字符串为:M1M2M3Xi;
当遍历到字符M4对应的字向量时,该字向量对应的样本字符串为:M2M3M4Xi;
当遍历到字符M5对应的字向量时,该字向量对应的样本字符串为:M3M4M5Xi;
……
当遍历到字符M10对应的字向量时,该字向量对应的样本字符串为:M8M9M10Xi。
其中,Xi为由所有所述样本文本中的字符构成的字典中的第i个字符;与该字向量对应的样本字符串的数量,与字典中包括的字符的数量相等。
在遍历到某个字向量时,首先确定与该遍历到的字向量对应的样本字符串中,然后确定该样本字符串在所有样本文本中出现的概率。然后根据确定的概率,和遍历到的字向量对应的语言预测结果,调整基础识别模型的参数。
此处,可以采用下述方式调整基础识别模型的参数:根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,确定所述遍历到的字向量对应的交叉熵损失;根据所述交叉熵损失,调整所述基础识别模型的参数。
此处,交叉熵损失满足下述公式:
Figure BDA0002043829820000141
其中,LCE表示当前输入的字向量对应的交叉熵,V表示由所有样本文本中字符构成的字典中字符的数量;ti表示当前输入的字向量的对应的第i个样本字符串(与当前输入的字向量对应的,且包括了字典中的第i个字符的样本字符串)对应的概率,yi表示字典中第i个字符出现在当前输入的字向量对应的字符之后的概率。
承接上述S2022,还包括:
S2023:检测当前特征向量序列中是否存在未遍历的字向量,如果是,则跳转至S2024;如果否,则跳转至S2025;
S2024:遍历下一字向量,并返回S2021;
S2025:检测在当前轮训练中是否存在未完成训练的特征向量序列;如果是,则跳转至S2026;如果否,则跳转至S2027;
S2026:遍历下一特征向量序列,并返回S2021;
S2027:完成对基础识别模型的本轮训练。
此处,训练停止条件可以根据实际需要进行设置,如该训练停止条件可以为:训练的轮数达到预设轮数、交叉熵损失小于预设的交叉熵损失阈值等。对基础识别模型进行多轮训练。
S203:将完成多轮训练的基础识别模型作为语言模型。
Ⅳ:在上述S104中,在获取待识别语言的语言识别结果时,示例性的,可以采用下述过程:
获取待识别语言的语言信息;其中,该语言信息包括:音节、音素、拼音等中一种或者多种;根据输入的待识别语言对应的语言信息,确定与语言信息对应的多个待检测字符,然后根据语言模型对语言信息对应的各个字符进行预测,得到语言检测的结果。例如,当语言信息包括拼音时,可以将发声为该拼音的各个字符均确定为待检测字符;针对当前拼音为待识别语言中第一个字符对应的拼音,根据该拼音对应的各个待检测字符在样本文本中出现的概率,从该拼音对应的各个待检测字符中,确定与当前拼音对应的目标字符。针对当前拼音并非待识别语言中第一个字符对应的拼音,将该拼音之前的各个拼音分别对应的各个字符输入至语言模型中,当前拼音对应的各个待检测字符对应的概率,并根据概率,从当前拼音对应的各个待检测字符中确定与当前拼音对应的目标字符。
本申请实施例通过将样本文本按照多个切分尺寸进行切分处理,获取与每个切分尺寸分别对应的多个字符串组,针对每个字符串组,获取该字符串组中没个样本字符串在所有样本文本中出现的概率,并基于样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型,然后基于训练的语言模型,获取待识别语言的语言识别结果。在该过程中,由于基于样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型,也即,将每个字符串组中每个样本字符串在所有样本文本中出现的概率,作为训练的目标值,使得模型的参数能够更快地向所有训练样本的目标值靠近,加快语言模型的训练速度,以提升语言模型的上线更新速度,进而在保证了语言模型精度的基础上,提升了其训练速度,进而能够兼顾语言识别功能的上线更新速度和识别准确率。
实施例二
基于同一发明构思,参见图4所示,本申请实施例中还提供了一种语言模型训练方法,包括:
S401:获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
S402:针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
S403:基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型。
上述S401~S403的具体实现方式具体参见上述S101~S103,在此不再赘述。
本申请实施例中,由于基于样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型,也即,将每个字符串组中每个样本字符串在所有样本文本中出现的概率,作为训练的目标值,使得模型的参数能够更快地向所有训练样本的目标值靠近,加快语言模型的训练速度,以提升语言模型的上线更新速度,进而在保证了语言模型精度的基础上,提升了其训练速度,进而能够兼顾语言识别功能的上线更新速度和识别准确率。
实施例三
基于同一发明构思,参见图5所示,本申请实施例中还提供了一种字符预测方法,包括:
S501:获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
S502:针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
S503:基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练字符检测模型;
S504:基于训练的所述字符检测模型,获取待检测文本的字符检测结果。
该实施例中的字符检测模型,可以用于语言识别、机器翻译、文本纠错、输入法中的文字预测等领域,其具体的实现方式可以参见上述S101~S104所示,在此不再赘述。
本申请实施例中,由于基于样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练字符预测模型,也即,将每个字符串组中每个样本字符串在所有样本文本中出现的概率,作为训练的目标值,使得模型的参数能够更快地向所有训练样本的目标值靠近,加快字符预测模型的训练速度,进而在保证了语言模型精度的基础上,提升了其训练速度。
基于同一发明构思,本申请实施例中还提供了与语言识别方法对应的语言识别装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述语言识别方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
实施例四
参照图6所示,为本申请实施例四提供的一种语言识别装置的示意图,所述装置包括:第一获取模块61、第一处理模块62、第一训练模块63、以及语言识别模块64;其中:
第一获取模块61,用于获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
第一处理模块62,用于针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
第一训练模块63,用于基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型;
语言识别模块64,用于基于训练的所述语言模型,获取待识别语言的语言识别结果。
由于基于样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型,也即,将每个字符串组中每个样本字符串在所有样本文本中出现的概率,作为训练的目标值,使得模型的参数能够更快地向所有训练样本的目标值靠近,加快语言模型的训练速度,以提升语言模型的上线更新速度,进而在保证了语言模型精度的基础上,提升了其训练速度,进而能够兼顾语言识别功能的上线更新速度和识别准确率。
一种可能的实施方式中,所述第一获取模块61,用于采用下述方式获取多个样本文本:
获取多个原始样本文本;
针对各个所述原始样本文本进行去除标点的操作,获得去除标点后的所述多个样本文本。
一种可能的实施方式中,所述第一获取模块61,用于采用下述方式对各个样本文本进行切分处理,获取多个字符串组:
针对每个所述切分尺寸,使用与该切分尺寸对应的切分窗口,以一个字符为移动步长,对各个所述样本文本进行切分处理,获取与该切分尺寸对应的字符串组。
一种可能的实施方式中,所述第一获取模块61,用于采用下述方式对各个样本文本进行切分处理,获取多个字符串组:
针对每个所述切分尺寸,分别对各个所述样本文本进行切分处理,获取与各个所述样本文本分别对应的多个切分字符串;
对所述样本文本分别对应的所述切分字符串进行去重复的处理,并将去重复处理后剩余的切分字符串作为与该切分尺寸对应的样本字符串,并基于与该切分尺寸对应的样本字符串构成与该切分尺寸对应的字符串组。
一种可能的实施方式中,各个所述切分尺寸递增,所述切分尺寸为大于一个字符,且小于预设的字符数量阈值的整数;相邻的切分尺寸之间的差值为一个字符。
一种可能的实施方式中,所述第一处理模块62,用于采用下述方式针对每个字符串组,获取该字符串组中各个样本字符串在所有样本文本中出现的概率:
针对该字符串组中的任一样本字符串,并针对该样本字符串中的任一字符,将该样本字符串中,位于该任一字符之前的所有字符作为目标字符串,并确定所述目标字符串出现时,该任一字符出现的条件概率;
根据该样本字符串中各个字符对应的条件概率,确定该样本字符串在所有样本文本中出现的概率。
一种可能的实施方式中,所述第一训练模块63,用于采用下述方式基于所述样本文本以及每个字符串组中各个样本字符串在所有样本文本中出现的概率,训练语言模型:
根据各个所述样本文本中字符出现的先后顺序,构建各个所述样本文本的特征向量序列;每个所述特征向量序列中包括与各个字符分别对应的字向量;
针对每个特征向量序列,按照该特征向量序列中各个字向量的顺序,遍历该特征向量序列中的各个字向量,执行:
将遍历到的字向量输入至所述基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果;
根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数;其中,所述遍历到的字向量对应的样本字符串包括:在所述遍历到的字向量之前且与遍历到的字向量距离最近的N个字向量对应的字符、所述遍历到的字向量对应的字符、以及由所有所述样本文本中的字符构成的字典中的任一字符;其中,N+2小于或者等于所述切分尺寸的最大值;
遍历下一字向量,并返回将遍历到的字向量输入至所述基础识别模型中,获取与遍历到的字向量对应的语言预测结果的步骤;
直至完成各个特征向量序列的遍历,完成对所述基础识别模型的本轮训练;
经过对所述基础识别模型的多轮训练,得到所述语言模型。
一种可能的实施方式中,所述第一训练模块63,用于采用下述方式将所述遍历到的字向量输入至所述基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果:
针对所述遍历到的字向量为各个特征向量序列中首个字向量的情况,将所述遍历到的字向量输入至第一神经网络中,获取与所述遍历到的字向量对应的中间特征向量;
针对所述遍历到的字向量并非各个所述特征向量序列中首个字向量的情况,将所述遍历到的字向量,以及所述遍历到的字向量的前一字向量对应的中间特征向量,输入至所述第一神经网络中,获取所述遍历到的字向量对应的中间特征向量;
将所述遍历到的字向量对应的中间特征向量输入至分类器中,获取与所述遍历到的字向量对应的语言预测结果。
一种可能的实施方式中,所述语言预测结果包括:所述字典中的各个字符出现在当前输入的字向量对应的字符之后的概率;
所述第一训练模块63,用于采用下述方式根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数:
根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,确定所述遍历到的字向量对应的交叉熵损失;
根据所述交叉熵损失,调整所述基础识别模型的参数。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
实施例五
参照图7所示,为本申请实施例五提供的一种语言模型训练装置的示意图,所述装置包括:第二获取模块71、第二处理模块72、以及第二训练模块73;其中:
第二获取模块71,用于获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
第二处理模块72,用于针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
第二训练模块73,用于基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型。
本申请实施例中,由于基于样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型,也即,将每个字符串组中每个样本字符串在所有样本文本中出现的概率,作为训练的目标值,使得模型的参数能够更快地向所有训练样本的目标值靠近,加快语言模型的训练速度,以提升语言模型的上线更新速度,进而在保证了语言模型精度的基础上,提升了其训练速度,进而能够兼顾语言识别功能的上线更新速度和识别准确率。
实施例六
参照图8所示,为本申请实施例六提供的一种字符预测装置的示意图,所述装置包括:第三获取模块81、第三处理模块82、第三训练模块83、以及字符检测模块84;其中:
第三获取模块81,用于获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
第三处理模块82,用于针对每个字符串组,获取该字符串组中各个样本字符串在所有样本文本中出现的概率;
第三训练模块83,用于基于所述样本文本以及每个字符串组中各个样本字符串在所有样本文本中出现的概率,训练字符检测模型;
字符检测模块84,用于基于训练的所述字符检测模型,获取待识别语言的字符检测结果。
本申请实施例中,由于基于样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练字符预测模型,也即,将每个字符串组中每个样本字符串在所有样本文本中出现的概率,作为训练的目标值,使得模型的参数能够更快地向所有训练样本的目标值靠近,加快字符预测模型的训练速度,进而在保证了语言模型精度的基础上,提升了其训练速度。
实施例七
本申请实施例还提供了一种计算机设备90,如图9所示,为本申请实施例提供的计算机设备90结构示意图,包括:处理器91、存储器92、和总线93。所述存储器92存储有所述处理器91可执行的机器可读指令,(比如,图6中的装置中第一获取模块61、第一处理模块62、第一训练模块63、以及语言识别模块64对应的执行指令等),当计算机设备90运行时,所述处理器91与所述存储器92之间通过总线93通信,所述机器可读指令被所述处理器91执行时执行如下处理:
获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型;
基于训练的所述语言模型,获取待识别语言的语言识别结果。
一种可能的实施方式中,处理器91执行的指令中,所述获取多个样本文本,包括:
获取多个原始样本文本;
针对各个所述原始样本文本进行去除标点的操作,获得去除标点后的所述多个样本文本。
一种可能的实施方式中,处理器91执行的指令中,所述对各个样本文本进行切分处理,获取多个字符串组,包括:
针对每个所述切分尺寸,使用与该切分尺寸对应的切分窗口,以一个字符为移动步长,对各个所述样本文本进行切分处理,获取与该切分尺寸对应的字符串组。
一种可能的实施方式中,处理器91执行的指令中,所述对各个样本文本进行切分处理,获取多个字符串组,包括:
针对每个所述切分尺寸,分别对各个所述样本文本进行切分处理,获取与各个所述样本文本分别对应的多个切分字符串;
对所述样本文本分别对应的所述切分字符串进行去重复的处理,并将去重复处理后剩余的切分字符串作为与该切分尺寸对应的样本字符串,并基于与该切分尺寸对应的样本字符串构成与该切分尺寸对应的字符串组。
一种可能的实施方式中,处理器91执行的指令中,各个所述切分尺寸递增,所述切分尺寸为大于一个字符,且小于预设的字符数量阈值的整数;相邻的切分尺寸之间的差值为一个字符。
一种可能的实施方式中,处理器91执行的指令中,针对每个字符串组,获取该字符串组中各个样本字符串在所有样本文本中出现的概率,包括:
针对该字符串组中的任一样本字符串,并针对该样本字符串中的任一字符,将该样本字符串中,位于该任一字符之前的所有字符作为目标字符串,并确定所述目标字符串出现时,该任一字符出现的条件概率;
根据该样本字符串中各个字符对应的条件概率,确定该样本字符串在所有样本文本中出现的概率。
一种可能的实施方式中,处理器91执行的指令中,所述基于所述样本文本以及每个字符串组中各个样本字符串在所有样本文本中出现的概率,训练语言模型,包括:
根据各个所述样本文本中字符出现的先后顺序,构建各个所述样本文本的特征向量序列;每个所述特征向量序列中包括与各个字符分别对应的字向量;
针对每个特征向量序列,按照该特征向量序列中各个字向量的顺序,遍历该特征向量序列中的各个字向量,执行:
将遍历到的字向量输入至所述基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果;
根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数;其中,所述遍历到的字向量对应的样本字符串包括:在所述遍历到的字向量之前且与遍历到的字向量距离最近的N个字向量对应的字符、所述遍历到的字向量对应的字符、以及由所有所述样本文本中的字符构成的字典中的任一字符;其中,N+2小于或者等于所述切分尺寸的最大值;
遍历下一字向量,并返回将遍历到的字向量输入至所述基础识别模型中,获取与遍历到的字向量对应的语言预测结果的步骤;
直至完成各个特征向量序列的遍历,完成对所述基础识别模型的本轮训练;
经过对所述基础识别模型的多轮训练,得到所述语言模型。
一种可能的实施方式中,处理器91执行的指令中,所述将所述遍历到的字向量输入至所述基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果,包括:
针对所述遍历到的字向量为各个特征向量序列中首个字向量的情况,将所述遍历到的字向量输入至第一神经网络中,获取与所述遍历到的字向量对应的中间特征向量;
针对所述遍历到的字向量并非各个所述特征向量序列中首个字向量的情况,将所述遍历到的字向量,以及所述遍历到的字向量的前一字向量对应的中间特征向量,输入至所述第一神经网络中,获取所述遍历到的字向量对应的中间特征向量;
将所述遍历到的字向量对应的中间特征向量输入至分类器中,获取与所述遍历到的字向量对应的语言预测结果。
一种可能的实施方式中,处理器91执行的指令中,所述语言预测结果包括:所述字典中的各个字符出现在当前输入的字向量对应的字符之后的概率;
所述根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数,包括:
根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,确定所述遍历到的字向量对应的交叉熵损失;
根据所述交叉熵损失,调整所述基础识别模型的参数。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述语言识别方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述语言识别方法,从而解决现有技术中存在的如何兼顾语言识别功能的上线更新速度和识别准确率是目前需要解决的问题的问题,进而达到能够兼顾语言识别功能的上线更新速度和识别准确率的效果。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种语言识别方法,其特征在于,包括:
获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型;
基于训练的所述语言模型,获取待识别语言的语言识别结果。
2.根据权利要求1所述的语言识别方法,其特征在于,所述对各个样本文本进行切分处理,获取多个字符串组,包括:
针对每个所述切分尺寸,使用与该切分尺寸对应的切分窗口,以一个字符为移动步长,对各个所述样本文本进行切分处理,获取与该切分尺寸对应的字符串组。
3.根据权利要求2所述的语言识别方法,其特征在于,所述对各个样本文本进行切分处理,获取多个字符串组,包括:
针对每个所述切分尺寸,分别对各个所述样本文本进行切分处理,获取与各个所述样本文本分别对应的多个切分字符串;
对所述样本文本分别对应的所述切分字符串进行去重复的处理,并将去重复处理后剩余的切分字符串作为与该切分尺寸对应的样本字符串,并基于与该切分尺寸对应的样本字符串构成与该切分尺寸对应的字符串组。
4.根据权利要求1所述的语言识别方法,其特征在于,各个所述切分尺寸递增,所述切分尺寸为大于一个字符,且小于预设的字符数量阈值的整数;相邻的切分尺寸之间的差值为一个字符。
5.根据权利要求1所述的语言识别方法,其特征在于,针对每个字符串组,获取该字符串组中各个样本字符串在所有样本文本中出现的概率,包括:
针对该字符串组中的任一样本字符串,并针对该样本字符串中的任一字符,将该样本字符串中,位于该任一字符之前的所有字符作为目标字符串,并确定所述目标字符串出现时,该任一字符出现的条件概率;
根据该样本字符串中各个字符对应的条件概率,确定该样本字符串在所有样本文本中出现的概率。
6.根据权利要求1所述的语言识别方法,其特征在于,所述基于所述样本文本以及每个字符串组中各个样本字符串在所有样本文本中出现的概率,训练语言模型,包括:
根据各个所述样本文本中字符出现的先后顺序,构建各个所述样本文本的特征向量序列;每个所述特征向量序列中包括与各个字符分别对应的字向量;
针对每个特征向量序列,按照该特征向量序列中各个字向量的顺序,遍历该特征向量序列中的各个字向量,执行:
将遍历到的字向量输入至基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果;
根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数;其中,所述遍历到的字向量对应的样本字符串包括:在所述遍历到的字向量之前且与遍历到的字向量距离最近的N个字向量对应的字符、所述遍历到的字向量对应的字符、以及由所有所述样本文本中的字符构成的字典中的任一字符;其中,N+2小于或者等于所述切分尺寸的最大值;
遍历下一字向量,并返回将遍历到的字向量输入至所述基础识别模型中,获取与遍历到的字向量对应的语言预测结果的步骤;
直至完成各个特征向量序列的遍历,完成对所述基础识别模型的本轮训练;
经过对所述基础识别模型的多轮训练,得到所述语言模型。
7.根据权利要求6所述的语言识别方法,其特征在于,所述将所述遍历到的字向量输入至所述基础识别模型中,获取与所述遍历到的字向量对应的语言预测结果,包括:
针对所述遍历到的字向量为各个特征向量序列中首个字向量的情况,将所述遍历到的字向量输入至第一神经网络中,获取与所述遍历到的字向量对应的中间特征向量;
针对所述遍历到的字向量并非各个所述特征向量序列中首个字向量的情况,将所述遍历到的字向量,以及所述遍历到的字向量的前一字向量对应的中间特征向量,输入至所述第一神经网络中,获取所述遍历到的字向量对应的中间特征向量;
将所述遍历到的字向量对应的中间特征向量输入至分类器中,获取与所述遍历到的字向量对应的语言预测结果。
8.根据权利要求7所述的语言识别方法,其特征在于,所述语言预测结果包括:所述字典中的各个字符出现在当前输入的字向量对应的字符之后的概率;
所述根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,调整所述基础识别模型的参数,包括:
根据所述遍历到的字向量对应的语言预测结果,以及所述遍历到的字向量对应的样本字符串在所有样本文本中出现的概率,确定所述遍历到的字向量对应的交叉熵损失;
根据所述交叉熵损失,调整所述基础识别模型的参数。
9.一种语言模型训练方法,其特征在于,包括:获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型。
10.一种字符预测方法,其特征在于,包括:
获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
针对每个字符串组,获取该字符串组中各个样本字符串在所有样本文本中出现的概率;
基于所述样本文本以及每个字符串组中各个样本字符串在所有样本文本中出现的概率,训练字符检测模型;
基于训练的所述字符检测模型,获取待识别语言的字符检测结果。
11.一种语言识别装置,其特征在于,包括:
第一获取模块,用于获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
第一处理模块,用于针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
第一训练模块,用于基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型;
语言识别模块,用于基于训练的所述语言模型,获取待识别语言的语言识别结果。
12.一种语言模型训练装置,其特征在于,包括:
第二获取模块,用于获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
第二处理模块,用于针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
第二训练模块,用于基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练语言模型。
13.一种字符预测装置,其特征在于,包括:
第三获取模块,用于获取多个样本文本,并按照多个切分尺寸对所述样本文本进行切分处理,获取与每个所述切分尺寸分别对应的多个字符串组;其中,每个所述字符串组包括多个样本字符串;
第三处理模块,用于针对每个字符串组,获取该字符串组中每个样本字符串在所有样本文本中出现的概率;
第三训练模块,用于基于所述样本文本以及每个字符串组中每个样本字符串在所有样本文本中出现的概率,训练字符检测模型;
字符检测模块,用于基于训练的所述字符检测模型,获取待识别语言的字符检测结果。
14.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至8任一所述语言识别方法、或执行如权利9所述语言模型训练方法、或执行如权利要求10所述字符预测方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至8任一所述语言识别方法、或执行如权利要求9所述语言模型训练方法、或执行如权利要求10所述字符预测方法的步骤。
CN201910350674.7A 2019-04-28 语言识别、语言模型训练、字符预测方法及装置 Active CN111859948B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910350674.7A CN111859948B (zh) 2019-04-28 语言识别、语言模型训练、字符预测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910350674.7A CN111859948B (zh) 2019-04-28 语言识别、语言模型训练、字符预测方法及装置

Publications (2)

Publication Number Publication Date
CN111859948A true CN111859948A (zh) 2020-10-30
CN111859948B CN111859948B (zh) 2024-06-11

Family

ID=

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487767A (zh) * 2020-12-29 2021-03-12 龙马智芯(珠海横琴)科技有限公司 语音文本标注方法、装置、服务器及计算机可读存储介质
CN113590767A (zh) * 2021-09-28 2021-11-02 西安热工研究院有限公司 多语种告警信息类别判定方法、系统、设备及存储介质
CN113936643A (zh) * 2021-12-16 2022-01-14 阿里巴巴达摩院(杭州)科技有限公司 语音识别方法、语音识别模型、电子设备和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067520A (en) * 1995-12-29 2000-05-23 Lee And Li System and method of recognizing continuous mandarin speech utilizing chinese hidden markou models
US7165019B1 (en) * 1999-11-05 2007-01-16 Microsoft Corporation Language input architecture for converting one text form to another text form with modeless entry
CN103077389A (zh) * 2013-01-07 2013-05-01 华中科技大学 一种结合字符级分类和字符串级分类的文本检测和识别方法
JP2016018489A (ja) * 2014-07-10 2016-02-01 日本電信電話株式会社 単語分割装置、方法、及びプログラム
CN106708798A (zh) * 2015-11-16 2017-05-24 阿里巴巴集团控股有限公司 一种字符串切分方法及装置
CN108288078A (zh) * 2017-12-07 2018-07-17 腾讯科技(深圳)有限公司 一种图像中字符识别方法、装置和介质
US20180217979A1 (en) * 2016-02-18 2018-08-02 Tencent Technology (Shenzhen) Company Limited Text information processing method and apparatus
CN108647207A (zh) * 2018-05-08 2018-10-12 上海携程国际旅行社有限公司 自然语言修正方法、系统、设备及存储介质
CN109446514A (zh) * 2018-09-18 2019-03-08 平安科技(深圳)有限公司 新闻实体识别模型的构建方法、装置和计算机设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067520A (en) * 1995-12-29 2000-05-23 Lee And Li System and method of recognizing continuous mandarin speech utilizing chinese hidden markou models
US7165019B1 (en) * 1999-11-05 2007-01-16 Microsoft Corporation Language input architecture for converting one text form to another text form with modeless entry
CN103077389A (zh) * 2013-01-07 2013-05-01 华中科技大学 一种结合字符级分类和字符串级分类的文本检测和识别方法
JP2016018489A (ja) * 2014-07-10 2016-02-01 日本電信電話株式会社 単語分割装置、方法、及びプログラム
CN106708798A (zh) * 2015-11-16 2017-05-24 阿里巴巴集团控股有限公司 一种字符串切分方法及装置
US20180217979A1 (en) * 2016-02-18 2018-08-02 Tencent Technology (Shenzhen) Company Limited Text information processing method and apparatus
CN108288078A (zh) * 2017-12-07 2018-07-17 腾讯科技(深圳)有限公司 一种图像中字符识别方法、装置和介质
CN108647207A (zh) * 2018-05-08 2018-10-12 上海携程国际旅行社有限公司 自然语言修正方法、系统、设备及存储介质
CN109446514A (zh) * 2018-09-18 2019-03-08 平安科技(深圳)有限公司 新闻实体识别模型的构建方法、装置和计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李南希;金连文;: "基于多信息融合的自然书写脱机中文文本行识别", 华南理工大学学报(自然科学版), no. 12 *
李雪涛;文茂平;杨鉴;: "基于Web网页语料构建动态语言模型", 信息技术, no. 08 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487767A (zh) * 2020-12-29 2021-03-12 龙马智芯(珠海横琴)科技有限公司 语音文本标注方法、装置、服务器及计算机可读存储介质
CN113590767A (zh) * 2021-09-28 2021-11-02 西安热工研究院有限公司 多语种告警信息类别判定方法、系统、设备及存储介质
CN113936643A (zh) * 2021-12-16 2022-01-14 阿里巴巴达摩院(杭州)科技有限公司 语音识别方法、语音识别模型、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US11776531B2 (en) Encoder-decoder models for sequence to sequence mapping
CN106598939B (zh) 一种文本纠错方法及装置、服务器、存储介质
CN110046350B (zh) 文法错误识别方法、装置、计算机设备及存储介质
CN107729313B (zh) 基于深度神经网络的多音字读音的判别方法和装置
JP5901001B1 (ja) 音響言語モデルトレーニングのための方法およびデバイス
JP5072415B2 (ja) 音声検索装置
US20150095017A1 (en) System and method for learning word embeddings using neural language models
CN106897439A (zh) 文本的情感识别方法、装置、服务器以及存储介质
CN110797016A (zh) 一种语音识别方法、装置、电子设备及存储介质
CN110597994A (zh) 事件元素识别方法和装置
CN114580382A (zh) 文本纠错方法以及装置
CN111178036B (zh) 一种知识蒸馏的文本相似度匹配模型压缩方法及系统
CN110837730B (zh) 一种未知实体词汇的确定方法及装置
JP6941494B2 (ja) エンドツーエンド日本語音声認識モデル学習装置およびプログラム
EP1887562B1 (en) Speech recognition by statistical language model using square-root smoothing
CN111079433A (zh) 一种事件抽取方法、装置及电子设备
CN114912418A (zh) 一种基于多元语义特征和掩码策略的文本纠错方法和系统
CN111428487B (zh) 模型训练方法、歌词生成方法、装置、电子设备及介质
CN111859948B (zh) 语言识别、语言模型训练、字符预测方法及装置
CN111859948A (zh) 语言识别、语言模型训练、字符预测方法及装置
CN115331675A (zh) 一种处理用户语音的方法及装置
CN114242045A (zh) 一种自然语言对话系统意图深度学习方法
CN113012685B (zh) 音频识别方法、装置、电子设备及存储介质
CN114707509A (zh) 交通命名实体识别方法、装置、计算机设备及存储介质
CN113515586A (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
GR01 Patent grant