CN114238554A - 一种文本标注提取方法 - Google Patents
一种文本标注提取方法 Download PDFInfo
- Publication number
- CN114238554A CN114238554A CN202010942991.0A CN202010942991A CN114238554A CN 114238554 A CN114238554 A CN 114238554A CN 202010942991 A CN202010942991 A CN 202010942991A CN 114238554 A CN114238554 A CN 114238554A
- Authority
- CN
- China
- Prior art keywords
- text sequence
- label
- attribute
- word
- server
- 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
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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/35—Clustering; Classification
-
- 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)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种文本标注提取方法。方法应用于人工智能领域。方法包括:服务器接收并响应电子设备发送第一标注请求,启动动态标注服务,其中,动态标注服务对应有第一动态标注模型;服务器接收电子设备发送的第一文本序列以及第一文本序列对应的第一标注信息,其中,第一文本序列包括第一文本信息和第二标签;服务器获取第二文本序列;当第一文本序列的数量大于第一阈值时,服务器通过第一动态标注模型确定出第二文本序列的第二标注信息;服务器基于第二标注信息,提取出第二文本序列中带有第二标签的属性的文字。通过这种方法,当自动标注模型的标注标签变化时,无需重新训练模型,能够提高自动标注的效率和准确性。
Description
技术领域
本发明涉及人工智能(artificial intelligence,AI)领域,尤其涉及一种文本标注提取方法。
背景技术
目前人工智能迅速发展,很多场景都需要标注员来标注数据获得大量有标签的数据,通过有标签的数据来训练模型,以提高人机交互的体验。通过标注员来标注数据(人工给数据打标签)是获取有标签数据的重要手段。通过模型预测对数据进行自动标注,标注员只需审核及修改部分数据可大大提高标注数据的效率。然而模型预测数据的标签则需预先有大量有标签数据训练模型,显然这有悖于需要标注员标注数据从而获得大量有标签数据。
传统的槽位提取基于机器学习的方法在数据量较少的情况下,提取槽位是较为困难的同时用于标注数据的模型的标签体系在训练模型时就已经固定,即标注的标签固定,如新增标签或标签发生变化,则需重新训练模型。
模型重训练需要一定耗时,同时如果训练数据新增或删改,用于自动标注数据的模型也要随之调整。
发明内容
本发明实施例提出了一种文本标注提取方法,当自动标注模型的标注标签变化时,无需重新训练模型,这样能够提高自动标注的效率和准确性。
第一方面,本申请实施例提供了一种文本标注提取方法,服务器接收电子设备发送第一标注请求;响应于所述第一标注请求,所述服务器启动动态标注服务,其中,所述动态标注服务对应有第一动态标注模型,所述第一动态标注模型是通过带有第一标签的样本文本序列训练的;所述服务器接收所述电子设备发送的第一文本序列以及所述第一文本序列对应的第一标注信息,其中,所述第一文本序列包括第一文本信息和第二标签,所述第一标注信息用于指示所述第一文本序列中带有所述第二标签的属性的文字在所述第一文本序列中的位置,所述第一标签和所述第二标签不同;所述服务器获取第二文本序列;当所述第一文本序列的数量大于第一阈值时,所述服务器通过所述第一动态标注模型,基于所述第一文本序列和所述第一标注信息,确定出所述第二文本序列的第二标注信息,所述第二标注信息用于指示所述第二文本序列中带有所述第二标签的属性的文字在所述第二文本序列中的位置;基于所述第二标注信息,提取出所述第二文本序列中带有所述第二标签的属性的文字。标注标签变化时,无需重新训练模型,这样能够提高自动标注的效率和准确性。
结合第一方面,在第一方面的一种可能的实现方式中,所述服务器基于所述第一文本序列和所述第一标注信息,确定出所述第一文本序列中的带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的转移概率,所述带有所述第二标签的属性的文字包括带有所述第二标签的属性的起始字和带有所述第二标签的属性的延续字;所述服务器基于所述第一文本序列和所述第一标注信息,确定出所述第二文本序列中每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率;所述服务器根据所述转移概率和所述发射概率,标注出所述第二文本序列的所述第二标注信息。
结合第一方面,在第一方面的一种可能的实现方式中,所述服务器基于所述第一文本序列和所述第一标注信息,确定出所述第一文本序列中的不带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的第一转移次数、所述第一文本序列中的不带有所述第二标签属性的文字与带有所述第二标签的属性的起始字之间的第二转移次数、所述第一文本序列中的不带有所述第二标签属性的文字与带有所述第二标签的属性的延续字之间的第三转移次数、所述第一文本序列中带有所述第二标签属性的起始字与不带有所述第二标签的属性的文字之间的第四转移次数、所述第一文本序列中带有所述第二标签属性的起始字与带有所述第二标签的属性的起始字之间的第五转移次数、所述第一文本序列中带有所述第二标签属性的起始字与带有所述第二标签的属性的延续字之间的第六转移次数、所述第一文本序列中带有所述第二标签属性的延续字与不带有所述第二标签的属性的文字之间的第七转移次数、所述第一文本序列中带有所述第二标签属性的延续字与带有所述第二标签的属性的起始字之间的第八转移次数、所述第一文本序列中带有所述第二标签属性的延续字与带有所述第二标签的属性的延续字之间的第九转移次数;所述服务器根据拉普拉斯平滑常数对所述第一转移次数、所述第二转移次数、所述第三转移次数、所述第四转移次数、所述第五转移次数、所述第六转移次数、所述第七转移次数、所述第八转移次数、所述第九转移次数去平滑观测值。
所述服务器根据去平滑观测值后的第一转移次数、去平滑观测值后的第二转移次数、去平滑观测值后的第三转移次数、去平滑观测值后的第四转移次数、去平滑观测值后的第五转移次数、去平滑观测值后的第六转移次数、去平滑观测值后的第七转移次数、去平滑观测值后的第八转移次数、去平滑观测值后的第九转移次数确定出所述第一文本序列中的带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的转移概率。
结合第一方面,在第一方面的一种可能的实现方式中,所述服务器基于所述第一文本序列和所述第一标注信息,确定出所述第二文本序列中每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率,具体包括:服务器根据所述第一文本信息得到上文向量;服务器根据所述第二文本序列得到下文向量;所述服务器根据所述下文向量和所述第一标注信息,确定出标签的表示;所述服务器计算所述上文向量与所述标签的表示的向量距离;所述服务器对所述向量距离做归一化,确定出所述第二文本序列中每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率。
结合第一方面,在第一方面的一种可能的实现方式中,所述服务器根据所述转移概率和所述发射概率,标注出所述第二文本序列的所述第二标注信息,具体包括:所述服务器根据维特比算法对所述第二文本序列进行维特比求解,得到所述第二文本序列中的最优求解路径;其中,在所述最优求解路径中,所述第二文本序列列中的每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率值最大;所述服务器基于所述最优求解路径标注出所述第二文本序列的所述第二标注信息。
结合第一方面,在第一方面的一种可能的实现方式中,所述服务器获取到第三文本序列;
所述服务器通过所述第一动态标注模型,基于所述第一文本序列、所述第一标注信息、所述二文本序列和所述第二标注信息,确定出所述第三文本序列的第三标注信息,所述第三标注信息用于指示所述第三文本序列中带有所述第二标签的属性的文字在所述第三文本序列中的位置;所述服务器基于所述第三标注信息,提取出所述第三文本序列中带有所述第二标签的属性的文字。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一标注信息的类型包括BIO信息类型。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一标签的类型可以包括时间、始发地、目的地、车类型中的任一种或几种,第二标签的类型可以包括时间、始发地、目的地、车类型中的任一种或几种。
第二方面,本申请提供了一种服务器,包括处理器、存储器;所述存储器与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述处理器调用所述计算机指令以使得所述服务器执行:接收电子设备发送第一标注请求;响应于所述第一标注请求,启动动态标注服务,其中,所述动态标注服务对应有第一动态标注模型,所述第一动态标注模型是通过带有第一标签的样本文本序列训练的;接收所述电子设备发送的第一文本序列以及所述第一文本序列对应的第一标注信息,其中,所述第一文本序列包括第一文本信息和第二标签,所述第一标注信息用于指示所述第一文本序列中带有所述第二标签的属性的文字在所述第一文本序列中的位置,所述第一标签和所述第二标签不同;获取第二文本序列;当所述第一文本序列的数量大于第一阈值时,通过所述第一动态标注模型,基于所述第一文本序列和所述第一标注信息,确定出所述第二文本序列的第二标注信息,所述第二标注信息用于指示所述第二文本序列中带有所述第二标签的属性的文字在所述第二文本序列中的位置;基于所述第二标注信息,提取出所述第二文本序列中带有所述第二标签的属性的文字。这样,当自动标注模型的标注标签变化时,无需重新训练模型,这样能够提高自动标注的效率和准确性。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:基于所述第一文本序列和所述第一标注信息,确定出所述第一文本序列中的带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的转移概率,所述带有所述第二标签的属性的文字包括带有所述第二标签的属性的起始字和带有所述第二标签的属性的延续字;基于所述第一文本序列和所述第一标注信息,确定出所述第二文本序列中每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率;根据所述转移概率和所述发射概率,标注出所述第二文本序列的所述第二标注信息。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:基于所述第一文本序列和所述第一标注信息,确定出所述第一文本序列中的不带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的第一转移次数、所述第一文本序列中的不带有所述第二标签属性的文字与带有所述第二标签的属性的起始字之间的第二转移次数、所述第一文本序列中的不带有所述第二标签属性的文字与带有所述第二标签的属性的延续字之间的第三转移次数、所述第一文本序列中带有所述第二标签属性的起始字与不带有所述第二标签的属性的文字之间的第四转移次数、所述第一文本序列中带有所述第二标签属性的起始字与带有所述第二标签的属性的起始字之间的第五转移次数、所述第一文本序列中带有所述第二标签属性的起始字与带有所述第二标签的属性的延续字之间的第六转移次数、所述第一文本序列中带有所述第二标签属性的延续字与不带有所述第二标签的属性的文字之间的第七转移次数、所述第一文本序列中带有所述第二标签属性的延续字与带有所述第二标签的属性的起始字之间的第八转移次数、所述第一文本序列中带有所述第二标签属性的延续字与带有所述第二标签的属性的延续字之间的第九转移次数;根据拉普拉斯平滑常数对所述第一转移次数、所述第二转移次数、所述第三转移次数、所述第四转移次数、所述第五转移次数、所述第六转移次数、所述第七转移次数、所述第八转移次数、所述第九转移次数去平滑观测值。
根据去平滑观测值后的第一转移次数、去平滑观测值后的第二转移次数、去平滑观测值后的第三转移次数、去平滑观测值后的第四转移次数、去平滑观测值后的第五转移次数、去平滑观测值后的第六转移次数、去平滑观测值后的第七转移次数、去平滑观测值后的第八转移次数、去平滑观测值后的第九转移次数确定出所述第一文本序列中的带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的转移概率。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:根据所述第一文本信息得到上文向量;根据所述第二文本序列得到下文向量;根据所述下文向量和所述第一标注信息,确定出标签的表示;计算所述上文向量与所述标签的表示的向量距离;对所述向量距离做归一化,确定出所述第二文本序列中每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:根据维特比算法对所述第二文本序列进行维特比求解,得到所述第二文本序列中的最优求解路径;其中,在所述最优求解路径中,所述第二文本序列列中的每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率值最大;基于所述最优求解路径标注出所述第二文本序列的所述第二标注信息。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:获取到第三文本序列;通过所述第一动态标注模型,基于所述第一文本序列、所述第一标注信息、所述二文本序列和所述第二标注信息,确定出所述第三文本序列的第三标注信息,所述第三标注信息用于指示所述第三文本序列中带有所述第二标签的属性的文字在所述第三文本序列中的位置;基于所述第三标注信息,提取出所述第三文本序列中带有所述第二标签的属性的文字。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:所述第一标注信息的类型包括BIO信息类型。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:所述第一标签的类型可以包括时间、始发地、目的地、车类型中的任一种或几种,第二标签的类型可以包括时间、始发地、目的地、车类型中的任一种或几种。
第三方面,提供了计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当该计算机程序被处理器执行时,所述处理器执行上述第一方面以及结合上述第一方面中的任意一种实现方式所提供的一种文本标注提取方法。
第四方面,提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,使得计算机可以执行上述第一方面以及结合上述第一方面中的任意一种实现方式所提供的一种文本标注提取方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种电子设备100的结构示意图;
图2是本申请实施例提供的一种槽位与槽位值关系的示意图;
图3是本申请实施例提供的一种系统架构的示意图;
图4是本申请实施例提供的一种标注未标注文本序列的槽位标签的流程图;
图5是本申请实施例提供的一种文本序列的标注结果的示意图;
图6-图9是本申请实施例提供的一组转移矩阵的示意图;
图10-图11是本申请实施例提供的一组发射矩阵的示意图;
图12是本申请实施例提供的一种标注未标注文本序列的槽位标签的示意图;
图13是本申请实施例提供的一种文本标注提取方法流程图;
图14电子设备100上为用户提供选择入口的示例性用户界面。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清除、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
图1示出了电子设备100的结构示意图。
下面以电子设备100为例对实施例进行具体说明。应该理解的是,图1所示电子设备100仅是一个范例,并且电子设备100可以具有比图1中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
接下来,对本申请中所涉及的部分用语和相关技术进行解释说明,以便于本领域技术人员理解。
1、BERT(bidirectional encoder representation from transformers)模型:BERT模型即双向transformer的编码器,其中,transformer是一种完全依赖于自注意力以计算输入与输出表征的方法。BERT利用masked model实现了语言模型的双向性,证明了双向性对语言表示预训练的重要性。BERT模型是真正意义上的双向语言模型,每个词可以同时利用该词的上下文信息。BERT旨在通过联合调节所有层中的上下文来预先训练深度双向表示。因此,预训练的BERT表示可以通过一个额外的输出层进行微调,适用于广泛任务的最先进模型的构建。
对BERT模型加入一层全连接层后进行训练,训练之后去掉全连接层的BERT模型就可以被用来进行各种自然语言处理任务(包括序列标注任务、分类任务、句子关系判断、生成式任务)。下面介绍如何通过两个预训练任务对加入全连接层后的BERT模型进行训练。
任务1:生成式任务
方法:随机遮盖句子中的一些词(例如替换为统一标记[MASK]),然后将该句子输入BERT模型,BERT模型预测这些被遮盖的词。然后通过预测这些被遮盖的词来训练双向语言模型,并且使每个词的表征参考上下文信息。假设句子中第二个词汇是被盖住的,把其对应的向量表示输入到BERT模型中,来预测被盖住的单词。之后做损失的时候只计算被遮盖部分的损失。
任务2:句子关系判断
方法:首先我们拿到属于上下文的一对句子,也就是两个句子,之后我们要在这两段连续的句子里面加一些特殊token。也就是在句子开头加一个[cls],在两句话之中和句末加[sep],具体地如下所示:
两句话是[cls]my dog is cute[sep]he likes playing[sep],[cls]我的狗很可爱[sep]他喜欢玩耍[sep]。除此之外,我们还要准备同样格式的两句话,但他们不属于上下文关系的情况,[cls]我的狗很可爱[sep]企鹅不擅长飞行[sep],可见这属于上下句不属于上下文关系的情况。在实际的训练中,我们让上面两种情况出现的比例为1:1,也就是训练数据中一半的训练文本属于上下文关系,另一半的训练文本时间不属于上下文关系。
把其对应的向量表示输入到BERT模型中,全连接层输出检测结果来预测这两个句子是不是属于上下文关系。然后通过预测这两个句子是不是属于上下文关系来训练双向语言模型。
2、小样本学习(few-shot learning):小样本学习是元学习(meta learning)在监督学习领域的应用。Meta Learning,又称为learning to learn(学会学习),元学习的目标是利用已经学到的知识来解决新的问题,在meta training阶段将数据集分解为不同的元任务(meta task),去学习类别变化的情况下模型的泛化能力,在meta testing阶段,面对全新的类别,不需要变动已有的模型,就可以完成分类。
例如,人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是小样本学习要解决的问题。
3、人工智能(artificial intelligence,AI)模型是一种机器学习模型,其本质是一种包括大量参数和数学公式(或数学规则)的数学模型。其目的是学习一些数学表达,使该数学表达能提供输入值x和输出值y之间的相关性,能够提供x和y之间的相关性的数学表达即为训练后的AI模型。一般情况,利用一些历史数据(即x和y),通过训练初始AI模型得到的AI模型,可用于根据新的x得到新的y,从而实现预测分析,预测分析的过程也称为推理。
4、有监督学习(supervised learning)是利用多个携带标注信息的训练数据对初始AI模型进行训练的过程。每个训练数据作为该初始AI模型的输入数据,每个训练数据的标注信息是该初始AI模型的期望输出。训练的过程即是输入训练数据至初始AI模型,该初始AI模型对输入数据进行一系列数学计算,获得输出结果,将输出结果与该训练数据的标注信息进行对比,调整初始AI模型中的参数,依次迭代地对初始AI模型进行训练,以使得初始AI模型输出的结果越接近输入的训练数据对应的标注信息。训练完成的AI模型可用于预测未知的数据的结果。例如,训练数据可以为样本标注序列,每个样本标注序列所携带的标注信息为样本标注序列的标签(例如地点),然后将携带标注信息的样本标注序列依次输入初始AI模型进行训练,每一次训练之后,根据初始AI模型输出的样本标注序列的标签与对应的标注信息中的样本标注序列的标签进行对比,调整初始AI模型中的参数,不断进行迭代训练,以使初始AI模型输出的目标的检测框的样本标注序列的标签接近标注信息中的样本标注序列的标签,这样,初始AI模型被训练完成,即训练完成的AI模型具备了对待标注序列标注标签的能力。
5、维特比解码:维特比解码算法实质上是最大似然解码,它利用了编码网络图的特殊结构,从而降低了路径计算的复杂度。该算法包括:计算网格图上时刻t到各个状态的路径和接收序列的相似度或者距离,去除不可能成为最大似然选择对象的网格图上的路径,即如果有两条路径到达同一个状态,则具有最佳度量的路径被选中,成为幸存路径。其他路径则被抛弃。通过对所有状态都进行这样的选择操作,较早地抛弃不可能的路径可以大大降低解码器的复杂度。
维特比译码器主要包括三个功能单元:
(1)分支度量单元:根据ti时刻接收到的信号序列和每条分支的输出序列计算网格图中每条分支相对于接收序列的相似度(或者说路径度量)。
(2)加比选单元:根据ti时刻分支度量单元计算的每条分支的距离度量结果和ti-1时刻状态的路径度量计算从ti-1时刻状态到ti时刻状态的路径度量。由于在ti时刻,每个状态可能有多条输入路径,加比选单元根据ti时刻每个状态输入的分支路径度量值进行路径合并,选择分支路径度量最小的路径作为该状态ti时刻的幸存路径,抛弃其他分支路径。
(3)幸存路径寄存单元:存储幸存路径上的译码结果,并且只有当路径度量计算进行到网格图较深处时,才产生第一位译码输出(选择每个状态幸存路径的最小值对应的译码结果输出)。
6、意图和槽位:
6.1、意图和槽位的定义
意图,是指电子设备识别用户实际的或潜在的需求是什么。从根本来说,意图是一个分类器,将用户需求划分为某个类型。
意图和槽位共同构成了“用户动作”,电子设备无法直接理解自然语言,因此意图识别的作用便是将自然语言或操作映射为机器能够理解的结构化语义表示。例如“今天天气如何”,其意图为“询问天气”。一个意图可能对应若干个槽位。例如询问公交车路线时,需要给出出发地、目的地、时间等必要参数,以上参数即“询问公交车路线”这一意图对应的槽位。
文本序列的槽位填充任务的主要目标是在已知特定领域或特定意图的语义框架(semanticframe)的前提下,从输入的文本序列中抽取该语义框架中预先定义好的语义槽的槽位值。语义槽位填充任务可以转化为序列标注任务,即运用经典的BIO标记法。其中“B”用于标记某一个词是某一语义槽的开始(begin)、“I”用于标注一个词是某一语义槽的延续(inside),“O”表示某一个词是是非语义槽(outside)。使用BIO标记法对一个未标注的文本序列进行标注,标注后的文本序列中的每一个字都带有标注标签。
以一个具体的“询问天气”的需求为例,介绍本申请实施例涉及的基于意图识别的槽位填充:
文本序列:“今天上海天气怎么样”;
意图:询问天气;
槽位:槽位一:时间;槽位二:地点。
槽位值:时间槽位值:今天;地点槽位值:上海。
图2为本申请实施例中一个意图和槽位关系示意图。如图2所示,在该示例中,针对“询问天气”任务定义了两个必要的槽位,它们分别是“时间”和“地点”。
6.2、槽位填充
做好意图和槽位的定义后,可以从文本序列中根据文本序列的用户意图和预定义的槽位进行槽位填充。
槽位填充的任务是从文本序列中提取信息并填充到事先定义好的槽位中,例如在图2中已经定义好了意图和相应的槽位,对于文本序列“今天上海天气怎么样”,槽位提取设备能够提取出“今天”和“上海”并分别将其填充到“时间”槽位和“地点”槽位。
本申请提供了一种文本标注提取方法,服务器可以通过接收电子设备发送第一标注请求;响应于所述第一标注请求,服务器启动动态标注服务,其中,动态标注服务对应有第一动态标注模型,第一动态标注模型是通过带有第一标签的样本文本序列训练的;服务器接收电子设备发送的第一文本序列以及第一文本序列对应的第一标注信息,其中,第一文本序列包括第一文本信息和第二标签,第一标注信息用于指示所述第一文本序列中带有第二标签的属性的文字在所第一文本序列中的位置,第一标签和所述第二标签可能不同;服务器获取第二文本序列;当第一文本序列的数量大于第一阈值时,服务器通过第一动态标注模型,基于第一文本序列和所第一标注信息,确定出第二文本序列的第二标注信息,第二标注信息用于指示第二文本序列中带有第二标签的属性的文字在第二文本序列中的位置;服务器基于第二标注信息,提取出第二文本序列中带有第二标签的属性的文字。通过这种方法,当自动标注模型的标注标签变化时,无需重新训练模型,这样能够提高自动标注的效率和准确性。
第一标签的类型可以包括时间、始发地、目的地、车类型中的任一种、几种或其他槽位标签,第二标签的类型可以包括时间、始发地、目的地、车类型中的任一种或几种。本申请对第一标签的类型和第二标签的类型不做限定。
本申请实施例也可以应用于标注出第一文本序列的多个第二标签。例如,同时标注出第一文本序列的时间和始发地标签;或者同时标注出第一文本序列的时间、始发地标签和目的地标签等。本申请对标注出第一文本序列的标签类型的数量不做限定。
如图3所示,图3为本申请的系统架构图,该系统包括电子设备100和服务器200。
其中,电子设备100可以接收用户创建的任务事项。电子设备100根据任务事项为用户提供操作选项,操作选项可以包括选择动态标注模型服务3101和选择自动标注模型服务3102。
其中,动态标注模型服务3101对应有动态标注模型3103(第一动态标注模型),动态标注模型服务3101可用于当推理平台310不存在自动标注模型服务3102时,通过动态标注模型3103标注未标注文本序列的槽位标签(第二标签),并根据未标注文本序列的槽位标签提取未标注文本序列的槽位值。
该动态标注模型3103,可用于标注未标注文本序列的预设标签。其中,该动态标注模型3103可以是预先通过大量带预设标签(第一标签)的文本序列训练得到的标注模型。该动态标注模型3103标注文本序列的预设标签体系可以与当前要创建的任务数据的槽位标签体系不同。例如:动态标注模型3103的标注数据是打车领域的数据,预设标签体系含有出发地和目的地。当前标注任务的槽位标签体系需增加标签类型,例如在预设标签体系含有出发地和目的地的基础上,增加车类型(出租车、快车、专车等)的标签,得到槽位标签体系。槽位标签体系含有出发地的标签、目的地的标签和车类型(出租车、快车、专车等)的标签。
自动标注模型服务3102对应有自动标注模型3104,自动标注模型服务3102可用于通过自动标注模型3104根据预设标签标注未标注文本序列的预设标签。
自动标注模型3104是事先通过大量带有预设标签的文本序列训练得到的标注模型,自动标注模型3104仅可以标注未标注文本序列的预设标签。示例性的,自动标注模型3104是通过含有车类型(出租车、快车、专车等)标签的数据训练得到的,则自动标注模型3104仅可以标注未标注文本序列的车类型(出租车、快车、专车等)标签,若用户创建了新的任务事项(例如标注未标注文本序列的目的地标签),则需要通过带有目的地的标签的文本序列重新训练自动标注模型3104。
若操作选项有当前文本序列标注任务的自动标注模型存在,则电子设备100接收用户选择操作启动自动标注模型服务3102;若所述推理平台310没有自动标注模型存在,或自动标注模型的预设标签与当前文本序列的槽位标签不符,则电子设备100接收用户选择操作启动动态标注模型服务3101。
响应于用户选择动态标注模型服务3101的操作,电子设备100发送启动动态标注模型服务3101请求至服务器200,服务器200将启动动态标注模型服务3101来标注未标注文本序列的槽位标签。示例性的,下面以当前标注任务为标注出未标注文本序列中的“时间”和“目的地”槽位标签为例进行说明。动态标注模型服务3101的执行流程可以分为以下几个步骤:
步骤一、服务器200获取到带有槽位标签的文本序列(第一文本序列)。
其中,槽位标签即当前标注任务的需要标注的文本序列的标签。例如,槽位标签可以是为“目的地”的标签。
示例性的,文本序列可以是“我今天要去北京”。
槽位标签是“时间”和“目的地”。
带有槽位标签的文本序列可以表示为““我-O”“今-B-时间”“天-I-时间”“要-O”“去-O”“北-B-目的地”“京-I-目的地””。
步骤二、服务器200判断带有槽位标签的文本序列数量是否达到了阈值(第一阈值)。
其中,该阈值可以是根据实际需求自定义设置的。例如设定带有槽位标签的文本序列数量达到n条,n为大于等于1的正整数,执行步骤三。若带有槽位标签的文本序列数量没有达到阈值,则返回步骤一,动态标注模型服务3101继续获取带有槽位标签的文本序列,直至服务器200判断带有槽位标签的文本序列数量达到了阈值。
步骤三、服务器200判断带有槽位标签的文本序列数量达到了阈值,服务器200更新动态标注模型服务3101。
其中,在更新之前,该动态标注模型服务3101,可用于通过动态标注模型3103标注出未标注文本序列的预设标签(例如“时间”)。服务器200确定出带有槽位标签的文本序列数量达到了阈值,服务器200更新动态标注模型服务3101,更新之后,动态标注模型服务3101可用于通过动态标注模型3103标注出未标注文本序列的槽位标签(例如“时间”和“目的地”)。其中,预设标签和槽位标签的标签类型不一样。
步骤四、动态标注模型3103开始标注未标注文本序列(第二文本序列)的槽位标签(例如“时间”和“目的地”)。
动态标注模型3103开始标注未标注文本序列的槽位标签,并根据槽位标签提取文本序列的槽位值。
下面将详细介绍动态标注模型3103标注未标注文本序列的槽位标签,并根据槽位标签提取文本序列的槽位值。
接下来,将详细介绍动态标注模型3103如何标注未标注文本序列的槽位标签,并根据文本序列的槽位标签得到未标注文本序列的槽位值。如图4所示,图4为动态标注模型3103标注未标注文本序列的槽位标签的流程图。
步骤一、动态标注模型3103根据带有槽位标签的文本序列计算文本序列中标注标签之间的转移概率。
在本申请中,基于数理统计的方法将转移矩阵建模成非参数的方法。具体地,此处转移矩阵是根据带有槽位标签的文本序列计算文本序列中标注标签之间的转移次数得到的。同时为了避免数据过少而出现的误差,动态标注模型3103可以用拉普拉斯平滑常数对转移矩阵去平滑观测值。这样建模的好处是,将转移矩阵非参数化,能够随带有槽位标签的文本序列动态调整,并适应不同体系标签下的转移。根据大数定理,随着带有槽位标签的文本序列的数量越来越多,转移矩阵的误差会逐渐减小。
下面介绍动态标注模型3103如何根据带有槽位标签的文本序列计算文本序列中标注标签之间的转移概率。
假设带有标签的文本序列的数量为n条。槽位标签的种类为m。
首先,动态标注模型3103计算转移矩阵的大小,转移矩阵的大小为t*t,t=2*m+1。
若以“BIO”的标注方式对文本序列进行标注,则t=1个“O”标签+m个“B”起始的标签+m个“I”起始的标签。
示例性的,文本序列可以是“买明天去上海的机票”。
槽位标签是“时间”、“目的地”。
文本序列的标注结果可以表示为“买-O“明-B-时间”“天-I-时间”“去-O”“上-B-目的地”“海-I-目的地”“的-O”“机-O”“票-O””。
则该文本序列的槽位标签的种类m为2。
如图5所示,图5是文本序列的标注结果的示意图。
如图6所示,图6为图5所示带有槽位标签的文本序列对应的第一转移矩阵的示意图。
对于一个带有槽位标签的文本序列,文本序列中每个字对应的标注标签到每个字对应的标注标签的转移次数仅可以发生在相邻的两个字之间,并且转移次数仅计算相邻的两个字中从第一个字到第二个字的转移次数。
举例来说,在图6所示的转移矩阵中,对于转移矩阵中第一行第一列的数值“2”,表示标签“的-0”至标签“机-0”的转移次数为1次、标签“机-0”至标签“票-0”的转移次数为1次,即按照规则标签“0”至标签“0”的转移次数一共为2次;第一行第二列的数值“1”,表示标签“买-0”至标签“明-B-时间”的转移次数为1次,即按照规则标签“0”至标签“B-时间”的转移次数一共为1次;第一行第三列的数值“0”,即按照规则没有从标签“0”转移到标签“I-时间”。第一行第四列的数值“1”,表示标签“去-0”至标签“上-B-目的地”的转移次数为1次,即按照规则标签“0”至标签“B-目的地”的转移次数一共为1次;第一行第五列的数值“0”,即按照规则没有从标签“0”转移到标签“I-目的地”。
以此类推,动态标注模型3103计算出已标注数据中各个字对应的标注标签之间的转移次数,得到如图6所示的第一转移矩阵。
得到转移矩阵之后,为了避免数据过少而出现错误,动态标注模型3103可以用拉普拉斯平滑常数对第一转移矩阵去平滑观测值。
拉普拉斯平滑常数即非法位置转移矩阵。在非法位置转移矩阵中,非法位置的数值为0,合法的位置的数值为1。在文本序列中,非法位置是第一标签的起始字不能与第二标签的延续字相邻,并且第一标签的起始字在第二标签的延续字前面;非法位置还可以是第一标签的延续字不能与第二标签的延续字相邻,并且第一标签的延续字在第二标签的延续字前面;非法位置还可以是第二标签的起始字不能与第一标签的延续字相邻,并且第一标签的延续字在第二标签的延续字前面;非法位置还可以是第二标签的延续字不能与第一标签的延续字相邻,并且第二标签的延续字在第一标签的延续字前面;非法位置还可以是非标签的字不能与第一标签的延续字相邻,并且非标签的字在第一标签的延续字前面;非法位置还可以是非标签的字不能与第二标签的延续字相邻,并且非标签的字在第二标签的延续字前面。
如图7所示,图7为非法位置转移矩阵的示意图。
示例性的,对于带有槽位标签的文本序列““买-O“明-B-时间”“天-I-时间”“去-O”“上-B-目的地”“海-I-目的地”“的-O”“机-O”“票-O””。则标签“O”到标签“天-I-时间”的位置和标签“O”到标签“海-I-目的地”的位置属于非法位置。
因此,标签“O”到标签“天-I-时间”的转移次数为0,标签“O”到标签“海-I-目的地”的转移次数为0。如图8所示。图8所示的转移矩阵为动态标注模型3103通过拉普拉斯平滑常数对第一转移矩阵去平滑观测值之后的第二转移矩阵的示意图。即图8是将第二转移矩阵和非法位置转移矩阵相加后的第二转移矩阵的示意图。
动态标注模型3103对第二转移矩阵进行归一化处理。
图9,图9为归一化转移矩阵的示意图。其中,归一化是指将矩阵中每个位置的数值除以该位置的数值所在的行的数值和。
例如,如图9所示的矩阵,标签“O”到标签“O”的转移次数为3,“3/(3+2+0+2+0)=3/7”,则按照规则标签“O”到标签“O”的转移次数归一化后为“3/7”,将图8所示的矩阵中每个位置的数值按照上述方式处理后得到图9所示的归一化转移矩阵。
归一化转移矩阵中各个位置的数值表示该位置的行标注标签到该位置的列标注标签的转移概率。
例如,在图9所示的归一化转移矩阵中,第一行第一列的数值为“3/7”,该数值表示标签“O”到标签“O”的转移概率为“3/7”。
步骤二、动态标注模型3103根据带有槽位标签的文本序列计算出未标注文本序列中每个字到每个标注标签的发射概率。
本申请采用基于度量的表示学习,带有槽位标签的文本序列的数量是动态调整的,带有槽位标签的文本序列的数量会越来越多。具体的,动态标注模型3103将未标注文本序列与带有槽位标签的文本序列一一配对组成[CLS]A[SEP][B]补[pad]格式,此处A是未标注文本序列,B是带有槽位标签的文本序列,假设有n条带有槽位标签的文本序列,则可以得到n对配对数据。动态标注模型3103将n对配对数据输入BERT模型得到上文向量和下文向量,动态标注模型3103并根据下文向量和带有槽位标签的文本序列中的标注标签计算出标签的表示。并且动态标注模型3103计算上文向量与标签的表示的相似度并做归一化,得到未标注文本序列中每个字到每个标注标签的发射概率。
具体的,动态标注模型3103根据带有槽位标签的文本序列计算出未标注文本序列中每个字到每个标注标签的发射概率可以有以下步骤:
首先,动态标注模型3103根据BERT模型得到配对数据的上文向量和下文向量。
第一步,动态标注模型3103将未标注文本序列与n条带有槽位标签的文本序列一一配对组成[CLS]A[SEP][B]补[pad]格式,得到n对配对数据。
示例性的,未标注文本序列可以是“买今天去深圳的机票”。n条带有槽位标签的文本序列中,其中一条带有槽位标签的文本序列可以是““买-O”“明-B-时间”“天-I-时间”“去-O”“上-B-目的地”“海-I-目的地”“的-O”“机-O”“票-O””。得到的配对数据是[CLS]““买”“今”“天”“去”“深”“圳”“的”“机”“票””[SEP]““买”“明”“天”“去”“上”“海”“的”“机”“票””补[pad]。
第二步,动态标注模型3103将n对配对数据将输入BERT模型得到上文向量和下文向量。
动态标注模型3103将n对配对数据输入BERT模型之前,需要对n对配对数据进行处理,即得到每一对配对数据的字向量、位置向量和句子向量。
首先,动态标注模型3103将每一对配对数据输入到嵌入层中,嵌入层输出每一对配对数据的字向量。
例如,配对数据是[CLS]““买”“今”“天”“去”“深”“圳”“的”“机”“票””[SEP]““买”“明”“天”“去”“上”“海”“的”“机”“票””补[pad]。则需要将该配对数据中每个字及特殊符号都转换为字向量。
其次,将上述字向量输入到分割层,根据所述至少一个符号向量对多个字向量进行分割,得到n个字向量集合,所述n个字向量集合对应n个分割码。
例如,配对数据是[CLS]““买”“今”“天”“去”“深”“圳”“的”“机”“票””[SEP]““买”“明”“天”“去”“上”“海”“的”“机”“票””补[pad]。动态标注模型3103将配对数据分割为A句““买”“今”“天”“去”“深”“圳”“的”“机”“票””和B句““买”“明”“天”“去”“上”“海”“的”“机”“票””,A句会加上分隔符A,B句会加上分隔符B。
通过位置编码对每个分隔符进行编码运算,确定每个分隔符的位置信息编码,得到配对数据中每个字的位置向量。
最后,动态标注模型3103根据配对数据中每个字的字向量和每个字的位置向量,生成配对数据的句子向量。
同理,将n对配对数据按照上述方式处理,分别得到每对配对数据的位置向量、字向量和句子向量。
动态标注模型3103将n对配对数据的位置向量、字向量和句子向量输入BERT模型中,BERT模型输出n维向量,n维向量可以表示为矩阵[batch size,seq_len,hidden]。
现在有n条带有槽位标签的文本序列,则batch size=n。hidden表示隐藏层的层数,设为x。例如BERT模型可以是BERT-base模型,则hidden=768。
seq_len表示配对数据的长度,对于每对配对数据中,未标注的文本序列有p个字,带有槽位标签的文本序列有m个字。加上分隔符则seq_len=p+m+2。
示例性的,假设配对数据为[CLS]““买”“今”“天”“去”“深”“圳”“的”“机”“票””[SEP]““买”“明”“天”“去”“上”“海”“的”“机”“票””补[pad],A句有11个字,B句有9个字,加上分隔符则seq_len=22。
n维向量中句子A对应的位置为上文向量,句子B对应的位置为下文向量。
可以理解的是,第一维向量为第一对配对数据对应的上文向量和下文向量,第二维向量为第二对配对数据对应的上文向量和下文向量,第n维向量为第n对配对数据对应的上文向量和下文向量。
其次、动态标注模型3103根据下文向量和n条带有槽位标签的文本序列的标注标签计算出标签的表示。
标签的表示的计算方法是将n条带有槽位标签的文本序列中每个标注标签对应的字向量取平均值。
具体的,对于一对配对数据中,未标注文本序列有p个字,每条带有槽位标签的文本序列有m个字,支撑集中有n条带有槽位标签的文本序列,那么一共有m*n个字,每个字都有一个字向量,那么m*n个字向量的表示为矩阵[m*n,x]。
对于配对数据中,每条已标注数据中的每个字都有一个标注标签,假设标注标签的种类为s,每个标签对应一个one hot向量,one hot向量可以表示为矩阵[1,s],则m*n个字对应的标签向量表示为矩阵[m*n,s]。one hot向量中,标注标签对应的位置的数值为1.其他标注标签的位置上值为0。
将m*n个字对应的标签转置矩阵与m*n个字向量矩阵作矩阵运算,即[s,m*n]*[m*n,x]=[s,x],则s个标签中的每个标签都对应一个向量,在将结果除以m*n个字中每个标签出现的次数得到标签的表示,标签的表示可以表示为矩阵[s,x]。
然后、动态标注模型3103计算上文向量与标签的表示的相似度并做归一化。
动态标注模型3103计算上文向量与标签的表示的相似度就是计算上文向量与标签的表示向量之间的向量距离。
上文向量为未标注的文本序列通过BERT模型输出的向量表示。句子A有p个字,一共有n对配对的句子,求出n句上文向量的平均值,则上文向量可以表示为矩阵[p,x]。
标签的表示矩阵与上文向量的表示矩阵维度不一样,因此需要将矩阵扩展成维度一样的矩阵,方便运算。
首先,将标签的表示矩阵复制句子A长度份,扩展成大小为[p,s,x]的矩阵,记为a。同理,将上文向量扩展成大小为[p,s,x]大小的矩阵,记为b。
动态标注模型3103计算向量a与向量b之间的向量距离,即计算向量a与向量b的平方并按照一维求和,得到p*s的向量矩阵,即得到句子B中每个字到s个类型标签的发射概率,记为向量c。
最后,动态标注模型3103利用softmax函数对向量c进行归一化,归一化的目的是使句子A中每个字到各个标签的发射概率和为1。
如图10为矩阵为对向量c进行归一化后的发射概率矩阵的示意图。归一化后的发射概率矩阵中,未标注的文本序列中每个字到各个标注标签的发射概率和为1。
动态标注模型3103在解码过程中可以引入实体特征,将实体中每个字到对应的标注标签的发射概率分数提高。
例如,未标注文本序列为“买今天去深圳的机票”,未标注文本序列的槽位标签为“时间”和“目的地”,地点实体与目的地槽位值对应,时间实体与时间槽位值对应。未标注文本序列“买今天去深圳的机票”,有地点实体-深圳,时间实体-明天,此时可将实体中每个字到对应的标注标签的发射概率分数提高。具体的,将字“今”到标注标签“B-时间”的发射概率分数提高(例如增加0.6),将字“天”到标注标签“I-时间”的发射概率分数提高(例如增加0.5),将字“深”到标注标签“B-目的地”的发射概率分数提高(例如增加0.5),将字“圳”到标注标签“I-目的地”的发射概率分数提高(例如增加0.4)。得到如图5所示的引入实体特征后的发射概率矩阵。
如图11所示,图11为动态标注模型3103引入实体特征后的归一化发射概率矩阵的示意图。
最后、动态标注模型3103根据未标注文本序列中每个字到每个标注标签的发射概率,和带有槽位标签文本序列的中标注标签之间的转移概率进行解码,输出未标注文本序列的标注结果。
动态标注模型3103可以通过维特比算法结合未标注文本序列中每个字到每个标注标签的发射概率和带有槽位标签文本序列的中标注标签之间的转移概率进行维特比求解,以得到最优求解路径,最优求解路径为未标注文本序列的最高概率序列。这里,待标注数据的最高概率序列是指输出未标注文本序列中每个字到各个标注标签的概率的最高标签。
示例性地,维特比算法可以包括:当待标注数据中每个字到每个标签的概率最大的路径经过篱笆网络的某点时,则从开始点到该点的子路径也一定是从开始到该点路径中概率最大的;当第i时刻有k个状态,则从开始到i时刻的k个状态有k条最短路径,而最终的最短路径必然经过其中的一条。
根据最优求解路径生成标注序列。
示例性地,通过维特比算法计算所述待标注数据的最高概率标注序列,在计算第i+1状态的最短路径时,只需要考虑从开始到当前的k个状态值得最短路径和当前状态值到第i+1状态值的最短路径即可。
未标注文本序列为“买今天去深圳的机票”,输出的标注序列是““买-O”“今-B-时间”“天-O-I-时间”“去-O”“深-B-目的地”“圳-I-目的地”“的-O”“机-O”“票-O””。事先定义好的槽位为时间槽位和目的地槽位,根据标注序列可以获取到时间槽位值为“明天”,目的地槽位值为“深圳”。
需要说明的是,当动态标注模型3103开始标注未标注文本序列的槽位标签时,服务器200还是可以获取到带有槽位标签的文本序列。可以理解的是,当人工标注了一条带有槽位标签的文本序列后,动态标注模型3103可能已经标注了3条文本序列。
服务器200实时获取到带有槽位标签的文本序列,带有槽位标签的文本序列的数量越多,动态标注模型3103标注未标注文本序列的槽位标签的准确性越高。那么动态标注模型3103根据文本序列的槽位标签提取到文本序列的槽位值就越准确。
如图12所示,图12为动态标注模型3103标注未标注文本序列的槽位标签与人工标注未标注文本序列的槽位标签同步进行的示意图。
S1201、服务器200获取到第m条带有槽位标签的文本序列。
第m条带有槽位标签的文本序列是人工实时标注的,电子设备100将第m条带有槽位标签的文本序列发送至服务器200,服务器200接收并保存第m条带有槽位标签的文本序列。
S1202、服务器200更新动态标注模型3103的训练数据。
服务器200在获取到第m条带有槽位标签的文本序列之前,服务器200已经保存有m-1条带有槽位标签的文本序列。服务器200获取到第m条带有槽位标签的文本序列之后,服务器200将第m条带有槽位标签的文本序列加入到训练数据中,即训练数据已经有m条带有槽位标签的文本序列。
S1203、服务器200通过动态标注模型3103根据m条带有槽位标签的文本序列标注第m+1、第m+2、第m+3条未标注文本序列。
动态标注模型3103标注未标注文本序列的数量与服务器标注的性能及人工标注一条未标注文本序列的时间密切相关,此处以人工标注一条未标注文本序列,动态标注模型3103标注三条未标注文本序列进行说明。
具体的,动态标注模型3103如何根据带有槽位标签的文本序列标注第m+1、第m+2、第m+3条未标注文本序列的,请参考图4实施例,在此不在赘述。
S1204、服务器200获取到第m+4条带有槽位标签的文本序列。
第m+4条带有槽位标签的文本序列是人工实时标注的,电子设备100将第m+4条带有槽位标签的文本序列发送至服务器200,服务器200接收并保存第m+4条带有槽位标签的文本序列。
S1205、服务器200更新动态标注模型3103的训练数据。
服务器200在获取到第m+4条带有槽位标签的文本序列之前,服务器200已经保存有m条带有槽位标签的文本序列。服务器200获取到第m+4条带有槽位标签的文本序列之后,服务器200将第m+4条带有槽位标签的文本序列加入到训练数据中,即训练数据已经有m+1条带有槽位标签的文本序列。
S1206、服务器200通过动态标注模型3103根据m+1条带有槽位标签的文本序列标注第m+5、第m+6、第m+7条未标注文本序列。具体的,动态标注模型3103如何根据带有槽位标签的文本序列标注第m+5、第m+6、第m+7条未标注文本序列的,请参考图4实施例,在此不在赘述。
S1207、服务器200获取到第m+8条带有槽位标签的文本序列。
第m+8条带有槽位标签的文本序列是人工实时标注的,电子设备100将第m+8条带有槽位标签的文本序列发送至服务器200,服务器200接收并保存第m+8条带有槽位标签的文本序列。
S1208、服务器200更新动态标注模型3103的训练数据。
服务器200在获取到第m+8条带有槽位标签的文本序列之前,服务器200已经保存有m+1条带有槽位标签的文本序列。服务器200获取到第m+8条带有槽位标签的文本序列之后,服务器200将第m+8条带有槽位标签的文本序列加入到训练数据中,即训练数据已经有m+2条带有槽位标签的文本序列。
S1209、服务器200通过动态标注模型3103根据m+2条带有槽位标签的文本序列标注第m+9、第m+10、第m+11条未标注文本序列。
具体的,动态标注模型3103如何根据带有槽位标签的文本序列标注第m+9、第m+10、第m+11条未标注文本序列的,请参考图4实施例,在此不在赘述。
服务器200还可以不断继续获取电子设备100发送的带有槽位标签的文本序列,并根据带有槽位标签的文本序列对未标注的文本序列进行标注,本申请在此不再赘述。
由大数定理可知,随着服务器200获取到的带有槽位标签的文本序列越多,那么动态标注模型3103根据带有槽位标签的文本序列标注未标注的文本序列的结果越准确。
如图13所示,图13为本申请提供的一种文本标注提取方法流程图。该方法包括:
S1301、电子设备100接收任务事项。
任务事项是由用户创建的。该任务事项可以是标注未标注文本序列的槽位标签(例如“时间”和“目的地”),并通过文本序列的槽位标签提取出文本序列的槽位值。
未标注文本序列是属于特定领域(例如购票领域)的数据。未标注文本序列的槽位已经事先定义好的,例如未标注文本序列的槽位可以包括时间槽位和目的地槽位。可以通过对未标注文本序列进行标注,根据文本序列的标注结果提取出未标注文本序列中的槽位值。例如,未标注文本序列为“买今天去上海的机票”,未标注文本序列“买今天去上海的机票”的标注结果是““买-O“今-B-时间”“天-I-时间”“去-O”“上-B-目的地”“海-I-目的地”“的-O”“机-O”“票-O””。由标注结果可以知道,时间槽位的槽位值为“今天”,目的地槽位的槽位值为“上海”。
S1302、若不存在自动标注模型服务,或已有自动标注模型服务的预设标签与任务事项的槽位标签不符,电子设备100接收用户选择操作。
电子设备100响应于用户创建的任务事项,电子设备100为用户提供选择入口。
示例性的,如图14所示,图14示例性示出了电子设备100上为用户提供选择入口的示例性用户界面。
电子设备100接收用户创建任务事项的操作,响应于该操作,电子设备100显示如图5所示的用户界面500,用户界面500包括“第一自动标注模型服务”控件5101、“第二自动标注模型服务”控件5102、“第N自动标注模型服务”控件5102、“动态标注模型服务3101”控件5103。
“第一自动标注模型服务”对应有第一自动标注模型,“第一自动标注模型服务”可通过第一自动标注模型标注未标注文本序列的第一预设(例如“电影名”)标签。第一自动标注模型是通过大量带有第一预设(例如“电影名”)标签的文本序列训练得到的,“第一自动标注模型服务”仅可以用于通过第一自动标注模型标注未标注文本序列的第一预设(例如“电影名”)标签。
“第二自动标注模型服务”对应有第二自动标注模型,“第二自动标注模型服务”可通过第二自动标注模型标注未标注文本序列的第二预设(例如“影院名称”)标签。第二自动标注模型是通过大量带有第二预设(例如“影院名称”)标签的文本序列训练得到的,“第二自动标注模型服务”仅可以用于通过第二自动标注模型标注未标注文本序列的第二预设(例如“影院名称”)标签。
可以理解的是,第一预设标签、第二预设标签是属于不同类型的标签。
对“动态标注模型服务3101”的介绍请参见上述实施例,本身请在此不在赘述。
“第一自动标注模型服务”控件5101可以接收用户选择操作(例如单击),响应于用户选择操作,电子设备100选择“第一自动标注模型服务”;“第二自动标注模型服务”控件5102可以接收用户选择操作(例如单击),响应于用户选择操作,电子设备100选择“第二自动标注模型服务”的功能;“动态标注模型服务3101”控件5105可以接收用户选择操作(例如单击),响应于用户选择操作,电子设备100选择“动态标注模型服务3101”。
若已存在的自动标注模型服务的预设标签与任务事项的槽位标签不符,则用户可以选择“动态标注模型服务3101”。“冷启动服务”控件5104可以接收用户选择操作(例如单击),响应于用户选择操作,电子设备100选择“动态标注模型服务3101”。
S1303、电子设备100响应于用户选择操作,发送启动动态标注模型服务请求发送至服务器200。
S1304、服务器200接收并响应于电子设备100发送的启动动态标注模型服务请求,服务器200启动动态标注模型服务3101。
服务器200启动动态标注模型服务3101,即动态标注模型服务3101可开始通过动态标注模型3103标注未标注文本序列的槽位标签(例如“时间”和“目的地”)。
S1305、电子设备100获取到带有槽位标签的文本序列。
文本序列即一个句子或多个句子的组合。例如,文本序列可以是“我要买明天的机票去北京”、“买一张今天的火车票去深圳”。
本文序列中预定义的每个槽位对应一个槽位值,每个槽位值对应着一个槽位标签,每个带槽位标签的文本序列可以包括一个或多个槽位标签。
可以采用“BIO”标记法对本文序列中的一个或多个槽位标签进行标注。其中,“B”表示本文序列中表示槽位标签的词语开始,“I”表示本文序列中表示槽位标签的词语结束,“O”表示本文序列中非槽位标签的字。
如图5所示,带有槽位标签的文本序列可以是““买-O“明-B-时间”“天-I-时间”“去-O”“上-B-目的地”“海-I-目的地”“的-O”“机-O”“票-O””。
带有槽位标签的文本序列可以是人工进行标注的。电子设备100获取到人工标注的带有槽位标签的文本序列。
S1306、电子设备100将带有槽位标签的文本序列发送至服务器200。
S1307、服务器200接收并保存电子设备100发送的带有槽位标签的文本序列。
S1308、服务器200判断带有槽位标签的文本序列的数量大于n,服务器200更新动态标注模型服务3101,n为大于等于1的正整数。
其中,在更新之前,该动态标注模型服务3101,可通过动态标注模型3103标注出未标注文本序列的预设标签(例如“时间”)。服务器200确定出带有槽位标签的文本序列数量达到了阈值,服务器200更新动态标注模型服务3101,更新之后,动态标注模型服务3101可用于通过动态标注模型3103标注出未标注文本序列的槽位标签(例如“时间”和“目的地”)。其中,预设标签和槽位标签的标签类型不一样。
可以理解的是,步骤S1305、步骤S1306、步骤S1307、步骤S1308是实时进行的,电子设备100可以不断的获取到带有槽位标签的文本序列,并将带有槽位标签的文本序列发送至服务器200。服务器200接收电子设备100发送的带有槽位标签的文本序列。服务器200每接收一条电子设备100发送的带有槽位标签的文本序列,服务器200会判断带有槽位标签的文本序列是否大于n,若带有槽位标签的文本序列大于n,则服务器200更新动态标注模型服务3101。
S1309、服务器200更新动态标注模型服务3101之后,动态标注模型3103开始标注未标注文本序列的槽位标签(例如“时间”和“目的地”),并根据已标注文本序列的槽位标签提取文本序列的槽位值。
例如,未标注文本序列“买今天去上海的机票”,未标注文本序列的槽位是时间槽位和目的地槽位。动态标注模型3103按照槽位标签(例如“时间”和“目的地”)对未标注文本序列进行标注,未标注文本序列“买明天去上海的机票”的标注结果是““买-O“明-B-时间”“天-I-时间”“去-O”“上-B-目的地”“海-I-目的地”“的-O”“机-O”“票-O””。由标注结果可以知道,该文本序列的时间槽位的槽位值为“今天”,目的地槽位的槽位值为“上海”。
对于动态标注模型3103标注未标注文本序列的槽位标签,并根据已标注文本序列的槽位标签提取文本序列的槽位值,参考图4实施例,本身请在此不再赘述。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (16)
1.一种文本标注提取方法,其特征在于,包括:
服务器接收电子设备发送第一标注请求;
响应于所述第一标注请求,所述服务器启动动态标注服务,其中,所述动态标注服务对应有第一动态标注模型,所述第一动态标注模型是通过带有第一标签的样本文本序列训练的;
所述服务器接收所述电子设备发送的第一文本序列以及所述第一文本序列对应的第一标注信息,其中,所述第一文本序列包括第一文本信息和第二标签,所述第一标注信息用于指示所述第一文本序列中带有所述第二标签的属性的文字在所述第一文本序列中的位置,所述第一标签和所述第二标签不同;
所述服务器获取第二文本序列;
当所述第一文本序列的数量大于第一阈值时,所述服务器通过所述第一动态标注模型,基于所述第一文本序列和所述第一标注信息,确定出所述第二文本序列的第二标注信息,所述第二标注信息用于指示所述第二文本序列中带有所述第二标签的属性的文字在所述第二文本序列中的位置;
所述服务器基于所述第二标注信息,提取出所述第二文本序列中带有所述第二标签的属性的文字。
2.根据权利要求1所述的方法,其特征在于,所述服务器通过所述第一动态标注模型,根据所述第一文本序列和所述第一标注信息,确定出所述第二文本序列的第二标注信息,具体包括:
所述服务器基于所述第一文本序列和所述第一标注信息,确定出所述第一文本序列中的带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的转移概率,所述带有所述第二标签的属性的文字包括带有所述第二标签的属性的起始字和带有所述第二标签的属性的延续字;
所述服务器基于所述第一文本序列和所述第一标注信息,确定出所述第二文本序列中每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率;
所述服务器根据所述转移概率和所述发射概率,标注出所述第二文本序列的所述第二标注信息。
3.根据权利要求2所述的方法,其特征在于,所述服务器基于所述第一文本序列和所述第一标注信息,确定出所述第一文本序列中的带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的转移概率,具体包括:
所述服务器基于所述第一文本序列和所述第一标注信息,确定出所述第一文本序列中的不带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的第一转移次数、所述第一文本序列中的不带有所述第二标签属性的文字与带有所述第二标签的属性的起始字之间的第二转移次数、所述第一文本序列中的不带有所述第二标签属性的文字与带有所述第二标签的属性的延续字之间的第三转移次数、所述第一文本序列中带有所述第二标签属性的起始字与不带有所述第二标签的属性的文字之间的第四转移次数、所述第一文本序列中带有所述第二标签属性的起始字与带有所述第二标签的属性的起始字之间的第五转移次数、所述第一文本序列中带有所述第二标签属性的起始字与带有所述第二标签的属性的延续字之间的第六转移次数、所述第一文本序列中带有所述第二标签属性的延续字与不带有所述第二标签的属性的文字之间的第七转移次数、所述第一文本序列中带有所述第二标签属性的延续字与带有所述第二标签的属性的起始字之间的第八转移次数、所述第一文本序列中带有所述第二标签属性的延续字与带有所述第二标签的属性的延续字之间的第九转移次数;
所述服务器根据拉普拉斯平滑常数对所述第一转移次数、所述第二转移次数、所述第三转移次数、所述第四转移次数、所述第五转移次数、所述第六转移次数、所述第七转移次数、所述第八转移次数、所述第九转移次数去平滑观测值;
所述服务器根据去平滑观测值后的第一转移次数、去平滑观测值后的第二转移次数、去平滑观测值后的第三转移次数、去平滑观测值后的第四转移次数、去平滑观测值后的第五转移次数、去平滑观测值后的第六转移次数、去平滑观测值后的第七转移次数、去平滑观测值后的第八转移次数、去平滑观测值后的第九转移次数确定出所述第一文本序列中的带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的转移概率。
4.根据权利要求2所述的方法,其特征在于,所述服务器基于所述第一文本序列和所述第一标注信息,确定出所述第二文本序列中每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率,具体包括:
所述服务器根据所述第一文本信息得到上文向量;
所述服务器根据所述第二文本序列得到下文向量;
所述服务器根据所述下文向量和所述第一标注信息,确定出标签的表示;
所述服务器计算所述上文向量与所述标签的表示的向量距离;
所述服务器对所述向量距离做归一化,确定出所述第二文本序列中每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率。
5.根据权利要求2所述的方法,其特征在于,所述服务器根据所述转移概率和所述发射概率,标注出所述第二文本序列的所述第二标注信息,具体包括:
所述服务器根据维特比算法对所述第二文本序列进行维特比求解,得到所述第二文本序列中的最优求解路径;其中,在所述最优求解路径中,所述第二文本序列列中的每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率值最大;
所述服务器基于所述最优求解路径标注出所述第二文本序列的所述第二标注信息。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
所述服务器获取到第三文本序列;
所述服务器通过所述第一动态标注模型,基于所述第一文本序列、所述第一标注信息、所述二文本序列和所述第二标注信息,确定出所述第三文本序列的第三标注信息,所述第三标注信息用于指示所述第三文本序列中带有所述第二标签的属性的文字在所述第三文本序列中的位置;
所述服务器基于所述第三标注信息,提取出所述第三文本序列中带有所述第二标签的属性的文字。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一标注信息的类型包括BIO信息类型。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述第一标签的类型包括时间、始发地、目的地、车类型中的任一种或几种,第二标签的类型包括时间、始发地、目的地、车类型中的任一种或几种。
9.一种服务器,其特征在于,包括处理器、存储器;所述存储器与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述处理器调用所述计算机指令以使得所述服务器执行:
接收电子设备发送第一标注请求;
响应于所述第一标注请求,启动动态标注服务,其中,所述动态标注服务对应有第一动态标注模型,所述第一动态标注模型是通过带有第一标签的样本文本序列训练的;
接收所述电子设备发送的第一文本序列以及所述第一文本序列对应的第一标注信息,其中,所述第一文本序列包括第一文本信息和第二标签,所述第一标注信息用于指示所述第一文本序列中带有所述第二标签的属性的文字在所述第一文本序列中的位置,所述第一标签和所述第二标签可以不同;
获取第二文本序列;
当所述第一文本序列的数量大于第一阈值时,通过所述第一动态标注模型,基于所述第一文本序列和所述第一标注信息,确定出所述第二文本序列的第二标注信息,所述第二标注信息用于指示所述第二文本序列中带有所述第二标签的属性的文字在所述第二文本序列中的位置;
基于所述第二标注信息,提取出所述第二文本序列中带有所述第二标签的属性的文字。
10.根据权利要求9所述的服务器,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:
基于所述第一文本序列和所述第一标注信息,确定出所述第一文本序列中的带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的转移概率,所述带有所述第二标签的属性的文字包括带有所述第二标签的属性的起始字和带有所述第二标签的属性的延续字;
基于所述第一文本序列和所述第一标注信息,确定出所述第二文本序列中每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率;
根据所述转移概率和所述发射概率,标注出所述第二文本序列的所述第二标注信息。
11.根据权利要求10所述的服务器,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:
基于所述第一文本序列和所述第一标注信息,确定出所述第一文本序列中的不带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的第一转移次数、所述第一文本序列中的不带有所述第二标签属性的文字与带有所述第二标签的属性的起始字之间的第二转移次数、所述第一文本序列中的不带有所述第二标签属性的文字与带有所述第二标签的属性的延续字之间的第三转移次数、所述第一文本序列中带有所述第二标签属性的起始字与不带有所述第二标签的属性的文字之间的第四转移次数、所述第一文本序列中带有所述第二标签属性的起始字与带有所述第二标签的属性的起始字之间的第五转移次数、所述第一文本序列中带有所述第二标签属性的起始字与带有所述第二标签的属性的延续字之间的第六转移次数、所述第一文本序列中带有所述第二标签属性的延续字与不带有所述第二标签的属性的文字之间的第七转移次数、所述第一文本序列中带有所述第二标签属性的延续字与带有所述第二标签的属性的起始字之间的第八转移次数、所述第一文本序列中带有所述第二标签属性的延续字与带有所述第二标签的属性的延续字之间的第九转移次数;
根据拉普拉斯平滑常数对所述第一转移次数、所述第二转移次数、所述第三转移次数、所述第四转移次数、所述第五转移次数、所述第六转移次数、所述第七转移次数、所述第八转移次数、所述第九转移次数去平滑观测值;
根据去平滑观测值后的第一转移次数、去平滑观测值后的第二转移次数、去平滑观测值后的第三转移次数、去平滑观测值后的第四转移次数、去平滑观测值后的第五转移次数、去平滑观测值后的第六转移次数、去平滑观测值后的第七转移次数、去平滑观测值后的第八转移次数、去平滑观测值后的第九转移次数确定出所述第一文本序列中的带有所述第二标签属性的文字与不带有所述第二标签的属性的文字之间的转移概率。
12.根据权利要求10所述的服务器,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:
所述服务器根据所述第一文本信息得到上文向量;
所述服务器根据所述第二文本序列得到下文向量;
所述服务器根据所述下文向量和所述第一标注信息,确定出标签的表示;
所述服务器计算所述上文向量与所述标签的表示的向量距离;
对所述向量距离做归一化,确定出所述第二文本序列中每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间发射概率。
13.根据权利要求10所述的服务器,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:
根据维特比算法对所述第二文本序列进行维特比求解,得到所述第二文本序列中的最优求解路径;其中,在所述最优求解路径中,求所述第二文本序列列中的每一个字与带有所述第二标签的属性的文字和不带有所述第二标签的属性的文字之间最终路径的概率最大化;
基于所述第三标注信息,提取出所述第三文本序列中带有所述第二标签的属性的文字。
14.根据权利要求9-13任一项所述的服务器,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:
所述第一标注信息的类型包括BIO信息类型。
15.根据权利要求9-14任一项所述的服务器,所述处理器,还用于调用所述计算机指令以使得所述服务器执行:
所述第一标签的类型包括时间、始发点、目的地、车类型中的任一种或几种,第二标签的类型包括时间、始发点、目的地、车类型中的任一种或几种。
16.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,所述处理器执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010942991.0A CN114238554A (zh) | 2020-09-09 | 2020-09-09 | 一种文本标注提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010942991.0A CN114238554A (zh) | 2020-09-09 | 2020-09-09 | 一种文本标注提取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238554A true CN114238554A (zh) | 2022-03-25 |
Family
ID=80742946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010942991.0A Pending CN114238554A (zh) | 2020-09-09 | 2020-09-09 | 一种文本标注提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238554A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117216578A (zh) * | 2023-11-07 | 2023-12-12 | 杭州实在智能科技有限公司 | 基于元学习的可自定义标签深度学习模型构建方法及系统 |
-
2020
- 2020-09-09 CN CN202010942991.0A patent/CN114238554A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117216578A (zh) * | 2023-11-07 | 2023-12-12 | 杭州实在智能科技有限公司 | 基于元学习的可自定义标签深度学习模型构建方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110111787B (zh) | 一种语义解析方法及服务器 | |
CN112567457B (zh) | 语音检测方法、预测模型的训练方法、装置、设备及介质 | |
CN110134316B (zh) | 模型训练方法、情绪识别方法及相关装置和设备 | |
WO2021135707A1 (zh) | 机器学习模型的搜索方法及相关装置、设备 | |
WO2021254411A1 (zh) | 意图识别方法和电子设备 | |
CN112154431A (zh) | 一种人机交互的方法及电子设备 | |
CN113297843B (zh) | 指代消解的方法、装置及电子设备 | |
CN112446832A (zh) | 一种图像处理方法及电子设备 | |
CN111625670A (zh) | 一种图片分组方法及设备 | |
CN111881315A (zh) | 图像信息输入方法、电子设备及计算机可读存储介质 | |
CN112256868A (zh) | 零指代消解方法、训练零指代消解模型的方法及电子设备 | |
CN116052648B (zh) | 一种语音识别模型的训练方法、使用方法及训练系统 | |
CN114330374A (zh) | 融合场景感知机器翻译方法、存储介质及电子设备 | |
CN114691839A (zh) | 一种意图槽位识别方法 | |
CN114822543A (zh) | 唇语识别方法、样本标注方法、模型训练方法及装置、设备、存储介质 | |
CN113536834A (zh) | 眼袋检测方法以及装置 | |
CN113468929A (zh) | 运动状态识别方法、装置、电子设备和存储介质 | |
CN114697543B (zh) | 一种图像重建方法、相关装置及系统 | |
CN114238554A (zh) | 一种文本标注提取方法 | |
CN111768765A (zh) | 语言模型生成方法和电子设备 | |
CN115437601A (zh) | 图像排序方法、电子设备、程序产品及介质 | |
CN114547616A (zh) | 检测垃圾软件的方法、装置及电子设备 | |
CN115995236A (zh) | 音色提取、模型训练方法、装置、设备、介质及程序 | |
CN112988984A (zh) | 特征获取方法、装置、计算机设备及存储介质 | |
CN114528842A (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 |