CN114492382A - 人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质 - Google Patents
人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114492382A CN114492382A CN202111467067.2A CN202111467067A CN114492382A CN 114492382 A CN114492382 A CN 114492382A CN 202111467067 A CN202111467067 A CN 202111467067A CN 114492382 A CN114492382 A CN 114492382A
- Authority
- CN
- China
- Prior art keywords
- text
- language model
- speaker
- word
- attention
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/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/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质,该人物提取方法包括:接收目标文本,所述目标文本中包含一句或多句话语;将所述目标文本输入至预先训练好的语言模型,利用所述语言模型确定所述目标文本中的话语对应的说话人物;其中,所述利用所述语言模型确定所述目标文本中的话语对应的说话人物包括:利用输入至语言模型的文本中的句子的上下文推断所述目标文本中的话语对应的说话人物;其中,训练所述语言模型的过程包括:利用输入至语言模型的训练文本中的句子的上下文推断所述训练文本中的话语对应的说话人物。利用本发明的人物提取方法,能够准确地提取识别出文本中的话语对应的说话人。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质。
背景技术
此处的陈述仅提供与本发明有关的背景信息,而不必然地构成现有技术。
现有的针对文本内容的人物识别提取方法只能提取到文本中出现的人物,但是不能确认文本中出现的话语是谁说的。从文本中准确提取出带有说话内容的句子的归属人物,传统的方法是没办法实现的。
发明内容
本发明的目的在于提供一种新的人物提取方法、装置、设备及存储介质,用以实现针对文本准确地提取识别出文本中的话语对应的说话人。
本发明的目的采用以下技术方案来实现。依据本发明提出的一种人物提取方法,包括以下步骤:接收目标文本,所述目标文本中包含一句或多句话语;将所述目标文本输入至预先训练好的语言模型,利用所述语言模型确定所述目标文本中的话语对应的说话人物;其中,所述利用所述语言模型确定所述目标文本中的话语对应的说话人物包括:利用输入至语言模型的文本中的句子的上下文推断所述目标文本中的话语对应的说话人物;其中,训练所述语言模型的过程包括:利用输入至语言模型的训练文本中的句子的上下文推断所述训练文本中的话语对应的说话人物。
本发明的目的还可以采用以下的技术措施来进一步实现。
前述的人物提取方法,其中,所述利用所述语言模型确定所述目标文本中的话语对应的说话人物、以及所述训练所述语言模型的过程,具体包括:将所述目标文本或所述训练文本作为前导文本来确定后续文本的词表概率,根据所述词表概率确定对应的文本作为所述目标文本或所述训练文本中的话语对应的说话人物文本。
前述的人物提取方法,其中,所述的利用输入至语言模型的文本中的句子的上下文推断所述目标文本中的话语对应的说话人物、和所述的利用输入至语言模型的训练文本中的句子的上下文推断所述训练文本中的话语对应的说话人物包括:利用注意力机制来进行上下文关注。
前述的人物提取方法,其中,所述利用注意力机制来进行上下文关注具体包括:将输入的目标文本或训练文本中的每个字之间设置为相互关注,将生成的说话人物文本中的每个字设置为关注当前字之前的字。
前述的人物提取方法,其中,所述的利用输入至语言模型的文本中的句子的上下文推断所述目标文本中的话语对应的说话人物、和所述的利用输入至语言模型的训练文本中的句子的上下文推断所述训练文本中的话语对应的说话人物,具体包括:将文本T输入至语言模型以得到文本T的注意力分数矩阵α,其中,所述注意力分数矩阵α中的元素为关注分数,用于表示文本T中的字之间的关注程度;利用掩码矩阵M对注意力分数矩阵α进行掩码处理,得到掩码处理后的注意力分数矩阵αnew;其中,所述掩码处理用于改变注意力分数矩阵α中一些元素的取值以改变字之间的关注程度;利用所述掩码处理后的注意力分数矩阵αnew来推断文本中的话语对应的说话人物。
前述的人物提取方法,其中,所述掩码矩阵M为单双向结合的掩码矩阵,用于表示对于输入的文本中的每个字之间都相互关注、并且对于生成的文本中的每个字关注当前字之前的字;其中,所述单双向结合的掩码矩阵包括4个子阵;其中,第一子阵对应于输入的输入文本中的文字之间的关注程度,所述第一子阵中的至少一些元素不为0;第二子阵对应于生成的说话人物文本中的文字之间的关注程度,所述第二子阵为三角矩阵;第三子阵对应于输入文本中的文字对于说话人物文本中的文字的关注程度,所述第三子阵中的元素均为0;第四子阵对应于说话人物文本中的文字对于输入文本中的文字的关注程度,所述第四子阵中的至少一些元素不为0。
前述的人物提取方法,其中,所述利用所述掩码处理后的注意力分数矩阵αnew来推断文本中的话语对应的说话人物,包括:将所述文本T对应的词向量、或由所述词向量转换得到的中间向量,与所述掩码处理后的注意力分数矩阵αnew相乘,利用相乘的结果来推断文本中的话语对应的说话人物。
前述的人物提取方法,其中,所述的将所述目标文本输入至预先训练好的语言模型,包括:将所述目标文本进行清洗和格式化,之后再输入至预先训练好的所述语言模型;所述语言模型的训练过程包括:将训练数据进行清洗和格式化,之后再输入至待训练的所述语言模型进行训练;其中,所述格式化包括:判断目标文本或训练文本中的各个句子是否包含话语;对包含话语的句子设置标记,并将所述标记添加至目标文本或训练文本中,以便将所述标记和文本一同输入至所述语言模型中进行说话人物的推断。
前述的人物提取方法,其中,所述利用所述语言模型确定所述目标文本中的话语对应的说话人物、以及所述训练所述语言模型的过程,包括:在利用所述语言模型生成话语对应的说话人物的一部分字词单元后,将当前生成的字词单元与当前输入至语言模型的文本一同再次输入至语言模型,以再次进行说话人物的另一部分字词单元的生成,直到语言模型生成结束符;将结束符之前生成的字词单元作为说话人物的文本。
前述的人物提取方法,其中,所述语言模型的训练过程包括:第一阶段,预训练语言模型;以及,第二阶段,对预训练得到的语言模型进行微调;其中,预训练过程的语言模型为Transformer架构、GPT架构、Bert架构、CNN架构、RNN架构、或LSTM架构。
本发明的目的还采用以下技术方案来实现。依据本公开提出的一种文本朗读方法,包括以下步骤:获取目标文本;根据前述的人物提取方法提取所述目标文本中的一句或多句话语对应的说话人物;播放与所述目标文本对应的语音,其中,所述播放与所述目标文本对应的语音包括为文本中的话语分配与提取到的所述说话人物对应的声音进行朗读。
本发明的目的还采用以下技术方案来实现。依据本公开提出的一种对话式文本生成方法,包括以下步骤:获取目标文本;根据前述的人物提取方法提取所述目标文本中的一句或多句话语对应的说话人物;根据提取到的所述说话人物,将所述目标文本转换为对话式文本。
本发明的目的还采用以下技术方案来实现。依据本公开提出的一种人物提取装置,包括:获取模块,用于接收目标文本,所述目标文本中包含一句或多句话语;说话人物识别模块,用于将所述目标文本输入至预先训练好的语言模型,利用所述语言模型确定所述目标文本中的话语对应的说话人物;其中,所述利用所述语言模型确定所述目标文本中的话语对应的说话人物包括:利用输入至语言模型的文本中的句子的上下文推断所述目标文本中的话语对应的说话人物;其中,训练所述语言模型的过程包括:利用输入至语言模型的训练文本中的句子的上下文推断所述训练文本中的话语对应的说话人物。
本发明的目的还采用以下技术方案来实现。依据本公开提出的一种文本朗读装置,包括:获取模块,用于获取目标文本;人物提取模块,用于根据任一项前述的人物提取方法提取所述目标文本中的一句或多句话语对应的说话人物;播放模块,用于播放与所述目标文本对应的语音,其中,所述播放模块具体用于为所述目标文本中的话语分配与提取到的所述说话人物对应的声音进行朗读。
本发明的目的还采用以下技术方案来实现。依据本公开提出的一种对话式文本生成装置,包括:获取模块,用于获取目标文本;人物提取模块,用于根据任一项前述的人物提取方法提取所述目标文本中的一句或多句话语对应的说话人物;转换模块,用于根据提取到的所述说话人物,将所述目标文本转换为对话式文本。
本发明的目的还采用以下技术方案来实现。依据本公开提出的一种人物提取设备,包括:存储器,用于存储非暂时性计算机可读指令;以及处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现前述任意一种人物提取方法。
本发明的目的还采用以下技术方案来实现。依据本公开提出的一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行前述任意一种人物提取方法。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提出的人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质至少具有下列优点及有益效果:
1、本发明能够准确地提取识别出文本中的话语对应的说话人。
2、本发明通过利用当前句子的上下文,使得模型可以预测无人名句子的说话人物。
3、本发明通过将文本句子进行编号处理,使得模型能够更好的生成相应标记处的说话人物。
4、本发明通过修改注意力机制,使得模型具有更好的逻辑性,提升模型的预测效果。
5、本发明通过对文本进行特殊编码,可以直接一次性生成当前文本中所有带有说话内容的句子的说话人物。
上述说明仅是本发明技术方案的概述,为了能更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1是本发明一个实施例的人物提取方法的流程示意图;
图2是本发明另一实施例的人物提取方法的示意图;
图3是本发明一个实施例提供的改进的注意力机制的流程示意图;
图4是本发明一个实施例提供的单向注意力矩阵的示意图;
图5是本发明另一实施例提供的单向+双向注意力矩阵的示意图;
图6是本发明一个实施例的人物提取设备的示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质的具体实施方式、结构、特征及其功效,详细说明如后。
需要说明的是,在本文中,诸如“第一”、“第二”等关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。另外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以如下的一段具体文本为例(节选自《傲慢与偏见》):
伊丽莎白说不下去了,不过她心里却在埋怨自己软弱。后来还是达西很勉强地先开口说:\n“韦翰先生生来满面春风,交起朋友来得心应手。至于他是不是能和朋友们长久相处,那就不大靠得住了。”\n伊丽莎白加重语气回答道:“他真不幸,竟失去了您的友谊,而且弄成那么尴尬的局面,可能会使他一辈子都感受痛苦。”\n达西没有回答,好象想换个话题。就在这当儿,威廉卢卡斯爵士走近他们身边,打算穿过舞池走到屋子的寻一边去,可是一看到达西先生,他就停住了,礼貌周全地向他鞠了一躬,满口称赞他跳舞跳得好,舞伴又找得好。\n“我真太高兴了,亲爱的先生,跳得这样一手好舞,真是少见。你毫无问题是属于第一流的人材。让我再唠叨一句,你这位漂亮的舞伴也真配得上你,我真希望常常有这种眼福,特别是将来有一天某一桩好事如愿的时候,亲爱的伊丽莎白小姐。”(他朝着她的姐姐和彬格莱望了一眼)“那时候将会有多热闹的祝贺场面啊。我要求达西先生:……可是我还是别打搅你吧,先生。你正在和这位小姐谈得心醉神迷,如果我耽搁了你,你是不会感激我的,瞧她那了双明亮的眼睛也在责备我呢。”\n后半段话达西几乎没有听见。
需注意,上文中的“\n”是原始文本中的行分隔符,是一种用于在文本中区分句子、段落等的分隔符。
在上述文本中,双引号内的文本为说话内容。而从上述文本中准确地提取出带有说话内容的句子的归属人物,传统的方法是没办法实现的。
下面列举一些文本识别提取方法:
1、命名实体识别:命名实体识别是一种提取实体的技术,而人名就是一种实体。在进行命名实体识别时,利用训练数据对Bert或者GPT等预训练语言模型进行fine-tune(也称为微调,用于微调模型参数),得到一个可以识别人名的语言模型。该方法能够从上文中的第八句“(他朝着她的姐姐和彬格莱望了一眼)‘那时候将会有多热闹的祝贺场面啊。我要求达西先生:……可是我还是别打搅你吧,先生。你正在和这位小姐谈得心醉神迷,如果我耽搁了你,你是不会感激我的,瞧她那了双明亮的眼睛也在责备我呢。’”提取出他、她的姐姐、彬格莱,但是并不知道该句中的话语是谁说的。此外,诸如第七句“‘我真太高兴了,亲爱的先生,跳得这样一手好舞,真是少见。你毫无问题是属于第一流的人材。让我再唠叨一句,你这位漂亮的舞伴也真配得上你,我真希望常常有这种眼福,特别是将来有一天某一桩好事如愿的时候,亲爱的伊丽莎白小姐。’”这样的句子,更是无法提取。
2、句法分析提取主语:利用LTP(一个可以用于进行句法分析的库) 或者HanLP(另一个可以用于进行句法分析的库)等工具,对文本中的句子进行切句(例如分隔符\n);然后对每个句子进行句法分析,提取到每个句子的主语。该方法能够提取如第八句中的“他”是主语,从而过滤掉“她的姐姐”和“彬格莱”。但是,并不能提取如第七句这样的句子的主语,因为第七句中根本没有主语,句子的主语省略了。因此同样无法提取到说话人。
3、基于分词+词表的关键人名提取:利用分隔符(如\n)对句子进行切分;然后对每个句子利用jieba(一个可以用于进行分词的库)或者LTP等工具,进行分词和词性识别;分词后,可以提取到人名的词;然后基于预先制作的人名表,对每个人名分配权重,权重大于某个值的人名提取出来。该方法只能提取到关键人名,而且同样不能确定诸如第七句这样的句子中的说话人物。
4、基于人名识别的语言模型+新词发现的人物提取:利用分隔符(如\n) 对句子进行切分,对每个句子利用预先训练的人名提取模型提取候选人物集合;对指定文本进行新词发现,获取新词列表;基于候选人物集合和新词列表,确定指定文本中的人物信息,用以基于词频和新词发现来对获取到的人物进行过滤。该方法同样可以提取到第八句中的他、她的姐姐、彬格莱,但是同样不能确定谁是说话人;同样不能提取第七句的说话人物。
下面总结一下前述的文本识别提取方法在进行说话人识别提取时的缺点:
1、基于命名实体识别:只能提取到当前句子出现过的人名。
2、基于句法分析技术:对于句中未出现主语的句子,不能提取到说话人。
3、基于分词+词表:同1,只能提取到当前句子出现过的人名。
4、基于语言模型+新词发现:同1,只能提取到当前句子出现过的人名。
图1为本发明的人物提取方法一个实施例的示意性流程框图。在本发明的一些实施例中,请参阅图1,本发明示例的人物提取方法主要包括以下步骤:
步骤S11,接收目标文本,该目标文本中包含一句或多句话语(也称为说话内容)。可选地,该目标文本是用户输入的待提取说话人物的文本,也可以称为原始文本。需注意,前述的文本中包含的话语,可以是文本中的一整句话,也可以是文本中的一句话中的一部分。
步骤S12,将目标文本输入至预先训练好的语言模型,利用该语言模型确定目标文本中的话语对应的说话人物(也称为说话人、说话者、发言者)。
其中,该语言模型也称为文本生成模型,用于利用前导文本推断(也称为预测)后续文本的词表概率,根据该词表概率确定后续文本。在本发明的一些可选实施例中,前述步骤S12的过程、以及训练语言模型的过程,可以具体包括:将目标文本或训练文本作为前导文本来确定后续文本的词表概率,根据该词表概率确定对应的文本,作为目标文本或训练文本中的话语对应的说话人物文本。
需注意,本发明不限制所选用的语言模型的具体类型,例如可以是Bert 语言模型、GPT语言模型等。
其中,前述步骤S12中的利用语言模型确定话语对应的说话人物包括:利用输入至语言模型的文本中的句子的上下文(亦即前文、后文、相邻语句、相邻段落等)进行推断(也称为预测),得到目标文本中的话语对应的说话人物。其中,训练前述步骤S12中的语言模型的过程包括:利用输入至语言模型的训练文本中的句子的上下文(前文、后文、相邻语句、相邻段落等)进行推断,得到训练文本中的话语对应的说话人物。
可选的,可以将语言模型的处理设置为一次生成完整的结果。或者,可选的,也可以将语言模型的处理设置为包括多个循环,每个循环仅生成一个字词,通过多次循环来逐字或逐词地确定后续文本。在本发明的一些可选实施例中,前述步骤S12的过程、以及训练语言模型的过程,可以具体包括:在利用语言模型生成话语对应的说话人物的一部分字词单元后,将当前生成的字词单元与当前输入至语言模型的文本一同再次输入至语言模型,以再次进行说话人物的另一部分字词单元的生成,直到语言模型生成结束符;将结束符之前生成的字词单元作为说话人物的文本。
需注意,输入至语言模型的文本至少包括目标文本;而在利用语言模型逐字词地生成说话人物的示例中,当前轮所输入至语言模型的文本包括:目标文本和已经生成的说话人物文本。
利用本发明提出的人物提取方法,通过将上下文的信息作为预测当前句子的参考,即加入了需要预测句子的上文或者下文,充分利用了句子的上下文特性,能够准确地从文本中提取识别出说话人,能够确定出不包含人名的带有话语的句子的说话人物。
图2为本发明的人物提取方法另一个实施例的示意性框架图。本发明提出的方法主要采用语言模型。作为一个可选的具体示例,所采用的语言模型可以是Transformer架构的语言模型。该Transformer架构用于负责基于输入的文本进行说话人物生成。由于Transformer架构便于对前后的文本进行参考,因此可以选择该架构。
本发明提出的方法,基于输入的文本,自动生成每句话中对应的说话人物。需注意,不限制所输入的文本的长度,即输入文本的字数不限。
在本发明的一些实施例中,前述步骤S12的将目标文本输入至预先训练好的语言模型具体包括:将目标文本进行清洗和格式化,之后再输入至预先训练好的语言模型。而该语言模型的训练过程包括:将训练文本进行清洗和格式化,之后再输入至待训练的语言模型进行训练。
可选的,前述的文本清洗包括但不限于:去除空白符,非正常字符,字符统一化(全角或半角)。
可选的,前述的格式化文本可以包括:对输入的文本(即前述的目标文本或训练文本)进行分句,得到文本中的一个或多个句子。
可选的,前述的格式化文本还可以包括:判断目标文本或训练文本中的各个句子是否包含话语;对包含话语的句子设置标记,并将该标记添加至待输入至语言模型的文本中,以便将标记和文本一同输入至语言模型中进行说话人物的推断。
作为一个具体示例,前述的判断文本中的各个句子是否包含话语具体包括:识别文本中的句子是否包括目标标点符号,判定具有目标标点符号的句子包含话语。可选的,可以为多个语种设置多个目标标点符号,也可以根据文本的语种来设置对应的目标标点符号。例如,预先设置简体中文的目标标点符号为双引号和单引号、预先设置繁体中文的目标标点符号为角括弧;如果识别出文本中的一个句子包括一对双引号或一对单引号,则判定该句子包含话语。
可选的,在前述的格式化文本中,在分句后,也可以为待输入至语言模型的文本中的每个句子设置标记。
需注意,也可以不必判断文本中的各个句子是否包含话语,从而推断文本中的每个句子的说话人物,并认为输出文本为空的句子不包含话语。
作为训练数据格式、或输入的目标文本和利用本发明示例方法得到的输出文本格式的一个可选的具体示例,待提取说话人的文本、以及生成的文本(说话人物文本),如下:
伊丽莎白说不下去了,不过她心里却在埋怨自己软弱。后来还是达西很勉强地先开口说:\n(c)“韦翰先生生来满面春风,交起朋友来得心应手。至于他是不是能和朋友们长久相处,那就不大靠得住了。”\n(d)伊丽莎白加重语气回答道:“他真不幸,竟失去了您的友谊,而且弄成那么尴尬的局面,可能会使他一辈子都感受痛苦。”\n达西没有回答,好象想换个话题。就在这当儿,威廉卢卡斯爵士走近他们身边,打算穿过舞池走到屋子的寻一边去,可是一看到达西先生,他就停住了,礼貌周全地向他鞠了一躬,满口称赞他跳舞跳得好,舞伴又找得好。\n(g)“我真太高兴了,亲爱的先生,跳得这样一手好舞,真是少见。你毫无问题是属于第一流的人材。让我再唠叨一句,你这位漂亮的舞伴也真配得上你,我真希望常常有这种眼福,特别是将来有一天某一桩好事如愿的时候,亲爱的伊丽莎白小姐。”(h)(他朝着她的姐姐和彬格莱望了一眼)“那时候将会有多热闹的祝贺场面啊。我要求达西先生:……可是我还是别打搅你吧,先生。你正在和这位小姐谈得心醉神迷,如果我耽搁了你,你是不会感激我的,瞧她那了双明亮的眼睛也在责备我呢。”\n后半段话达西几乎没有听见。
<S>c达西d伊丽莎白g威廉卢卡斯h威廉卢卡斯<T>
其中,上述的“<S>c达西d伊丽莎白g威廉卢卡斯h威廉卢卡斯 <T>”是该示例中模型生成的说话人物文本。其中的符号“<S>”为说话人物文本的开始位标识符(或称为开始符),表示该开始位标识符之后的内容为语言模型生成的说话人物文本。可选的,可以在输入文本的最后预设的一个该开始位标识符<S>。其中,在本示例中,c、d、g、h是由模型逐个输出的。其中,符号“<T>”为说话人物文本的结束位标识符(或称为结束符),在模型推断出该结束位标识符之后判定说话人物生成完毕。
在语言模型确定所输入的文本中的话语对应的说话人物是逐字或逐词地推断的一些实施例中,每生成一个字,语言模型的处理循环一次,直到生成结束符<T>后语言模型的停止处理。
作为一个另一个可选的具体示例,输入的文本和利用本发明示例方法得到的输出文本如下:
输入:(a)伊丽莎白说不下去了,不过她心里却在埋怨自己软弱。(b)后来还是达西很勉强地先开口说:\n(c)“韦翰先生生来满面春风,交起朋友来得心应手。至于他是不是能和朋友们长久相处,那就不大靠得住了。”\n(d) 伊丽莎白加重语气回答道:“他真不幸,竟失去了您的友谊,而且弄成那么尴尬的局面,可能会使他一辈子都感受痛苦。”\n(e)达西没有回答,好象想换个话题。(f)就在这当儿,威廉卢卡斯爵士走近他们身边,打算穿过舞池走到屋子的寻一边去,可是一看到达西先生,他就停住了,礼貌周全地向他鞠了一躬,满口称赞他跳舞跳得好,舞伴又找得好。\n(g)“我真太高兴了,亲爱的先生,跳得这样一手好舞,真是少见。你毫无问题是属于第一流的人材。让我再唠叨一句,你这位漂亮的舞伴也真配得上你,我真希望常常有这种眼福,特别是将来有一天某一桩好事如愿的时候,亲爱的伊丽莎白小姐。”(h)(他朝着她的姐姐和彬格莱望了一眼)“那时候将会有多热闹的祝贺场面啊。我要求达西先生:……可是我还是别打搅你吧,先生。你正在和这位小姐谈得心醉神迷,如果我耽搁了你,你是不会感激我的,瞧她那了双明亮的眼睛也在责备我呢。”\n(i)后半段话达西几乎没有听见。。
输出:c达西d伊丽莎白g威廉卢卡斯h威廉卢卡斯。
需注意,上文中的“(a)、(b)、(c)、(d)、(e)、(f)、(g)、(h)、(i)”是在格式化文本步骤中,为了句子添加的标记,原始文本中并没有这些标记。而上文中的“\n”是原始文本中的行分隔符,是一种用于在文本中区分句子、段落等的分隔符。
请参阅上面的示例,在一些可选实施例中,在格式化文本步骤中,为带有说话内容的句子所设置的标记可以是诸如前述示例中的标号c、d、g、 h。可选的,在前述的格式化文本可以包括:为待输入至语言模型的文本中的不同的句子设置不同的标记。需注意,在本示例中,虽然同一段输入的文本中的不同句子采用不同的标记,但不同段之间的句子是可以采用相同标记的。需注意,本发明对标记设置于文本中的位置并不限制,例如可以与前述示例类似地添加到句首(句子之前),也可以添加到句子的中间或句子的末尾。可选的,可以仅为文本中的带有说话内容的句子设置标记,或者也可以为文本中的每句话设置标记。
本发明示例方法,通过将文本中的句子进行相应的标记,获取带标记处的说话人物,可以让模型能够更容易“注意”c、d、g、h相对应的句子,从而能够更好的提取说话人物。
可选的,前述的格式化文本还可以包括:对文本进行分词。例如将汉语按每个字切开、英文按每个单词切开,得到文本Token的列表。Token表示文本分割之后的单元,可称为字词单元、词符、或词元。以汉语为例,每个字符是一个字,分词后对应一个Token。然后基于该Token列表,将其转化为词表中对应的标识(或称为id),从而获取Token id(Token基于在词表中的索引号)。
需注意,前述的词表也可称为字表,表中的每行一个字、单词或字符,行号就是该字、单词或字符的索引号。以汉语为例,以所有的汉字和汉语符号(一般为所有的常用字和常用符号)形成为汉语词表,该汉语词表中的每一行的内容为一个汉字或汉语符号,词表的行号为该汉字或汉语符号的索引号。
需注意,在本说明书的描述中,不对训练数据和用户输入数据的文本中的词、单词、词组、字、字符进行区分。事实上,单个字也可视为一个词,而且对于字和词都可以利用本发明示例的方法或装置进行对应处理。因此,可以将词表和字表中的词和字统称为字词单元。
在本发明的一些实施例中,本发明提出的方法,在训练语言模型的过程中,可以基于有监督的数据进行训练,通过将文本进行相应的标记,进而获取带标记处的说话人物。
作为一个基于有监督的数据进行语言模型训练的示例,训练语言模型的过程可以包括:接收训练数据,其中,该训练数据包括训练文本,该训练文本中包含一句或多句话语,该训练数据还包括训练文本中的每句话语的真实说话人物作为标签;将训练文本输入至待训练的语言模型得到该训练文本中的话语对应的推断说话人物,并通过对比该推断说话人物和该真实说话人物来对待训练的语言模型进行调整。其中,前述的将训练文本输入至待训练的语言模型得到该训练文本中的话语对应的推断说话人物的步骤,包括:利用输入至语言模型的训练文本中的句子的上下文进行推断以得到该训练文本中的话语对应的推断说话人物。
在本发明的一些实施例中,本发明的语言模型的训练语料包括但不局限于小说文本,事实上,可以为任意领域的语料。
在本发明的一些实施例中,前述的利用输入至语言模型的文本中的句子的上下文推断目标文本中的话语对应的说话人物、和前述的利用输入至语言模型的训练文本中的句子的上下文推断训练文本中的话语对应的说话人物,可以包括:利用注意力机制来进行上下文关注。
作为一个可选示例,可以采用单向注意力机制,具体的,前述的利用注意力机制来进行上下文关注可以包括:将输入的目标文本或训练文本中的每个字、以及生成的说话人物文本中的每个字设置为关注当前字之前的字。
作为另一可选示例,可以采用单向双向相结合的注意力机制,具体的,前述的利用注意力机制来进行上下文关注可以包括:将输入的目标文本或训练文本中的每个字之间设置为相互关注,将生成的说话人物文本中的每个字设置为关注当前字之前的字。
需注意,文本是有序的,即前述的输入文本、生成的说话人物的文本都是字词单元的有序排列。因此前述的“当前字之前的字”指的是在文本这个有序排列中的位于当前的字词单元之前的字词单元。
另外,需注意,由于说话人物文本中的字均是由输入文本(即前述的目标文本或训练文本)作为前导文本推断(例如,逐个字地推断)出的,因此在进行前述“将对于生成的说话人物的文本中的每个字设置为关注当前字之前的字”之后,说话人物文本中的每个字都关注了输入文本中的所有的字、并关注了在说话人物文本中的当前字之前的字。
在本发明的一些可选的实施例中,可以采用改进的注意力机制,具体的,请参阅图3,前述步骤S12的利用训练好的语言模型确定目标文本中的话语对应的说话人物,以及在模型训练过程中的利用待训练的语言模型推断训练文本中的话语对应的说话人物,可以包括如下步骤:
步骤S21,将文本T输入至语言模型以得到该文本T的注意力分数矩阵α。其中,注意力分数矩阵α中的元素为关注分数,用于表示文本T中的字之间的关注程度。可选的,注意力分数矩阵α中的元素aij为文本T中的第i个字对于文本T中的第j个字的关注分数,其中i、j为元素在注意力分数矩阵α中的行数、列数。
步骤S22,利用掩码矩阵(也称为mask矩阵)M对注意力分数矩阵α进行掩码处理,得到掩码处理后的注意力分数矩阵αnew。其中,利用掩码矩阵进行的掩码处理用于改变注意力分数矩阵α中一些元素的取值,即改变的关注程度。
可选的,掩码矩阵包括多个零元素,用于将注意力分数矩阵α中对应位置的关注程度改变为不关注。可选的,该掩码矩阵的样式类型(shape) 是预先设置好的,例如单向注意力矩阵的掩码矩阵为三角矩阵。可选的,掩码矩阵的阶数(行数列数)可以与文本T的长度相关、或者与文本T和输出结果的总长度相关。需注意,在逐字词地生成说话人物时,掩码矩阵的阶数可以与当前轮所输入至语言模型的文本的长度相关,即与原始文本和已经生成的说话人物文本的长度之和相关。
步骤S23,利用掩码处理后的注意力分数矩阵αnew来推断文本中的话语对应的说话人物。
利用本发明提出的方法,通过对注意力分数矩阵进行掩码处理,能够对注意力分数矩阵进行控制和调整,进而更准确地得到说话人物。
在本发明的一些可选的实施例中,可以将注意力分数矩阵(例如掩码处理后的注意力分数矩阵αnew)作用于根据文本得到的向量,得到概率分布矩阵,并利用概率分布矩阵来推断文本中的话语对应的说话人物。具体的,可以将所述文本T对应的词向量、或由所述词向量转换得到的中间向量,与所述掩码处理后的注意力分数矩阵αnew相乘,将相乘的结果作为概率分布矩阵,利用该概率分布矩阵来推断文本中的话语对应的说话人物。因此,作为一个具体示例,前述步骤S12的利用训练好的语言模型确定目标文本中的话语对应的说话人物,以及在模型训练过程中的利用待训练的语言模型推断训练文本中的话语对应的说话人物,可以包括如下步骤:
步骤S31,将文本T转换为词向量,将文本T的词向量输入至语言模型以得到第一向量Vw。
步骤S32,对第一向量Vw进行编码(不妨称为ψ编码)以得到第二向量(也称为中间向量)Vm、和文本T的注意力分数矩阵α。
需注意,前述的第一向量、第二向量为模型推断过程中的中间向量。
需注意,可以分别训练两个模型用于将文本(或其词向量)转换为中间向量、将文本(或其词向量)转换为注意力分数矩阵,也可以训练一个模型用于将文本(或其词向量)同时转换为中间向量和注意力分数矩阵。
步骤S33,利用掩码矩阵M对注意力分数矩阵α进行掩码处理,得到掩码处理后的注意力分数矩阵αnew。可选的,掩码矩阵包括多个零元素,用于将注意力分数矩阵α中对应位置的关注程度改变为不关注。
步骤S34,将掩码处理后的注意力分数矩阵αnew与第二向量Vm相乘,并进行softmax处理,得到概率分布矩阵P(也称为注意力权重分布矩阵)。
步骤S35,将概率分布矩阵P与输入的向量Vw相乘,得到文本T的编码V,以得到文本T的标签。
需注意,本发明对前述步骤S31所利用的语言模型的结构、得到的第一向量Vw、前述步骤S32所进行的编码、得到的第二向量Vm等,均不做限制。事实上,本发明通过对注意力分数矩阵进行掩码处理,并利用掩码处理后的注意力分数矩阵进行模型推断,能够更准确地得到说话人物。
作为一个基于Transformer模型的以改进的注意力机制实现上下文关注的具体示例,以长度为L的一段文本T、词向量维度为Hw为例。需注意,在语言模型逐字或逐词生成说话人物文本的示例中,这里的文本T包括原始文本和已经生成的说话人物文本。
1、文本T输入到Transformer模型;
2、将Vw经过ψ编码后得到:中间向量Vm、和文本T的注意力分数矩阵α:
其中,在矩阵α中,第i行可用于表示文本T中的第i个字对文本T 中的各个字的关注分数。具体的,在矩阵α中的第i行第j列的元素表示:文本T中的第i个字对于文本T中的第j个字的关注分数。可选的,分数越高,代表越关注。需注意,也可以用第i列来表示文本T中的第i个字对文本T中的各个字的关注分数。
需注意,对Vw所进行的ψ编码以得到中间向量Vm和注意力分数矩阵α,事实上是对Vw进行了一系列矩阵点乘,等效于Vw经过矩阵A得到α、且 Vw经过矩阵B得到Vm。而该ψ编码、矩阵A、矩阵B,可以通过深度学习得到。
3、经过人为的注意力分数mask矩阵M(也称为掩码矩阵),其中 M∈RL×L。其中,RL×L表示L行L列的矩阵,矩阵中的元素的取值范围是实数R。可选的,mask矩阵中的元素的取值为0或1。
4、将mask与注意力分数矩阵进行点乘,得到新的注意力分数矩阵:
αnew=M*α αnew∈RL×L (2)
需注意,上述的点乘指的是两矩阵的对应位置的元素做乘法,例如点乘结果矩阵的第m行第n列元素是原始两个矩阵的第m行第n列元素相乘的结果。从而,得到的αnew的过程相当于,将原注意力分数矩阵α的在mask 中取0的位置分数变为0,在mask中取1的位置分数保持不变。
在进行mask处理后的注意力分数矩阵中,每个字对其他字的关注程度改变了,这直接影响后面的输出向量V。通过控制mask矩阵就能够控制注意力。
5、然后将mask处理后的注意力分数矩阵αnew与中间向量Vm相乘,并进行softmax处理,得到概率分布矩阵P表示:
P=Softmax(αnew*Vm)P∈RL×L (3)
6、将概率分布矩阵与输入的向量Vw相乘,得到文本T的编码V:
而输出向量V,经过函数argmax(argmax为开源机器学习框架torch 自带的函数),得到V中的所有元素中的最大的元素的索引号(序号),将该最大的元素的索引号对应的字作为生成字:
label=argmax(V)。
需注意,在语言模型逐字或逐词生成说话人物文本的示例中,在语言模型生成一个字后,将当前轮生成的字与当前轮的输入文本一同输入至语言模型以进行下一轮的说话人物文本(事实上也就是下一个字词)的生成。
利用本发明提出的方法,通过利用注意力机制实现上下文关注以进行编码,能够在模型输出时一次性生成文本中所有句子对应的说话人物。
图4是在一个具体示例中采用的单向注意力矩阵(单向注意力分数矩阵),其中灰色部分注意力不为0,白色部分为0。图5是在另一具体示例中采用的单双向结合的注意力矩阵(也称为单+双向注意力矩阵、单+双向注意力分数矩阵、单+双向注意力分数矩阵、单向双向混合注意力矩阵),其中灰色部分注意力不为0,白色部分为0。
在本发明的一些实施例中,注意力可以采用单向注意力机制,如图4 所示,在前述步骤S22的利用掩码矩阵M对注意力分数矩阵α进行掩码处理的过程中,采用的掩码矩阵M可以为单向注意力的掩码矩阵,从而实现上下文关注所采用的掩码处理后的注意力分数矩阵αnew为单向注意力矩阵,表示输入文本和生成文本排成的序列中,每个字词单元仅关注位于自身之前的前置字词单元。
在本发明的一些实施例中,注意力可以使用单双向结合的注意力机制 (也称为单+双向注意力混合机制),对于输入的文本采用双向注意力,生成的说话人物文本采用单向注意力。即,输入的文本每个Token之间是可以相互关注的,但对于生成的说话人物文本仅关注前面的所有的Token。其中,本文提及的Token是指:表示文本分词之后的单元。请参阅图5,在前述步骤S22的利用掩码矩阵M对注意力分数矩阵α进行掩码处理的过程中,采用的掩码矩阵M可以为单双向结合的掩码矩阵,从而实现上下文关注所采用的掩码处理后的注意力分数矩阵αnew为单双向结合的注意力矩阵,在该掩码处理后的注意力分数矩阵αnew中,对于输入的文本中的每个字都关注文本中所有的字,并且对于生成的说话人物的文本中的每个字仅关注之前的字。具体的,对于输入的文本采用双向注意力,生成的说话人物文本采用单向注意力。即,输入的文本每个字(实际中是利用了字所对应的Token、或者说利用的是Token形式的字,而不是利用文本形式的字)之间是可以相互关注的,对于生成的说话人物文本,仅关注之前的所有的字。
作为一个采用单双向结合的注意力机制的具体示例,掩码矩阵M为单双向结合的掩码矩阵,用于表示对于输入的文本中的每个字之间都相互关注、并且对于生成的文本中的每个字关注当前字之前的字。可选的,该单双向结合的掩码矩阵可以包括4个子阵;其中,第一子阵对应于输入的输入文本中的文字之间的关注程度,该第一子阵中的至少一些元素不为0(可选的,第一子阵中的元素均为1);第二子阵对应于生成的说话人物文本中的文字之间的关注程度,该第二子阵为三角矩阵;第三子阵对应于输入文本中的文字对于说话人物文本中的文字的关注程度,该第三子阵中的元素均为0(即零矩阵);第四子阵对应于说话人物文本中的文字对于输入文本中的文字的关注程度,该第四子阵中的至少一些元素不为0(可选的,第四子阵中的元素均为1)。
一般的生成任务,都是基于单向注意力机制的,比如GPT系列。而在本发明的一些实施例中,利用了单双向结合的注意力机制。因为用户的输入文本,之间是可以相互关注的,因此在输入的文本处使用双向,而生成的文本,因为是逐字生成的,因此只能使用单向注意力,这样的话,就构成了本发明的单双向结合的注意力机制。在本发明的一些可选的实施例中,在单双向结合的注意力机制架构上、并基于Transformer架构的预训练语言模型进行fine-tune。
利用本发明提出的方法,通过利用单双向结合的注意力机制,能够更准确地得到说话人物。
作为一个通过控制掩码矩阵来控制注意力的具体示例:
假设“北京中关村”的注意力分数矩阵为S:
[[0.1898,0.1937,0.2055,0.2017,0.2092],
[0.1874,0.1360,0.2316,0.1658,0.2793],
[0.1717,0.1788,0.2620,0.1769,0.2106],
[0.2421,0.2062,0.1736,0.1482,0.2299],
[0.1762,0.1389,0.2210,0.1778,0.2860]]:
这个矩阵的意义为:
第一行表示“北”字对“北京中关村”每个字的关注分数。分数越高,代表越关注。第二行表示“京”字对“北京中关村”每个字的关注分数。
…
第i行表示“第i个”字对“北京中关村”每个字的关注分数。
那么,如果,这时候有一个0、1矩阵,直接与该分数矩阵S相乘,例如:
[[0,0,0,1,1]
[0,0,0,1,1]
[0,0,0,1,1]
[0,0,0,0,1]
[0,0,0,0,0]*S
则得到新的分数矩阵:
[[0.0000,0.0000,0.0000,0.2017,0.2092]
[0.0000,0.0000,0.0000,0.1658,0.2793]
[0.0000,0.0000,0.0000,0.1769,0.2106]
[0.0000,0.0000,0.0000,0.0000,0.2299]
[0.0000,0.0000,0.0000,0.0000,0.0000]
可以发现,每个字对其他字的关注分程度改变了,这直接影响后面的输出向量V。
在本发明的一些实施例中,语言模型的训练过程包括:第一阶段,预训练语言模型;以及,第二阶段,对预训练得到的语言模型进行微调 (Fine-tuning)。可选的,可以在微调阶段进行前述的利用注意力机制来进行上下文关注。
其中,预训练过程的语言模型可以为Transformer架构(一种神经网络结构)、GPT架构(Generative Pre-Training)、Bert架构(Bidirectional Encoder Representationsfrom Transformers)、CNN(卷积神经网络)架构、RNN(循环神经网络)架构、或LSTM(长短期记忆神经网络)架构。
在本发明的一些实施例中,在前述步骤S12之后,本发明示例的人物提取方法还包括:对原始的目标文本进行调整,具体包括:将确定出的说话人物的信息添加至原始的目标文本之中。并且,还可以将目标文本修改为预定的格式,例如调整为:某个确定出的说话人物说:“某句话语”。
本发明提出的人物提取方法有广泛的应用场景,包括但不限于对话式小说、有声读物等。
本发明的实施例还提供一种文本朗读方法,该方法主要包括以下步骤:获取待朗读的目标文本;利用前述的人物提取方法的任意一种实施例来提取待朗读文本中的一句或多句话语对应的说话人物;播放与该目标文本对应的语音,其中,在朗读文本时,为该目标文本中的话语分配与提取到的说话人物对应的声音进行朗读。利用本发明的文本朗读方法,在朗读应用程序将文本转换为有声读物时,可以将书中人物提取,轮到播放该人物说话的时候使用提前设定这个人物的声音进行朗读。
本发明的实施例还提供一种对话式文本生成方法,其特征在于,该方法主要包括以下步骤:获取目标文本;利用前述的人物提取方法的任意一种实施例来提取目标文本中的一句或多句话语对应的说话人物;根据提取到的说话人物,将目标文本转换为对话式文本,用以将原始文本以对话形式呈现给读者。
本发明的实施例还提供一种人物提取装置,该装置主要包括:获取模块、以及说话人物识别模块。
其中,该获取模块用于:接收目标文本。其中,该目标文本中包含一句或多句话语。
该说话人物识别模块用于:将目标文本输入至预先训练好的语言模型,利用语言模型确定目标文本中的话语对应的说话人物。其中,说话人物识别模块所进行的利用语言模型确定目标文本中的话语对应的说话人物,具体包括:利用输入至语言模型的文本中的句子的上下文推断目标文本中的话语对应的说话人物。其中,训练语言模型的过程包括:利用输入至语言模型的训练文本中的句子的上下文推断训练文本中的话语对应的说话人物。
另外,本发明实施例示出的各种人物提取装置的包括有用于执行前述各个实施例所述方法对应的模块和单元,而其详细说明和技术效果可以参考前述各实施例中的相应说明,在此不再赘述。
本发明的实施例还提供一种文本朗读装置,该装置包括用于执行前述的文本朗读方法对应的模块或单元。
本发明的实施例还提供一种对话式文本生成装置,该装置用于执行前述的对话式文本生成对应的模块或单元。
图6是图示根据本发明的一个实施例的人物提取设备的示意性框图。如图6所示,根据本公开实施例的人物提取设备100包括存储器101和处理器102。
该存储器101用于存储非暂时性计算机可读指令。具体地,存储器101 可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器 (cache)等。该非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
该处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/ 或指令执行能力的其它形式的处理单元,并且可以控制人物提取设备100 中的其它组件以执行期望的功能。在本公开的一个实施例中,该处理器102 用于运行该存储器101中存储的该计算机可读指令,使得该人物提取设备 100执行前述的本公开各实施例的人物提取方法的全部或部分步骤。
有关本实施例的详细说明和技术效果可以参考前述各实施例中的相应说明,在此不再赘述。
本发明的实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在设备上运行时,使得设备执行上述相关方法步骤实现上述实施例中的人物提取方法。
本发明的实施例还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的人物提取方法。
另外,本发明的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的人物提取方法。
其中,本发明提供的装置、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
以上所述,仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (17)
1.一种人物提取方法,其特征在于,所述方法包括以下步骤:
接收目标文本,所述目标文本中包含一句或多句话语;
将所述目标文本输入至预先训练好的语言模型,利用所述语言模型确定所述目标文本中的话语对应的说话人物;
其中,所述利用所述语言模型确定所述目标文本中的话语对应的说话人物包括:利用输入至语言模型的文本中的句子的上下文推断所述目标文本中的话语对应的说话人物;其中,训练所述语言模型的过程包括:利用输入至语言模型的训练文本中的句子的上下文推断所述训练文本中的话语对应的说话人物。
2.根据权利要求1所述的人物提取方法,其特征在于,所述利用所述语言模型确定所述目标文本中的话语对应的说话人物、以及所述训练所述语言模型的过程,具体包括:
将所述目标文本或所述训练文本作为前导文本来确定后续文本的词表概率,根据所述词表概率确定对应的文本作为所述目标文本或所述训练文本中的话语对应的说话人物文本。
3.根据权利要求1所述的人物提取方法,其特征在于,
所述的利用输入至语言模型的文本中的句子的上下文推断所述目标文本中的话语对应的说话人物、和所述的利用输入至语言模型的训练文本中的句子的上下文推断所述训练文本中的话语对应的说话人物包括:利用注意力机制来进行上下文关注。
4.根据权利要求3所述的人物提取方法,其特征在于,
所述利用注意力机制来进行上下文关注具体包括:将输入的目标文本或训练文本中的每个字之间设置为相互关注,将生成的说话人物文本中的每个字设置为关注当前字之前的字。
5.根据权利要求3所述的人物提取方法,其特征在于,
所述的利用输入至语言模型的文本中的句子的上下文推断所述目标文本中的话语对应的说话人物、和所述的利用输入至语言模型的训练文本中的句子的上下文推断所述训练文本中的话语对应的说话人物,具体包括:
将文本T输入至语言模型以得到文本T的注意力分数矩阵α,其中,所述注意力分数矩阵α中的元素为关注分数,用于表示文本T中的字之间的关注程度;
利用掩码矩阵M对注意力分数矩阵α进行掩码处理,得到掩码处理后的注意力分数矩阵αnew;其中,所述掩码处理用于改变注意力分数矩阵α中一些元素的取值以改变字之间的关注程度;
利用所述掩码处理后的注意力分数矩阵αnew来推断文本中的话语对应的说话人物。
6.根据权利要求5所述的人物提取方法,其特征在于,
所述掩码矩阵M为单双向结合的掩码矩阵,用于表示对于输入的文本中的每个字之间都相互关注、并且对于生成的文本中的每个字关注当前字之前的字;
其中,所述单双向结合的掩码矩阵包括4个子阵;其中,第一子阵对应于输入的输入文本中的文字之间的关注程度,所述第一子阵中的至少一些元素不为0;第二子阵对应于生成的说话人物文本中的文字之间的关注程度,所述第二子阵为三角矩阵;第三子阵对应于输入文本中的文字对于说话人物文本中的文字的关注程度,所述第三子阵中的元素均为0;第四子阵对应于说话人物文本中的文字对于输入文本中的文字的关注程度,所述第四子阵中的至少一些元素不为0。
7.根据权利要求5所述的人物提取方法,其特征在于,所述利用所述掩码处理后的注意力分数矩阵αnew来推断文本中的话语对应的说话人物,包括:
将所述文本T对应的词向量、或由所述词向量转换得到的中间向量,与所述掩码处理后的注意力分数矩阵αnew相乘,利用相乘的结果来推断文本中的话语对应的说话人物。
8.根据权利要求1到7中任意一项所述的人物提取方法,其特征在于,
所述的将所述目标文本输入至预先训练好的语言模型,包括:将所述目标文本进行清洗和格式化,之后再输入至预先训练好的所述语言模型;
所述语言模型的训练过程包括:将训练数据进行清洗和格式化,之后再输入至待训练的所述语言模型进行训练;
其中,所述格式化包括:判断目标文本或训练文本中的各个句子是否包含话语;对包含话语的句子设置标记,并将所述标记添加至目标文本或训练文本中,以便将所述标记和文本一同输入至所述语言模型中进行说话人物的推断。
9.根据权利要求1到7中任意一项所述的人物提取方法,其特征在于,所述利用所述语言模型确定所述目标文本中的话语对应的说话人物、以及所述训练所述语言模型的过程,包括:
在利用所述语言模型生成话语对应的说话人物的一部分字词单元后,将当前生成的字词单元与当前输入至语言模型的文本一同再次输入至语言模型,以再次进行说话人物的另一部分字词单元的生成,直到语言模型生成结束符;将结束符之前生成的字词单元作为说话人物的文本。
10.根据权利要求1到7中任意一项所述的人物提取方法,其特征在于,
所述语言模型的训练过程包括:第一阶段,预训练语言模型;以及,第二阶段,对预训练得到的语言模型进行微调;
其中,预训练过程的语言模型为Transformer架构、GPT架构、Bert架构、CNN架构、RNN架构、或LSTM架构。
11.一种文本朗读方法,其特征在于,所述方法包括以下步骤:
获取目标文本;
根据权利要求1至10中任一项所述的人物提取方法提取所述目标文本中的一句或多句话语对应的说话人物;
播放与所述目标文本对应的语音,其中,为所述目标文本中的话语分配与提取到的所述说话人物对应的声音进行朗读。
12.一种对话式文本生成方法,其特征在于,所述方法包括以下步骤:
获取目标文本;
根据权利要求1至10中任一项所述的人物提取方法提取所述目标文本中的一句或多句话语对应的说话人物;
根据提取到的所述说话人物,将所述目标文本转换为对话式文本。
13.一种人物提取装置,用于实现如权利要求1到10中任意一项所述的人物提取方法。
14.一种文本朗读装置,用于实现如权利要求11所述的文本朗读方法。
15.一种对话式文本生成装置,用于实现如权利要求12所述的对话式文本生成方法。
16.一种人物提取设备,包括:
存储器,用于存储非暂时性计算机可读指令;以及
处理器,用于运行所述计算机可读指令,使得所述计算机可读指令被所述处理器执行时实现权利要求1至10中任一项所述的人物提取方法。
17.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在设备上运行时,使得所述设备执行如权利要求1至10中任一项所述的人物提取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111467067.2A CN114492382A (zh) | 2021-12-03 | 2021-12-03 | 人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111467067.2A CN114492382A (zh) | 2021-12-03 | 2021-12-03 | 人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114492382A true CN114492382A (zh) | 2022-05-13 |
Family
ID=81493070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111467067.2A Pending CN114492382A (zh) | 2021-12-03 | 2021-12-03 | 人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114492382A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115116431A (zh) * | 2022-08-29 | 2022-09-27 | 深圳市星范儿文化科技有限公司 | 基于智能朗读亭的音频生成方法、装置、设备及存储介质 |
-
2021
- 2021-12-03 CN CN202111467067.2A patent/CN114492382A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115116431A (zh) * | 2022-08-29 | 2022-09-27 | 深圳市星范儿文化科技有限公司 | 基于智能朗读亭的音频生成方法、装置、设备及存储介质 |
CN115116431B (zh) * | 2022-08-29 | 2022-11-18 | 深圳市星范儿文化科技有限公司 | 基于智能朗读亭的音频生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hopkins et al. | Automatically generating rhythmic verse with neural networks | |
US11443733B2 (en) | Contextual text-to-speech processing | |
JP6523893B2 (ja) | 学習装置、音声合成装置、学習方法、音声合成方法、学習プログラム及び音声合成プログラム | |
US8126714B2 (en) | Voice search device | |
US7966173B2 (en) | System and method for diacritization of text | |
KR101160193B1 (ko) | 감성적 음성합성 장치 및 그 방법 | |
CN115485766A (zh) | 使用bert模型的语音合成韵律 | |
CN111145718A (zh) | 一种基于自注意力机制的中文普通话字音转换方法 | |
CN109949791A (zh) | 基于hmm的情感语音合成方法、装置及存储介质 | |
CN110767213A (zh) | 一种韵律预测方法及装置 | |
Carvalho et al. | A critical survey on the use of fuzzy sets in speech and natural language processing | |
CN112599113B (zh) | 方言语音合成方法、装置、电子设备和可读存储介质 | |
US11935523B2 (en) | Detection of correctness of pronunciation | |
JP2020034883A (ja) | 音声合成装置及びプログラム | |
KR101424193B1 (ko) | 타 언어권 화자음성에 대한 음성인식 시스템의 성능 향상을위한 비직접적 데이터 기반 발음변이 모델링 시스템 및방법 | |
CN112016320A (zh) | 基于数据增强的英文标点符号添加方法和系统及设备 | |
CN113239666A (zh) | 一种文本相似度计算方法及系统 | |
Li et al. | Chinese prosody phrase break prediction based on maximum entropy model | |
CN112216267A (zh) | 一种韵律预测的方法、装置、设备及存储介质 | |
CN114492382A (zh) | 人物提取方法、文本朗读方法、对话式文本生成方法、装置、设备及存储介质 | |
WO2017082717A2 (en) | Method and system for text to speech synthesis | |
KR100487718B1 (ko) | 영역 외 코퍼스를 이용한 영역 종속적 훈련 코퍼스 보강시스템 및 그 방법 | |
KR100511247B1 (ko) | 음성 인식 시스템의 언어 모델링 방법 | |
Hoste et al. | Using rule-induction techniques to model pronunciation variation in Dutch | |
Mohanty et al. | Double ended speech enabled system in Indian travel & tourism industry |
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 |