一种文本处理方法、装置、可读介质及电子设备与流程

文档序号:20840981发布日期:2020-05-22 17:30阅读:160来源:国知局
一种文本处理方法、装置、可读介质及电子设备与流程

本发明涉及计算机技术领域,尤其涉及一种文本处理方法、装置、可读介质及电子设备。



背景技术:

自然语言处理(naturallanguageprosessing,简称nlp)是指计算机对人类语言(包括语音和文本)进行分析,以判断其含义。目前的自然语言处理,大多是在机器学习、神经网络等人工智能技术的基础上进行针对性的训练,并建立计算模型得以实现。

现有技术中,用于自然语言处理的计算模型通常在cpu上运行,并借助cpu的计算资源完成计算。众所周知的是,此类计算模型涉及的计算量非常庞大。而cpu的计算资源往往会被多方面分享,cpu本身又具有复杂的资源调配机制,所以利用cpu完成计算相对效率较低。



技术实现要素:

本发明提供一种文本处理方法、装置、可读介质及电子设备,通过将nlp的计算模型运行于现场可编程逻辑门阵列上,从而提高了计算效率,又避免了对cpu计算资源的过度占用。

第一方面,本发明提供了一种文本处理方法,所述方法运行于现场可编程逻辑门阵列上,包括:

利用至少一个计算模块对待测文本信息进行计算,以从所述待测文本信息中确定与预设的关键词对应的识别结果;

所述计算模块中被配置有预设的计算逻辑。

优选地,所述计算模块包括特征分析模块和匹配模块;则所述利用至少一个计算模块对待测文本信息进行计算包括:

利用所述特征分析模块确定所述待测文本信息中的语义特征信息;

利用所述匹配模块确定与所述关键词匹配的语义特征信息,并根据所述与所述关键词匹配的语义特征信息,确定所述识别结果。

优选地,所述利用所述特征分析模块确定所述待测文本信息中的语义特征信息包括:

从所述待测文本信息中确定所述关键词的位置,并分别计算所述关键词的上文语义特征信息,和所述关键词的下文语义特征信息。

优选地,所述利用所述匹配模块确定与所述关键词匹配的语义特征信息包括:

确定所述语义特征信息与所述关键词的匹配概率;

将所述匹配概率符合预设条件的语义特征信息,确定为与所述关键词匹配的语义特征信息。

优选地,所述根据所述与所述关键词匹配的语义特征信息,确定所述识别结果包括:

基于所述关键词对所述与关键词匹配的语义特征信息进行标注,将标注后的所述语义特征信息确定为所述识别结果。

第二方面,本发明提供了一种文本处理装置,包括:至少一个计算模块;

所述计算模块用于对待测文本信息进行计算,以从所述待测文本信息中确定与预设的关键词对应的识别结果;

所述计算模块中被配置有预设的计算逻辑。

优选地,所述计算模块包括特征分析模块;

则所述特征分析模块用于从所述待测文本信息中确定所述关键词的位置,并分别计算所述关键词的上文语义特征信息,和所述关键词的下文语义特征信息。

优选地,所述计算模块包括匹配模块;

则所述匹配模块用于确定所述语义特征信息与所述关键词的匹配概率;将所述匹配概率符合预设条件的语义特征信息,确定为与所述关键词匹配的语义特征信息;基于所述关键词对与所述关键词匹配的语义特征信息进行标注,将标注后的所述语义特征信息确定为所述识别结果。

第三方面,本发明提供了一种可读介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述电子设备执行如第一方面中任一所述的方法。

第四方面,本发明提供了一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行如第一方面中任一所述的方法。

本发明提供了一种文本处理方法、装置、可读介质及电子设备;通过在所述计算模块中被配置预设的计算逻辑,将nlp的计算模型运行于现场可编程逻辑门阵列上;由于计算模块只用于进行特定的部分计算,且不存在顺序关系的计算模块可并行进行计算,因此避免了计算资源调配的问题,使得计算效率显著的提高;同时避免了nlp计算对于cpu的过度占用。

上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的一种文本处理方法的流程示意图;

图2为本发明一实施例提供的另一种文本处理方法的流程示意图;

图3为本发明一实施例提供的一种文本处理装置的结构示意图;

图4为本发明一实施例提供的另一种文本处理装置的结构示意图;

图5为本发明一实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

前述已知的是,nlp的计算模型通常在cpu上运行,并借助cpu的计算资源完成计算。但此类计算模型涉及的计算量非常庞大,会占用cpu中大量的计算资源。于此同时,cpu还必须兼顾各方面的计算和处理,其计算资源往往会被多方分享。

所以在这样的平台环境下,cpu需要不断地调配计算资源进行nlp模型计算,并且cpu本身又具有复杂的资源调配机制。因此,cpu的资源调配显著的降低了nlp的计算效率。另一方面,nlp占用cpu大量的计算资源,又会影响到其他方面的计算,从而影响cpu所在设备的整体性能和计算效率。

有鉴于此,本发明提供一种文本处理方法、装置、可读介质及电子设备,通过将nlp的计算模型运行于现场可编程逻辑门阵列上。现场可编程逻辑门阵列(fieldprogrammablegatearray,简称fpga),从而提高了计算效率,又避免了对cpu计算资源的过度占用。

参见图1所示,为本发明提供的文本处理方法的具体实施例。所述方法运行于fpga上。fpga是专用集成电路领域中的一种半定制电路。通过编程和配置,可使得fpga专用来执行特定的计算逻辑,即可以使其完成特定的nlp模型计算。

本实施例中,所述方法具体包括以下步骤:

步骤101、利用至少一个计算模块对待测文本信息进行计算。

所述计算模块,即fpga上划分得到的用来执行特定计算过程的电路区域。所述计算模块中被配置有预设的计算逻辑,该计算逻辑即为nlp计算模型中包括的算法。也就是说,本实施例中通过在计算模块中被配置有预设的计算逻辑,可使nlp计算模型得以在fpga上运行。本实施例中,nlp计算模型主要是用于命名实体识别的计算模型。

常见的nlp计算模型可以是基于卷积神经网络或循环神经网络的计算模型,也可是通过隐含马尔可夫模型(hmm),支持向量机(svm),条件随机场(crf)等机器学习算法构建的计算模型。不同的计算模型中包括了不同的算法。本实施例中对于计算模块中被配置的计算逻辑的具体形式不做限定。常见的计算逻辑都可通过fpga作为计算平台而提高计算效率。

一个计算模块中可包括多个计算单元,每个计算单元用于完成计算模型中特定的一部分计算。例如矩阵向量乘计算、向量向量乘计算等。计算模块和计算单元的具体配置将取决于nlp计算模型的算法和结构,在此不赘述。

需要说明的是,由于各计算模块,乃至各计算单元只用于进行特定的部分计算,所以其之间如不存在硬性的顺序(如一个计算模块需要得到另一计算模块的输出才能开始计算,意味着两者之间存在硬性的顺序),则按照fpga的特性均可并行的进行计算。也就不存在计算资源调配的问题,使得计算效率显著的提高。

在本步骤中,将对fpga输入待测文本信息。所述待测文本信息具体可以是对特定文本进行处理后得到的词向量。待测文本信息输入后,将由各计算模块协同按照nlp计算模型中的计算程序完成计算。

步骤102、从所述待测文本信息中确定与预设的关键词对应的识别结果。

由于本实施例中,nlp计算模型主要是用于命名实体识别的计算模型,所以将通过计算,从所述待测文本信息中确定与预设的关键词对应的识别结果。其中,所述预设的关键词即“命名实体”的类型,而所述识别结果即待测文本中的命名实体。

通过以上技术方案可知,本实施例存在的有益效果是:通过在所述计算模块中被配置预设的计算逻辑,将nlp的计算模型运行于现场可编程逻辑门阵列上;由于计算模块只用于进行特定的部分计算,且不存在顺序关系的计算模块可并行进行计算,因此避免了计算资源调配的问题,使得计算效率显著的提高;同时避免了nlp计算对于cpu的过度占用。

图1所示仅为本发明所述方法的基础实施例,在其基础上进行一定的优化和拓展,还能够得到所述方法的其他优选实施例。

如图2所示,为本发明所述文本处理方法的另一个具体实施例。本实施例在前述实施例的基础上,结合具体应用场景和nlp算法进行进一步的描述。本实施例中,nlp算法用于进行命名实体识别,具体的可用于针对“姓名”这一命名实体的类型(即关键词)识别相应的命名实体。

本实施例中,所述计算模块包括特征分析模块和匹配模块。具体的,特征分析模块可以被配置有双向长短期记忆(bidirectionallongshorttermmemory,简称bilstm)计算逻辑。匹配模块可以被配置有条件随机场(conditionalrandomfield,简称crf)计算逻辑。bilstm与crf均属于人工智能领域中公知的算法,在此不赘述。本实施例中将二者结合使用,能够实现命名实体识别。

所述方法具体包括以下步骤:

步骤201、利用所述特征分析模块确定所述待测文本信息中的语义特征信息。

所述待测文本信息可以是原始文本经过处理后得到的词向量,由axi-stream接口发送给fpga中的特征分析模块。

由于在待测文本信息中通常存在明显的语言规律和逻辑性,所以关键词“姓名”对应的命名实体往往会出现在关键词所在位置的上下文中。则本实施例中,选择利用bilstm计算确定其上下文的语义特征信息。

利用特征分析模块中的bilstm计算待测文本的语义特征信息,具体可以是从所述待测文本信息中确定所述关键词的位置,并分别计算所述关键词的上文语义特征信息,和所述关键词的下文语义特征信息。也就是说,特征分析模块中可包括两个特征分析单元,一个特征分析单应用于计算确定上文语义特征信息,另一个特征分析单元用于计算确定下文语义特征信息。

从fpga的硬件角度上来讲,每个特征分析单元可以包括输入门、遗忘门和输出门输入门、遗忘门和输出门中共包括8个矩阵向量乘、3个向量向量乘以及4个非线性函数。

步骤202、利用所述匹配模块确定与所述关键词匹配的语义特征信息。

本实施例中为节约fpga的存储空间,可将特征分析模块输出的语义特征信息保存在一个存储器中,并利用该存储器直接对匹配模块进行输入。也就是说,使特征分析模块的输出和匹配模块的输入共享存储空间。

该存储器将语义特征信息向匹配模块输入。匹配模块基于crf计算确定所述语义特征信息与所述关键词的匹配概率,将所述匹配概率符合预设条件的语义特征信息,确定为与所述关键词匹配的语义特征信息。

一般来说,一个语义特征信息会对应待测文本信息(或原始文本)中的一个字段。则匹配模块分别计算每个语义特征信息与关键词“姓名”匹配的概率,即计算语义特征信息对应的字段为关键词“姓名”对应的命名实体的概率。进而可认为其中概率最高,且概率高于预设的门限阈值的语义特征信息符合预设条件,将该语义特征信息确定为与所述关键词匹配的语义特征信息。

步骤203、根据所述与所述关键词匹配的语义特征信息,确定所述识别结果。

本实施例中,可以认为与所述关键词匹配的语义特征信息对应的字段,即是关键词“姓名”对应的命名实体。则可基于所述关键词对所述与关键词匹配的语义特征信息进行标注,将标注后的所述语义特征信息确定为所述识别结果。在本实施例中,具体可以是对与关键词匹配的语义特征信息,标注上“姓名”这一标签,以此作为所述识别结果。意味着该语义特征信息对应的字段是关键词“姓名”的命名实体。

在本实施例中,匹配模块还可将所述识别结果按照axi-lite标准接口输出。

通过以上技术方案可知,本实施例在图1所示实施例的基础上进一步存在的有益效果是:可将基于bilstm与crf的nlp计算模型运行于fpga上,以便于更加高效的完成命名实体识别。

如图3所示,为本发明所述文本处理装置的一个具体实施例。本实施例所述装置,即用于执行图1~2所述方法的实体装置。上述实施例中的相应描述同样适用于本实施例中。还需说明的是,所述文本处理装置具体可以是内置了fpga芯片的pcie插卡。本实施例中,所述装置包括:

至少一个计算模块;所述计算模块用于对待测文本信息进行计算,以从所述待测文本信息中确定与预设的关键词对应的识别结果;所述计算模块中被配置有预设的计算逻辑。

其中,图3中示出了fpga芯片中包括3个计算模块的示例性情况。

如图4所示,为本发明所述文本处理装置的另一个具体实施例。本实施例所述装置在图3所示实施例的基础上,所述计算模块包括特征分析模块401和匹配模块402。

特征分析模块401,用于从所述待测文本信息中确定所述关键词的位置,并分别计算所述关键词的上文语义特征信息,和所述关键词的下文语义特征信息。

匹配模块402,用于确定所述语义特征信息与所述关键词的匹配概率;将所述匹配概率符合预设条件的语义特征信息,确定为与所述关键词匹配的语义特征信息;基于所述关键词对与所述关键词匹配的语义特征信息进行标注,将标注后的所述语义特征信息确定为所述识别结果。

图5是本发明实施例提供的一种电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。

在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成文本处理装置。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本发明任一实施例中提供的文本处理方法。

上述如本发明图3、图4所示实施例提供的文本处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是现场可编程门阵列(field-programmablegatearray,fpga)。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

本发明实施例还提出了一种可读介质,该可读存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本发明任一实施例中提供的文本处理方法,并具体用于执行如图1或图2所示的方法。

前述各个实施例中所述的电子设备可以为计算机。

本领域内的技术人员应明白,本发明的实施例可提供为方法或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。

本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1