CN113655893A - 一种词句生成方法、模型训练方法及相关设备 - Google Patents
一种词句生成方法、模型训练方法及相关设备 Download PDFInfo
- Publication number
- CN113655893A CN113655893A CN202110775982.1A CN202110775982A CN113655893A CN 113655893 A CN113655893 A CN 113655893A CN 202110775982 A CN202110775982 A CN 202110775982A CN 113655893 A CN113655893 A CN 113655893A
- Authority
- CN
- China
- Prior art keywords
- sample
- probability
- character string
- word
- words
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 149
- 238000012549 training Methods 0.000 title claims abstract description 67
- 239000013598 vector Substances 0.000 claims abstract description 184
- 238000004422 calculation algorithm Methods 0.000 claims description 28
- 238000006243 chemical reaction Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 6
- 230000007423 decrease Effects 0.000 claims 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 35
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 15
- 230000003247 decreasing effect Effects 0.000 description 10
- 238000013136 deep learning model Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000009499 grossing Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000003313 weakening effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 239000009999 naoan Substances 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000036632 reaction speed Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例公开了人工智能领域的一种词句生成方法、模型训练方法及相关设备,可用于输入法中的词句推荐。该方法包括:获取字符串序列,该字符串序列包括M个字符串,每个字符串指示一个或多个候选词语;通过编码器将字符串编码为字符串向量,再基于字符串向量,获取字符串指示的每个候选词语的第一概率;最后基于第一概率,生成目标词句,目标词句包括M个目标词语,每个目标词语为每个字符串指示的一个或多个候选词语中的一个。本申请实施例能够提高生成的目标词句的准确率,从而提高输入法推荐的准确度。
Description
技术领域
本申请涉及输入法技术领域,尤其涉及一种词句生成方法、模型训练方法及相关设备。
背景技术
输入法编辑器是客户端必备的应用程序,广泛的应用于台式机、笔记本、手机、平板、智能电视、车载电脑等设备中;并且,用户的日常活动,如:搜索地点、查找餐馆、聊天交友、出行规划等,很大程度上会转化为用户的输入行为,所以利用输入法编辑器的数据能够对用户进行精准的刻画。因此,输入法编辑器在互联网领域,具有重大的战略意义。
在输入场景下,用户在设备上输入字符(例如拼音)后,输入法编辑器会生成词句(词语或句子)并提示该词句以供用户选择,生成的词句的准确率直接影响输入法编辑器的准确率以及用户的体验;为此,需要一种能够准确生成词句的方法。
发明内容
本申请实施例提供了一种词句生成方法、模型训练方法及相关设备,该方法能够提高生成的词句的准确率。
本申请实施例第一方面提供了一种词句生成方法,该方法可以应用于终端设备,也可以应用于云端服务器,具体包括:获取字符串序列,字符串序列包括M个字符串,每个字符串指示一个或多个候选词语;其中,字符串可以理解为字符的组合,是一种语言信息的载体,承载发音信息,用于生成词语或句子;对应不同种类的语言,字符串的形式不同,以中文为例,字符串可以包括一个拼音或多个拼音,M为正整数;根据字符串序列,通过编码器,得到M个第一字符串向量,每个第一字符串向量对应M个字符串中的一个字符串;编码器可以理解为一个深度学习网络模型,编码器的网络结构有多种,本申请实施例对此不做具体限定;具体地,编码器的网络结构可以采用Transformer网络的编码器部分的网络结构,或采用由Transformer网络的编码器部分得到的一系列其他网络的网络结构;基于M个第一字符串向量,获取M个字符串指示的每个候选词语的第一概率,候选词语的第一概率可以理解为,在用户输入字符串的情况下,用户从该字符串指示的所有候选词语中选择当前候选词语的概率;基于第一概率,生成目标词句,目标词句包括M个目标词语,每个目标词语为每个字符串指示的一个或多个候选词语中的一个,具体地,目标词句可以是一个词语,也可以是一个句子。
通过编码器对字符串序列进行编码,以得到第一字符串向量,该第一字符串向量是融合了整个字符串序列的信息后对字符串的表示,而不仅仅表示字符串本身,即第一字符串向量包含了较多的信息;所以基于第一字符串向量计算目标词语的第一概率,并基于第一概率生成目标词句,能够提高生成的目标词句的准确率,从而提高输入法的准确度。
作为一种可实现的方式,根据字符串序列,通过编码器,得到M个第一字符串向量包括:根据字符串序列获取M个第一位置向量和M个第二字符串向量,每个第一位置向量表示一个字符串在字符串序列中的位置,每个第二字符串向量表示一个字符串;根据M个第一位置向量和M个第二字符串向量,通过编码器,得到多个第一字符串向量。
Bert模型需要根据词语的位置向量、词语的向量、用于区分词语位于第一个句子还是第二个句子的向量,以及与分割符“SEP”和标记“CLS”相关的向量,才能编码得到词语的向量,而在本申请实施例中,仅根据字符串的第一位置向量和第二字符串向量这两种向量,即可通过编码器得到第一字符串向量;因此,本申请实施例中的编码器需要处理的向量更少,编码效率较高,从而提高输入法的反应速度。
作为一种可实现的方式,编码器是基于转换任务训练得到的,其中,转换任务是将样本字符串序列转换成样本词句的任务。
在应用阶段,利用编码器将字符串转换成第一字符串向量,再利用第一字符串向量得到目标词句,由此可见,在应用阶段,编码器的功能与基于转换任务训练的过程中编码器的功能类似;因此,将基于转换任务训练得到的编码器,用于编码字符串序列,能够提高编码器的编码准确率,从而提高输入法的准确度。
作为一种可实现的方式,基于M个第一字符串向量,获取M个字符串指示的每个候选词语的第一概率包括:基于M个第一字符串向量,通过概率模型,获取M个字符串指示的每个候选词语的第一概率,概率模型是基于转换任务训练得到的,其中,概率模型和编码器可以看成一个整体,即一个深度学习模型,而编码器可以看成是这个深度学习模型的前半部分,概率模型可以看成是这个深度学习模型的后半部分;其中,转换任务是将样本字符串序列转换成样本词句的任务。
通过概率模型获取候选词语的第一概率,能够提高第一概率的准确性;并且,与编码器类似,在应用阶段,概率模型的功能与基于转换任务训练的过程中概率模型的功能类似,因此,将基于转换任务训练得到的概率模型,用于计算第一概率,可以提高第一概率的准确性,从而提高输入法的准确度。
作为一种可实现的方式,基于第一概率,生成目标词句包括:根据字符串序列,通过Ngram模型,获取M个字符串指示的每个候选词语的第三概率,其中,对于任意一个候选词语来说,该候选词语的第三概率表示在前面一个或多个候选词语出现的情况下,该候选词语出现的条件概率;基于第一概率,第三概率以及维特比Viterbi算法,生成目标词句,维特比Viterbi算法是一种动态规划算法,用于寻找最有可能产生观测事件序列的维特比路径,该维特比路径也可以称为最优路径,其中,Viterbi算法也可以称为有穷状态转换器(Finite State Transducers,FST)算法。
候选词语的第一概率可以理解为候选词语在字符串序列出现的情况下的条件概率,而候选词语的第三概率可以理解为当前候选词语在其他候选词语出现的情况下的条件概率,所以在生成目标词句的过程中,既考虑候选词语的第一概率,又考虑通过Ngram模型计算得到的候选词语的第三概率,有利于生成准确率较高的目标词句。
作为一种可实现的方式,基于第一概率,生成目标词句包括:从参考词典中获取参考词语,参考词典可以包括以下至少一种类型的词库:基础词库、短语词库、用户个人词库、热点词库、各种领域词库,参考词语的数量可以为一个,也可以为多个,参考词语包括P个参考字符串指示的P个候选词语,每个参考字符串指示一个候选词语,P个参考字符串包含于字符串序列中,且在字符串序列中的位置连续,其中,P为大于1的整数;基于P个候选词语各自的第一概率,计算参考词语的第四概率,第四概率表示用户在输入P个参考字符串的情况下,选择参考词语的可能性;计算参考词语的第四概率方法有多种,例如,可以将P个候选词语的第一概率的几何平均值,作为参考词语的第四概率;基于第四概率以及字符串序列中除P个参考字符串外的其他字符串指示的每个候选词语的第一概率,生成目标词句。
由于编码器和概率模型的训练和下发往往周期比较长,不能及时反映用户输入趋势的变化、用户输入场景的变化,且难以应对网络出现的新词和热词,而参考词典可以提供多种场景下的词语、新出现的词语或热词等作为参考词语,以协助生成目标词句,从而可以弥补编码器和概率模型的不足,提高目标词句的准确率。
作为一种可实现的方式,基于第四概率以及字符串序列中除P个参考字符串外的其他字符串指示的每个候选词语的第一概率,生成目标词句包括:通过Ngram模型,获取字符串序列中除P个参考字符串外其他字符串指示的每个候选词语的第五概率,以及参考词语的第五概率;基于字符串序列中除P个参考字符串外其他字符串指示的每个候选词语的第一概率,第四概率、第五概率以及Viterbi算法,生成目标词句。
其中,本申请实施例将参考词语中的所有候选词语看成一个整体,这样,就不需要通过Ngram模型计算参考词语内部的候选词语之间的条件概率,仅需通过Ngram模型计算参考词语的第五概率即可;在计算参考词语的第五概率的过程中,可以计算参考词语中排在第一位的候选词语的第五概率,并将排在第一位的候选词语的第五概率作为参考词语的第五概率。
在该实现方式中,不仅利用了Ngram模型,还利用了参考词典,基于前文对Ngram模型和参考词典的相关说明可知,该实现方式能够融合参考词典和Ngram模型的优点,从而进一步提升目标词句的准确率。
作为一种可实现的方式,目标字符串为字符串序列中排在P个参考字符串之后的字符串;目标字符串指示的每个候选词语的第五概率是,在Q个候选词语出现的情况下目标字符串指示的候选词语出现的条件概率,Q为正整数;Q个候选词语包括字符串序列中,排在目标字符串前的Q个连续字符串中的每个字符串指示的一个候选词语,且当Q个字符串包含参考字符串时,Q个候选词语包含参考字符串指示的参考词语中的候选词语。
作为一种可实现的方式,在基于第一概率,生成目标词句之后,方法还包括:
将目标词句作为首选词句进行提示,首选词句为输入法提示的多个词句中排在第一位的词句。
在输入场景中,终端设备会提示多个词句,本申请实施例将目标词句作为首选词句进行提示,从而可以将用户选择的可能性最大的目标词句优先提示给用户,以提高用户的输入效率。
作为一种可实现的方式,字符串包括一个拼音或多个拼音。
基于字符串包括一个或多个拼音,该实现方式为本申请实施例的方法提供了具体的中文应用场景。
本申请实施例第二方面提供了一种模型训练方法,包括:获取样本字符串序列,样本字符串序列包括K个样本字符串,每个样本字符串指示一个或多个样本候选词语,其中,K为正整数;根据样本字符串序列,通过编码器,得到K个第一样本字符串向量,每个样本字符串向量对应一个样本字符串;基于K个第一样本字符串向量,获取K个样本字符串指示的每个样本候选词语的第二概率;基于第二概率,对编码器进行调整。
由于第一方面对字符串、编码器、字符串序列以及第一概率等进行了说明,所以可参照第一方面的相关说明,对第二方面中的字符串、编码器、字符串序列以及第二概率进行理解。
通过编码器对样本字符串序列进行编码,以得到第一样本字符串向量,该第一样本字符串向量是融合了整个样本字符串序列的信息后对样本字符串的表示,而不仅仅表示样本字符串本身,即第一样本字符串向量包含了较多的信息;所以基于第一样本字符串向量计算目标样本词语的第二概率,并基于第二概率对编码器进行调整,能够提高训练出的编码器和概率模型的准确度,从而提高输入法的准确度。
作为一种可实现的方式,根据样本字符串序列,通过编码器,得到K个第一样本字符串向量包括:根据样本字符串序列获取K个第二位置向量和K个第二样本字符串向量,每个第二位置向量表示一个样本字符串在样本字符串序列中的位置,每个第二样本字符串向量表示一个样本字符串;根据K个第二位置向量和K个第二样本字符串向量,通过编码器,得到K个第一样本字符串向量。
在本申请实施例中,根据样本字符串的第二位置向量和第二样本字符串向量,即可通过编码器得到第一样本字符串向量;而Bert模型除了需要词语的位置向量、词语的向量外,还需要用于区分词语位于第一个句子还是第二个句子的向量,以及与分割符“SEP”和标记“CLS”相关的向量;因此,本申请实施例中的编码器需要处理的向量更少,编码效率更高,从而可以提高训练效率。
作为一种可实现的方式,每个样本字符串指示的样本候选词语中包含一个目标样本词语,其中,目标样本词语相当于样本标签;相应地,基于第二概率,对编码器进行调整包括:调整编码器的参数,以使得目标样本词语的第二概率增加,和/或以使得除目标样本词语外的其他样本候选词语的第二概率降低。
例如,样本字符串序列为“nuoyafangzhouhenbang”,对于其中的样本字符串“nuo”来说,对应的样本候选词语包括“诺”、“糯”、“懦”等,令“诺”为目标样本词语,则可以通过调整编码器的参数,使得“诺”的第二概率增加,“糯”和“懦”第二概率降低。
在该实现方式中,预先设定目标样本词语,在训练过程中,通过调整编码器的参数,使得目标样本词语的第二概率增加和/或除目标样本词语外的其他样本候选词语的第二概率降低,进而使得目标样本词语的第二概率大于其他样本候选词语的第二概率,从而实现对编码器的训练。
作为一种可实现的方式,基于K个第一样本字符串向量,获取K个样本字符串指示的每个样本候选词语的第二概率包括:基于K个第一样本字符串向量,通过概率模型,获取K个样本字符串指示的每个样本候选词语的第二概率;相应地,在基于K个第一样本字符串向量,获取K个样本字符串指示的每个样本候选词语的第二概率之后,方法还包括:基于第二概率,对概率模型进行调整。
通过概率模型获取样本候选词语的第二概率,能够提高第二概率的准确性;而基于第二概率对概率模型进行调整,可以提高概率模型输出的第二概率的准确性。
作为一种可实现的方式,每个样本字符串指示的样本候选词语中包含一个目标样本词语;基于第二概率,对概率模型进行调整包括:调整概率模型的参数,以使得目标样本词语的第二概率增加,和/或以使得除目标样本词语外的其他样本候选词语的第二概率降低。
在该实现方式中,预先设定目标样本词语,在训练过程中,通过调整概率模型的参数,使得目标样本词语的第二概率增加和/或除目标样本词语外的其他样本候选词语的第二概率降低,进而使得目标样本词语的第二概率大于其他样本候选词语的第二概率,从而实现对概率模型的训练。
作为一种可实现的方式,获取样本字符串序列包括:基于K个目标样本词语获取样本字符串序列中的K个样本字符串。
基于目标样本词语获取样本字符串,可以提高样本字符串的获取效率。
作为一种可实现的方式,样本字符串包括一个拼音或多个拼音。
基于字符串包括一个或多个拼音,该实现方式为本申请实施例的方法提供了具体的中文应用场景。
本申请实施例第三方面提供了一种词句生成装置,包括:第一获取单元,用于获取字符串序列,字符串序列包括M个字符串,每个字符串指示一个或多个候选词语,其中,M为正整数;第一编码单元,用于根据字符串序列,通过编码器,得到M个第一字符串向量,每个第一字符串向量对应M个字符串中的一个字符串;第二获取单元,用于基于M个第一字符串向量,获取M个字符串指示的每个候选词语的第一概率;生成单元,用于基于第一概率,生成目标词句,目标词句包括M个目标词语,每个目标词语为每个字符串指示的一个或多个候选词语中的一个。
作为一种可实现的方式,第一编码单元,用于根据字符串序列获取M个第一位置向量和M个第二字符串向量,每个第一位置向量表示一个字符串在字符串序列中的位置,每个第二字符串向量表示一个字符串;根据M个第一位置向量和M个第二字符串向量,通过编码器,得到多个第一字符串向量。
作为一种可实现的方式,编码器是基于转换任务训练得到的,转换任务是将样本字符串序列转换成样本词句的任务。
作为一种可实现的方式,第二获取单元,用于基于M个第一字符串向量,通过概率模型,获取M个字符串指示的每个候选词语的第一概率,概率模型是基于转换任务训练得到的,转换任务是将样本字符串序列转换成样本词句的任务。
作为一种可实现的方式,生成单元,用于根据字符串序列,通过Ngram模型,获取M个字符串指示的每个候选词语的第三概率;基于第一概率,第三概率以及维特比Viterbi算法,生成目标词句。
作为一种可实现的方式,生成单元,用于从参考词典中获取参考词语,参考词语包括P个参考字符串指示的P个候选词语,每个参考字符串指示一个候选词语,P个参考字符串包含于字符串序列中,且在字符串序列中的位置连续,其中,P为大于1的整数;基于P个候选词语各自的第一概率,计算参考词语的第四概率;基于第四概率以及字符串序列中除P个参考字符串外的其他字符串指示的每个候选词语的第一概率,生成目标词句。
作为一种可实现的方式,生成单元,用于通过Ngram模型,获取字符串序列中除P个参考字符串外其他字符串指示的每个候选词语的第五概率,以及参考词语的第五概率;基于字符串序列中除P个参考字符串外其他字符串指示的每个候选词语的第一概率,第四概率、第五概率以及Viterbi算法,生成目标词句。
作为一种可实现的方式,目标字符串为字符串序列中排在P个参考字符串之后的字符串;目标字符串指示的每个候选词语的第五概率是,在Q个候选词语出现的情况下目标字符串指示的候选词语出现的条件概率,Q为正整数;Q个候选词语包括字符串序列中,排在目标字符串前的Q个连续字符串中的每个字符串指示的一个候选词语,且当Q个字符串包含参考字符串时,Q个候选词语包含参考字符串指示的参考词语中的候选词语。
作为一种可实现的方式,该装置还包括提示单元,用于将目标词句作为首选词句进行提示,首选词句为输入法提示的多个词句中排在第一位的词句。
作为一种可实现的方式,字符串包括一个拼音或多个拼音。
其中,以上各单元的具体实现、相关说明以及技术效果请参考本申请实施例第一方面的描述。
本申请实施例第四方面提供了一种模型训练装置,包括:第三获取单元,用于获取样本字符串序列,样本字符串序列包括K个样本字符串,每个样本字符串指示一个或多个样本候选词语,其中,K为正整数;第二编码单元,用于根据样本字符串序列,通过编码器,得到K个第一样本字符串向量,每个样本字符串向量对应一个样本字符串;第四获取单元,用于基于K个第一样本字符串向量,获取K个样本字符串指示的每个样本候选词语的第二概率;调整单元,用于基于第二概率,对编码器进行调整。
作为一种可实现的方式,第二编码单元,用于根据样本字符串序列获取K个第二位置向量和K个第二样本字符串向量,每个第二位置向量表示一个样本字符串在样本字符串序列中的位置,每个第二样本字符串向量表示一个样本字符串;根据K个第二位置向量和K个第二样本字符串向量,通过编码器,得到K个第一样本字符串向量。
作为一种可实现的方式,每个样本字符串指示的样本候选词语中包含一个目标样本词语;调整单元,用于调整编码器的参数,以使得目标样本词语的第二概率增加,和/或以使得除目标样本词语外的其他样本候选词语的第二概率降低。
作为一种可实现的方式,第四获取单元,用于基于K个第一样本字符串向量,通过概率模型,获取K个样本字符串指示的每个样本候选词语的第二概率;调整单元,还用于基于第二概率,对概率模型进行调整。
作为一种可实现的方式,每个样本字符串指示的样本候选词语中包含一个目标样本词语;调整单元,用于调整概率模型的参数,以使得目标样本词语的第二概率增加,和/或以使得除目标样本词语外的其他样本候选词语的第二概率降低。
作为一种可实现的方式,第三获取单元,用于基于K个目标样本词语获取样本字符串序列中的K个样本字符串。
作为一种可实现的方式,样本字符串包括一个拼音或多个拼音。
其中,以上各单元的具体实现、相关说明以及技术效果请参考本申请实施例第二方面的描述。
本申请实施例第五方面提供了一种计算机设备,包括:一个或多个处理器和存储器;其中,存储器中存储有计算机可读指令;一个或多个处理器读取计算机可读指令,以使计算机设备实现如第一方面任一实现方式的方法。
本申请实施例第六方面提供了一种训练设备,包括:一个或多个处理器和存储器;其中,存储器中存储有计算机可读指令;一个或多个处理器读取计算机可读指令,以使训练设备实现如第二方面任一实现方式的方法。
本申请实施例第七方面提供了一种计算机可读存储介质,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得计算机执行如第一方面或第二方面任一实现方式的方法。
本申请实施例第八方面提供了一种芯片,包括一个或多个处理器。处理器中的部分或全部用于读取并执行存储器中存储的计算机程序,以执行上述第一方面或第二方面任意可能的实现方式中的方法。
可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。
在一些实现方式中,一个或多个处理器中还可以有部分处理器是通过专用硬件的方式来实现以上方法中的部分步骤,例如涉及神经网络模型的处理可以由专用神经网络处理器或图形处理器来实现。
本申请实施例提供的方法可以由一个芯片实现,也可以由多个芯片协同实现。
本申请实施例第九方面提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述第一方面或第二方面中任意一种实现方式的方法。
附图说明
图1为本申请实施例的应用场景示意图;
图2为本申请实施例中词序列的示意图;
图3为预训练语言模型的示意图;
图4为本申请实施例的系统架构示意图;
图5为本申请实施例提供的模型训练方法的一个实施例的示意图;
图6为本申请实施例中的编码器和Bert模型的原始输入的对比示意图;
图7为本申请实施例中的编码器和Bert模型的直接输入的对比示意图;
图8为本申请实施例提供的词句生成方法的一个实施例的示意图;
图9为本申请实施例中候选词语的实施例示意图;
图10为本申请实施例中第一概率和第三概率结合的示意图;
图11为本申请实施例中生成目标词句的实施例示意图;
图12为本申请实施例参考词典的使用示意图;
图13为本申请实施例提供的一种词句生成装置的结构示意图;
图14为本申请实施例提供的一种模型训练装置的结构示意图;
图15为本申请实施例提供的计算机设备的一种结构示意图。
具体实施方式
本申请实施例提供了一种词句生成方法、模型训练方法及相关设备,该方法能够提升生成的词句的准确率,进而提升输入法的准确率以及用户的体验。
本申请实施例可以应用于图1所示的输入场景中。
在该输入场景中,用户可以在终端设备上输入字符串,相应地,部署在终端设备内部的输入法编辑器(Input Method Editor,IME)会接收到用户输入的字符串,并根据字符串生成相应的词句,然后向用户提示该词句。
其中,字符串可以理解为字符的组合,是一种语言信息的载体,用于生成词句;该词句可以是一个词语,也可以是多个词语,一个字也可以成为词语。
上述输入场景可以是中文、日语、汉语等多种语言的输入场景;对应不同种类的语言,字符串的形式不同;以中文为例,字符串可以包括一个拼音或多个拼音,具体地,如图1所示,当输入字符串nuoyafangzhou后,输入法编辑器提示的词句分别为诺亚方舟很棒、诺亚方舟和诺亚。
在本申请实施例中,终端设备可以为台式电脑、笔记本电脑、平板电脑、智能手机、智能电视,除此之外,终端设备还可以为车载电脑等其他任意可以部署输入法编辑器的设备。
可以理解的是,在图1所示的示例中,提示的词句包括诺亚方舟很棒,由此可见,提示的词句较准确,明显可以提升用户的输入效率和用户体验。
然而,随着移动互联网的发展,一方面,用户所采用的语言越来越丰富,网络新词层出不穷;另一方面,输入法应用的场景也越来越广泛、越来越多样化。因此,输入法编辑器提示词句的难度大大增加。
为了能够准确地向用户提示词句,本申请实施例提供了一种词句生成方法,该方法是利用编码器将用户输入的字符串(例如拼音)编码为字符串向量,然后基于字符串向量生成目标词句,以提高生成的词句的准确性。
为了便于理解,下面先对本申请实施例提及的专业术语进行解释。
输入法首选词:当用户输入字符串的时候,输入法编辑器会提供给用户一个候选列表,该候选列表用于向用户提示词句,排在候选列表第一位的被称为输入法的首选词。
Transformer网络结构:一种深度神经网络结构,包含输入层、self-attention层、Feed-forward层、归一化层等子结构。
Bert模型:具有Transformer网络结构的一种模型,并且,在Transformer网络结构的基础上提出了“预训练+微调”的学习范式,设计了Masked Language Model和NextSentence Prediction两个预训练任务。
Ngram模型:一种被广泛应用在汉语输入法任务中的模型。
零概率问题:在Ngram模型的使用过程中,某些情况下,概率的值会被计算为零,零值的概率会造成很多工程实现方面的问题;例如,因为零概率,无法比较概率之间的大小,只能随机返回结果。
平滑算法(smoothing algorithm):为了解决Ngram模型的零概率问题而设计的算法,当判断有零概率风险的时候,平滑算法通常采用稳定的、但不准确的低阶Ngram模型概率,通过某种方式来拟合不稳定的、但准确的高阶Ngram模型概率。
维特比Viterbi算法:是一种动态规划算法,用于寻找最有可能产生观测事件序列的维特比路径,或者说是隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中,现常常用于语音识别、关键字识别、计算语言学和生物信息学中;其中,Viterbi算法也可以称为有穷状态转换器(Finite State Transducers,FST)算法。
下面分别对Ngram模型进行具体介绍。
对于一个语言序列(例如:一个词句就是一个词序列)来讲,序列的概率P(w1,w2,......wn)可以分解为条件概率的乘积,如下:P(w1,w2,......wn)=P(w1)*P(w2|w1)*P(w3|w1,w2)*......P(wn|w1,......wn-1),其中,w1,w2......wn分别表示序列中的词语,P表示概率。
然而,用统计方法很难准确获得概率P(wn|w1,......wn-1)的值。因此,Ngram模型做了马尔科夫假设,即当前词语的概率仅仅与有限的N个词语相关。当N取不同的值的时候,得到了一系列具体的Ngram模型。例如:当N=2的时候,当前词语的概率仅仅与过去一个词相关,P(wn|w1,......wn-1)的值退化为P(wn|wn-1)的值,即此时的Ngram模型称为Bigram模型;同理,当N=3的时候,Ngram模型称为Trigram模型;当N=4的时候,Ngram模型称为Fourgram模型。
在使用过程中,Ngram模型存在一个问题。在应用场景中,某些词语的组合并没有在训练集合中出现,此时Ngram对这些词语组合估计出的概率值为0,在工程上会引发一系列问题。为了避免这种0概率的情况出现,产生了各种平滑算法。
平滑算法可以简单理解为,当Ngram模型的概率是0的时候,将一定的权重与(N-1)gram模型的概率的乘积作为(N)gram模型的概率。
下面以具体的示例对Ngram模型进行说明。
具体地,假设词序列为:诺亚的技术强;词序列的概率可以分解为条件概率的乘积,即P(诺,亚,的,技,术,强)=P(诺)*P(亚|诺)*P(的|诺,亚)*P(技|诺,亚,的)*P(术|诺,亚,的,技)*P(强|诺,亚,的,技,术);在采用N=2的gram模型后,P(诺,亚,的,技,术,强)=P(诺|B)*P(亚|诺)*P(的|亚)*P(技|的)*P(术|技)*P(强|术);在采用N=3的gram模型后,P(诺,亚,的,技,术,强)=P(诺|A,B)*P(亚|诺,B)*P(的|诺,亚)*P(技|诺,亚,的)*P(术|诺,亚,的,技)*P(强|诺,亚,的,技,术)。
需要说明的是,当N=1时,由于“诺”前面没有其他字,在利用Ngram模型计算的过程中,会自动添加一个字(上述示例采用A表示)作为参考;同样地,当N=2时,由于“诺”前面没有其他字,在利用Ngram模型计算的过程中,会自动添加两个字(上述示例采用A和B表示)作为参考。
下面对Viterbi算法进行说明。
以拼音输入法为例,如图2所示,最下面一行表示拼音节点,上面四行的节点是与拼音节点对应的汉字,这些汉字组成了用户输入的各种可能性。利用Ngram模型可以计算各个汉字节点的概率,由于汉字节点的概率实际是在前面N个汉字节点出现的情况下的条件概率,因此该概率也可以看成是汉字节点之间的路径转移概率。
例如,当N=2时,利用Ngram模型可以计算概率P(亚|诺)、P(亚|懦)、P(亚|糯)、P(亚|挪),这些概率也可以称为“诺”到“亚”的路径转移概率,“懦”到“亚”的路径转移概率,“糯”到“亚”的路径转移概率,“挪”到“亚”的路径转移概率。
对应“nuo”、“ya”、“de”、“ji”、“shu”、“qiang”六个拼音中的每个拼音,汉字的选择均有四种,因此这些汉字组合的数量为4*4*4*4*4*4;利用Viterbi算法和汉字间的路径转移概率,则可以搜索到一条概率最大的节点路径,这条节点路径也可以称为最优路径,具体可以为图2所示的“诺亚的技术强”。
下面对预训练语言模型(pertrained language model,PLM)和Bert模型进行说明。
预训练语言模型是近年来兴起的自然语言处理(natural language processing,NLP)领域的一个重要的通用模型,其中,NLP是让计算机理解并处理人类自然语言的技术,是实现人工智能(artificial intelligence,AI)的重要技术手段。
如图3所示,预训练语言模型主要包含三个方面:网络结构,学习范式和(预)训练任务。
预训练语言模型的网络结构采用了Transformer网络的编码器encoder部分的网络结构,编码器encoder部分包含输入层、self-attention层、Feed-forward层、归一化层。
预训练语言模型的种类有很多,其中具有代表性的属于Bert模型。
Bert模型是在编码器encoder部分的基础上,采用了“预训练+微调”的学习范式,即在大量无标注语料上用预训练任务来学习基础模型,然后在目标任务上微调该基础模型,以得到Bert模型,其中,预训练任务主要是指Masked Language Model任务和NextSentence Prediction任务。
下面对本申请实施例的系统架构进行介绍。
如图4所示,本申请实施例的系统架构包括训练阶段和应用阶段,下面以汉语为例对此进行说明。
在训练阶段,汉字语料经过分词器得到分词语料。接下来,在分词语料的基础上,训练得到Ngram模型。与此同时,通过字音转换器将分词预料从汉字转成拼音,获得拼音语料。然后,在拼音预料的基础上,训练得到编码器,该编码器用于将拼音编码为向量;由于编码器也是采用Transformer网络的编码器encoder部分,这与已有的Bert模型类似,且用于编码拼音,因此也可以将编码器称为拼音Bert模型。
在应用阶段,将拼音Bert模型和Ngram模型结合,再结合各种外部资源库,如:基础词库、短语词库、用户词库、各种领域词库(图4示出了领域词语1、领域词语2和领域词语3)等,从而得到输入引擎,该输入引擎用于响应于用户输入的拼音,提示相应的词句。
下面结合图5,先从训练阶段对本申请实施例提供的模型训练方法进行介绍。
具体地,本申请实施例提供了一种模型训练方法的一个实施例,该实施例可以应用于中文、日文、韩文等多种语言,由于模型训练的过程需要较大的运算量,因此,该实施例通常由服务器执行。
如图5所示,该实施例包括:
步骤101,获取样本字符串序列。
样本字符串序列包括K个样本字符串,其中,K为正整数。
在本申请实施例中,字符串可以理解为字符的组合,是一种语言信息的载体,用于生成词句;该词句可以是一个词语,也可以是多个词语,一个字也可以成为词语。
上述输入场景可以是中文、日语、汉语等多种语言的输入场景;对应不同种类的语言,字符串的形式不同;以中文为例,字符串可以包括一个拼音或多个拼音,此时,字符串也可以称为拼音串,例如,字符串可以为“nuoyafangzhou”。
样本字符串是指作为样本且用于训练的字符串。
每个样本字符串指示一个或多个样本候选词语,该样本候选词语可以是一个字,也可以是多个字。
例如,当样本字符串为“nuo”时,对应的样本候选词语可以为“诺”、“糯”、“懦”等;当样本字符串为“ya”时,对应的样本候选词语可以为“亚”、“压”、“呀”等。
获取样本字符串序列的方法有多种,本申请实施例对此不做具体限定。
示例性地,步骤101包括:基于K个目标样本词语获取样本字符串序列中的K个样本字符串。
例如,如图4所示,当样本字符串为拼音时,则可以通过字音转换器将目标样本词语从汉字转成拼音,以得到样本字符串。
步骤102,根据样本字符串序列,通过编码器,得到K个第一样本字符串向量,每个第一样本字符串向量对应一个样本字符串。
编码器可以理解为一个深度学习网络模型,编码器的网络结构有多种,本申请实施例对此不做具体限定;具体地,编码器的网络结构可以采用Transformer网络的编码器部分的网络结构,或采用由Transformer网络的编码器部分得到的一系列其他网络的网络结构。
本申请实施例中的编码器的网络结构虽然与Bert模型的网络结构类似,也采用了Transformer网络的编码器部分的网络结构,但实际却大不相同,下文会通过多次对比以说明本申请实施例中的编码器与Bert模型的不同。
例如,以样本字符串为拼音串为例;如图6所示,左侧的模型表示Bert模型,其原始输入是两个汉词句子“诺亚方舟”和“很棒”,并且用分割符“SEP”分隔,除此之外,原始输入还包括用于文本分类的标记“CLS”;右侧的模型表示本申请实施例中的编码器,其原始输入不再是两个汉词句子,而是样本字符串序列“nuo ya fang zhou hen bang”,不需要分割符“SEP”,并且,由于编码器不需要对文本进行分类,因此编码器的原始输入也不需要标记“CLS”。
作为一种实现方式,步骤102包括:
根据样本字符串序列获取K个第二位置向量和K个第二样本字符串向量;根据K个第二位置向量和K个第二样本字符串向量,通过编码器,得到K个第一样本字符串向量。
其中,每个第二位置向量表示一个样本字符串在样本字符串序列中的位置,以样本字符串序列“nuo ya fang zhou hen bang”为例,样本字符串“fang”对应的第二位置向量表示“fang”在样本字符串序列“nuo ya fang zhou hen bang”中的位置。
每个第二样本字符串向量表示一个样本字符串,其中,第二样本字符串向量既可以通过随机初始化得到,也可以利用Word2Vector等算法进行预训练得到。
需要说明的是,第二样本字符串向量与第一样本字符串向量是不同的,第二样本字符串向量仅仅是基于一个样本字符串生成的,所以仅包含一个样本字符串的本身信息;而第一样本字符串向量是基于编码器生成的,编码器在生成第一样本字符串向量的过程中,结合了多个样本字符串的信息,因此,第一样本字符串向量不仅包含一个样本字符串本身的信息,还包含了其他样本字符串的信息。
下面以图6所示的样本字符串为拼音串为例,并结合图7,说明本申请实施例中的编码器与Bert模型的不同。
具体地,如图7所示,图7左侧表示Bert模型的直接输入(即由原始输入转换得到的),具体包含三个嵌入embedding层;对应图6所示的原始输入,这三个embedding层从下至上依次为位置嵌入position embedding层、分段嵌入segment embedding层和标记嵌入token embedding层,其中,position embedding用来区分token在序列中的不同位置;segment embedding用来区分token是在输入的第一个汉词句子(“诺亚方舟”)中,还是在第二个汉词句子(“很棒”)中,为接下来做Next sentence prediction任务做准备;tokenembedding表示token的语义。
在Bert模型中,token是汉词句子中的汉字,例如,token可以是汉字“诺”;token也可以是“SEP”或“CLS”。
图7右侧表示本申请实施例中的编码器的直接输入,具体包括位置嵌入positionembedding层和标记嵌入token embedding层,而不包括分段嵌入segment embedding层,其中,position embedding用来区分token在序列中的不同位置,token embedding表示token的语义。
在本申请实施例中的编码器中,token是一个拼音或多个拼音,例如,token可以是“nuo”,也可以是“ya”。
当token是“nuo”时,位置嵌入position embedding层中的E0则表示“nuo”的位置向量,标记嵌入token embedding层中的Enuo则表示“nuo”的字符向量。
除此之外,从图7中可以看出,本申请实施例中的编码器各直接输入的长度小于Bert模型各直接输入的长度。
需要说明的是,Bert模型的最终目标是做各种文档或者词句相关的任务,如:文本分类、阅读理解、问答系统等,因此,Bert模型的原始输入的长度要涵盖大部分的文档或者词句,通常被设定为512个token,相应地,Bert模型的的直接输入的长度也为512个token(图7仅示出了9个token);而本申请实施例中的编码器的最终目标是用于输入法,即接收用户在终端设备上的输入,一般来讲,用户的输入相对比较短,因此,本申请实施例中的编码器的原始输入的长度不需要太长,通常被设定为16个或者32个token(图7仅示出了6个token),相应地,本申请实施例中的编码器的直接输入的长度也为16个或者32个token。
编码器的直接输入的长度的较小,所以即输入到编码器的参数量较少;并且,以字符串为拼音为例,拼音的总数远小于汉字的总数,所以编码器需要处理的token的总数较小;这能够降低训练过程中的工作量,提高训练效率。
步骤103,基于K个第一样本字符串向量,获取K个样本字符串指示的每个样本候选词语的第二概率。
其中,样本候选词语的第二概率表示,根据第一样本字符串向量得到样本候选词语的概率。
计算第二概率的方法有多种,本申请实施例对此不做具体限定。
作为一种可实现的方式,步骤103还可以包括:
基于K个第一样本字符串向量,通过概率模型,获取K个样本字符串指示的每个样本候选词语的第二概率。
具体地,可以将K个第一样本字符串向量输入概率模型,概率模型则会输出该第二概率。
此时,概率模型和编码器可以看成一个整体,即一个深度学习模型,而编码器可以看成是这个深度学习模型的前半部分,概率模型可以看成是这个深度学习模型的后半部分。
步骤104,基于第二概率,对编码器进行调整。
需要说明的是,基于第二概率对编码器进行调整的方法有多种,本申请实施例对此不做具体限定。
作为一种可实现的方式,每个样本字符串指示的样本候选词语中包含一个目标样本词语,相应地,步骤104包括:调整编码器的参数,以使得目标样本词语的第二概率增加,和/或以使得除目标样本词语外的其他样本候选词语的第二概率降低。
例如,样本字符串序列为“nuoyafangzhouhenbang”,对于其中的样本字符串“nuo”来说,对应的样本候选词语包括“诺”、“糯”、“懦”等,令“诺”为目标样本词语,则可以通过调整编码器的参数,以使得“诺”的第二概率增加,而使“糯”的第二概率以及“懦”的第二概率降低。
在该实施例中,目标样本词语相当于样本标签,通过调整编码器的参数,使得目标样本词语的第二概率尽可能地增加,而使除目标样本词语外的其他样本候选词语的第二概率尽可能地降低;理想状态下,通过调整编码器的参数,使得目标样本词语的第二概率大于其他样本候选词语的第二概率。
步骤105,基于第二概率,对概率模型进行调整。
示例性地,步骤105包括:调整概率模型的参数,以使得目标样本词语的第二概率增加,和/或以使得除目标样本词语外的其他样本候选词语的第二概率降低。
概率模型的参数的调整过程与编码器的参数的调整过程类似,具体参照步骤104的相关说明进行理解。
需要说明的是,步骤105是可选的,具体地,在通过概率模型实现步骤103的情况下执行步骤105。
另外,在训练阶段,会重复执行步骤102至步骤105,直到满足条件,训练停止;本申请实施例对条件的内容不做具体限定,例如,该条件可以是损失函数的值小于阈值,其中,损失函数的值可以根据第二概率计算得到,该条件也可以是重复执行的次数达到预设次数。
在本申请实施例中,通过编码器对样本字符串序列进行编码,以得到第一样本字符串向量,该第一样本字符串向量是融合了整个样本字符串序列的信息后对样本字符串的表示,而不仅仅表示样本字符串本身,即第一样本字符串向量包含了较多的信息;所以基于第一样本字符串向量计算目标样本词语的第二概率,并基于第二概率对编码器和概率模型进行调整,能够提高训练出的编码器和概率模型的准确度,从而提高输入法的准确度。
上面对编码器和概率模型的训练过程进行了说明,除此之外,在采用本申请实施例提供的词句生成方法生成词句的过程中,还可能会用到Ngram模型;所以,下面对Ngram模型的训练过程进行说明。
Ngram模型的训练过程可以理解为,计算词语间的条件概率的过程。
具体地,以拼音输入法为例,首先将汉语语料经过分词器转换成汉语词语序列,然后通过技术方法统计词语间的条件概率;例如,汉语预料为“华为公司近期发布最新旗舰手机”,经过分词器后,得到汉语词语序列“华为/公司/近期/发布/最新/旗舰手机”。
下面从应用阶段对本申请实施例提供的词句生成方法进行介绍。
具体地,本申请实施例提供了一种词句生成方法的一个实施例,该实施例可以应用于中文、日文、韩文等多种语言的输入法系统中;该输入法系统可以部署在终端设备中,也可以部署在云服务器中;当输入法系统部署在云服务器中时,该实施例由云服务器执行,并由云服务器将生成目标词句发送至终端设备,以在终端设备上显示。
如图8所示,该实施例包括:
步骤201,获取字符串序列,字符串序列包括M个字符串,每个字符串指示一个或多个候选词语,其中,M为正整数。
具体地,步骤201可以包括:根据用户的输入得到字符串序列。
由于前文对字符串进行说明,故在此不做详述,具体可参照步骤101的相关说明对步骤201进行理解。
为了能够提示给用户更多种目标词句,通常情况下,字符串都指示多个候选词语;少数情况下,字符串指示一个候选词语,例如,字符串较为生僻,仅存在一个词语与该字符串对应,那么该字符串则指示一个候选词语。
步骤202,根据字符串序列,通过编码器,得到M个第一字符串向量,每个第一字符串向量对应M个字符串中的一个字符串。
示例性地,编码器是基于转换任务训练得到的,其中,转换任务是将样本字符串序列转换成样本词句的任务。
需要说明的是,基于转换任务训练的过程可以理解为编码器在训练阶段的训练过程,具体可参阅前文训练阶段的相关说明进行理解。
作为一种可实现的方式,步骤202包括:
根据字符串序列获取M个第一位置向量和M个第二字符串向量,每个第一位置向量表示一个字符串在字符串序列中的位置,每个第二字符串向量表示一个字符串;
根据M个第一位置向量和M个第二字符串向量,通过编码器,得到多个第一字符串向量。
步骤202与步骤102类似,具体可参照步骤102的相关说明进行理解,不同的是,步骤202中第一字符串向量的数量M与第一样本字符串向量的数量N可能不同。
步骤203,基于M个第一字符串向量,获取M个字符串指示的每个候选词语的第一概率。
作为一种可实现的方式,步骤203包括:
基于M个第一字符串向量,通过概率模型,获取M个字符串指示的每个候选词语的第一概率,概率模型是基于转换任务训练得到的。
其中,转换任务是将样本字符串序列转换成样本词句的任务。
需要说明的是,基于转换任务训练的过程可以理解为概率模型在训练阶段的训练过程,具体可参阅前文训练阶段的相关说明进行理解。
步骤203与步骤103类似,具体可参照步骤103的相关说明进行理解,不同的是,步骤203中第一字符串向量的数量M与第一样本字符串向量的数量N可能不同。
步骤204,基于第一概率,生成目标词句,目标词句包括M个目标词语,每个目标词语为每个字符串指示的一个或多个候选词语中的一个。
具体地,对于每个字符串,可以基于第一概率从该字符串对应的所有候选词语中选择出一个候选词语;这样,对于M个字符串,则可以选择出M个候选词语,这M个候选词语则可以组成目标词句。
通常情况下,会从该字符串对应的所有候选词语中选择第一概率最大的候选词语,以生成目标词句。
例如,如图9所示,字符串“nuo”、“ya”、“fang”、“zhou”、“hen”和“bang”中的每个字符串都指示是三个候选词语;对于字符串“nuo”,选择第一概率最大的“诺”,同理,对于其他字符串,选择第一概率最大的候选词语分别为“亚”、“方”、“舟”、“很”和“棒”;基于此,便可以生成目标词句“诺亚方舟很棒”。
步骤205,将目标词句作为首选词句进行提示,首选词句为输入法提示的多个词句中排在第一位的词句。
输入场景中,终端设备会提示多个词句,本申请实施例将目标词句作为首选词句进行提示;以图1为例,终端设备提示了三个词句,其中,首选词句为:诺亚方舟很棒。
需要说明的是,生成目标词句的方法有多种,除了前文中提及的方法,还存在其他多种方法,下面对此进行介绍。
作为一种可实现的方式,可以将编码器和Ngram模型结合,以基于编码器输出的第一概率并利用Ngram模型生成目标词句,以提高生成的目标词句的准确性。
首先,以字符串为拼音为例,对编码器和Ngram模型的结合进行理论分析。
本申请实施例可以看成是将拼音序列y1,y2……yn转成对应的词语序列w1,w2……wn(也可以理解为词句),实际是从所有词语序列中选择条件概率P(w1,w2……wn|y1,y2……yn)最大的词语序列作为目标词句。
根据贝叶斯原理,这个条件概率可以做如下的分解和转化:
P(w1,w2……wn|y1,y2……yn)=P(w1|y1,y2……yn)×P(w2|y1,y2......yn,w1)×P(w3|y1,y2......yn,w1,w2)×......×P(wi|y1,y2......yn,w1,w2...,wi-1)×......×P(wn|y1,y2......yn,w1,w2...,wn-1);
上述公式是将条件概率P(w1,w2......wn|y1,y2......yn)转化成词语概率P(wi|y1,y2......yn,w1,w2...,wi-1)的连乘积的形式。其中,代表词语的条件概率P(wi|y1,y2......yn,w1,w2...,wi-1),可以做进一步分解,如下所示:
P(wi|yi,y2......yn,w1,w2...,wi-1)=P(wi|y1,y2......yn)=P(wi|w1,w2...,wi-1)
=P(wi|y1,y2.......yn)×P(wi|Wi-n...,wi-1);
其中,P(wi|y1,y2......yn)是前文中计算出来的第一概率,P(wi|wi-n...,wi-1)是Ngram模型计算出来的概率。在上述公式的最后一步推导中,采用了Ngram模型的马尔科夫假设,将概率P(wi|w1,w2...,wi-1)简化为只和wi的前N个词相关,即将概率P(wi|wi-n...,wi-1)退化成P(wi|wi-n...,wi-1),具体可以表示为
基于上述分析可知,可以将前文中计算出来的第一概率与Ngram模型计算出来的条件概率结合,以得到更准确的词语的概率,从而可以提示更准确的目标词句。
具体地,步骤204包括:
根据字符串序列,通过Ngram模型,获取M个字符串指示的每个候选词语的第三概率;
基于第一概率,第三概率以及维特比Viterbi算法,生成目标词句。
基于前文对Ngram模型的相关说明可知,候选词语的第三概率实际上是在前N个候选词语出现的情况下的条件概率,其中,N的取值可以根据实际需要进行设定,例如,N可以取1,也可以取2。
基于前文的理论分析可知,对于每个候选词语,可以将该候选词语对应的第一概率和第三概率相乘,以得到组合概率(实际也为条件概率),并利用组合概率和维特比Viterbi算法,生成目标词句。
下面结合图10对上述过程进行具体说明。
如图10所示,基于编码模型的输出可以计算得到第一概率,以汉字“方”为例,汉字“方”的第一概率=P(方|nuo,ya,fang,zhou,hen,bang);基于Ngram模型可以得到第三概率,以汉字“方”为例,假设N=2,汉字“方”的第三概率=P(方|亚)。
基于此,将第一概率P(方|nuo,ya,fang,zhou,hen,bang)与第三概率P(方|亚)相乘,即可得到汉字“方”的组合概率。
采用上述方法可以得到所有汉字的组合概率,再利用Viterbi算法,便可以得到一条概率最大路径,即目标词句。
可以理解的是,编码器和概率模型的训练和下发往往周期比较长,不能及时反映用户输入趋势的变化、用户输入场景的变化,且难以应对网络出现的新词和热词。为此,在应用阶段,可以加在多种类型的词典以弥补编码器和概率模型的不足。
其中,该词典也可以称为词库,词库可以包括以下至少一种类型的词库:基础词库、短语词库、用户个人词库、热点词库、各种领域词库,领域词库可以为操作系统领域的词库、人工智能技术领域的词库等。
相应地,作为一种可实现的方式,如图11所示,步骤204包括:
步骤301,从参考词典中获取参考词语。
参考词语包括P个参考字符串指示的P个候选词语,每个参考字符串指示一个候选词语,P个参考字符串包含于字符串序列中,且在字符串序列中的位置连续,其中,P为大于1的整数。
本申请实施例对参考词语的数量不做具体限定,参考词语的数量可以为一个,也可以为多个。
下面通过具体的示例对参考词语进行说明。
具体地,参考字符串为“nuoyafangzhouhenbang”;如图12所示,从参考词典中获取的参考词语可以为,参考字符串“nuoyafangzhou”指示的“诺亚方舟”。
步骤302,基于P个候选词语各自的第一概率,计算参考词语的第四概率。
需要说明的是,计算第四概率的方法有多种,本申请实施例对此不做具体限定。
示例性地,可以将P个候选词语的第一概率的几何平均值,作为参考词语的第四概率。
步骤303,基于第四概率以及字符串序列中除P个参考字符串外的其他字符串指示的每个候选词语的第一概率,生成目标词句。
具体地,可以基于第四概率以及其他字符串指示的每个候选词语的第一概率,计算参考词语与其他字符串指示的候选词语构成的所有第一词语组合的概率;基于各个字符串指示的每个候选词语的第一概率可以得到各个字符串指示的候选词语构成的所有第二词语组合的概率;最后,从所有第一词语组合和所有第二词语组合中选择概率最大的词语组合作为目标词句。
以图9为例,参考词语“诺亚方舟”与字符串“hen”指示的三个候选词语、字符串“bang”指示的三个候选词语构成9种第一词语组合,基于第四概率、字符串“hen”指示的三个候选词语的第一概率、字符串“bang”指示的三个候选词语的第一概率可以计算这9种第一词语组合的概率。
而基于字符串“nuo”、“ya”、“fang”、“zhou”、“hen”和“bang”中的每个字符串都对应三个候选词语,共构成3*3*3*3*3*3种第二词语组合;根据候选词语的第一概率可以计算每种第二词语组合的概率。
最终,从9种第一词语组合和3*3*3*3*3*3种第二词语组合中选择概率最大的词语组合作为目标词句。
可以理解的是,第一词语组合包含于第二词语组合内;由于第一词语组合中包含参考词语,而参考词语包含于参考词典中,所以可以优先选择包含参考词语的词语组合作为目标词句。
具体地,可以在步骤302中设定相应的第四概率的计算方法,使得得到的参考词语的第四概率大于参考词语中各个候选词语的第一概率的乘积,这样就会使得包含参考词语的词语组合的概率变大,从而可以被优先选择。
例如,将P个候选词语的第一概率的几何平均值,作为参考词语的第四概率,则可以保证参考词语的第四概率大于参考词语中P个候选词语的第一概率的乘积。
另外,当参考词语的第四概率大于参考词语中各个候选词语的第一概率的乘积时,在利用第一概率计算第二词语组合的概率时,便可以不计算第一词语组合的概率,仅利用第一概率计算第二词语组合中除第一词语组合外的其他第二词语组合的概率。
在该实施例中,通过增加参考词库弥补编码器和概率模型的不足,从而可以提高目标词句的准确率。
为了进一步提高目标词句的准确率,可以将编码器、参考词库以及Ngram模型三者结合,以生成目标词句。
具体地,作为一种可实现的方式,步骤303包括:
通过Ngram模型,获取字符串序列中除P个参考字符串外其他字符串指示的每个候选词语的第五概率以及参考词语的第五概率;
基于字符串序列中除P个参考字符串外其他字符串指示的每个候选词语的第一概率,第四概率、第五概率以及Viterbi算法,生成目标词句。
需要说明的是,本申请实施例将参考词语中的所有候选词语看成一个整体,这样,就不需要通过Ngram模型计算参考词语内部的候选词语之间的条件概率,仅需通过Ngram模型计算参考词语的第五概率即可;在计算参考词语的第五概率的过程中,可以计算参考词语中排在第一位的候选词语的第五概率,并将排在第一位的候选词语的第五概率作为参考词语的第五概率。
下面通过具体的示例对上述过程进行说明。
例如,仍以图9为例,参考词语为“诺亚方舟”;通过步骤302可以计算“诺亚方舟”的第四概率,通过步骤203可以计算字符串“hen”指示的三个候选词语的第一概率、字符串“bang”指示的三个候选词语的第一概率;接下来,通过Ngram模型计算参考词语中排在第一位的候选词语“诺”的第五概率,并将“诺”的第五概率作为参考词语“诺亚方舟”的第五概率,通过Ngram模型计算字符串“hen”指示的三个候选词语的第五概率、字符串“bang”指示的三个候选词语的第五概率;最终,基于字符串序列中除P个参考字符串外其他字符串指示的每个候选词语的第一概率,第四概率、第五概率以及Viterbi算法便可以得到概率最大的词语组合,并将概率最大的词语组合作为目标词句。
需要说明的是,由于参考词典提供了参考词语,所以在通过Ngram模型计算参考词语后面的候选词语的概率的过程中,若需要用到参考字符串所指示的候选词语,则可以仅考虑参考词语中的候选词语。
具体地,作为一种可实现的方式,目标字符串为字符串序列中排在P个参考字符串之后的字符串。
目标字符串指示的每个候选词语的第五概率是,在Q个候选词语出现的情况下目标字符串指示的候选词语出现的条件概率,其中,Q为正整数,具体是基于不同的Ngram模型确定的。
Q个候选词语包括字符串序列中,排在目标字符串前的Q个连续字符串中的每个字符串指示的一个候选词语,且当Q个字符串包含参考字符串时,Q个候选词语包含参考字符串指示的参考词语中的候选词语。
以图9为例,在计算候选词语“痕”的第五概率的过程中,若Q=1,则“痕”的第五概率表示在候选词语“舟”出现的情况下的条件概率;在计算候选词语“榜”的第五概率的过程中,若Q=2,则“痕”的第五概率表示在候选词语“舟”以及字符串“hen”指示的一个候选词语(例如恨)出现的情况下的条件概率。
请参阅图13,本申请实施例还提供了一种词句生成装置,包括:第一获取单元401,用于获取字符串序列,字符串序列包括M个字符串,每个字符串指示一个或多个候选词语,其中,M为正整数;第一编码单元402,用于根据字符串序列,通过编码器,得到M个第一字符串向量,每个第一字符串向量对应M个字符串中的一个字符串;第二获取单元403,用于基于M个第一字符串向量,获取M个字符串指示的每个候选词语的第一概率;生成单元404,用于基于第一概率,生成目标词句,目标词句包括M个目标词语,每个目标词语为每个字符串指示的一个或多个候选词语中的一个。
作为一种可实现的方式,第一编码单元402,用于根据字符串序列获取M个第一位置向量和M个第二字符串向量,每个第一位置向量表示一个字符串在字符串序列中的位置,每个第二字符串向量表示一个字符串;根据M个第一位置向量和M个第二字符串向量,通过编码器,得到多个第一字符串向量。
作为一种可实现的方式,编码器是基于转换任务训练得到的,转换任务是将样本字符串序列转换成样本词句的任务。
作为一种可实现的方式,第二获取单元403,用于基于M个第一字符串向量,通过概率模型,获取M个字符串指示的每个候选词语的第一概率,概率模型是基于转换任务训练得到的,转换任务是将样本字符串序列转换成样本词句的任务。
作为一种可实现的方式,生成单元404,用于根据字符串序列,通过Ngram模型,获取M个字符串指示的每个候选词语的第三概率;基于第一概率,第三概率以及维特比Viterbi算法,生成目标词句。
作为一种可实现的方式,生成单元404,用于从参考词典中获取参考词语,参考词语包括P个参考字符串指示的P个候选词语,每个参考字符串指示一个候选词语,P个参考字符串包含于字符串序列中,且在字符串序列中的位置连续,其中,P为大于1的整数;基于P个候选词语各自的第一概率,计算参考词语的第四概率;基于第四概率以及字符串序列中除P个参考字符串外的其他字符串指示的每个候选词语的第一概率,生成目标词句。
作为一种可实现的方式,生成单元404,用于通过Ngram模型,获取字符串序列中除P个参考字符串外其他字符串指示的每个候选词语的第五概率,以及参考词语的第五概率;基于字符串序列中除P个参考字符串外其他字符串指示的每个候选词语的第一概率,第四概率、第五概率以及Viterbi算法,生成目标词句。
作为一种可实现的方式,目标字符串为字符串序列中排在P个参考字符串之后的字符串;目标字符串指示的每个候选词语的第五概率是,在Q个候选词语出现的情况下目标字符串指示的候选词语出现的条件概率,Q为正整数;Q个候选词语包括字符串序列中,排在目标字符串前的Q个连续字符串中的每个字符串指示的一个候选词语,且当Q个字符串包含参考字符串时,Q个候选词语包含参考字符串指示的参考词语中的候选词语。
作为一种可实现的方式,该装置还包括提示单元405,用于将目标词句作为首选词句进行提示,首选词句为输入法提示的多个词句中排在第一位的词句。
作为一种可实现的方式,字符串包括一个拼音或多个拼音。
其中,以上各单元的具体实现、相关说明以及技术效果请参考本申请实施例应用阶段的描述。
请参阅图14,本申请实施例还提供了一种模型训练装置,包括:第三获取单元501,用于获取样本字符串序列,样本字符串序列包括K个样本字符串,每个样本字符串指示一个或多个样本候选词语,其中,K为正整数;第二编码单元502,用于根据样本字符串序列,通过编码器,得到K个第一样本字符串向量,每个样本字符串向量对应一个样本字符串;第四获取单元503,用于基于K个第一样本字符串向量,获取K个样本字符串指示的每个样本候选词语的第二概率;调整单元504,用于基于第二概率,对编码器进行调整。
作为一种可实现的方式,第二编码单元502,用于根据样本字符串序列获取K个第二位置向量和K个第二样本字符串向量,每个第二位置向量表示一个样本字符串在样本字符串序列中的位置,每个第二样本字符串向量表示一个样本字符串;根据K个第二位置向量和K个第二样本字符串向量,通过编码器,得到K个第一样本字符串向量。
作为一种可实现的方式,每个样本字符串指示的样本候选词语中包含一个目标样本词语;调整单元504,用于调整编码器的参数,以使得目标样本词语的第二概率增加,和/或以使得除目标样本词语外的其他样本候选词语的第二概率降低。
作为一种可实现的方式,第四获取单元503,用于基于K个第一样本字符串向量,通过概率模型,获取K个样本字符串指示的每个样本候选词语的第二概率;调整单元504,还用于基于第二概率,对概率模型进行调整。
作为一种可实现的方式,每个样本字符串指示的样本候选词语中包含一个目标样本词语;调整单元504,用于调整概率模型的参数,以使得目标样本词语的第二概率增加,和/或以使得除目标样本词语外的其他样本候选词语的第二概率降低。
作为一种可实现的方式,第三获取单元501,用于基于K个目标样本词语获取样本字符串序列中的K个样本字符串。
作为一种可实现的方式,样本字符串包括一个拼音或多个拼音。
其中,以上各单元的具体实现、相关说明以及技术效果请参考本申请实施例训练阶段的描述。
请参阅图15,图15是本申请实施例提供的计算机设备的一种结构示意图,该计算机设备可以是终端设备,也可以是服务器,具体用于实现图13对应实施例中词句生成装置的功能或图14对应实施例中模型训练装置的功能;计算机设备1800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1822(例如,一个或一个以上处理器)和存储器1832,一个或一个以上存储应用程序1842或数据1844的存储介质1830(例如一个或一个以上海量存储设备)。其中,存储器1832和存储介质1830可以是短暂存储或持久存储。存储在存储介质1830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备中的一系列指令操作。更进一步地,中央处理器1822可以设置为与存储介质1830通信,在计算机设备1800上执行存储介质1830中的一系列指令操作。
计算机设备1800还可以包括一个或一个以上电源1826,一个或一个以上有线或无线网络接口1850,一个或一个以上输入输出接口1858,和/或,一个或一个以上操作系统1841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器1822,可以用于执行图13对应实施例中词句生成装置执行的检索方法。具体的,中央处理器1822,可以用于:
获取字符串序列,字符串序列包括M个字符串,每个字符串指示一个或多个候选词语,其中,M为正整数;
根据字符串序列,通过编码器,得到M个第一字符串向量,每个第一字符串向量对应M个字符串中的一个字符串;
基于M个第一字符串向量,获取M个字符串指示的每个候选词语的第一概率;
基于第一概率,生成目标词句,目标词句包括M个目标词语,每个目标词语为每个字符串指示的一个或多个候选词语中的一个。
本申请实施例中,中央处理器1822,可以用于执行图14对应实施例中模型训练装置执行的模型训练方法。具体的,中央处理器1822,可以用于:
获取样本字符串序列,样本字符串序列包括K个样本字符串,每个样本字符串指示一个或多个样本候选词语,其中,K为正整数;
根据样本字符串序列,通过编码器,得到K个第一样本字符串向量,每个样本字符串向量对应一个样本字符串;
基于K个第一样本字符串向量,获取K个样本字符串指示的每个样本候选词语的第二概率;
基于第二概率,对编码器进行调整。
本申请实施例还提供一种芯片,包括一个或多个处理器。所述处理器中的部分或全部用于读取并执行存储器中存储的计算机程序,以执行前述各实施例的方法。
可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。
在一些实现方式中,所述一个或多个处理器中还可以有部分处理器是通过专用硬件的方式来实现以上方法中的部分步骤,例如涉及神经网络模型的处理可以由专用神经网络处理器或图形处理器来实现。
本申请实施例提供的方法可以由一个芯片实现,也可以由多个芯片协同实现。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为上述计算机设备所用的计算机软件指令,其包括用于执行为计算机设备所设计的程序。
该计算机设备可以如前述图13对应实施例中词句生成装置或图14对应实施例中模型训练装置。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现前述各个实施例所示的方法中的流程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (23)
1.一种词句生成方法,其特征在于,包括:
获取字符串序列,所述字符串序列包括M个字符串,每个所述字符串指示一个或多个候选词语,其中,M为正整数;
根据所述字符串序列,通过编码器,得到M个第一字符串向量,每个所述第一字符串向量对应所述M个字符串中的一个字符串;
基于所述M个第一字符串向量,获取所述M个字符串指示的每个候选词语的第一概率;
基于所述第一概率,生成目标词句,所述目标词句包括M个目标词语,每个所述目标词语为所述每个字符串指示的一个或多个候选词语中的一个。
2.根据权利要求1所述的方法,其特征在于,所述根据所述字符串序列,通过编码器,得到M个第一字符串向量包括:
根据所述字符串序列获取M个第一位置向量和M个第二字符串向量,每个所述第一位置向量表示一个所述字符串在所述字符串序列中的位置,每个所述第二字符串向量表示一个所述字符串;
根据所述M个第一位置向量和所述M个第二字符串向量,通过编码器,得到所述多个第一字符串向量。
3.根据权利要求1或2所述的方法,其特征在于,所述编码器是基于转换任务训练得到的,所述转换任务是将样本字符串序列转换成样本词句的任务。
4.根据权利要求1至3中任意一项所述方法,其特征在于,所述基于所述M个第一字符串向量,获取所述M个字符串指示的每个候选词语的第一概率包括:
基于所述M个第一字符串向量,通过概率模型,获取所述M个字符串指示的每个候选词语的第一概率,所述概率模型是基于转换任务训练得到的,所述转换任务是将样本字符串序列转换成样本词句的任务。
5.根据权利要求1至4中任意一项所述方法,其特征在于,所述基于所述第一概率,生成目标词句包括:
根据所述字符串序列,通过Ngram模型,获取所述M个字符串指示的每个候选词语的第三概率;
基于所述第一概率,所述第三概率以及维特比Viterbi算法,生成目标词句。
6.根据权利要求1至4中任意一项所述方法,其特征在于,所述基于所述第一概率,生成目标词句包括:
从参考词典中获取参考词语,所述参考词语包括P个参考字符串指示的P个候选词语,每个所述参考字符串指示一个所述候选词语,所述P个参考字符串包含于所述字符串序列中,且在所述字符串序列中的位置连续,其中,P为大于1的整数;
基于所述P个候选词语各自的第一概率,计算所述参考词语的第四概率;
基于所述第四概率以及所述字符串序列中除所述P个参考字符串外的其他字符串指示的每个候选词语的第一概率,生成目标词句。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第四概率以及所述字符串序列中除所述P个参考字符串外的其他字符串指示的每个候选词语的第一概率,生成目标词句包括:
通过Ngram模型,获取所述字符串序列中除所述P个参考字符串外其他字符串指示的每个候选词语的第五概率,以及所述参考词语的第五概率;
基于所述字符串序列中除所述P个参考字符串外其他字符串指示的每个候选词语的第一概率,所述第四概率、所述第五概率以及Viterbi算法,生成目标词句。
8.根据权利要求7所述的方法,其特征在于,目标字符串为所述字符串序列中排在所述P个参考字符串之后的字符串;
所述目标字符串指示的每个候选词语的第五概率是,在Q个候选词语出现的情况下所述目标字符串指示的候选词语出现的条件概率,Q为正整数;
所述Q个候选词语包括所述字符串序列中,排在所述目标字符串前的Q个连续字符串中的每个字符串指示的一个候选词语,且当所述Q个字符串包含所述参考字符串时,所述Q个候选词语包含所述参考字符串指示的所述参考词语中的候选词语。
9.根据权利要求1至8中任意一项所述方法,其特征在于,在所述基于所述第一概率,生成目标词句之后,所述方法还包括:将所述目标词句作为首选词句进行提示,所述首选词句为输入法提示的多个词句中排在第一位的词句。
10.根据权利要求1至9中任意一项所述方法,其特征在于,所述字符串包括一个拼音或多个拼音。
11.一种模型训练方法,其特征在于,包括:
获取样本字符串序列,所述样本字符串序列包括K个样本字符串,每个所述样本字符串指示一个或多个样本候选词语,其中,K为正整数;
根据所述样本字符串序列,通过编码器,得到K个第一样本字符串向量,每个所述样本字符串向量对应一个所述样本字符串;
基于所述K个第一样本字符串向量,获取所述K个样本字符串指示的每个样本候选词语的第二概率;
基于所述第二概率,对所述编码器进行调整。
12.根据权利要求11所述的方法,其特征在于,所述根据样本字符串序列,通过编码器,得到K个第一样本字符串向量包括:
根据所述样本字符串序列获取K个第二位置向量和K个第二样本字符串向量,每个所述第二位置向量表示一个所述样本字符串在所述样本字符串序列中的位置,每个所述第二样本字符串向量表示一个所述样本字符串;
根据所述K个第二位置向量和所述K个第二样本字符串向量,通过编码器,得到所述K个第一样本字符串向量。
13.根据权利要求11或12所述的方法,其特征在于,每个所述样本字符串指示的样本候选词语中包含一个目标样本词语;
所述基于所述第二概率,对所述编码器进行调整包括:
调整所述编码器的参数,以使得所述目标样本词语的第二概率增加,和/或以使得除所述目标样本词语外的其他样本候选词语的第二概率降低。
14.根据权利要求11至13中任意一项所述方法,其特征在于,所述基于所述K个第一样本字符串向量,获取所述K个样本字符串指示的每个样本候选词语的第二概率包括:
基于所述K个第一样本字符串向量,通过概率模型,获取所述K个样本字符串指示的每个样本候选词语的第二概率;
在所述基于所述K个第一样本字符串向量,获取所述K个样本字符串指示的每个样本候选词语的第二概率之后,所述方法还包括:
基于所述第二概率,对所述概率模型进行调整。
15.根据权利要求14所述的方法,其特征在于,每个所述样本字符串指示的样本候选词语中包含一个目标样本词语;
所述基于所述第二概率,对所述概率模型进行调整包括:
调整所述概率模型的参数,以使得所述目标样本词语的第二概率增加,和/或以使得除所述目标样本词语外的其他样本候选词语的第二概率降低。
16.根据权利要求11至15中任意一项所述方法,其特征在于,所述获取样本字符串序列包括:
基于K个目标样本词语获取所述样本字符串序列中的K个样本字符串。
17.根据权利要求11至16中任意一项所述方法,其特征在于,所述样本字符串包括一个拼音或多个拼音。
18.一种词句生成装置,其特征在于,包括:
第一获取单元,用于获取字符串序列,所述字符串序列包括M个字符串,每个所述字符串指示一个或多个候选词语,其中,M为正整数;
第一编码单元,用于根据所述字符串序列,通过编码器,得到M个第一字符串向量,每个所述第一字符串向量对应所述M个字符串中的一个字符串;
第二获取单元,用于基于所述M个第一字符串向量,获取所述M个字符串指示的每个候选词语的第一概率;
生成单元,用于基于所述第一概率,生成目标词句,所述目标词句包括M个目标词语,每个所述目标词语为所述每个字符串指示的一个或多个候选词语中的一个。
19.一种模型训练装置,其特征在于,包括:
第三获取单元,用于获取样本字符串序列,所述样本字符串序列包括K个样本字符串,每个所述样本字符串指示一个或多个样本候选词语,其中,K为正整数;
第二编码单元,用于根据所述样本字符串序列,通过编码器,得到K个第一样本字符串向量,每个所述样本字符串向量对应一个所述样本字符串;
第四获取单元,用于基于所述K个第一样本字符串向量,获取所述K个样本字符串指示的每个样本候选词语的第二概率;
调整单元,用于基于所述第二概率,对所述编码器进行调整。
20.一种计算机设备,其特征在于,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;
所述一个或多个处理器读取所述计算机可读指令,以使所述训练设备实现如权利要求1至10中任一项所述的方法。
21.一种训练设备,其特征在于,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;
所述一个或多个处理器读取所述计算机可读指令,以使所述计算机设备实现如权利要求11至17中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1至17中任一项所述的方法。
23.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1至17中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110775982.1A CN113655893B (zh) | 2021-07-08 | 2021-07-08 | 一种词句生成方法、模型训练方法及相关设备 |
PCT/CN2022/104334 WO2023280265A1 (zh) | 2021-07-08 | 2022-07-07 | 一种词句生成方法、模型训练方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110775982.1A CN113655893B (zh) | 2021-07-08 | 2021-07-08 | 一种词句生成方法、模型训练方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113655893A true CN113655893A (zh) | 2021-11-16 |
CN113655893B CN113655893B (zh) | 2024-06-18 |
Family
ID=78489258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110775982.1A Active CN113655893B (zh) | 2021-07-08 | 2021-07-08 | 一种词句生成方法、模型训练方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113655893B (zh) |
WO (1) | WO2023280265A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114915A (zh) * | 2022-05-25 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 短语识别方法、装置、设备和介质 |
WO2023280265A1 (zh) * | 2021-07-08 | 2023-01-12 | 华为技术有限公司 | 一种词句生成方法、模型训练方法及相关设备 |
WO2023116572A1 (zh) * | 2021-12-21 | 2023-06-29 | 华为技术有限公司 | 一种词句生成方法及相关设备 |
CN117408650A (zh) * | 2023-12-15 | 2024-01-16 | 辽宁省网联数字科技产业有限公司 | 基于人工智能的数字化招标文件制作和评估系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071342A (zh) * | 2007-06-01 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 在输入法中提供候选整句的方法及文字输入系统 |
CN110569505A (zh) * | 2019-09-04 | 2019-12-13 | 平顶山学院 | 一种文本输入方法及装置 |
CN110673748A (zh) * | 2019-09-27 | 2020-01-10 | 北京百度网讯科技有限公司 | 输入法中候选长句的提供方法及装置 |
CN112506359A (zh) * | 2020-12-21 | 2021-03-16 | 北京百度网讯科技有限公司 | 输入法中候选长句的提供方法、装置及电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678560B (zh) * | 2017-08-31 | 2021-10-08 | 科大讯飞股份有限公司 | 输入法的候选结果生成方法及装置、存储介质、电子设备 |
CN108549637A (zh) * | 2018-04-19 | 2018-09-18 | 京东方科技集团股份有限公司 | 基于拼音的语义识别方法、装置以及人机对话系统 |
CN110874145A (zh) * | 2018-08-30 | 2020-03-10 | 北京搜狗科技发展有限公司 | 一种输入方法、装置及电子设备 |
CN109739370B (zh) * | 2019-01-10 | 2019-09-03 | 北京帝派智能科技有限公司 | 一种语言模型训练方法、汉语拼音输入方法及装置 |
CN110286778B (zh) * | 2019-06-27 | 2023-08-15 | 北京金山安全软件有限公司 | 一种中文深度学习输入法、装置及电子设备 |
CN111967248A (zh) * | 2020-07-09 | 2020-11-20 | 深圳价值在线信息科技股份有限公司 | 拼音识别方法、装置、终端设备及计算机可读存储介质 |
CN113655893B (zh) * | 2021-07-08 | 2024-06-18 | 华为技术有限公司 | 一种词句生成方法、模型训练方法及相关设备 |
-
2021
- 2021-07-08 CN CN202110775982.1A patent/CN113655893B/zh active Active
-
2022
- 2022-07-07 WO PCT/CN2022/104334 patent/WO2023280265A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071342A (zh) * | 2007-06-01 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 在输入法中提供候选整句的方法及文字输入系统 |
CN110569505A (zh) * | 2019-09-04 | 2019-12-13 | 平顶山学院 | 一种文本输入方法及装置 |
CN110673748A (zh) * | 2019-09-27 | 2020-01-10 | 北京百度网讯科技有限公司 | 输入法中候选长句的提供方法及装置 |
CN112506359A (zh) * | 2020-12-21 | 2021-03-16 | 北京百度网讯科技有限公司 | 输入法中候选长句的提供方法、装置及电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023280265A1 (zh) * | 2021-07-08 | 2023-01-12 | 华为技术有限公司 | 一种词句生成方法、模型训练方法及相关设备 |
WO2023116572A1 (zh) * | 2021-12-21 | 2023-06-29 | 华为技术有限公司 | 一种词句生成方法及相关设备 |
CN115114915A (zh) * | 2022-05-25 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 短语识别方法、装置、设备和介质 |
CN115114915B (zh) * | 2022-05-25 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 短语识别方法、装置、设备和介质 |
CN117408650A (zh) * | 2023-12-15 | 2024-01-16 | 辽宁省网联数字科技产业有限公司 | 基于人工智能的数字化招标文件制作和评估系统 |
CN117408650B (zh) * | 2023-12-15 | 2024-03-08 | 辽宁省网联数字科技产业有限公司 | 基于人工智能的数字化招标文件制作和评估系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2023280265A1 (zh) | 2023-01-12 |
CN113655893B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210306B2 (en) | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
US11741109B2 (en) | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
JP6929466B2 (ja) | 音声認識システム | |
CN110851604B (zh) | 一种文本分类方法、装置、电子设备及存储介质 | |
CN109887484B (zh) | 一种基于对偶学习的语音识别与语音合成方法及装置 | |
CN113655893A (zh) | 一种词句生成方法、模型训练方法及相关设备 | |
CN111783462A (zh) | 基于双神经网络融合的中文命名实体识别模型及方法 | |
CN111401084B (zh) | 一种机器翻译的方法、设备以及计算机可读存储介质 | |
WO2022121166A1 (zh) | 多音字发音的预测方法、装置、设备及存储介质 | |
CN110619034A (zh) | 基于Transformer模型的文本关键词生成方法 | |
CN113053367B (zh) | 语音识别方法、语音识别的模型训练方法以及装置 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
Li et al. | Bi-directional lattice recurrent neural networks for confidence estimation | |
CN111859991A (zh) | 语言翻译处理模型训练方法和语言翻译处理方法 | |
CN115497465B (zh) | 语音交互方法、装置、电子设备和存储介质 | |
KR20240089276A (ko) | 다중 언어 자동 스피치 인식을 위한 공동 비지도 및 지도 트레이닝 | |
CN109308316A (zh) | 一种基于主题聚类的自适应对话生成系统 | |
CN113177113B (zh) | 任务型对话模型预训练方法、装置、设备及存储介质 | |
CN116932686B (zh) | 主题挖掘方法、装置、电子设备及存储介质 | |
CN114330327A (zh) | 语言模型预训练方法和装置,计算机存储介质和电子设备 | |
CN115204181A (zh) | 文本检测方法、装置、电子设备以及计算机可读存储介质 | |
CN115688748A (zh) | 问句纠错方法、装置、电子设备及存储介质 | |
CN111159339A (zh) | 一种文本匹配处理方法和装置 | |
KR102510645B1 (ko) | 한글 단어 임베딩에서의 어휘 밖 단어표현을 처리하기 위한 방법, 이를 수행하기 위한 기록 매체 및 시스템 | |
CN114676684B (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 | ||
GR01 | Patent grant |