CN113255327B - 文本处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
文本处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113255327B CN113255327B CN202110649374.6A CN202110649374A CN113255327B CN 113255327 B CN113255327 B CN 113255327B CN 202110649374 A CN202110649374 A CN 202110649374A CN 113255327 B CN113255327 B CN 113255327B
- Authority
- CN
- China
- Prior art keywords
- word
- text
- probability
- answer
- word sequence
- 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
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/216—Parsing using statistical methods
-
- 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/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例提供了一种文本处理方法、装置、电子设备及计算机可读存储介质,该方法包括:获取待处理文本对应的至少一个词序列,每一词序列对应于问题文本和一个段落文本;将各词序列输入训练好的文本处理模型,通过训练好的文本处理模型分别提取各词序列中各词的特征向量,并基于特征向量获取各词序列中各词的概率,概率包括对应的词为答案的起始词的第一概率、以及为答案的终止词的第二概率;基于各词序列中各词的第一概率和第二概率,确定出问题文本的答案。该方案文本处理模型既利用了段落文本中各词的特征向量也利用了问题文本中各词的特征向量,且输出的各词的概率具有可比性,保证了最终答案的准确性。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种文本处理方法、装置、电子设备及计算机可读存储介质。
背景技术
机器阅读理解(Machine Reading Comprehension,MRC)是利用机器学习模型来做文本问题理解工作,是自然语言处理(Natural Language Processing,NLP)中一项基础的底层技术。它的基本任务是给出一个问题,以及一些文档,从这些文档里找出这个问题的答案。
传统的MRC任务是“一问一答”形式,也就是一个问题对应一个段落。但是,在很多实际情况下,一个问题对应的并不只是一个段落。例如在开放域问答(OpenQA,OpenQuestion and Answer)场景下,一个问题对应于多个段落。现有的机器阅读理解方法中的机器阅读理解模型是针对“一个问题对应一个段落”的场景设计的,利用现有机器阅读理解方法对“一个问题对应多个段落”的场景进行处理时,可能出现获取到的答案不准确的问题,因此有必要对现有方法提出改进。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:
第一方面,本申请实施例提供了一种文本处理方法,包括:
获取待处理文本对应的至少一个词序列,待处理文本包括问题文本和对应的至少一个与问题文本相关的段落文本,每一词序列对应于问题文本和一个段落文本;
将各词序列输入训练好的文本处理模型,通过训练好的文本处理模型分别提取各词序列中各词的特征向量,并基于特征向量获取各词序列中各词的概率,概率包括对应的词为答案的起始词的第一概率、以及为答案的终止词的第二概率;
基于各词序列中各词的第一概率和第二概率,确定出问题文本的答案。
在本申请的一种可选实施例中,获取待处理文本对应的至少一个词序列,包括:
将问题文本和至少一个段落文本分别进行分词处理,得到问题词序列和至少一个段落词序列;
将各段落词序列分别与问题词序列进行拼接,得到对应的词序列。
在本申请的一种可选实施例中,将各段落词序列分别与问题词序列进行拼接,得到对应的词序列,包括:
将问题词序列拼接在各段落词序列之前,并在问题词序列之前、问题词序列与段落词序列之间以及段落词序列之后,添加第一指定字符,得到对应的词序列。
在本申请的一种可选实施例中,训练好的文本处理模型通过如下方式训练得到:
获取预设数量的训练样本,并获取各训练样本对应的至少一个样本词序列,训练样本包括问题文本和对应的至少一个标注有答案的起始词和终止词的段落文本,每一样本词序列对应于问题文本和一个段落文本;
依次将各训练样本对应的至少一个样本词序列输入初始的文本处理模型,从文本处理模型的输出中获取各样本词序列中标注的答案的起始词的目标第一概率、以及终止词的目标第二概率,并基于目标第一概率和目标第二概率获取各训练样本对应的损失值;
分别基于各训练样本对应的损失值,调整文本处理模型的模型参数,当损失值满足预设条件时得到训练好的文本处理模型。
在本申请的一种可选实施例中,获取预设数量的训练样本,包括:
获取预设数量的第一文本,并选取各第一文本中的特定实体作为答案;
将各第一文本中的实体替换为第二指定字符得到第二文本,并基于第二文本从预设段落库中检索得到至少一个段落文本;
利用答案对段落文本进行标注,得到标注有答案的起始词和终止词的段落文本;
将第二文本作为问题文本,并与对应的至少一个标注有答案的起始词和终止词的段落文本构成对应的训练样本。
在本申请的一种可选实施例中,损失值指示各样本词序列对应的各目标第一概率值与各目标第二概率值之和的大小,且损失值越小,对应的各目标第一概率值与各目标第二概率值之和也越大;
分别基于各训练样本对应的损失值,调整文本处理模型的模型参数,当损失值满足预设条件时得到训练好的文本处理模型,包括:
分别基于各训练样本对应的损失值,调整文本处理模型的模型参数,当损失值不大于预设值时得到训练好的文本处理模型。
在本申请的一种可选实施例中,基于特征向量获取各词序列中各词的概率,包括:
基于特征向量获取各词序列中各词的分对数Logit值;
基于Logit值,通过Softmax函数获取各词序列中各词的概率。
在本申请的一种可选实施例中,基于各词序列中各词的第一概率和第二概率,确定出问题文本的答案,包括:
基于各词序列中各词的第一概率和第二概率,从各词序列中确定出对应的待选答案;
基于各待选答案的起始词的第一概率和终止词的第二概率,从各待选答案中确定出对应的答案。
在本申请的一种可选实施例中,基于各词序列中各词的第一概率和第二概率,从各词序列中确定出对应的待选答案,包括:
将各词序列中最大第一概率对应的词作为答案的起始词,将最大第二概率对应的词作为答案的终止词,并基于起始词和终止词确定对应的待选答案。
在本申请的一种可选实施例中,基于各待选答案的起始词的第一概率和终止词的第二概率,从各待选答案中确定出对应的答案,包括:
获取各待选答案的起始词的第一概率与终止词的第二概率的乘积,并将最大乘积对应的待选答案确定为对应的答案。
第二方面,本申请实施例提供了一种文本处理装置,包括:
词序列获取模块,用于获取待处理文本对应的至少一个词序列,待处理文本包括问题文本和对应的至少一个与问题文本相关的段落文本,每一词序列对应于问题文本和一个段落文本;
文本处理模块,用于将各词序列输入训练好的文本处理模型,通过训练好的文本处理模型分别提取各词序列中各词的特征向量,并基于特征向量获取各词序列中各词的概率,概率包括对应的词为答案的起始词的第一概率、以及为答案的终止词的第二概率;
答案获取模块,用于基于各词序列中各词的第一概率和第二概率,确定出问题文本的答案。
在本申请的一种可选实施例中,词序列获取模块具体用于:
将问题文本和至少一个段落文本分别进行分词处理,得到问题词序列和至少一个段落词序列;
将各段落词序列分别与问题词序列进行拼接,得到对应的词序列。
在本申请的一种可选实施例中,词序列获取模块进一步用于:
将问题词序列拼接在各段落词序列之前,并在问题词序列之前、问题词序列与段落词序列之间以及段落词序列之后,添加第一指定字符,得到对应的词序列。
在本申请的一种可选实施例中,该装置还包括训练模块,用于:
获取预设数量的训练样本,并获取各训练样本对应的至少一个样本词序列,训练样本包括问题文本和对应的至少一个标注有答案的起始词和终止词的段落文本,每一样本词序列对应于问题文本和一个段落文本;
依次将各训练样本对应的至少一个样本词序列输入初始的文本处理模型,从文本处理模型的输出中获取各样本词序列中标注的答案的起始词的目标第一概率、以及终止词的目标第二概率,并基于目标第一概率和目标第二概率获取各训练样本对应的损失值;
分别基于各训练样本对应的损失值,调整文本处理模型的模型参数,当损失值满足预设条件时得到训练好的文本处理模型。
在本申请的一种可选实施例中,训练模块具体用于:
获取预设数量的第一文本,并选取各第一文本中的特定实体作为答案;
将各第一文本中的实体替换为第二指定字符得到第二文本,并基于第二文本从预设段落库中检索得到至少一个段落文本;
利用答案对段落文本进行标注,得到标注有答案的起始词和终止词的段落文本;
将第二文本作为问题文本,并与对应的至少一个标注有答案的起始词和终止词的段落文本构成对应的训练样本。
在本申请的一种可选实施例中,损失值指示各样本词序列对应的各目标第一概率值与各目标第二概率值之和的大小,且损失值越小,对应的各目标第一概率值与各目标第二概率值之和也越大;
训练模块具体用于:
分别基于各训练样本对应的损失值,调整文本处理模型的模型参数,当损失值不大于预设值时得到训练好的文本处理模型。
在本申请的一种可选实施例中,文本处理模块具体用于:
基于特征向量获取各词序列中各词的分对数Logit值;
基于Logit值,通过Softmax函数获取各词序列中各词的概率。
在本申请的一种可选实施例中,答案获取模块具体用于:
基于各词序列中各词的第一概率和第二概率,从各词序列中确定出对应的待选答案;
基于各待选答案的起始词的第一概率和终止词的第二概率,从各待选答案中确定出对应的答案。
在本申请的一种可选实施例中,答案获取模块进一步用于:
将各词序列中最大第一概率对应的词作为答案的起始词,将最大第二概率对应的词作为答案的终止词,并基于起始词和终止词确定对应的待选答案。
在本申请的一种可选实施例中,答案获取模块进一步用于:
获取各待选答案的起始词的第一概率与终止词的第二概率的乘积,并将最大乘积对应的待选答案确定为对应的答案。
第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器;
存储器中存储有计算机程序;
处理器,用于执行计算机程序以实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
本申请提供的技术方案带来的有益效果是:
对于包含与问题文本对应的多个段落文本的待处理文本,获取待处理文本对应的多个包含问题文本和一个段落文本的词序列,并将这多个词序列输入训练好的文本处理模型中进行并行处理,得到各词序列中的各词为答案的起始词和终止词的概率,并基于得到的概率获取问题文本的答案,该方案中文本处理模型的各输入词序列不仅包含问题相关的段落文本,还包含有问题文本本身,使得文本处理模型在获取各词的概率时,既利用了段落文本中各词的特征向量也利用了问题文本中各词的特征向量,使得基于各词概率值得到的多个答案更加准确,同时由于文本处理模型对多个词序列进行并行处理,其输出各词的概率具有可比性,因此在多个词序列都包含答案的情形下可以基于各词的概率进行答案的择优,进一步保证了最终答案的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1a为本申请实施例提供的一种文本处理系统的系统架构图;
图1b为本申请实施例提供的文本处理系统应用于区块链系统的结构示意图;
图1c为本申请实施例中区块结构的示意图;
图2为本申请实施例提供的一种文本处理方法的流程示意图;
图3a为本申请实施例中待处理文本的分词和拼接过程的示意图;
图3b为本申请实施例的一个示例中词序列的结果示意图;
图4为本申请实施例中文本处理模型训练过程示意图;
图5为本申请实施例的一个事例中训练样本的获取过程的示意图;
图6为本申请实施例的一个示例中文本处理方法在搜索应用场景的示意图;
图7为本申请实施例提供的一种文本处理装置的结构框图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
传统的机器阅读理解任务多采用“一问一答”形式,即一个问题对应于一个段落,通过机器阅读理解模型从该段落中获取该问题的答案,举例来说,问题为“世界上第一套地震仪谁发明的”,段落为“地震仪是一种监视地震的发生,记录地震相关参数的仪器。我国东汉时代的科学家张衡,在公元132年就制成了世界上最早的“地震仪”——地动仪。”,通过机器阅读理解模型分析这个问题和段落,得到答案为“张衡”。
而对于“一个问题对应多个段落”的场景,例如,开放域问答(OpenQA)场景,需要从一个巨大的文档库里去寻找问题的答案。其中,该文档库可以是百科文本库、新闻库、专业资料库、或者整个互联网web库。该场景下一般的流程是通过检索算法(例如BM25算法、深度学习检索模型等)先从文档库里初筛出一些和问题相关的文档出来,然后再用MRC模型从这些文档里去抽取出答案。
对于机器阅读理解方案,机器阅读理解模型的训练过程可以分为模型的预训练和模型的微调训练两个阶段。在现有的机器阅读理解方案中,其模型的预训练采用的是通用的预训练方式,与特定任务无关,即与从段落中获取问题答案的任务无关,举例来说,对于BERT(Bidirectional Encoder Representations from Transformer)模型,通常采用掩码语音模型(Mask language Model,MLM)这种通用的预训练方式。其微调训练阶段是采用人工标注的训练样本对预训练的模型进行微调训练,具体来说,将问题与对应的单独的段落作为训练样本进行训练,那么训练出来的模型在对“一个问题对应多个段落”的任务进行处理时,会导致不同段落对应的答案之间不可比,进而无法获取最优的答案。综上所述,由于上述原因,在利用现有机器阅读理解方法对“一个问题对应多个段落”的场景进行处理时,可能出现获取到的答案不准确的问题,针对上述问题,本申请实施例提供了一种文本处理方案,下面将对该方案进行详细说明。
如图1a所示为本申请实施例提供的文本处理方法执行所依赖的系统架构的视图,该系统可以包括问题获取单元101和文本处理单元102,其中,问题获取单元101可以为各种用户终端,例如手机、平板或个人电脑等,用户通过各种输入方式输入问题文本,例如,用户通过用户终端上的应用程序以文字或语音等方式输入问题文本,当然,用户终端也可以在特定场景下自主获取相应的问题文本。然后问题获取单元101将问题文本发送至文本处理单元102,文本处理单元102可以设置在用户终端也可以设置在对应的云端服务器上,以设置在对应的服务器上为例,文本处理单元102根据接收到的问题文本,从文档库获取对应的用于获取答案的一个或多个段落文本,那么即得到了包含问题文本和对应的段落文本的待处理文本。然后,获取待处理文档对应的一个或多个词序列,再将这些词序列输入训练好的文本处理模型,输出各词序列中词的为答案的起始词的第一概率、以及为答案的终止词的第二概率,其中各词序列在文本处理模型中被并行处理得到对应的第一概率和第二概率。最后,在基于这些第一概率和第二概率,确定出问题文本的最终的答案,并将答案发送至问题获取单元101。
其中,文本处理单元中对文本的处理过程可以通过人工智能(ArtificialIntelligence, AI)模块实现,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
具体来说,本申请实施例的文本处理单元主要涉及自然语言处理(NatureLanguage processing, NLP)技术,自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
需要说明的是,本申请实施例涉及的文本处理方法执行所依赖的系统可以是由客户端300、多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,参见图1b,图1b是本申请实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P,PeerTo Peer)网络,P2P 协议是一个运行在传输控制协议(TCP,Transmission ControlProtocol )协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1b示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图1c,图1c是本申请实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
下面将对基于该系统执行的文本处理方法进行进一步的详细说明。
图2为本申请实施例提供的一种文本处理方法的流程示意图,如图2所示,该方法可以包括:
步骤S201,获取待处理文本对应的至少一个词序列,待处理文本包括问题文本和对应的至少一个与问题文本相关的段落文本,每一词序列对应于问题文本和一个段落文本。
其中,待处理文本对应的词序列中的词可以包括一个或多个字,后续确定文本问题的答案过程中可以认为是以词为最小的处理单元。在“一个问题对应多个段落”的机器阅读理解任务中,一个待处理文本对应于多个词序列,且每个词序列由问题文本和一个段落文本构造而成,那么,可以理解的是,基于一个待处理文本可以构造多个“一个问题对应一个段落”的机器理解任务。
其中,待处理文本中的多个段落文本可以是根据问题文本从文档库中获取的,即一般机器阅读理解场景下,首先获取到问题文本,然后可以根据问题文本去检索获取多个与问题文本相关的段落文本。
步骤S202,将各词序列输入训练好的文本处理模型,通过训练好的文本处理模型分别提取各词序列中各词的特征向量,并基于特征向量获取各词序列中各词的概率,概率包括对应的词为答案的起始词的第一概率、以及为答案的终止词的第二概率。
其中,训练好的文本处理模型通过训练,适用于并行处理多个词序列,其训练过程将在后文进行详细说明。
具体地,将待处理文本对应的所有词序列都一起输入训练好的文本处理模型,在文本处理模型中对各词序列进行并行处理。具体来说,对于每一词序列,首先,文本处理模型提取该词序列中每个词的特征向量,该特征向量是通过该词的上下文信息得到的,也可以称为Embedding向量(词嵌入向量)。然后文本处理模型基于该次的特征向量,对齐进行分类处理,得到其为答案的起始词的第一概率,以及其为答案的终止词的第二概率。那么,每个词序列上的词都会得到对应的第一概率和第二概率,且由于文本处理模型对这些词序列并行进行处理,各概率值是在同一衡量标准下,具体来说各概率是经过同一归一化处理得到的,使得各词序列中词的第一概率和第二概率具备可比性,为后续从各词序列中择优选取答案提供了保障。
步骤S203,基于各词序列中各词的第一概率和第二概率,确定出问题文本的答案。
具体地,根据每一词序列中各词的第一概率的大小,可以确定出该词序列中包含的答案的起始词,根据各词的第二概率的大小,可以确定出该词序列中包含的答案的终止词,确定了答案的终止词和起始词即可确定起始词、终止词以及两者之间的词为组成对应的答案。然后,在多个词序列都确定出答案的情形下,可以进一步基于起始词的第一概率和终止词的第二概率的大小,来从多个答案中择优选取最终的答案,以保证选取答案的准确性。
本申请提供的方案,对于包含与问题文本对应的多个段落文本的待处理文本,获取待处理文本对应的多个包含问题文本和一个段落文本的词序列,并将这多个词序列输入训练好的文本处理模型中进行并行处理,得到各词序列中的各词为答案的起始词和终止词的概率,并基于得到的概率获取问题文本的答案,该方案中文本处理模型的各输入词序列不仅包含问题相关的段落文本,还包含有问题文本本身,使得文本处理模型在获取各词的概率时,既利用了段落文本中各词的特征向量也利用了问题文本中各词的特征向量,使得基于各词概率值得到的多个答案更加准确,同时由于文本处理模型对多个词序列进行并行处理,其输出各词的概率具有可比性,因此在多个词序列都包含答案的情形下可以基于各词的概率进行答案的择优,进一步保证了最终答案的准确性。
在本申请的一种可选实施例中,获取待处理文本对应的至少一个词序列,包括:
将问题文本和至少一个段落文本分别进行分词处理,得到问题词序列和至少一个段落词序列;
将各段落词序列分别与问题词序列进行拼接,得到对应的词序列。
具体地,在基于问题文本和段落文本构造对应的词序列之前,需要对问题文本和段落文本进行分词处理,进而将问题文本和段落文本中的内容分别以词为单元进行划分,进而得到对应问题词序列和段落词序列。然后在将问题词序列和一个段落词序列进行拼接,即得到一个对应的词序列。对于一个待处理文本单元,获取其对应的多个词序列的过程如图3a所示,首先获取问题词序列和至少一个段落词序列(图中段落词序列1、2..n,其中n为正整数),再分别进行多次问题词序列与段落序列的拼接,即可得到待处理文本对应的多个词序列。
在本申请的一种可选实施例中,将各段落词序列分别与问题词序列进行拼接,得到对应的词序列,包括:
将问题词序列拼接在各段落词序列之前,并在问题词序列之前、问题词序列与段落词序列之间以及段落词序列之后,添加第一指定字符,得到对应的词序列。
具体地,为了在将词序列输入文本处理模型时便于模型对词序列的不同部分(包括词序列的起始位置、结束位置以及问题词序列和段落词序列连接位置)进行识别,需要在对问题序列和段落词序列进行拼接时在特定位置添加第一指定字符,具体来说,需要在问题词序列之前添加起始位置字符,在问题词序列与段落词序列之间添加分隔字符,在段落词序列之后添加分隔字符。举例来说,如图3b所示,对于采用BERT文本处理模型进行处理的场景中,在问题词序列301之前添加起始位置字符[CLS],在问题词序列301与段落词序列302之间添加分隔字符[SEP],在段落词序列302之后添加分隔字符[SEP],其中圆圈标识词序列中的词。
在使用文本处理模型对待处理文本的各词序列进行处理之前,需要对文本处理模型进行训练,由前文描述可知,文本处理模型的训练可以分为两个阶段,第一阶段为模型的预训练阶段,第二阶段为模型的微调训练阶段,在本申请实施例中,针对“一个问题对应多个段落”的机器阅读理解场景,为了现有技术中的问题,在模型训练的两个阶段都可以采用多段落联合训练,以使训练得到的模型能够对多个词序列进行并行处理,提高机器阅读理解任务的准确性。同时,在预训练阶段采用任务相关的训练方式替代现有技术中的通用的预训练方式,进一步提高机器阅读理解任务的准确性。具体来说,如图4所示,本申请中可以采用图中所示的流程进行训练,首先,通过本申请实施例提供的训练样本获取方案(后文中将详述),获取大量预训练样本,每个预训练样本包含有问题文本和对应的多个标注有答案的段落文本,基于这些预训练样本对初始文本处理模型训练得到预训练的文本处理模型。然后,获取少量人工标注的微调训练样本,每个微调训练样本也包含有问题文本和对应的多个标注有答案的段落文本。一般来说人工标注的训练样本较难大批量获取,但其标注精度高于预训练样本,因此可以利用这少量的人工标注的微调训练样本来对预训练的文本处理模型进行进一步的微调训练,以得到更为准确的训练好的文本处理模型。
需要说明的是,无论是模型的预训练还是模型的微调训练,都可以采用同样的训练方式,由于两个阶段的训练的输入的训练样本的形式相同(仅标注精度上存在差异),故训练方式相同指的是所采用的损失函数相同。下面将对训练过程进行详细描述。
在本申请的一种可选实施例中,训练好的文本处理模型通过如下方式训练得到:
获取预设数量的训练样本,并获取各训练样本对应的至少一个样本词序列,训练样本包括问题文本和对应的至少一个标注有答案的起始词和终止词的段落文本,每一样本词序列对应于问题文本和一个段落文本;
依次将各训练样本对应的至少一个样本词序列输入初始的文本处理模型,从文本处理模型的输出中获取各样本词序列中标注的答案的起始词的目标第一概率、以及终止词的目标第二概率,并基于目标第一概率和目标第二概率获取各训练样本对应的损失值;
分别基于各训练样本对应的损失值,调整文本处理模型的模型参数,当损失值满足预设条件时得到训练好的文本处理模型。
其中,由于本申请实施例中文本处理模型的两个训练阶段的训练方式可以相同,仅在训练样本的获取方式上有差别,这里首先对训练方式进行说明。
具体地,获取预设数量的训练样本,每一训练样本中包含有问题文本和对应的多个段落文本,获取每一训练样本对应的多个样本词序列,每一样本词序列由对应的问题词序列和一个段落词序列拼接而成。然后,在每一训练阶段,依次利用各训练样本对文本处理模型进行训练。具体来说,每一训练样本在对文本处理模型进行训练过程中,会得到一个对应的损失值,基于该损失值对文本处理模型的模型参数进行调整,然后再利用下一个训练样本对调整了参数的文本处理模型进行训练,训练过程中同样也会得到一个对应的损失值,继续基于该损失值对文本处理模型的模型参数进行调整,重复上述训练过程,直至某次或某几次训练过程得到的损失值满足预设条件,即得到训练好的文本处理模型。需要说明的是,训练样本的数量,即预设数量可以根据实际需求进行设置,且可以将训练样本划分为训练集和验证集,分别进行训练和对训练好的文本模型进行验证。其中,预设条件的设置可以是对损失值大小的限定条件。
进一步地,对于每一训练样本的训练过程,将该训练样本对应的多个样本词序列输入文本处理模型,文本处理模型会输出各样本词序列中所有词的第一概率和第二概率。由于样本词序列中标注了答案的起始词和终止词,因此获取每个词序列中起始词的第一概率,称为目标第一概率,获取每个词序列中终止词的第二概率,称为目标第二概率。然后,基于所有词序列对应的目标第一概率和目标第二概率,获取对应的损失值,即获取该训练样本的训练过程的损失值。可以理解的是,目标第一概率指示了标注的答案的起始词被文本处理单元预测为起始词的概率,目标第二概率指示了标注的答案的终止词被文本处理单元预测为终止词的概率,因此基于这些预测的概率的大小可以对文本处理模型的模型参数进行调整,即基于损失值对文本处理模型的模型参数进行调整。
在本申请的一种可选实施例中,损失值指示各样本词序列对应的各目标第一概率值与各目标第二概率值之和的大小,且损失值越小,对应的各目标第一概率值与各目标第二概率值之和也越大;
分别基于各训练样本对应的损失值,调整文本处理模型的模型参数,当损失值满足预设条件时得到训练好的文本处理模型,包括:
分别基于各训练样本对应的损失值,调整文本处理模型的模型参数,当损失值不大于预设值时得到训练好的文本处理模型。
其中,损失值指示各样本词序列对应的各目标第一概率值与各目标第二概率值之和的大小,且损失值越小,对应的各目标第一概率值与各目标第二概率值之和也越大,举例来说,可以通过如下损失函数来计算每次训练过程中的损失值 :
那么,相应地,每一训练样本在对文本处理模型进行训练过程中,会得到一个对应的损失值,基于该损失值对文本处理模型的模型参数进行调整,然后再利用下一个训练样本对调整了参数的文本处理模型进行训练,训练过程中同样也会得到一个对应的损失值,继续基于该损失值对文本处理模型的模型参数进行调整,重复上述训练过程,直至某次或某几次训练过程得到的损失值小于或等于预设值,即得到训练好的文本处理模型。其中,预设值可以根据实际需求进行设定。
本申请还提供了一种训练样本的获取方法,该方法获取的训练样本更适用于模型预训练阶段,即该方法可以用于获取前文所述的预训练样本。
在本申请的一种可选实施例中,获取预设数量的训练样本,包括:
获取预设数量的第一文本,并选取各第一文本中的特定实体作为答案;
将各第一文本中的实体替换为第二指定字符得到第二文本,并基于第二文本从预设段落库中检索得到至少一个段落文本;
利用答案对段落文本进行标注,得到标注有答案的起始词和终止词的段落文本;
将第二文本作为问题文本,并与对应的至少一个标注有答案的起始词和终止词的段落文本构成对应的训练样本。
其中,第一文本用于构造训练样本的问题文本,第一文本可以从文档库中随机获取,具体来说,可以获取长度在预设范围内的文本作为第一文本,然后对该第一文本进行实体识别,并将识别出的一个试题确定为答案,并采用第二指定字符替换该实体,及得到第二文本,该第二文本将可以作为训练样本的问题文本。
其中,在获取了问题文本后,需要进一步获取问题文本对应的多个段落文本,可以理解的需要获取与问题文本具有相关性的文本,才有可能包含有问题文本的答案,进而作为对应的段落文本。具体来说,可以基于问题文本从预设段落库中获取多个段落文本,其中段落库可以为前文所述文档库。
综上所述,在获取到预设数量的问题文本和对应的多个段落文本后,即得到了预设数量的训练样本。基于上述方式,可以实现自动、批量的获取预训练样本。
下面通过一个示例来对上述训练样本的获取过程进行进一步说明,如图5所示,某一训练样本的获取过程可以包括如下几个步骤:
(1)获取第一文本
从某一百科文本里随机选择一个句子作为第一文本“公元132年(阳嘉元年),张衡在太史令任上发明了最早的地动仪,称为候风地动仪”,该第一文本的长度处于预设范围内。
(2)实体识别
对第一文本进行实体识别,识别出了“张衡”这个实体。
(3)实体替换
采用第二指定字符[BLANK]替换第一文本中“张衡”这个实体,得到第二文本,即得到问题文本“公元132年(阳嘉元年),[BLANK]在太史令任上发明了最早的地动仪,称为候风地动仪”,且将“张衡”确定为答案。
(4)段落文本检索
首先将某一百科文本分解成段落,然后采用BM25检索算法在这些段落中检索,得到多个段落文本。具体来说,可以进保留部分相关性得分高的段落作为问题文本对应的段落文本,并对这些段落文本中的“张衡”进行标注,即将“张”标注为答案的起始词,将“衡”标注为答案的终止词。
(5)构造样本
将上述问题文本和对应的多个标注有答案的起始词和终止词的段落文本构造为一个训练样本,且该训练样本的答案为“张衡”。
在本申请的一种可选实施例中,基于特征向量获取各词序列中各词的概率,包括:
基于特征向量获取各词序列中各词的分对数Logit值;
基于Logit值,通过Softmax函数获取各词序列中各词的概率。
具体地,对于各词序列中的每个词,可以根据如下公式计算该词的Logit值:
对于各词序列中每个词,可以根据如下公式计算盖茨的概率:
在本申请的一种可选实施例中,基于各词序列中各词的第一概率和第二概率,确定出问题文本的答案,包括:
基于各词序列中各词的第一概率和第二概率,从各词序列中确定出对应的待选答案;
基于各待选答案的起始词的第一概率和终止词的第二概率,从各待选答案中确定出对应的答案。
具体地,基于各词序列中各词的第一概率和第二概率,从各词序列中确定出对应的待选答案,包括:将各词序列中最大第一概率对应的词作为答案的起始词,将最大第二概率对应的词作为答案的终止词,并基于起始词和终止词确定对应的待选答案。
进一步地,基于各待选答案的起始词的第一概率和终止词的第二概率,从各待选答案中确定出对应的答案,包括:获取各待选答案的起始词的第一概率与终止词的第二概率的乘积,并将最大乘积对应的待选答案确定为对应的答案。
下面通过一个示例来对本申请实施例提供的文本处理方法进行进一步说明,如图6所示,将本申请提供的文本处理方法适用于“问题搜索”的应用场景。用户通过用户终端601,本示例以手机为例,调出搜索界面,输入想要搜索的问题“世界上第一套地震仪谁发明的”,用户终端601将该问题文本通过网络发送至对应的文本处理服务器602,在文本处理服务器602中设置有段落文本获取模块6021、分词和拼接模块6022、文本处理模型6023以及答案获取模块6024。文本处理服务器602基于获取到问题文本的答案,并将问题文本的答案反馈至用户终端601,以供用户终端601显示给用户。
具体来说,在文本处理服务器602接收到用户终端601发送的问题文本后,通过段落文本获取模块6021从文档库中检索与问题文本相关的多个段落文本,例如,其中一个段落文本可以为“地震仪是一种监视地震的发生,记录地震相关参数的仪器。我国东汉时代的科学家张衡,在公元132年就制成了世界上最早的“地震仪”——地动仪。”,这样即得到了包含上述问题文本和上述多个段落文本的待处理文本。分词和拼接模块6022对待处理文本中的问题文本和多个段落文本分别进行分词处理,得到对应的问题词序列和多个段落词序列;再将各段落词序列和问题词序列分别进行拼接,得到对应的多个词序列。将这多个词序列输入训练好的文本处理模型6023中,文本处理模型6023对着多个词序列进行并行处理,具体包括,分别提取各词序列中各词的特征向量,再基于特征向量获取各词序列中各词的Logit值,再基于Logit值获取各词序列中各词的第一概率和第二概率,文本处理模型6023输出各词序列中各词的第一概率和第二概率。答案获取模块6024基于各词序列中各词的第一概率和第二概率,获取各词序列中的待选答案的起始词和终止词,然后基于起始词和终止词确定各词序列中的待选答案,对于多个待选答案,将待选答案中起始词的第一概率和终止词的第二概率乘积最大的待选答案确定为文本问题的最终答案,即“张衡”。
图7为本申请实施例提供的一种文本处理装置的结构框图,如图7所示,该装置700可以包括:词序列获取模块701、文本处理模块702以及答案获取模块703,其中:
词序列获取模块701用于获取待处理文本对应的至少一个词序列,待处理文本包括问题文本和对应的至少一个与问题文本相关的段落文本,每一词序列对应于问题文本和一个段落文本;
文本处理模块702用于将各词序列输入训练好的文本处理模型,通过训练好的文本处理模型分别提取各词序列中各词的特征向量,并基于特征向量获取各词序列中各词的概率,概率包括对应的词为答案的起始词的第一概率、以及为答案的终止词的第二概率;
答案获取模块703用于基于各词序列中各词的第一概率和第二概率,确定出问题文本的答案。
本申请提供的方案,对于包含与问题文本对应的多个段落文本的待处理文本,获取待处理文本对应的多个包含问题文本和一个段落文本的词序列,并将这多个词序列输入训练好的文本处理模型中进行并行处理,得到各词序列中的各词为答案的起始词和终止词的概率,并基于得到的概率获取问题文本的答案,该方案中文本处理模型的各输入词序列不仅包含问题相关的段落文本,还包含有问题文本本身,使得文本处理模型在获取各词的概率时,既利用了段落文本中各词的特征向量也利用了问题文本中各词的特征向量,使得基于各词概率值得到的多个答案更加准确,同时由于文本处理模型对多个词序列进行并行处理,其输出各词的概率具有可比性,因此在多个词序列都包含答案的情形下可以基于各词的概率进行答案的择优,进一步保证了最终答案的准确性。
在本申请的一种可选实施例中,词序列获取模块具体用于:
将问题文本和至少一个段落文本分别进行分词处理,得到问题词序列和至少一个段落词序列;
将各段落词序列分别与问题词序列进行拼接,得到对应的词序列。
在本申请的一种可选实施例中,词序列获取模块进一步用于:
将问题词序列拼接在各段落词序列之前,并在问题词序列之前、问题词序列与段落词序列之间以及段落词序列之后,添加第一指定字符,得到对应的词序列。
在本申请的一种可选实施例中,该装置还包括训练模块,用于:
获取预设数量的训练样本,并获取各训练样本对应的至少一个样本词序列,训练样本包括问题文本和对应的至少一个标注有答案的起始词和终止词的段落文本,每一样本词序列对应于问题文本和一个段落文本;
依次将各训练样本对应的至少一个样本词序列输入初始的文本处理模型,从文本处理模型的输出中获取各样本词序列中标注的答案的起始词的目标第一概率、以及终止词的目标第二概率,并基于目标第一概率和目标第二概率获取各训练样本对应的损失值;
分别基于各训练样本对应的损失值,调整文本处理模型的模型参数,当损失值满足预设条件时得到训练好的文本处理模型。
在本申请的一种可选实施例中,训练模块具体用于:
获取预设数量的第一文本,并选取各第一文本中的特定实体作为答案;
将各第一文本中的实体替换为第二指定字符得到第二文本,并基于第二文本从预设段落库中检索得到至少一个段落文本;
利用答案对段落文本进行标注,得到标注有答案的起始词和终止词的段落文本;
将第二文本作为问题文本,并与对应的至少一个标注有答案的起始词和终止词的段落文本构成对应的训练样本。
在本申请的一种可选实施例中,损失值指示各样本词序列对应的各目标第一概率值与各目标第二概率值之和的大小,且损失值越小,对应的各目标第一概率值与各目标第二概率值之和也越大;
训练模块具体用于:
分别基于各训练样本对应的损失值,调整文本处理模型的模型参数,当损失值不大于预设值时得到训练好的文本处理模型。
在本申请的一种可选实施例中,文本处理模块具体用于:
基于特征向量获取各词序列中各词的分对数Logit值;
基于Logit值,通过Softmax函数获取各词序列中各词的概率。
在本申请的一种可选实施例中,答案获取模块具体用于:
基于各词序列中各词的第一概率和第二概率,从各词序列中确定出对应的待选答案;
基于各待选答案的起始词的第一概率和终止词的第二概率,从各待选答案中确定出对应的答案。
在本申请的一种可选实施例中,答案获取模块进一步用于:
将各词序列中最大第一概率对应的词作为答案的起始词,将最大第二概率对应的词作为答案的终止词,并基于起始词和终止词确定对应的待选答案。
在本申请的一种可选实施例中,答案获取模块进一步用于:
获取各待选答案的起始词的第一概率与终止词的第二概率的乘积,并将最大乘积对应的待选答案确定为对应的答案。
下面参考图8,其示出了适于用来实现本申请实施例的电子设备(例如执行图2所示方法的终端设备或服务器)800的结构示意图。本申请实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴设备等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
电子设备包括:存储器以及处理器,存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。其中,这里的处理器可以称为下文所述的处理装置801,存储器可以包括下文中的只读存储器(ROM)802、随机访问存储器(RAM)803以及存储装置808中的至少一项,具体如下所示:
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本申请实施例的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
获取待处理文本对应的至少一个词序列,待处理文本包括问题文本和对应的至少一个与问题文本相关的段落文本,每一词序列对应于问题文本和一个段落文本;将各词序列输入训练好的文本处理模型,通过训练好的文本处理模型分别提取各词序列中各词的特征向量,并基于特征向量获取各词序列中各词的概率,概率包括对应的词为答案的起始词的第一概率、以及为答案的终止词的第二概率;基于各词序列中各词的第一概率和第二概率,确定出问题文本的答案。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,词序列获取模块还可以被描述为“获取词序列的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本申请实施例中所提供的装置,可以通过AI模型来实现多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与AI相关联的功能。
该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,例如中央处理单元(CPU)、应用处理器(AP)等、或者是纯图形处理单元,例如,图形处理单元(GPU)、视觉处理单元(VPU)、和/或AI专用处理器,例如神经处理单元(NPU)。
该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(AI)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。
这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的AI模型。该学习可以在其中执行根据实施例的AI的装置本身中执行,和/或可以通过单独的服务器/系统来实现。
该AI模型可以包含多个神经网络层。每一层具有多个权重值,一个层的计算是通过前一层的计算结果和当前层的多个权重来执行的。神经网络的示例包括但不限于卷积神经网络(CNN)、深度神经网络(DNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、双向循环深度神经网络(BRDNN)、生成对抗网络(GAN)、以及深度Q网络。
学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的计算机可读介质被电子设备执行时实现的具体方法,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现如下情况:
获取待处理文本对应的至少一个词序列,待处理文本包括问题文本和对应的至少一个与问题文本相关的段落文本,每一词序列对应于问题文本和一个段落文本;将各词序列输入训练好的文本处理模型,通过训练好的文本处理模型分别提取各词序列中各词的特征向量,并基于特征向量获取各词序列中各词的概率,概率包括对应的词为答案的起始词的第一概率、以及为答案的终止词的第二概率;基于各词序列中各词的第一概率和第二概率,确定出问题文本的答案。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种文本处理方法,其特征在于,包括:
获取待处理文本对应的至少一个词序列,所述待处理文本包括问题文本和对应的至少一个与问题文本相关的段落文本,每一词序列对应于所述问题文本和一个所述段落文本;
将各词序列输入训练好的文本处理模型,通过所述训练好的文本处理模型分别提取各词序列中各词的特征向量,并基于所述特征向量获取各词序列中各词的概率,所述概率包括对应的词为答案的起始词的第一概率、以及为答案的终止词的第二概率;
基于各词序列中各词的所述第一概率和所述第二概率,确定出问题文本的答案;
其中,所述训练好的文本处理模型通过如下方式训练得到:
获取预设数量的第一文本,并选取各第一文本中的特定实体作为答案;
将各第一文本中的实体替换为第二指定字符得到第二文本,并基于所述第二文本从预设段落库中检索得到至少一个段落文本;
利用所述答案对所述段落文本进行标注,得到标注有答案的起始词和终止词的段落文本;
将所述第二文本作为问题文本,并与对应的至少一个标注有答案的起始词和终止词的段落文本构成对应的训练样本;
基于各训练样本对初始的文本处理模型进行训练,得到训练好的文本处理模型。
2.根据权利要求1所述的方法,其特征在于,所述获取待处理文本对应的至少一个词序列,包括:
将所述问题文本和所述至少一个段落文本分别进行分词处理,得到问题词序列和至少一个段落词序列;
将各段落词序列分别与所述问题词序列进行拼接,得到对应的词序列。
3.根据权利要求2所述的方法,其特征在于,将各段落词序列分别与所述问题词序列进行拼接,得到对应的词序列,包括:
将所述问题词序列拼接在各段落词序列之前,并在所述问题词序列之前、所述问题词序列与所述段落词序列之间以及所述段落词序列之后,添加第一指定字符,得到对应的词序列。
4.根据权利要求1所述的方法,其特征在于,所述基于各训练样本对初始的文本处理模型进行训练,得到训练好的文本处理模型,包括:
获取各训练样本对应的至少一个样本词序列,每一样本词序列对应于所述问题文本和一个所述段落文本;
依次将各训练样本对应的至少一个样本词序列输入初始的文本处理模型,从所述文本处理模型的输出中获取各样本词序列中标注的答案的起始词的目标第一概率、以及终止词的目标第二概率,并基于所述目标第一概率和所述目标第二概率获取各训练样本对应的损失值;
分别基于各训练样本对应的损失值,调整所述文本处理模型的模型参数,当所述损失值满足预设条件时得到所述训练好的文本处理模型。
5.根据权利要求4所述的方法,其特征在于,所述损失值指示各样本词序列对应的各目标第一概率值与各目标第二概率值之和的大小,且所述损失值越小,对应的各目标第一概率值与各目标第二概率值之和也越大;
所述分别基于各训练样本对应的损失值,调整所述文本处理模型的模型参数,当所述损失值满足预设条件时得到所述训练好的文本处理模型,包括:
分别基于各训练样本对应的损失值,调整所述文本处理模型的模型参数,当所述损失值不大于预设值时得到所述训练好的文本处理模型。
6.根据权利要求1所述的方法,其特征在于,所述基于所述特征向量获取各词序列中各词的概率,包括:
基于所述特征向量获取各词序列中各词的分对数Logit值;
基于所述Logit值,通过Softmax函数获取各词序列中各词的概率。
7.根据权利要求1所述的方法,其特征在于,所述基于各词序列中各词的所述第一概率和所述第二概率,确定出所述问题文本的答案,包括:
基于各词序列中各词的所述第一概率和所述第二概率,从各词序列中确定出对应的待选答案;
基于各待选答案的起始词的第一概率和终止词的第二概率,从各待选答案中确定出对应的答案。
8.根据权利要求7所述的方法,其特征在于,所述基于各词序列中各词的所述第一概率和所述第二概率,从各词序列中确定出对应的待选答案,包括:
将各词序列中最大第一概率对应的词作为答案的起始词,将最大第二概率对应的词作为答案的终止词,并基于所述起始词和所述终止词确定对应的待选答案。
9.根据权利要求7所述的方法,其特征在于,所述基于各待选答案的起始词的第一概率和终止词的第二概率,从各待选答案中确定出对应的答案,包括:
获取各待选答案的起始词的第一概率与终止词的第二概率的乘积,并将最大乘积对应的待选答案确定为对应的答案。
10.一种文本处理装置,其特征在于,包括:
词序列获取模块,用于获取待处理文本对应的至少一个词序列,所述待处理文本包括问题文本和对应的至少一个与问题文本相关的段落文本,每一词序列对应于所述问题文本和一个所述段落文本;
文本处理模块,用于将各词序列输入训练好的文本处理模型,通过所述训练好的文本处理模型分别提取各词序列中各词的特征向量,并基于所述特征向量获取各词序列中各词的概率,所述概率包括对应的词为答案的起始词的第一概率、以及为答案的终止词的第二概率;
答案获取模块,用于基于各词序列中各词的所述第一概率和所述第二概率,确定出所述问题文本的答案;
训练模块,用于:
获取预设数量的第一文本,并选取各第一文本中的特定实体作为答案;
将各第一文本中的实体替换为第二指定字符得到第二文本,并基于所述第二文本从预设段落库中检索得到至少一个段落文本;
利用所述答案对所述段落文本进行标注,得到标注有答案的起始词和终止词的段落文本;
将所述第二文本作为问题文本,并与对应的至少一个标注有答案的起始词和终止词的段落文本构成对应的训练样本;
基于各训练样本对初始的文本处理模型进行训练,得到训练好的文本处理模型。
11.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器中存储有计算机程序;
所述处理器,用于执行所述计算机程序以实现权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649374.6A CN113255327B (zh) | 2021-06-10 | 2021-06-10 | 文本处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649374.6A CN113255327B (zh) | 2021-06-10 | 2021-06-10 | 文本处理方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113255327A CN113255327A (zh) | 2021-08-13 |
CN113255327B true CN113255327B (zh) | 2021-09-28 |
Family
ID=77187460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110649374.6A Active CN113255327B (zh) | 2021-06-10 | 2021-06-10 | 文本处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113255327B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722436A (zh) * | 2021-08-30 | 2021-11-30 | 平安科技(深圳)有限公司 | 文本信息提取方法、装置、计算机设备及存储介质 |
CN114386436B (zh) * | 2022-01-21 | 2023-07-18 | 平安科技(深圳)有限公司 | 文本数据的分析方法、模型训练方法、装置及计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063032A (zh) * | 2018-07-16 | 2018-12-21 | 清华大学 | 一种远程监督检索数据的降噪方法 |
CN110688491A (zh) * | 2019-09-25 | 2020-01-14 | 暨南大学 | 基于深度学习的机器阅读理解方法、系统、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190156220A1 (en) * | 2017-11-22 | 2019-05-23 | Microsoft Technology Licensing, Llc | Using machine comprehension to answer a question |
CN112347229B (zh) * | 2020-11-12 | 2021-07-20 | 润联软件系统(深圳)有限公司 | 一种答案抽取方法、装置、计算机设备及存储介质 |
-
2021
- 2021-06-10 CN CN202110649374.6A patent/CN113255327B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063032A (zh) * | 2018-07-16 | 2018-12-21 | 清华大学 | 一种远程监督检索数据的降噪方法 |
CN110688491A (zh) * | 2019-09-25 | 2020-01-14 | 暨南大学 | 基于深度学习的机器阅读理解方法、系统、设备及介质 |
Non-Patent Citations (2)
Title |
---|
An Effective Approach for Relevant Paragraph Retrieval in Question Answering Systems;Md Moinul Hoque et al.;《18th International Conference on Computer and Information Technology(ICCIT)》;20151221;第44-49页 * |
基于句法结构特征分析及分类技术的答案提取算法;胡宝顺 等;《计算机学报》;20080430;第31卷(第4期);第662-676页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113255327A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111444340B (zh) | 文本分类方法、装置、设备及存储介质 | |
CN110688528B (zh) | 生成视频的分类信息的方法、装置、电子设备和介质 | |
CN110263938B (zh) | 用于生成信息的方法和装置 | |
CN111666416B (zh) | 用于生成语义匹配模型的方法和装置 | |
CN110750987B (zh) | 文本处理方法、装置及存储介质 | |
CN113255327B (zh) | 文本处理方法、装置、电子设备及计算机可读存储介质 | |
WO2020182123A1 (zh) | 用于推送语句的方法和装置 | |
CN111046158B (zh) | 问答匹配方法及模型训练方法、装置、设备、存储介质 | |
CN114564593A (zh) | 多模态知识图谱的补全方法、装置和电子设备 | |
CN111368973B (zh) | 用于训练超网络的方法和装置 | |
CN113505206B (zh) | 基于自然语言推理的信息处理方法、装置和电子设备 | |
CN111738010A (zh) | 用于生成语义匹配模型的方法和装置 | |
CN116128055A (zh) | 图谱构建方法、装置、电子设备和计算机可读介质 | |
CN117290477A (zh) | 一种基于二次检索增强的生成式建筑知识问答方法 | |
CN111444335B (zh) | 中心词的提取方法及装置 | |
CN116502807A (zh) | 基于科技知识图谱的产业链分析应用方法和装置 | |
CN112989024B (zh) | 文本内容的关系提取方法、装置、设备及存储介质 | |
CN117556005A (zh) | 质量评估模型的训练方法、多轮对话质量评估方法和装置 | |
CN115062119B (zh) | 政务事件办理推荐方法、装置 | |
CN111459990B (zh) | 对象处理方法、系统及计算机可读存储介质和计算机设备 | |
CN113255819A (zh) | 用于识别信息的方法和装置 | |
CN114792086A (zh) | 一种支持文本交叉覆盖的信息抽取方法、装置、设备和介质 | |
CN111723188A (zh) | 用于问答系统的基于人工智能的语句显示方法、电子设备 | |
CN111523639A (zh) | 用于训练超网络的方法和装置 | |
CN112417260A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40050127 Country of ref document: HK |