CN113672708B - 语言模型训练方法、问答对生成方法、装置及设备 - Google Patents
语言模型训练方法、问答对生成方法、装置及设备 Download PDFInfo
- Publication number
- CN113672708B CN113672708B CN202010400998.XA CN202010400998A CN113672708B CN 113672708 B CN113672708 B CN 113672708B CN 202010400998 A CN202010400998 A CN 202010400998A CN 113672708 B CN113672708 B CN 113672708B
- Authority
- CN
- China
- Prior art keywords
- question
- answer
- training
- text
- vector
- 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.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 241
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 24
- 239000013598 vector Substances 0.000 claims description 227
- 230000006870 function Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 29
- 230000010365 information processing Effects 0.000 abstract description 2
- 238000003058 natural language processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 241001122767 Theaceae Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本申请适用于信息处理技术领域,提供了一种语言模型训练方法、问答对生成方法、装置及设备。语言模型训练方法包括获取训练文本;根据训练文本生成多个训练文本序列;其中,每个训练文本序列包括所述训练文本、包含在训练文本中的答案文本以及对应答案文本的问题文本;将每个训练文本序列中的训练文本和答案文本作为特征,将每个训练文本序列中的问题文本作为标签,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型。基于该语言模型训练方法得到的目标语言模型时,适用于根据答案预测获得答案对应的问题的应用场景。
Description
技术领域
本申请属于信息处理技术领域,尤其涉及一种语言模型训练方法、问答对生成方法、装置及设备。
背景技术
自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向,他能通过自然语言实现人与计算机之间的交互。语言模型训练作为自然语言处理的核心方法之一,广泛应用在智能问答任务、课堂辅助教学任务或者售后服务任务等多种NLP任务中。
当前NLP任务中的语言模型训练通常是对训练文本中上下文中的词进行编码,然后基于上下文的语义信息,从训练文本中识别出目标词的起始位置和结束问题,获得目标词。
可知,上述语言模型训练方法中目标词均来源于训练文本,因此该语言模型训练方法适用于根据问题预测答案(包含在训练文本中)的应用场景,而不能适用于根据真实答案推理问题(不包含在训练文本中)的应用场景。
发明内容
有鉴于此,本申请实施例提供了一种语言模型训练方法、装置及设备,以解决基于现有技术训练获得的语言模型无法满足根据答案预测答案对应的问题的需求。
第一方面,本申请实施例提供了一种语言模型训练方法,包括:
获取训练文本;
根据训练文本生成多个训练文本序列;其中,每个训练文本序列包括训练文本、包含在训练文本中的答案文本以及对应答案文本的问题文本;
将每个训练文本序列中的训练文本和答案文本作为特征,将每个训练文本序列中的问题文本作为标签,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型。
在第一方面的一种可能的实现方式中,将每个训练文本序列中的训练文本和答案文本作为特征,将每个训练文本序列中的问题文本作为标签,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型,包括:
针对每个训练文本序列,根据预设词典对训练文本序列进行编码,生成训练文本序列对应的多维向量;其中,多维向量包括训练文本对应的第一向量、答案文本对应的第二向量以及问题文本对应的第三向量;
将多维向量的第一向量和多维向量第二向量进行拼接,生成多维向量的第四向量;
将多维向量的第四向量作为特征,将多维向量的第三向量作为标签,生成多维向量对应的训练向量;
将多个训练向量作为输入,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型。
在第一方面的一种可能的实现方式中,将多个训练向量作为输入,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型,包括:
针对每个训练向量,对训练向量的标签进行掩码替换,生成掩码后的训练向量;
将掩码后的训练向量输入语言模型进行处理,获得训练向量的标签的预测值在预设词典上的概率分布;
根据训练向量的标签以及概率分布,确定交叉熵函数的值;
在交叉熵函数的值不满足预设条件时,更新语言模型的参数,并返回执行针对每个训练向量,对训练向量的标签进行掩码替换,生成掩码后的训练向量的步骤,直至交叉熵函数的值达到预设条件;
保存当前语言模型的模型参数,生成已训练的目标语言模型。
第二方面,本申请实施例提供了一种问答对生成方法,包括:
获取待解析的文本信息;
根据文本信息生成候选答案集;候选答案集包含至少一个候选答案;
将文本信息和候选答案集输入目标语言模型进行处理,获得候选答案集中每个候选答案各自分别对应的问题,并根据每个候选答案各自分别对应的问题生成问题集;
根据文本信息和问题集,获得问题集中每个问题各自分别对应的预测答案;
针对问题集中的每个问题,将问题对应的候选答案与问题对应的预测答案进行语义相似度比较,并根据比较结果生成问答对。
在第二方面的一种可能的实现方式中,将文本信息和候选答案集输入目标语言模型进行处理,获得候选答案集中每个候选答案各自分别对应的问题,包括:
针对候选答案集中每一个候选答案,将文本信息和候选答案组合生成一个待预测文本序列;
对待预测文本序列进行编码,生成对应的待预测数组向量;
将待预测数组向量输入目标语言模型,确定待预测数组向量对应的预测值;
若预测值与预设终止值不匹配,则将待预测数组向量与预测值进行拼接处理,生成拼接后的数组向量;并将拼接后的数组向量作为待预测数组向量,返回执行将待预测数组向量输入目标语言模型,确定待预测数组向量对应的预测值的步骤,直至当前的预测值与预设终止值相匹配;
对当前的待预测数组向量和当前的预测值进行拼接处理,生成目标数组向量;
对目标数组向量进行解码,生成候选答案对应的问题。
在第二方面的一种可能的实现方式中,针对问题集中的每个问题,将问题对应的候选答案与问题对应的预测答案进行语义相似度比较,并根据比较结果生成问答对,包括:
针对问题集中的每个问题,计算获得问题对应的候选答案与问题对应的预测答案的语义相似度;
在语义相似度小于预设阈值的情况下,删除问题以及问题对应的预测答案;
在语义相似度大于或等于预设阈值的情况下,将问题和问题对应的候选答案组合生成问答对。
在第二方面的一种可能的实现方式中,根据文本信息生成候选答案集包括:
将文本信息划分为多个自然句;
针对多个自然句中的每个自然句,从自然句中提取实体词,生成自然句的实体词向量;
根据多个自然句以及多个自然句中每个自然句的实体词向量,生成层次化候选答案集。
在第二方面的一种可能的实现方式中,问答对生成方法还包括:
针对层次化候选答案集中的每一个候选答案,在多个问答对中查找是否存在候选答案;
若多个问答对不存在候选答案,则将候选答案从层次化候选答案集中删除;
若多个问答对存在候选答案,则将候选答案对应的问题添加至层次化候选答案集中候选答案的对应位置,生成层次化的问答对集。
第三方面,本申请实施例提供了一种语言模型训练装置,包括:
第一获取模块,用于获取训练文本;
第一生成模块,用于根据训练文本中生成多个训练文本序列;其中,每个训练文本序列包括训练文本、包含在训练文本中的答案文本以及对应答案文本的问题文本;
训练模块,用于将每个训练文本序列中的训练文本和答案文本作为特征,将每个训练文本序列中的答案文本作为标签,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型。
第四方面,本申请实施例提供了一种问答对生成装置,包括:
第二获取模块,用于获取待解析的文本信息;
比较模块,用于根据文本信息生成候选答案集;候选答案集包含至少一个候选答案;
处理模块,用于将文本信息和候选答案集输入目标语言模型进行处理,获得候选答案集中每个候选答案各自分别对应的问题;并根据每个候选答案各自分别对应的问题生成问题集;
预测模块,用于根据文本信息和问题集,获得问题集中每个问题各自分别对应的预测答案;
比较模块,用于针对问题集中的每个问题,将问题的候选答案与问题的预测答案进行语义相似度比较,并根据比较结果生成目标问答对。
第五方面,本申请实施例提供了一种语言模型训练设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面任一项方法的步骤。
第六方面,本申请实施例提供了一种问答对生成设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第二方面任一项方法的步骤。
第七方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一项方法的步骤。
第八方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第二方面任一项方法的步骤。
第九方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项的方法。
第十方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第二方面中任一项的方法。
本申请实施例提供的语言模型训练方法,基于有监督学习算法对语言模型进行训练,该监督任务的输入为文本内容和包含在文本内容的答案,输出答案对应的问题。使用基于该训练方法得到的目标语言模型时,只需要输入文本内容和包含在该文本内容的答案,即可以生成答案的问题,输出的问题可以不包含在文本内容中,适用于根据答案预测获得答案对应的问题的应用场景。
另一方面,还可以根据目标语言模型的应用领域确定训练文本,以使得已训练后的目标语言模型预测准确度更高。
可以理解的是,上述第三、五、七、九方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例提供的问答对生成方法,基于待解析的文本信息直接获取候选答案集,候选答案集每个候选答案基于文本信息直接获取,而不是预测生成,故每个候选答案均语义清晰,且不存在语法错误。
在获得候选答案集中,将候选答案集和文本信息输入目标语言模型,获得候选答案集中每个候选答案对应的问题,生成问题集;然后预测获得问题集中各个问题分别对应的预测答案;最后针对问题集中的每个问题,将该问题对应的候选答案和预测答案进行语义相似度比较,并根据比较结果对预测答案进行筛选,使得保留的预测答案与对应的候选答案语义相似度高,即保留的预测答案语义较为清晰且不存在语法错误。
由于预测答案由问题预测获得,当预测答案语义较为清晰且不存在语法错误时,可以确定该预测答案对应的问题的语义较为清晰也不存在语法错误;故根据该问题生成的问答对语义清晰,不存在语法错误。
本申请实施例提供的问答对生成方法,通过将对应的候选答案和预测答案进行语义相似度比较,实现了预测答案的筛选,进而实现了对推理获得的问题的筛选,极大地降低了问答对中问题或答案中语义不清晰/存在语法错误的问题,提高了问答对的质量。
可以理解的是,上述第四、六、八、十方面的有益效果可以参见上述第二方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的语言模型训练方法的流程示意图;
图2是本申请一实施例提供的生成目标语言模型的流程示意图;
图3是本申请一实施例提供的问答对生成方法的流程示意图;
图4是本申请一实施例提供的获取候选答案对应的问题的流程示意图;
图5是本申请一实施例提供的生成层次化候选答案集的流程示意图;
图6是本申请一实施例提供的生成层次化问答对集的流程示意图;
图7是本申请一实施例提供的语言模型训练装置的结构示意图;
图8是本申请一实施例提供的问答对生成装置的结构示意图;
图9是本申请一实施例提供的语言模型训练设备的硬件组成示意图。
图10是本申请一实施例提供的问答对生成设备的硬件组成示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行示例性说明。值得说明的是,下文中列举的具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请一实施例提供的语言模型训练方法的流程示意图,本实施例的执行主体为语言模型训练设备;语言模型训练设备包括但不限于智能手机、平板电脑、可穿戴设备等移动终端,还可以是台式电脑、机器人、服务器等。如图1所示的语言模型训练方法可包括:
S11、获取训练文本。
本实施例中,训练文本可以是指经过科学取样和加工的大规模文本序列库。具体地,可以根据语言模型训练的应用领域,获取训练文本。
例如,若语言模型训练设备应用于机器教学,用于自动生成阅读理解题型的题目和答案。则可以预先通过课程资料整理和专家咨询、收集面向对象课程的专业术语、关键词和课程问题等领域相关信息,以这些信息为检索基础,获取训练文本,以提高该训练文本的针对性。
其中,训练文本可以包括多个的文章文本,每个文章文本中可以包括一个或者多个句子。例如,训练文本可以为初中语文课文中所有的文章。
应理解的是,在一种实施方式中,可以获取多个文章文本,每个文章文本都可以作为一个训练文本。
S12、根据训练文本生成多个训练文本序列。
本实施例中,每个训练文本序列包括训练文本、包含在训练文本中的答案文本以及对应答案文本的问题文本。
其中,答案文本以及对应答案的问题文本为对训练文本预先进行分析获得的。
在一种实施方式中,训练文本可以包括大量文章文本,每个文章文本包括一个或多个句子。
在训练模型之前,针对每个文章文本,基于该文章文本提取多个问题,生成多个问题文本,其中,上述所有问题文本对应的真实答案均可以在该文章文本中查找获得。然后将每个问题和各问题各自对应的答案构成确定的问答对。
示例性的,可以通过爬虫爬取的方式获得已知文章文本中的多个确定问答对,例如,爬取百度问答。
可选地,基于该文章文本提取的多个问题可以不包含在文章文本中,例如,针对语言训练设备的应用领域设置该领域中的通用问题,仅需保障该通用问题的真实答案可以在文章文本中获得即可。
示例性的,若语言训练设备应用课堂辅助教学,则通用的问题可以为“本文主旨是什么?”“本文的主人公是谁?”等。
在获得文章文本中多个确定的问答对后,针对每个问答对,将该文章文本,问答对中答案文本以及问答对的问题文本组合生成一个训练文本序列。例如,可以按照文章文本、答案文本和问题文本的顺序进行组合,并在文章文本、答案文本和问题文本之间添加标识符。
可选地,可以将文章文本-答案文本-问题文本按照如下的形式<bos>文章文本<answer_text>答案文本<question_text>问题文本<eos>进行组合,生成训练文本序列Z。
其中,<bos>、<answer_text>、<question_text>以及<eos>均为预设的标识符号,<bos>表示句首,<eos>表示句末,<answer_text>标示答案文本,<question_text>表示问题文本。
示例性的,文章文本为朱自清的《背影》,基于《背影》提取获得的多个问答对可以为问题1“我跟父亲回家做什么?”、答案1“为祖母奔丧”;问题2“父亲为什么决定自己去送我?”、答案2“担心茶房不妥贴”;问题3“父亲是去帮我买什么?”、答案3“橘子”。
然后针对上述每个问答对,将文章文本-答案文本-问题文本组合生成一个训练文本序列。其中,获得三个训练文本序列分别为:
训练文本序列Z1:<bos>“背影”<answer_text>为祖母奔丧<question_text>我跟父亲回家做什么<eos>;
训练文本序列Z2:<bos>“背影”<answer_text>担心茶房不妥贴<question_text>父亲为什么决定自己去送我<eos>;
训练文本序列Z3:<bos>“背影”<answer_text>橘子<question_text>父亲是去帮我买什么<eos>;
应理解的是,训练文本序列中“背影”具体是指文章文本《背影》中的文本内容。
在另一种实施方式中,训练文本可以为一篇完整的文章文本,则每个训练文本序列包括训练文本,答案文本以及对应答案文本的问题文本。
S13、将每个训练文本序列中的训练文本和答案文本作为特征,将每个训练文本序列中的问题文本作为标签,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型。
本实施例中,基于有监督的学习算法对语言模型进行训练。其中,有监督的学习算法中的训练样本需要包括输入和输出,即特征和标签。
本实施例中,将每个训练文本序列中的训练文本和答案文本作为特征,将每个训练文本序列中的问题文本作为标签。
示例性的,确定每个训练文本序列的标签和特征的过程可以包括::
步骤A1:针对每个训练文本序列,根据预设词典对训练文本序列进行编码,生成训练文本序列对应的多维向量;其中,多维向量包括训练文本对应的第一向量、答案文本对应的第二向量以及问题文本对应的第三向量。
本步骤中,预设词典用于对训练文本序列进行编码。可选地,预设词典可以包含标准的现代汉语语料库中所有单词、面向对象课程的领域关键词以及专业术语;预设词典还可以包括上述所有单词各自分别的数值。应理解的是,预设词典中每个单词对应的数值一般不相同。
可选地,可以设置预设词典的更新频率,定期添加面向对象课程的领域关键词以及专业术语至预设词典。
应理解的是,预设词典中还包括了预设标识符,例如<bos>、<answer_text>、<question_text>以及<eos>各自对应的数值。
本步骤中,根据预设词典对训练文本序列进行编码,可以是指针对每个训练文本序列,将该训练文本序列中每个单词映射为预设词典中对应的数值,获得该训练文本序列对应的多维向量。
其中,每个多维向量可以包括训练文本对应的第一向量、答案文本对应的第二向量以及问题文本对应的第三向量。
可以理解的是,编码得到的多维向量表征了训练文本序列的全部语义信息,其中第二向量表征了训练文本序列中答案文本的全部语义信息,第三向量表征训练文本序列中问题文本的全部语义信息。采用向量表征语义信息时,当两个向量在空间上的距离很近时,那么他们对应的文本语义内容也相似。
步骤A2:将多维向量的第一向量和多维向量第二向量进行拼接,生成多维向量的第四向量。
步骤A3:将多维向量的第四向量作为特征,将多维向量的第三向量作为标签,生成多维向量对应的训练向量。
本实施例中,在获得多个训练向量之后,将多个训练向量作为输入,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型。
例如,可以将将多个训练向量作为输入语言模型,计算获得损失函数的值,并根据损失函数的值来调整语言模型的参数;在损失函数的值达到预设条件,例如低于第一预设阈值时,模型迭代完毕,保存当前的语言模型的参数得到已训练的目标语言模型。其中第一预设阈值为用户预先设置的门限值。
其中,损失函数的值根据语言模型预测获得的预测值和训练数组中的第三向量值之间的差异确定。
本申请实施例提供的语言模型训练方法,基于有监督学习算法对语言模型进行训练,该监督任务的输入为文本内容和包含在文本内容的答案,输出答案对应的问题。使用基于该训练方法得到的目标语言模型时,只需要输入文本内容和包含在该文本内容的答案,即可以生成答案的问题,输出的问题可以不包含在文本内容中,适用于根据答案预测获得答案对应的问题的应用场景。
另一方面,还可以根据目标语言模型的应用领域确定训练文本,以使得已训练后的目标语言模型预测准确度更高。
图2是本申请一实施例提供的生成目标语言模型的流程示意图。描述了图1实施例中步骤13中在获得多个训练向量后,生成目标语言模型的一种可行实施方式。如图2所示,将多个训练向量作为输入,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型,包括:
S131、针对每个训练向量,对训练向量的标签进行掩码替换,生成掩码后的训练向量。
每个训练向量的组成结构均相同,均包含为训练文本对应的第一向量、答案文本对应的第二向量以及问题文本对应的第三向量,且组合方式均为第一向量+第二向量+第三向量。
其中,训练向量的标签为问题文本对应的第三向量。
在一些实施方式中,训练文本序列Z按照如下的形式:<bos>文章文本<answer_text>答案文本<question_text>问题文本<eos>进行组合,则根据该训练文本序列编码得到的训练向量的第三向量的起始值为<question_text>对应的数值x,终止值为<eos>对应的数值y。因此,对训练向量的标签进行掩码替换,具体可以为将训练数组中x和y之间的数值进行掩码替换,获得掩码后的训练向量Y。
S132、将掩码后的训练向量输入语言模型进行处理,获得训练向量的标签的预测值在预设词典上的概率分布。
语言模型通常构建为一个单词序列上的概率分布,对于一个给定长度为m的序列,它可以为整个序列产生一个概率P(w_1,w_2,…,w_m),用于表征序列中每个单词出现的概率。
本实施例中预设词典与图1实施例中预设词典相同。
示例性的,掩码后的训练数组可以为Y,则Y作为输入,经过语言模型的前向传播,预测得到的下一个单词在预设词典上的概率分布,即下一个单词为预设词典上每个单词的概率。
S133、根据训练向量的标签以及概率分布,确定交叉熵函数的值。
本实施例中,语言模型的损失函数可以为交叉熵函数,交叉熵函数的值即为损失函数的值。
本实施例中,每个训练向量中文章文本对应的第一数组向量和答案文本对应的第二数组向量作为特征(输入),将每个训练向量中的问题文本对应的数组向量作为标签(输出),由于输入数据和输出已经确定,可知真实的概率分布已经确定。
可以根据真实概率分布和预测得到的概率分布之间的差异确定交叉熵函数的值,以根据交叉熵函数的值进行语言模型的参数的更新。
应理解的是,交叉熵函数的值越小,则表示预测的结果越好。
S134、在交叉熵函数的值不满足预设条件时,更新语言模型的参数,并返回执行针对每个训练向量,对训练向量的标签进行掩码替换,生成掩码后的训练向量的步骤,直至交叉熵函数的值达到预设条件。
其中,预设条件可以为交叉熵函数的值小于等于第二预设阈值或者相邻两次的交叉熵函数的值之间的差值小于第三预设阈值等其中一项。
本实施例中,可以根据Adam优化器对语言模型的参数进行更新。
S135、保存当前语言模型的模型参数,生成已训练的目标语言模型。
在交叉熵函数值达到预设条件时,保存当前语言模型的模型参数,生成目标语言模型。
目标语言模型可以广泛应用在智能问答任务、课堂辅助教学任务或者售后服务任务中。例如,在课堂辅助教学任务中,可以基于该目标语言模型自动生成目标阅读文本的问答对,从而可以让机器变成老师,通过提问的方式与学生互动,或者自动生成阅读理解的出题稿。
然后该目标语言模型中的问题为推理获得,则基于该问题生成的问答对中不可避免的存在语义不清晰或者语法错误的情况,不能良好的支持课堂辅助教学任务。
基于此,本申请实施例还提供了一种问答对生成方法,以解决上述技术问题,下面以具体的实施例进行示例性的说明。
图3为本申请一实施例提供的问答对生成方法的流程示意图,本实施例的执行主体为问答对生成设备;问答对生成设备包括但不限于智能手机、平板电脑、可穿戴设备等移动终端,还可以是台式电脑、机器人、服务器等。如图3所示的问答对生成方法可包括:
S21、获取待解析的文本信息。
本实施例中,文本信息可以是用户输入的文本内容,也可以是从文档、网页、文本图片等任意包含文本内容的多媒体形式中提取的文本内容,也可以是对用户输入的语音进行识别后得到的文本内容,在此不做限定。例如,文本信息可以为一篇用于进行阅读理解教学学习的文章。
其中,文本内容包括大量的文本序列,其中,文本序列为多于一个的字符按顺序构成的字符串,每个文本序列可以包括一个或者多个句子。
示例性的,获取待解析的文本信息,可以是指通过信息分析脚本从网络上采集网页信息;对网页信息进行移除导航条、去除广告噪声数据等预处理,获得初始文本信息,然后从初始文本信息中提取文本序列,获得待解析的文本信息。
S22、根据文本信息生成候选答案集,候选答案集包含至少一个候选答案。
在自然语言中,问题的提出是以5W2H的方式提出的,其中5W是指“What”、“Where”、“When”、“Who”以及“Why”,2H是指“How”以及“How much”,针对5W2H中任意一个或者多个问题的回答均可以构成候选答案。
本实施例中,文本信息中包含了一个或者多个描述信息的语义文本均可以构成候选答案;其中,描述信息可以事件描述信息、状态描述信息或者实体描述信息等,在此不做限定。
在一种实施方式中,可以将文本信息划分为多个自然句,然后将每个自然句作为一个候选答案。
其中,文本信息的句或段落之间一般通过分界符来分界,可以通过识别文本信息中的分界符将文本信息划分为多个自然句。
示例性的,文本信息可以为一篇用于进行阅读理解教学学习的文章Pa,将将文本划分为多个自然句S,得到:
Pa={S1,S2,S3……}
其中,Pa为文本信息,Si表示文本信息中的第i个自然句,i为正整数。
在另一种实施方式中,可以预先通过课程资料整理和专家咨询、收集面向对象课程的专业术语和课程问题等领域信息,并根据该领域信息确定检索关键词,根据该检索关键词在文本信息中执行搜索,生成候选答案集。
应理解的是,可以通过执行多次搜索获得多个检索关键的候选答案集,并将多个检索关键词的候选答案集组合生成文本信息的候选答案集。
本步骤获得的候选答案集中的每个候选答案基于文本信息直接获取,而不是预测生成,故每个候选答案均语义清晰,且不存在语法错误的问题。
S23、将文本信息和候选答案集输入目标语言模型进行处理,获得候选答案集中每个候选答案各自分别对应的问题;并根据每个候选答案各自分别对应的问题生成问题集。
本实施例中的目标语言模型,为图1或图2实施例中获得的已训练的目标语言模型。该目标语言模型的输入为文本信息和候选答案,输出为问题,且问题与候选答案具有相关性。
本实施例中,针对候选答案集中的每个候选答案,可以将文本信息和候选答案组合生成一个待预测文本序列,然后根据预设词典对待预测文本序列进行编码,生成对应的待预测数组向量;将待预测数组向量输入预先训练后的语言模型,获得该候选答案对应的问题。
其中,预设词典用于对文本序列进行编码和解码。本实施例中预设词典与图1中的预设词典相同。可选地,可以设置预设词典的更新频率,定期添加面向对象课程的领域关键词以及专业术语至预设词典。
在获得每个候选答案对应的问题后,将所有的问题组合生成问题集。
S24、根据文本信息和问题集,获得问题集中每个问题各自分别对应的预测答案。
本步骤的目的是在于根据文本信息和问题集,预测获得问题集中每个问题各自分别对应的答案,例如可以基于自然语言处理中的BERT、XLNET、GPT transformer-xl等语言模型进行预测,在此不做具体限定。
在一些实施例中,可以基于BERT语言模型获得每个问题各自分别对应的预测答案。其中,BERT语言模型是一种预训练的深度双向Transformer语言模型。
示例性的,上述基于BERT语言模型获得每个问题各自分别对应的预测答案的过程可以包括:
步骤B1:将文本信息和问题集中的每个问题转换为BERT语言模型能够识别的词向量序列。例如,可以对文本信息进行词嵌入处理,得到文本信息的第一词向量序列,对问题集中的每个问题进行词嵌入处理,得到每个问题分别对应的第二词向量序列。
步骤B2:将第一词向量序列与每一个第二词向量序列进行拼接,获得与多个第二词向量序列一一对应的第三向量序列。
步骤B3:针对每个第三向量序列,将该第三向量序列输入BERT语言模型,获得对应该第三向量序列的预测答案。
S25、针对问题集中的每个问题,将问题对应的候选答案与问题对应的预测答案进行语义相似度比较,并根据比较结果生成问答对。
本步骤的目的在于根据对应的候选答案与预测答案之间的语义相似度对预测答案进行筛选。
由于候选答案集中的每个候选答案基于文本信息直接获取,而不是预测生成,故每个候选答案均语义清晰,且不存在语法错误的问题。若问题对应的候选答案与问题对应的预测答案的语义相似度较高,则说明预测答案的语义较为准确清晰,且不准确语法错误。
其中,将问题对应的候选答案与问题对应的预测答案进行语义相似度比较可以是指计算获得问题对应的候选答案与问题对应的预测答案的语义相似度。
例如,可以分别将候选答案预测答案转换为词向量,并根据词向量在空间上的距离表征候选答案和预测答案之间的语义相似度。
其中,根据比较结果生成问答对可以是指:在语义相似度小于设定的预设阈值的情况下,删除问题以及问题对应的预测答案;在语义相似度大于或等于第一预设阈值的情况下,将问题和问题对应的候选答案组合生成问答对。
其中,设定的预设阈值可以为第四预设阈值,该第四预设阈值为用户预先设定的门限值。
当语义相似度小于第四预设阈值,则说明预测答案存在语义不清晰或者语法错误,由于预测答案由问题预测获得,当预测答案存在语义不清晰或者语法错误,则预测答案对应的问题也可能存在以上情况,则根据该问题生成的问答对质量交底,故将该问题以及该问题对应的预测答案删除。
当语义相似度大于或等于第四预设阈值时,表明该预测答案语义较为清晰且不存在语法错误,进而可以确定该预测答案对应的问题的语义较为清晰也不存在语法错误。此时,将该问题和问题对应的候选答案组合生成问答对,保障了问答对具有较高的质量。
本申请实施例提供的问答对生成方法,通过将对应的候选答案和预测答案进行语义相似度比较,实现了预测答案的筛选,进而实现了对推理获得的问题的筛选,极大地降低了问答对中问题或答案中语义不清晰/语法错误的问题,提高了问答对的质量。
图4是本申请一实施例提供的获取候选答案对应的问题的流程示意图,描述了图3实施例中步骤23中获得候选答案集中每个候选答案各自分别对应的问题的一种可能实施方式。如图4所示,将文本信息和候选答案集输入目标语言模型进行处理,获得候选答案集中每个候选答案各自分别对应的问题,包括:
S231、针对候选答案集中每一个候选答案,将文本信息和候选答案组合生成一个待预测文本序列。
本实施例中,可以将文章信息和候选答案按照如下的形式<bos>文本信息<answer_text>候选答案<eos>进行组合,生成待预测文本序列A。
其中,<bos>、<answer_text>、以及<eos>均为预设的标签符号,可以将每个标记符号视作一个单词,每个标签符号对应的数值也可以在预设词典中查询获得。
S232、对待预测文本序列进行编码,生成对应的待预测数组向量。
本实施例中,可以根据预设词典对待预测文本序列进行编码;
其中,预设词典与图3实施例中预设词典相同,包含了训练文本中所有单词以及每个单词各自对应的数值。其中,每个单词各自对应的数值互不相等。应理解的是,预设词典中包含了文本信息中所有单词。
预设词典中还包括了预设标签符号,例如<bos>、<answer_text>、<question_text>以及<eos>各自对应的数值。
本实施例中,根据预设词典对待预测文本序列进行编码,具体可以是指将该待预测文本序列A中每个单词映射为预设词典中对应的数值,获得该待预测文本序列对应的待预测数组向量B。
其中,每个待预测数组可以包括文本信息对应的第四数组向量以及候选答案对应的第五数组向量。
S233、将待预测数组向量输入目标语言模型,确定待预测数组向量对应的预测值。
本实施例中,将待预测数组向量输入目标语言模型,可以为将上述待预测文本序列A作为输入,经过模型的前向传播过程,得到的下一个单词在预设词典中的概率分布,将选择最大概率值对应的预设词典中的数值作为预测值y。
S234、若预测值与预设终止值不匹配,则将待预测数组向量与预测值进行拼接处理,生成拼接后的数组向量;并将拼接后的数组向量作为待预测数组向量,返回执行步骤S233直至当前的预测值与预设终止值相匹配。
本实施例中,预设终止值是指待预测文本序列中终止标签符号<eos>在预设词典中对应的数值。
在获得预测值C后,判断预测值y与预设终止值是否匹配,其中,匹配具体可以指预测值C与预设终止值相同。
若预测值C与预设终止值相同,则表示获得最终的预测结果。
若预测值C与预设终止值不相同,则将C与B进行拼接,获得拼接结果B1,并将拼接结果B1作为新的输入值,经过预测模型的前向传播,得到下一个预测值C1;然后重复上述过程,直至当前的预测值与预设终止值相匹配。
S235、对当前的待预测数组向量和当前的预测值进行拼接处理,生成目标数组向量。
其中,当前的预测值为经过N次迭代循环后获得的预测值CN,则当前的待预测数组向量为B+C1+C2+…+CN-1,目标数组向量为B+C1+C2+…+CN-1+CN
其中,N为大于等于2的整数,“+”表征对数组进行拼接。
S236、根据预设词典对目标数组向量进行解码,生成候选答案对应的问题。
本实施例中,根据预设词典对目标数组向量进行解码,具体可以是指将目标数组向量中每个数值映射为预设词典中对应的单词,获得该目标数组向量对应的答案。
本实施例中,在每一个预测值产生后,将该预测值添加在每个新单词产生后,该单词就被添加在之前生成的待预测文本序列后面,形成一个新的待预测文本序列,该新的带预测文本序列会成为语言模型的下一步的新输入,构成了一个自回归机制,可以大大的提高预测的准确度。
在机器阅读理解应用领域或者机器教学领域,可以通过问答对生成设备,自动生成阅读理解题型的题目和答案,用于模拟老师和学生互动以辅助教学。教学中的问题一般包括具体的问题和抽象的问题,其中抽象的问题一般可以通过句子进行答复,具体的问题一般需要细化到某个句子中的具体元素,例如人物、时间、动作等。实际教学中,老师一般首先提出一个抽象的问题,然后针对该抽象问题的答案提出具体的问题。因此为了符合阅读理解教学时的问答习惯,可以设置层次化的候选答案集,并根据该层次化的候选答案集获得层次化的问答对集。下面通过图5和图6的实施例分别进行示例性的描述。
图5是本申请一实施例提供的生成候选答案集的流程示意图,描述了图3实施例中步骤22中根据文本信息生成候选答案集一种可能实施方式。如图5所示,根据文本信息生成候选答案集包括:
S221、将文本信息划分为多个自然句。
在自然语言处理中,文本信息的句或段落之间一般通过分界符来化界,可以通过识别文本信息中的分界符将文本信息划分为多个自然句。
S222、针对多个自然句中的每个自然句,从自然句中提取实体词,生成自然句的实体词向量。
其中,实体词包括名词、代词以及名词短语。
可以基于自然语言处理中的词性标注方法识别每个自然句中实体词,然后将识别获得实体词按照顺序组合生成实体词向量。
示例性的,自然句S为“小明今天在家做了三个小时的数学作业”,则对自然句S进行词性标注以及实体词提取后,获得实体词向量为{小明,今天,三个小时,数学作业}。
其中,自然语言处理中的词性标注是指在给定句子中判定每个单词的语法范畴,确定每个单词的词性并加以标注的过程。常用的方法有:基于规则的方法,基于统计模型的方法,基于深度学习的方法。在此不做限定。
本实施例中,还可以提取自然句中的动词,将提取到的实体词和动词按照自然句中的顺序组合生成词向量。
S223、根据多个自然句以及多个自然句中每个自然句的实体词向量,生成层次化候选答案集。
候选答案集包含两层答案集,第一层答案集为对文本信息进行划分得到的自然句,第二层答案集为每个自然句的实体词向量。
图6是本申请一实施例提供的生成层次化问答对集的流程示意图,描述了一种在获得多个问答对后,生成层次化问答对集的一种可能实施方式。如图6所示,问答对生成方法还包括:
S261、针对层次化候选答案集中的每一个候选答案,在多个问答对中查找是否存在该候选答案。
由图3所示实施例可知,针对问题集中的每个问题,将问题对应的候选答案与问题对应的预测答案进行语义相似度比较,仅在语义相似度大于或等于第一预设阈值是,将问题与问题对应的候选答案生成问答对。
因此,多个问答对的候选答案的数目小于候选答案集中候选答案的个数。
其中,在多个问答对中查找是否存在对应候选答案的目标问题,可以为根据问答对中候选答案的编号以及层次化候选答案集中候选答案的编号进行匹配。
S262、若多个问答对不存在候选答案,则将候选答案从层次化候选答案集中删除。
删除该候选答案以及该候选答案的编号后,层次化候选答案集中其他候选答案的编号保持不变。
示例性的,针对候选答案S2,若多个问答对中候选答案编号中不包含编号2时,则删除层次化候选答案集中的候选答案S2。
S263、若多个问答对存在候选答案,则将候选答案对应的问题添加至层次化候选答案集中候选答案的对应位置,生成层次化的问答对集。。
本实施例中,可以根据层次化候选答案集中候选答案的编号依次进行每个候选答案的判断,并根据判断结果执行删除或者添加动作,直至层次化候选答案集中最后一个候选答案,最终得到层次化的问答对集。
本申请实施例中,通过构建一个层次化的候选答案集,生成了该候选答案集对应的层次化问答对,且层次化问答对集中的每个问答对均不存在语义不清晰或语法错误。且该层次化的问答对符合阅读理解教学时的问答习惯,可以辅助人工教学,自动生成阅读理解的层次化的出题初稿,并和用户进行互动。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
基于上述实施例所提供的问答对生成方法,本发明实施例进一步给出实现上述方法实施例的装置实施例。
图7为本申请一实施例提供的语言模型训练装置的结构示意图。包括的各单元用于执行图1、图2对应的实施例中的各步骤,具体请参阅图1、图2各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图7,语言模型训练装置30包括第一获取模块301、第一生成模块302以及处理模块303。
第一获取模块301,用于获取训练文本。
第一生成模块302,用于根据训练文本生成多个训练文本序列;其中,每个训练文本序列包括训练文本、包含在训练文本中的答案文本以及对应答案文本的问题文本。
处理模块303,用于将每个训练文本序列中的训练文本和答案文本作为特征,将每个训练文本序列中的问题文本作为标签,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型。
可选地,处理模块303,将每个训练文本序列中的训练文本和答案文本作为特征,将每个训练文本序列中的问题文本作为标签,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型,可以包括:
针对每个训练文本序列,根据预设词典对训练文本序列进行编码,生成训练文本序列对应的多维向量;其中,多维向量包括训练文本对应的第一向量、答案文本对应的第二向量以及问题文本对应的第三向量;
将多维向量的第一向量和多维向量第二向量进行拼接,生成多维向量的第四向量;
将多维向量的第四向量作为特征,将多维向量的第三向量作为标签,生成多维向量对应的训练向量;
将多个训练向量作为输入,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型。
可选地,处理模块303将多个训练向量作为输入,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型,可以包括:
针对每个训练向量,对训练向量的标签进行掩码替换,生成掩码后的训练向量;
将掩码后的训练向量输入语言模型进行处理,获得训练向量的标签的预测值在预设词典上的概率分布;
根据训练向量的标签以及概率分布,确定交叉熵函数的值;
在交叉熵函数的值不满足预设条件时,更新语言模型的参数,并返回执行针对每个训练向量,对训练向量的标签进行掩码替换,生成掩码后的训练向量的步骤,直至交叉熵函数的值达到预设条件;
保存当前语言模型的模型参数,生成已训练的目标语言模型。
本申请实施例提供的语言模型训练装置,基于有监督学习算法对语言模型进行训练,该监督任务的输入为文本内容和包含在文本内容的答案,输出答案对应的问题。使用基于该训练方法得到的目标语言模型时,只需要输入文本内容和包含在该文本内容的答案,即可以生成答案的问题,输出的问题可以不包含在文本内容中,适用于根据答案预测获得答案对应的问题的应用场景。
另一方面,还可以根据目标语言模型的应用领域确定训练文本,以使得已训练后的目标语言模型预测准确度更高。
图8为本申请一实施例提供的问答对生成装置的结构示意图。包括的各单元用于执行图3至图6对应的实施例中的各步骤,具体请参阅图3至图6各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图8,问答对生成装置40包括第二获取模块401、第二生成模块402、处理模块403、预测模块404以及比较模块405。
第二获取模块401,用于获取待解析的文本信息。
第二生成模块402,用于根据文本信息生成候选答案集;候选答案集包含至少一个候选答案。
处理模块403,用于将文本信息和候选答案集输入目标语言模型进行处理,获得候选答案集中每个候选答案各自分别对应的问题;并根据每个候选答案各自分别对应的问题生成问题集;
预测模块404,用于根据文本信息和问题集,获得问题集中每个问题各自分别对应的预测答案。
比较模块405,用于针对问题集中的每个问题,将问题对应的候选答案与问题对应的预测答案进行语义相似度比较,并根据比较结果生成问答对。
可选地,处理模块403将文本信息和候选答案集输入目标语言模型进行处理,获得候选答案集中每个候选答案各自分别对应的问题,可以包括:
针对候选答案集中每一个候选答案,将文本信息和候选答案组合生成一个待预测文本序列;
根据预设词典对待预测文本序列进行编码,生成对应的待预测数组向量;
将待预测数组向量输入目标语言模型,确定待预测数组向量对应的预测值;
若预测值与预设终止值不匹配,则将待预测数组向量与预测值进行拼接处理,生成拼接后的数组向量;并将拼接后的数组向量作为待预测数组向量,返回执行将待预测数组向量输入目标语言模型,确定待预测数组向量对应的预测值的步骤,直至当前的预测值与预设终止值相匹配;
对当前的待预测数组向量和当前的预测值进行拼接处理,生成目标数组向量;
根据预设词典对目标数组向量进行解码,生成候选答案对应的问题。
可选地,针对问题集中的每个问题,比较模块405将问题对应的候选答案与问题对应的预测答案进行比较,并根据比较结果生成问答对,可以包括:
计算获得问题对应的候选答案与问题对应的预测答案的语义相似度;
在语义相似度小于预设阈值的情况下,删除问题以及问题对应的预测答案;
在语义相似度大于或等于预设阈值的情况下,将问题和问题对应的预测答案组合生成问答对。
可选地,第二生成模块402根据文本信息生成候选答案集,可以包括:
将文本信息划分为多个自然句;
针对多个自然句中的每个自然句,从自然句中提取实体词,生成自然句的实体词向量;
根据多个自然句以及多个自然句中每个自然句的实体词向量,生成层次化候选答案集。
问答对生成装置还包括第三生成模块,第三生成模块用于:
针对层次化候选答案集中的每一个候选答案,在多个问答对中查找是否存在候选答案;
若多个问答对不存在候选答案,则将候选答案从层次化候选答案集中删除;
若多个问答对存在候选答案,则将候选答案对应的问题添加至层次化候选答案集中候选答案的对应位置,生成层次化的问答对集。
本申请实施例提供的问答对生成装置,通过将对应的候选答案和预测答案进行语义相似度比较,实现了预测答案的筛选,进而实现了对推理获得的问题的筛选,极大地降低了问答对中问题或答案中语义不清晰/语法错误的问题,提高了问答对的质量。
图9是本申请一实施例提供的语言模型训练设备的示意图。如图9所示,该实施例的语言模型训练设备50包括:至少一个第一处理器501、第一存储器502以及存储在所述第一存储器502中并可在所述第一处理器501上运行的计算机程序。语言模型训练设备还包括第一通信部件503,其中,第一处理器501、第一存储器502以及第一通信部件503通过第一总线504连接。
第一处理器501执行所述计算机程序时实现上述各个问答对生成方法实施例中的步骤,例如图1所示实施例中的步骤S11至步骤S13。或者,第一处理器501执行计算机程序时实现上述各装置实施例中各模块/单元的功能,例如图7所示模块301至303的功能。
本领域技术人员可以理解,图9仅仅是语言模型训练设备的示例,并不构成对语言模型训练设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如输入输出设备、网络接入设备、总线等。
图10是本申请一实施例提供的问答对生成设备的示意图。如图10所示,该实施例的问答对生成设备60包括:至少一个第二处理器601、第二存储器602以及存储在所述第二存储器602中并可在所述第二处理器601上运行的计算机程序。问答对生成设备还包括第二通信部件603,其中,第二处理器601、第二存储器602以及第二通信部件603通过第二总线604连接。
第二处理器601执行所述计算机程序时实现上述各个问答对生成方法实施例中的步骤,例如图3所示实施例中的步骤S21至步骤S25。或者,第二处理器601执行计算机程序时实现上述各装置实施例中各模块/单元的功能,例如图8所示模块401至405的功能。
本领域技术人员可以理解,图10仅仅是问答对生成设备的示例,并不构成对问答对生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如输入输出设备、网络接入设备、总线等。
图9实施例和图10实施例中所称第一处理器或第二处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种语言模型训练方法,其特征在于,包括:
获取训练文本;
根据所述训练文本生成多个训练文本序列;其中,每个所述训练文本序列包括所述训练文本、包含在所述训练文本中的答案文本以及对应所述答案文本的问题文本;
将每个所述训练文本序列中的训练文本和答案文本作为特征,将每个所述训练文本序列中的问题文本作为标签,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型;其中,所述有监督学习算法的训练样板包括特征和标签;
其中,针对每个所述训练文本序列对应的训练向量,对所述训练向量的标签进行掩码替换,生成掩码后的训练向量;
将所述掩码后的训练向量输入所述语言模型进行处理,获得所述训练向量的标签的预测值在 预设词典上的概率分布;
根据所述训练向量的标签以及所述概率分布,确定交叉熵函数的值;
在所述交叉熵函数的值不满足预设条件时,更新所述语言模型的参数,并返回执行所述针对每个训练向量,对所述训练向量的标签进行掩码替换,生成掩码后的训练向量的步骤,直至所述交叉熵函数的值达到所述预设条件;
保存当前语言模型的模型参数,生成已训练的目标语言模型。
2.如权利要求1所述的语言模型训练方法,其特征在于,所述将每个所述训练文本序列中的训练文本和答案文本作为特征,将每个所述训练文本序列中的问题文本作为标签,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型,包括:
针对每个训练文本序列,根据预设词典对所述训练文本序列进行编码,生成所述训练文本序列对应的多维向量;其中,所述多维向量包括训练文本对应的第一向量、答案文本对应的第二向量以及问题文本对应的第三向量;
将所述多维向量的第一向量和所述多维向量第二向量进行拼接,生成所述多维向量的第四向量;
将所述多维向量的第四向量作为特征,将所述多维向量的第三向量作为标签,生成所述多维向量对应的训练向量;
将多个所述训练向量作为输入,基于有监督学习算法对语言模型进行训练,得到已训练的目标语言模型。
3.一种问答对生成方法,其特征在于,包括:
获取待解析的文本信息;
根据所述文本信息生成候选答案集;所述候选答案集包含至少一个候选答案;
将所述文本信息和所述候选答案集输入基于有监督学习算法训练得到的目标语言模型进行处理,获得所述候选答案集中每个候选答案各自分别对应的问题,并根据所述每个候选答案各自分别对应的问题生成问题集;其中,针对所述候选答案集中的每个候选答案,将所述文本信息和所述候选答案组合生成一个待预测文本序列,根据预设词典对所述待预测文本序列进行编码,生成对应的待预测数组向量;将所述待预测数组向量输入所述目标语言模型,获得该候选答案对应的问题;
根据所述文本信息和所述问题集,获得所述问题集中每个问题各自分别对应的预测答案;
针对所述问题集中的每个问题,将所述问题对应的候选答案与所述问题对应的预测答案进行语义相似度比较,并根据所述比较结果生成问答对;其中,分别将所述候选答案和所述预测答案转换为词向量,并根据词向量在空间上的距离表征所述候选答案和所述预测答案之间的语义相似度;其中,在所述语义相似度大于或等于预设阈值的情况下,将所述问题和所述问题对应的候选答案组合生成问答对。
4.如权利要求3所述的问答对生成方法,其特征在于,所述将所述文本信息和所述候选答案集输入目标语言模型进行处理,获得所述候选答案集中每个候选答案各自分别对应的问题,包括:
针对所述候选答案集中每一个候选答案,将所述文本信息和所述候选答案组合生成一个待预测文本序列;
对所述待预测文本序列进行编码,生成对应的待预测数组向量;
将所述待预测数组向量输入目标语言模型,确定所述待预测数组向量对应的预测值;
若所述预测值与预设终止值不匹配,则将所述待预测数组向量与所述预测值进行拼接处理,生成拼接后的数组向量;并将所述拼接后的数组向量作为待预测数组向量,返回执行所述将所述待预测数组向量输入目标语言模型,确定所述待预测数组向量对应的预测值的步骤,直至当前的预测值与所述预设终止值相匹配;
对当前的待预测数组向量和当前的预测值进行拼接处理,生成目标数组向量;
对所述目标数组向量进行解码,生成所述候选答案对应的问题。
5.如权利要求3或4任一项所述的问答对生成方法,其特征在于,针对所述问题集中的每个问题,将所述问题对应的候选答案与所述问题对应的预测答案进行语义相似度比较,并根据所述比较结果生成问答对,还包括:
针对所述问题集中的每个问题,计算获得所述问题对应的候选答案与所述问题对应的预测答案的语义相似度;
在所述语义相似度小于预设阈值的情况下,删除所述问题以及所述问题对应的预测答案。
6.如权利要求3或4任一项所述的问答对生成方法,其特征在于,所述根据所述文本信息生成候选答案集包括:
将所述文本信息划分为多个自然句;
针对所述多个自然句中的每个自然句,从所述自然句中提取实体词,生成所述自然句的实体词向量;
根据所述多个自然句以及所述多个自然句中每个自然句的实体词向量,生成层次化候选答案集。
7.如权利要求6所述的问答对生成方法,其特征在于,所述方法还包括:
针对所述层次化候选答案集中的每一个候选答案,在所述多个问答对中查找是否存在所述候选答案;
若所述多个问答对不存在所述候选答案,则将所述候选答案从所述层次化候选答案集中删除;
若所述多个问答对存在所述候选答案,则将所述候选答案对应的问题添加至所述层次化候选答案集中所述候选答案的对应位置,生成层次化的问答对集。
8.一种语言模型训练设备,其特征在于,包括:包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1或2所述方法的步骤。
9.一种问答对生成设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求3至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1或2所述方法的步骤,或实现如权利要求3至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010400998.XA CN113672708B (zh) | 2020-05-13 | 2020-05-13 | 语言模型训练方法、问答对生成方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010400998.XA CN113672708B (zh) | 2020-05-13 | 2020-05-13 | 语言模型训练方法、问答对生成方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113672708A CN113672708A (zh) | 2021-11-19 |
CN113672708B true CN113672708B (zh) | 2024-10-08 |
Family
ID=78536765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010400998.XA Active CN113672708B (zh) | 2020-05-13 | 2020-05-13 | 语言模型训练方法、问答对生成方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672708B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416936B (zh) * | 2021-12-27 | 2023-05-26 | 北京百度网讯科技有限公司 | 答案选择方法、答案选择模型的训练方法以及相关设备 |
CN114329053B (zh) * | 2022-01-07 | 2024-09-10 | 腾讯科技(深圳)有限公司 | 特征提取模型训练、媒体数据检索方法和装置 |
CN114996424B (zh) * | 2022-06-01 | 2023-05-09 | 吴艳 | 一种基于深度学习的弱监督跨域问答对生成方法 |
CN115080722B (zh) * | 2022-08-19 | 2023-02-17 | 科大讯飞股份有限公司 | 问题生成方法、问题生成设备及存储介质 |
CN115905500B (zh) * | 2023-02-07 | 2023-05-23 | 北京面壁智能科技有限责任公司 | 问答对数据的生成方法及装置 |
CN118312598A (zh) * | 2023-06-30 | 2024-07-09 | 北京百度网讯科技有限公司 | 文本生成方法、文本生成模型的训练方法及装置 |
CN116523031B (zh) * | 2023-07-05 | 2024-05-10 | 深圳须弥云图空间科技有限公司 | 语言生成模型的训练方法、语言生成方法及电子设备 |
CN117271751B (zh) * | 2023-11-16 | 2024-02-13 | 北京百悟科技有限公司 | 交互方法、装置、设备和存储介质 |
CN117952121B (zh) * | 2024-03-27 | 2024-07-05 | 北方健康医疗大数据科技有限公司 | 一种医疗文本的质量评估方法、系统、电子设备及介质 |
CN118228839A (zh) * | 2024-04-23 | 2024-06-21 | 北京面壁智能科技有限责任公司 | 用于模型训练的复杂指令训练数据的构造方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657041A (zh) * | 2018-12-04 | 2019-04-19 | 南京理工大学 | 基于深度学习的问题自动生成方法 |
CN110263143A (zh) * | 2019-06-27 | 2019-09-20 | 苏州大学 | 提高相关性的神经问题生成方法 |
CN110852110A (zh) * | 2018-07-25 | 2020-02-28 | 富士通株式会社 | 目标语句提取方法、问题生成方法以及信息处理设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11106664B2 (en) * | 2018-05-03 | 2021-08-31 | Thomson Reuters Enterprise Centre Gmbh | Systems and methods for generating a contextually and conversationally correct response to a query |
CN109726274B (zh) * | 2018-12-29 | 2021-04-30 | 北京百度网讯科技有限公司 | 问题生成方法、装置及存储介质 |
CN110196894B (zh) * | 2019-05-30 | 2021-06-08 | 北京百度网讯科技有限公司 | 语言模型的训练方法和预测方法 |
CN110532369B (zh) * | 2019-09-04 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 一种问答对的生成方法、装置及服务器 |
-
2020
- 2020-05-13 CN CN202010400998.XA patent/CN113672708B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110852110A (zh) * | 2018-07-25 | 2020-02-28 | 富士通株式会社 | 目标语句提取方法、问题生成方法以及信息处理设备 |
CN109657041A (zh) * | 2018-12-04 | 2019-04-19 | 南京理工大学 | 基于深度学习的问题自动生成方法 |
CN110263143A (zh) * | 2019-06-27 | 2019-09-20 | 苏州大学 | 提高相关性的神经问题生成方法 |
Non-Patent Citations (2)
Title |
---|
A Recurrent BERT-based Model for Question Generation;Ying-Hong Chan and Yao-Chung Fan;In Proceedings of the 2nd Workshop on Machine Reading for Question Answering;第154-162页 * |
Improving Language Understanding by Generative Pre-Training;Alec Radford et al;https://www.mikecaptain.com/resources/pdf/GPT-1.pdf;20181231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113672708A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113672708B (zh) | 语言模型训练方法、问答对生成方法、装置及设备 | |
CN109840287B (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN106202010B (zh) | 基于深度神经网络构建法律文本语法树的方法和装置 | |
CN111897941A (zh) | 对话生成方法、网络训练方法、装置、存储介质及设备 | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
CN117149989A (zh) | 大语言模型训练方法、文本处理方法及装置 | |
CN112131883B (zh) | 语言模型训练方法、装置、计算机设备和存储介质 | |
CN113268609A (zh) | 基于知识图谱的对话内容推荐方法、装置、设备及介质 | |
CN113239169A (zh) | 基于人工智能的回答生成方法、装置、设备及存储介质 | |
CN110941958B (zh) | 一种文本类目标注方法、装置、电子设备及存储介质 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN116450796A (zh) | 一种智能问答模型构建方法及设备 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN118093834B (zh) | 一种基于aigc大模型的语言处理问答系统及方法 | |
CN112101042A (zh) | 文本情绪识别方法、装置、终端设备和存储介质 | |
CN117520503A (zh) | 基于llm模型的金融客服对话生成方法、装置、设备及介质 | |
WO2023134085A1 (zh) | 问题答案的预测方法、预测装置、电子设备、存储介质 | |
CN110852071A (zh) | 知识点检测方法、装置、设备及可读存储介质 | |
CN115270746A (zh) | 问题样本生成方法和装置、电子设备及存储介质 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN112131363A (zh) | 自动问答方法、装置、设备及存储介质 | |
CN117648915A (zh) | 一种基于知识图谱的问答题评分方法及系统 | |
CN113657092B (zh) | 识别标签的方法、装置、设备以及介质 | |
CN113468311B (zh) | 一种基于知识图谱的复杂问句问答方法、装置及存储介质 | |
CN113157892B (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 |