CN110309315B - 模板文件的生成方法、装置、计算机可读介质及电子设备 - Google Patents

模板文件的生成方法、装置、计算机可读介质及电子设备 Download PDF

Info

Publication number
CN110309315B
CN110309315B CN201810367499.8A CN201810367499A CN110309315B CN 110309315 B CN110309315 B CN 110309315B CN 201810367499 A CN201810367499 A CN 201810367499A CN 110309315 B CN110309315 B CN 110309315B
Authority
CN
China
Prior art keywords
entity
corpus data
preset
names
template file
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
Application number
CN201810367499.8A
Other languages
English (en)
Other versions
CN110309315A (zh
Inventor
周辉阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810367499.8A priority Critical patent/CN110309315B/zh
Publication of CN110309315A publication Critical patent/CN110309315A/zh
Application granted granted Critical
Publication of CN110309315B publication Critical patent/CN110309315B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施例提供了一种模板文件的生成方法、装置、计算机可读介质及电子设备。该生成方法包括:检测语料数据中包含的预设实体名称;根据实体名称与实体标签之间的对应关系,确定与预设实体名称相对应的目标实体标签;通过该目标实体标签替换语料数据中包含的预设实体名称,以生成语料数据的模板文件;其中,若语料数据中存在字符重叠的多个预设实体名称,则分别通过该多个预设实体名称所对应的目标实体标签替换语料数据中相应的实体名称,以生成语料数据的多个模板文件。本发明实施例的技术方案可以避免在出现字符重叠的实体名称时,仅针对其中的一个实体名称生成相应的模板文件而导致模板文件生成不全面、且可能会生成不准确的模板文件的问题。

Description

模板文件的生成方法、装置、计算机可读介质及电子设备
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种模板文件的生成方法、装置、计算机可读介质及电子设备。
背景技术
在自然语言的处理过程中,好的模板对于一个领域的语料而言十分重要,其泛化性和可用性都能够得到保证,但是如何从海量的用户询问数据中抽取出合适的模板文件是一个难题,目前并没有有效的解决方案。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例提供一种模板文件的生成方法、装置、计算机可读介质及电子设备,进而至少在一定程度上解决现有技术中无法得到全面的模板文件的问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的一个方面,提供了一种模板文件的生成方法,包括:检测语料数据中包含的预设实体名称;根据实体名称与实体标签之间的对应关系,确定与所述预设实体名称相对应的目标实体标签;通过所述目标实体标签替换所述语料数据中包含的所述预设实体名称,以生成所述语料数据的模板文件;其中,若所述语料数据中存在字符重叠的多个预设实体名称,则分别通过所述多个预设实体名称所对应的目标实体标签替换所述语料数据中相应的实体名称,以生成所述语料数据的多个模板文件。
根据本发明实施例的一个方面,提供了一种模板文件的生成装置,包括:第一检测单元,用于检测语料数据中包含的预设实体名称;确定单元,用于根据实体名称与实体标签之间的对应关系,确定与所述预设实体名称相对应的目标实体标签;生成单元,用于通过所述目标实体标签替换所述语料数据中包含的所述预设实体名称,以生成所述语料数据的模板文件;其中,所述生成单元还用于在所述语料数据中存在字符重叠的多个预设实体名称时,分别通过所述多个预设实体名称所对应的目标实体标签替换所述语料数据中相应的实体名称,以生成所述语料数据的多个模板文件。
根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的模板文件的生成方法。
根据本发明实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的模板文件的生成方法。
在本发明的一些实施例所提供的技术方案中,通过根据实体名称与实体标签之间的对应关系,确定与语料数据中包含的预设实体名称相对应的目标实体标签,并通过目标实体标签替换语料数据中包含的预设实体名称,使得能够通过自动匹配的方式来生成语料数据的模板文件。而在语料数据中存在字符重叠的多个预设实体名称时,分别通过该多个预设实体名称对应的目标实体标签替换语料数据中相应的实体名称,使得可以针对不同的预设实体名称都能够生成相应的模板文件,避免在出现字符重叠的预设实体名称时,仅针对其中的一个预设实体名称生成相应的模板文件而导致模板文件生成不全面、且可能会生成不准确的模板文件的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本发明实施例的模板文件的生成方法或模板文件的生成装置的示例性***架构的示意图;
图2示出了适于用来实现本发明实施例的电子设备的计算机***的结构示意图;
图3示意性示出了根据本发明的一个实施例的模板文件的生成方法的流程图;
图4示意性示出了根据本发明的另一个实施例的模板文件的生成方法的流程图;
图5示意性示出了根据本发明的又一个实施例的模板文件的生成方法的流程图;
图6示意性示出了一种模板文件的生成方法的流程图;
图7示意性示出了根据本发明的再一个实施例的模板文件的生成方法的流程图;
图8示意性示出了根据本发明的一个实施例的模板文件的生成装置的框图;
图9示意性示出了根据本发明的另一个实施例的模板文件的生成装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本发明实施例的模板文件的生成方法或模板文件的生成装置的示例性***架构100的示意图。
如图1所示,***架构100可以包括终端设备101、102、103中的一种或多种,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器。例如服务器105收集用户利用终端设备103(也可以是终端设备101或102)发出的语料数据(如询问语句等),然后检测语料数据中包含的预设的实体名称,进而根据与该实体名称相对应的实体标签来替换语料数据中包含的实体名称,以生成语料数据的模板文件。
在本发明的一个实施例中,如果语料数据中存在字符重叠的多个预设实体名称(比如语料数据“刘甲乙的电影”中出现了字符重叠的“刘甲乙”和“刘甲”,且“刘甲乙”和“刘甲”都为预设的实体名称),则服务器105可以分别通过这多个预设实体名称对应的实体标签替换语料数据中相应的实体名称,以生成多个模板文件,进而能够确保生成的模板文件的全面性。比如实体名称“刘甲乙”对应的实体标签为“actor”,实体名称“刘甲”对应的实体标签为“director”,那么会生成两个模板文件:[actor]的电影;[director]乙的电影。
在本发明的一个实施例中,在生成多个模板文件之后,服务器105可以从这多个模板文件中选择一个合适的模板文件作为最终确定的模板文件,比如在上述示例中,服务器105可以通过相应的选择策略选择模板“[actor]的电影”作为最终的模板文件,进而有利于得到最优的模板文件。
需要说明的是,本发明实施例所提供的模板文件的生成方法一般由服务器105执行,相应地,模板文件的生成装置一般设置于服务器105中。但是,在本发明的其它实施例中,终端也可以与服务器具有相似的功能,从而执行本发明实施例所提供的模板文件的生成方案。
图2示出了适于用来实现本发明实施例的电子设备的计算机***的结构示意图。
需要说明的是,图2示出的电子设备的计算机***200仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图2所示,计算机***200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有***操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请的***中限定的各种功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3至图7所示的各个步骤。
以下对本发明实施例的技术方案的实现细节进行详细阐述:
图3示意性示出了根据本发明的一个实施例的模板文件的生成方法的流程图,该模板文件的生成方法适用于前述实施例中所述的电子设备。参照图3所示,该模板文件的生成方法至少包括步骤S310至步骤S330,详细介绍如下:
在步骤S310中,检测语料数据中包含的预设实体名称。
在本发明的一个实施例中,语料数据是指在实际应用场景中用户真实使用的自然语言数据。实体表示一个概念的基本单位,实体名称即为由实体构成的词语。
在步骤S320中,根据实体名称与实体标签之间的对应关系,确定与所述预设实体名称相对应的目标实体标签。
在本发明的一个实施例中,实体标签用于标识实体名称所属的类别,比如标识实体名称属于“actor”或者是“director”等。
在步骤S330中,通过所述目标实体标签替换所述语料数据中包含的所述预设实体名称,以生成所述语料数据的模板文件;其中,若所述语料数据中存在字符重叠的多个预设实体名称,则分别通过所述多个预设实体名称所对应的目标实体标签替换所述语料数据中相应的实体名称,以生成所述语料数据的多个模板文件。
图3所示实施例的技术方案使得能够通过自动匹配的方式来生成语料数据的模板文件。而在语料数据中存在字符重叠的多个预设实体名称时,分别通过该多个预设实体名称对应的目标实体标签替换语料数据中相应的实体名称,使得可以针对不同的预设实体名称都能够生成相应的模板文件,避免在出现字符重叠的预设实体名称时,仅针对其中的一个预设实体名称生成相应的模板文件而导致模板文件生成不全面、且可能会生成不准确的模板文件的问题。
以下以两个实施例对图3所示的模板文件的生成方法的实现细节进行详细阐述:
在本发明的一个实施例中,在步骤S310中检测语料数据中包含的预设实体名称,包括:检测语料数据中包含的预设实体名称在所述语料数据中的位置信息。
在本发明的一个实施例中,可以根据语料数据中包含的字符来确定预设实体名称在语料数据中的位置信息。比如语料数据为“刘甲乙和张丙丁的电影”,那么实体名称“刘甲乙”的位置信息为[0|3],即位置0为开始位置(不包含位置0),位置3为结束位置。
在本发明的一个实施例中,当检测到预设实体名称在语料数据中的位置信息之后,可以通过目标实体标签替换语料数据中与该位置信息相对应的字符。比如对于上述示例,若实体名称“刘甲乙”对应的实体标签为“actor”,则通过“actor”替换语料数据“刘甲乙和张丙丁的电影”中从位置0开始、位置3结束的字符。
在本发明的一个实施例中,可以通过AC自动机(Aho-Corasick automaton,一种多模匹配算法)检测并返回语料数据中包含的预设实体名称在语料数据中的位置信息,以及与预设实体名称相对应的目标实体标签。比如对于上述示例,AC自动机的返回结果为[0|3|actor],即说明从位置0开始、位置3结束的字符所表示的实体名称对应的实体标签为“actor”。可见,该实施例的技术方案使得能够通过一个AC自动机检测并返回语料数据中包含的预设实体名称在语料数据中的位置信息,以及与预设实体名称相对应的目标实体标签,提高了算法的匹配效率。
在本发明的一个实施例中,如上所述,预设实体名称在语料数据中的位置信息为该预设实体名称包含的字符在语料数据中按照第一顺序(如从左至右的顺序)排列的位置信息。在此基础上,若语料数据中包含多个不重叠的预设实体名称,则在通过目标实体标签替换语料数据中的预设实体名称时,可以根据该多个不重叠的预设实体名称在语料数据中按照第二顺序(该第二顺序与上述的第一顺序相反)出现的先后次序,依次替换该多个不重叠的预设实体名称。
在该实施例中,比如语料数据为“刘甲乙和张丙丁的电影”。假如AC自动机返回的结果是:[0|3|actor]、[4|7|actor]。如果将语料数据中0-3(按照从左至右的顺序,且不包含位置0)的位置换成了“actor”,则得到“[actor]和张丙丁的电影”,那么实体名称“张丙丁”的位置会发生变化,不再是原来的4-7(不包含位置4)的位置,如果还继续替换,那么会得到错误的模板文件。而基于本发明实施例的技术方案,可以按照实体名称“刘甲乙”和“张丙丁”从右至左出现的顺序进行替换,即先将语料数据中4-7的位置换成了“actor”,则得到“刘甲乙和[actor]的电影”,然后再将语料数据中0-3的位置换成了“actor”,得到“[actor]和[actor]的电影”。可见,实施例一的技术方案可以在语料数据中出现多个不重叠的实体名称时,保证实体标签的替换不出现问题,进而能够得到准确的模板文件。
在本发明的另一个实施例中,在步骤S310中检测语料数据中包含的预设实体名称,包括:检测语料数据中包含的预设实体名称的字符内容。
在本发明的一个实施例中,由于直接检测到语料数据中包含的预设实体名称的字符内容,因此可以通过目标实体标签替换语料数据中的该字符内容。比如语料数据为“刘甲乙和张丙丁的电影”,检测到的预设实体名称的字符内容为“刘甲乙”和“张丙丁”,且预设实体名称“刘甲乙”和“张丙丁”对应的实体标签都为“actor”,那么可以直接用“actor”替换语料数据中的“刘甲乙”和“张丙丁”,得到“[actor]和[actor]的电影”。可见,实施例二的技术方案也可以在语料数据中出现多个不重叠的实体名称时,保证实体标签的替换不出现问题,进而能够得到准确的模板文件。
在本发明的一个实施例中,对于实施例二的技术方案,可以通过第一AC自动机检测并返回语料数据中包含的预设实体名称的字符内容,并通过第二AC自动机确定与预设实体名称相对应的目标实体标签,以通过字符内容的直接替换来保证得到准确的模板文件。
在本发明的一个实施例中,如图4所示,根据本发明的另一个实施例的模板文件的生成方法,在图3所示的步骤S310和步骤S320的基础上,还包括:
步骤S410,若语料数据中存在字符重叠的多个预设实体名称,则判断该多个预设实体名称对应的实体标签是否相同,若是,则执行步骤S420;否则,执行步骤S430。
步骤S420,通过多个预设实体名称所对应的实体标签替换所述多个预设实体名称中字符数量最多的实体名称,以生成所述语料数据的模板文件。
在本发明的一个实施例中,比如语料数据“刘甲乙的电影”中出现了字符重叠的“刘甲乙”和“刘甲”,“刘甲乙”和“刘甲”都为预设的实体名称,且实体名称“刘甲乙”和“刘甲”对应的实体标签都为“actor”,那么可以通过“actor”替换语料数据中的“刘甲乙”。
步骤S430,分别通过所述多个预设实体名称对应的目标实体标签替换所述语料数据中相应的实体名称,以生成语料数据的多个模板文件。
在本发明的一个实施例中,比如语料数据“刘甲乙的电影”中出现了字符重叠的“刘甲乙”和“刘甲”,“刘甲乙”和“刘甲”都为预设的实体名称,且实体名称“刘甲乙”对应的实体标签为“actor”,实体名称“刘甲”对应的实体标签为“director”,那么会生成两个模板文件:[actor]的电影;[director]乙的电影。
图4所示实施例的技术方案使得在语料数据中存在字符重叠的多个预设实体名称,且该多个预设实体名称对应的实体标签相同时,能够选择字符数量最多的实体名称进行替换,以确保得到较为准确的模板文件;而在该多个预设实体名称对应的实体标签不相同时,可以分别进行替换,以生成多个模板文件,进而可以保证得到全面的模板文件。
基于前述实施例的技术方案,如图5所示,根据本发明的又一个实施例的模板文件的生成方法,还包括如下步骤:
步骤S510,检测生成的多个模板文件中是否包含预设实体名称中的任意一个,或者是否包含预设实体名称中的任意两个实体名称的不重叠部分。
在本发明的一个实施例中,比如针对语料数据“刘甲乙和张丙丁的电影”而言,实体名称“刘甲乙”对应的实体标签为“actor”;实体名称“刘甲”对应的实体标签为“director”;实体名称“张丙丁”对应的实体标签为“actor”;实体名称“张丙”对应的实体标签为“director”。那么通过本发明上述实施例的技术方案可能得到如下模板文件:[actor]和张丙丁的电影;[actor]和[actor]的电影;[actor]和[director]丁的电影;刘甲乙和[actor]的电影;刘甲乙和[director]丁的电影;[director]乙和张丙丁的电影;[director]乙和[actor]的电影;[director]乙和[director]丁的电影。其中的部分模板文件中包含了实体名称“刘甲乙”或者实体名称“张丙丁”,或者包含了“刘甲乙”与“刘甲”的不重叠部分“乙”,或者包含了“张丙丁”与“张丙”的不重叠部分“丁”。
步骤S520,若检测到任一模板文件中包含预设实体名称中的任意一个,或者包含预设实体名称中的任意两个实体名称的不重叠部分,则从所述多个模板文件中删除掉所述任一模板文件,以对所述多个模板文件进行过滤。
在本发明的一个实施例中,如上述的示例,由于“刘甲乙”和“张丙丁”都为实体名称,因此包含这两个实体名称的模板文件显然是不准确的,并且对于包含“乙”和“丁”的模板文件,显然是直接对“刘甲”和“张丙”进行了替换,而没有考虑可能性更高的“刘甲乙”和“张丙丁”,因此需要删除掉这部分模板文件,进而能够确保得到更加准备的模板文件。
以下结合图6和图7对本发明实施例的技术方案的实现细节进行详细阐述。
如图6所示,在一种模板文件的生成方法中,包括如下步骤:
步骤S601,对语料数据进行字符遍历。
步骤S602,判断以当前字符开始是否能够匹配到数据库中的实体名称,若是,则执行步骤S603;否则,执行步骤S604。
步骤S603,将实体名称替换为实体标签。
步骤S604,判断是否遍历到结尾,若是,则确定得到了模板文件;否则,返回步骤S601继续进行遍历。
图6所示的技术方案是对语料数据进行逐一字符串的暴力匹配,匹配中了就将实体名称替换为实体标签,这种方案存在如下问题:
1、比如语料数据为“刘甲乙的老婆是谁”,假如同时存在实体名称“刘甲”和“刘甲乙”,且这两个实体名称对应的实体标签都为singer,那么按照图6所示的方案得到的模板为“[singer]乙的老婆是谁”。
2、假设实体名称“刘甲”对应的实体标签为actor,实体名称“刘甲乙”对应的实体标签为singer,那么按照图6所示的方案得到的模板为:“[actor]乙的老婆是谁”,根本生成不了有用的模板“[singer]的老婆是谁”,即对于实体名称存在重叠的情况,只能得到一个模板,无法得到所有可能模板的全排列组合。
针对上述问题,本发明的实施例提供了如下的解决方案,具体如图7所示,包括步骤S701和步骤S702,以下详细进行说明:
在步骤S701中,AC自动机进行多模匹配。
在本发明的一个实施例中,步骤S701在具体实现时可以包括如下过程:AC自动机的建立、通过多模匹配算法出现的各种问题的解决方案、多种实体地址冲突的全排列。
1、AC自动机的建立
在本发明的一个实施例中,为了提高数据计算效率,可以选择spark(一种计算引擎)来处理海量的数据,并且可以在spark中建立AC自动机,以载入相关的实体名称和实体标签,比如预设海量的演员、导演的名称作为实体名称,并分别设置actor和director的标签。
AC自动机的返回通常是“start|end|label”,分别表示匹配中的实体名称的开始位置、结束位置和实体标签。假如一条语料数据中匹配到多个实体名称,并且先替换了第一个匹配到的实体名称,那么后面的实体名称的位置就发生变化,进而会导致AC自动机返回的绝对位置值丧失了意义。比如对于语料数据“刘甲乙和张丙丁的电影”,假如AC自动机返回的结果是:[0|3|actor]、[4|7|actor]。如果将语料数据中0-3(按照从左至右的顺序,且不包含位置0)的位置换成了“actor”,则得到“[actor]和张丙丁的电影”,那么实体名称“张丙丁”的位置会发生变化,不再是原来的4-7(不包含位置4)的位置,如果还继续替换,那么会得到错误的模板文件。为了解决这个问题,在本发明的一个实施例中,可以建立两个AC自动机,一个用于返回匹配中的实体名称,另一个返回实体标签,最终依据实体名称来替换标签,这样就顺利解决了实体名称和实体标签的替换问题。
在本发明的另一个实施例中,可以按照实体名称“刘甲乙”和“张丙丁”从右至左出现的顺序进行替换,即先将语料数据中4-7的位置换成了“actor”,则得到“刘甲乙和[actor]的电影”,然后再将语料数据中0-3的位置换成了“actor”,得到“[actor]和[actor]的电影”,这样也可以解决实体名称和实体标签的替换问题。
2、通过多模匹配算法出现的各种问题的解决方案
在本发明的实施例中,通过多模匹配算法出现的各种问题包括:同类实体的地址冲突问题和不同类实体的地址冲突问题,分别介绍如下:
2.1、同类实体的地址冲突问题
在本发明的一个实施例中,以语料数据“刘甲乙和张丙丁的电影”为例,假设实体名称“刘甲乙”和“刘甲”对应的实体标签为actor,那么AC自动机的返回就是:[0|2|actor]、[0|3|actor]。经过对大量语句的处理分析可以发现对于同一类型的地址冲突问题,通常选择地址较长的是一种合理的选择,比如对于该示例,通过实体标签替换“刘甲乙”就是一个非常合理的选择。因此可以得到如下的结论:同类实体地址冲突时选择长实体进行替换。
2.2、不同类实体的地址冲突问题
在本发明的一个实施例中,以语料数据“刘甲乙和张丙丁的电影”为例,假如实体名称“刘甲乙”对应的实体标签为actor、实体名称“刘甲”对应的实体标签为director,那么AC自动机的返回就是:[0|2|director]、[0|3|actor]。虽然实体名称的地址冲突,但是对应的实体标签不一致,因此可以认为这两个模板是等可能的概率,进而会生成两种模板:[actor]和张丙丁的电影,[director]乙和张丙丁的电影。
3、多种实体地址冲突的全排列
在本发明的一个实施例中,以语料数据“刘甲乙和张丙丁的电影”为例,假如实体名称“刘甲乙”对应的实体标签为“actor”;实体名称“刘甲”对应的实体标签为“director”;实体名称“张丙丁”对应的实体标签为“actor”;实体名称“张丙”对应的实体标签为“director”。那么通过本发明上述实施例的技术方案可能得到如下模板文件:[actor]和张丙丁的电影;[actor]和[actor]的电影;[actor]和[director]丁的电影;刘甲乙和[actor]的电影;刘甲乙和[director]丁的电影;[director]乙和张丙丁的电影;[director]乙和[actor]的电影;[director]乙和[director]丁的电影。
在步骤S702中,进行模板选择。
通过本发明上述实施例的技术方案可以得到多个模板文件,但是很多都是不切实际的模板,为了挑选出合适的模板文件,在本发明的一个实施例中,如果候选模板中含有该领域的相关实体名称或者实体名称做差的集合(比如“刘甲乙”与“刘甲”做差就是“乙”,“张丙丁”与“张丙”做差就是“丁”),则过滤掉该模板。比如以上模板中就不能含有“刘甲乙”、“张丙丁”、“刘甲”、“张丙”、“乙”、“丁”,因此通过过滤之后得到的模板文件为:[actor]和[actor]的电影。
本发明上述实施例的技术方案不仅解决了同一实体标签的实***置冲突问题,而且解决了不同实体标签的实***置冲突问题,同时解决了所有可能的全排列问题。同时,本发明上述实施例的技术方案可以方便地挖掘新建领域的模板文件,并且能够提升对老的领域未覆盖的语义支持和模板挖掘,此外还能够召回某个领域的更多语料,增加领域语料的丰富性。
以下介绍本发明的装置实施例,可以用于执行本发明上述实施例中的模板文件的生成方法。对于本发明装置实施例中未披露的细节,请参照本发明上述的模板文件的生成方法的实施例。
图8示意性示出了根据本发明的一个实施例的模板文件的生成装置的框图。
参照图8所示,根据本发明的一个实施例的模板文件的生成装置800,包括:第一检测单元801、确定单元802和生成单元803。
其中,第一检测单元801用于检测语料数据中包含的预设实体名称;确定单元802用于根据实体名称与实体标签之间的对应关系,确定与所述预设实体名称相对应的目标实体标签;生成单元803用于通过所述目标实体标签替换所述语料数据中包含的所述预设实体名称,以生成所述语料数据的模板文件;其中,所述生成单元803还用于在所述语料数据中存在字符重叠的多个预设实体名称时,分别通过所述多个预设实体名称所对应的目标实体标签替换所述语料数据中相应的实体名称,以生成所述语料数据的多个模板文件。
参照图9所示,根据本发明的另一个实施例的模板文件的生成装置900,在具有图8所示的第一检测单元801、确定单元802和生成单元803的基础上,还包括:第二检测单元901和删除单元902。
其中,第二检测单元901用于在所述生成单元803生成所述语料数据的多个模板文件之后,检测所述多个模板文件中是否包含所述预设实体名称中的任意一个,或者是否包含所述预设实体名称中的任意两个实体名称的不重叠部分;
删除单元902用于在所述第二检测单元901检测到任一模板文件中包含所述预设实体名称中的任意一个,或者包含所述预设实体名称中的任意两个实体名称的不重叠部分时,从所述多个模板文件中删除掉所述任一模板文件,以对所述多个模板文件进行过滤。
在本发明的一个实施例中,图8和图9所示的模板文件的生成装置还可以包括:判断单元。该判断单元用于判断所述多个预设实体名称对应的实体标签是否相同;所述生成单元803用于在所述多个预设实体名称对应的实体标签不相同时,分别通过所述多个预设实体名称所对应的目标实体标签替换所述语料数据中相应的实体名称。
在本发明的一个实施例中,基于前述方案,所述生成单元803还用于:在所述多个预设实体名称对应的实体标签相同时,通过所述多个预设实体名称对应的实体标签替换所述多个预设实体名称中字符数量最多的实体名称,以生成所述语料数据的模板文件。
在本发明的一个实施例中,基于前述方案,第一检测单元801用于:检测所述语料数据中包含的预设实体名称在所述语料数据中的位置信息。
在本发明的一个实施例中,基于前述方案,生成单元803用于:通过所述目标实体标签替换所述语料数据中与所述位置信息相对应的字符。
在本发明的一个实施例中,基于前述方案,所述位置信息为所述预设实体名称包含的字符在所述语料数据中按照第一顺序排列的位置信息;所述生成单元803用于:在所述语料数据中包含多个不重叠的预设实体名称时,根据所述多个不重叠的预设实体名称在所述语料数据中按照第二顺序出现的先后次序,依次替换所述多个不重叠的预设实体名称,其中,所述第一顺序与所述第二顺序相反。
在本发明的一个实施例中,基于前述方案,通过AC自动机检测并返回所述语料数据中包含的预设实体名称在所述语料数据中的位置信息,以及与所述预设实体名称相对应的目标实体标签。
在本发明的一个实施例中,基于前述方案,第一检测单元801用于:检测所述语料数据中包含的预设实体名称的字符内容。
在本发明的一个实施例中,基于前述方案,生成单元803用于:通过所述目标实体标签替换所述语料数据中的所述字符内容。
在本发明的一个实施例中,基于前述方案,通过第一AC自动机检测并返回所述语料数据中包含的预设实体名称的字符内容,并通过第二AC自动机确定与所述预设实体名称相对应的目标实体标签。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (12)

1.一种模板文件的生成方法,其特征在于,包括:
检测语料数据中包含的预设实体名称在所述语料数据中的位置信息,所述位置信息为所述预设实体名称包含的字符在所述语料数据中按照第一顺序排列的位置信息,且所述位置信息包括所述预设实体名称包含的字符在所述语料数据中对应的开始位置和结束位置;
根据实体名称与实体标签之间的对应关系,确定与所述预设实体名称相对应的目标实体标签;
通过所述目标实体标签替换所述语料数据中包含的所述预设实体名称,以生成所述语料数据的模板文件;其中,若同一条所述语料数据中存在字符重叠的多个预设实体名称,则分别通过所述多个预设实体名称所对应的目标实体标签替换所述语料数据中相应的实体名称,以生成所述语料数据的多个模板文件;
检测所述多个模板文件中是否包含所述预设实体名称中的任意两个实体名称的不重叠部分;
若检测到任一模板文件中包含所述预设实体名称中的任意两个实体名称的不重叠部分,则从所述多个模板文件中删除所述任一模板文件,以对所述多个模板文件进行过滤;
其中,通过所述目标实体标签替换所述语料数据中包含的所述预设实体名称,以生成所述语料数据的模板文件,包括:若所述语料数据中包含多个不重叠的预设实体名称,则根据所述多个不重叠的预设实体名称在所述语料数据中的位置信息,以及所述多个不重叠的预设实体名称在所述语料数据中按照第二顺序出现的先后次序,依次使用所述多个不重叠的预设实体名称分别对应的目标实体标签,替换掉所述语料数据中对应位置处的字符,其中,所述第一顺序与所述第二顺序相反。
2.根据权利要求1所述的模板文件的生成方法,其特征在于,在生成所述语料数据的多个模板文件之后,还包括:
检测所述多个模板文件中是否包含所述预设实体名称中的任意一个;
若检测到任一模板文件中包含所述预设实体名称中的任意一个,则从所述多个模板文件中删除掉所述任一模板文件,以对所述多个模板文件进行过滤。
3.根据权利要求1所述的模板文件的生成方法,其特征在于,在分别通过所述多个预设实体名称对应的目标实体标签替换所述语料数据中相应的实体名称之前,还包括:
判断所述多个预设实体名称对应的实体标签是否相同;
若所述多个预设实体名称对应的实体标签不相同,则触发分别通过所述多个预设实体名称所对应的目标实体标签替换所述语料数据中相应的实体名称的步骤。
4.根据权利要求3所述的模板文件的生成方法,其特征在于,还包括:
若所述多个预设实体名称对应的实体标签相同,则通过所述多个预设实体名称对应的实体标签替换所述多个预设实体名称中字符数量最多的实体名称,以生成所述语料数据的模板文件。
5.根据权利要求1所述的模板文件的生成方法,其特征在于,通过所述目标实体标签替换所述语料数据中包含的所述预设实体名称,包括:
通过所述目标实体标签替换所述语料数据中与所述位置信息相对应的字符。
6.根据权利要求1所述的模板文件的生成方法,其特征在于,通过AC自动机检测并返回所述语料数据中包含的预设实体名称在所述语料数据中的位置信息,以及与所述预设实体名称相对应的目标实体标签。
7.根据权利要求1所述的模板文件的生成方法,其特征在于,检测语料数据中包含的预设实体名称在所述语料数据中的位置信息,包括:
检测所述语料数据中包含的预设实体名称的字符内容在所述语料数据中的位置信息。
8.根据权利要求7所述的模板文件的生成方法,其特征在于,通过所述目标实体标签替换所述语料数据中包含的所述预设实体名称,包括:
通过所述目标实体标签替换所述语料数据中的所述字符内容。
9.根据权利要求7所述的模板文件的生成方法,其特征在于,通过第一AC自动机检测并返回所述语料数据中包含的预设实体名称的字符内容,并通过第二AC自动机确定与所述预设实体名称相对应的目标实体标签。
10.一种模板文件的生成装置,其特征在于,包括:
第一检测单元,用于检测语料数据中包含的预设实体名称在所述语料数据中的位置信息,所述位置信息为所述预设实体名称包含的字符在所述语料数据中按照第一顺序排列的位置信息,且所述位置信息包括所述预设实体名称包含的字符在所述语料数据中对应的开始位置和结束位置;
确定单元,用于根据实体名称与实体标签之间的对应关系,确定与所述预设实体名称相对应的目标实体标签;
生成单元,用于通过所述目标实体标签替换所述语料数据中包含的所述预设实体名称,以生成所述语料数据的模板文件;
第二检测单元,用于在所述生成单元生成所述语料数据的多个模板文件之后,检测所述多个模板文件中是否包含所述预设实体名称中的任意两个实体名称的不重叠部分;
删除单元,用于在所述第二检测单元检测到任一模板文件中包含所述预设实体名称中的任意两个实体名称的不重叠部分时,从所述多个模板文件中删除掉所述任一模板文件,以对所述多个模板文件进行过滤;
其中,所述生成单元还用于在同一条所述语料数据中存在字符重叠的多个预设实体名称时,分别通过所述多个预设实体名称所对应的目标实体标签替换所述语料数据中相应的实体名称,以生成所述语料数据的多个模板文件;
其中,所述生成单元配置为:若所述语料数据中包含多个不重叠的预设实体名称,则根据所述多个不重叠的预设实体名称在所述语料数据中的位置信息,以及所述多个不重叠的预设实体名称在所述语料数据中按照第二顺序出现的先后次序,依次使用所述多个不重叠的预设实体名称分别对应的目标实体标签,替换掉所述语料数据中对应位置处的字符,其中,所述第一顺序与所述第二顺序相反。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的模板文件的生成方法。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至9中任一项所述的模板文件的生成方法。
CN201810367499.8A 2018-04-23 2018-04-23 模板文件的生成方法、装置、计算机可读介质及电子设备 Active CN110309315B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810367499.8A CN110309315B (zh) 2018-04-23 2018-04-23 模板文件的生成方法、装置、计算机可读介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810367499.8A CN110309315B (zh) 2018-04-23 2018-04-23 模板文件的生成方法、装置、计算机可读介质及电子设备

Publications (2)

Publication Number Publication Date
CN110309315A CN110309315A (zh) 2019-10-08
CN110309315B true CN110309315B (zh) 2024-02-02

Family

ID=68073888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810367499.8A Active CN110309315B (zh) 2018-04-23 2018-04-23 模板文件的生成方法、装置、计算机可读介质及电子设备

Country Status (1)

Country Link
CN (1) CN110309315B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111046667B (zh) * 2019-11-14 2024-02-06 深圳市优必选科技股份有限公司 一种语句识别方法、语句识别装置及智能设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317839A (zh) * 2014-10-10 2015-01-28 北京国双科技有限公司 生成报表模板的方法和装置
CN106910501A (zh) * 2017-02-27 2017-06-30 腾讯科技(深圳)有限公司 文本实体提取方法及装置
CN107577655A (zh) * 2016-07-05 2018-01-12 北京国双科技有限公司 名称获取方法和装置
CN107608960A (zh) * 2017-09-08 2018-01-19 北京奇艺世纪科技有限公司 一种命名实体链接的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317839A (zh) * 2014-10-10 2015-01-28 北京国双科技有限公司 生成报表模板的方法和装置
CN107577655A (zh) * 2016-07-05 2018-01-12 北京国双科技有限公司 名称获取方法和装置
CN106910501A (zh) * 2017-02-27 2017-06-30 腾讯科技(深圳)有限公司 文本实体提取方法及装置
CN107608960A (zh) * 2017-09-08 2018-01-19 北京奇艺世纪科技有限公司 一种命名实体链接的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于云平台的防汛文档智能生成模型构建;姜鹏等;《水利信息化》;20130625(第03期);全文 *

Also Published As

Publication number Publication date
CN110309315A (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
US10936821B2 (en) Testing and training a question-answering system
US10621211B2 (en) Language tag management on international data storage
CN111507086B (zh) 本地化应用程序中翻译文本位置的自动发现
CN109871311B (zh) 一种推荐测试用例的方法和装置
US20190205125A1 (en) Determining provenance of files in source code projects
US11216492B2 (en) Document annotation based on enterprise knowledge graph
KR20190095099A (ko) 거래 시스템 에러 검출 방법, 장치, 저장 매체 및 컴퓨터 장치
CN107592334A (zh) 一种信息推广方法、装置及设备
CN107783766A (zh) 对应用程序的文件进行清理的方法和装置
CN111435367A (zh) 知识图谱的构建方法、***、设备及存储介质
CN115599386A (zh) 代码生成方法、装置、设备及存储介质
WO2022126962A1 (zh) 基于知识图谱的引导教唆语料的检测方法及其相关设备
CN108694172B (zh) 信息输出方法和装置
CN110309315B (zh) 模板文件的生成方法、装置、计算机可读介质及电子设备
AU2022201117B2 (en) Frameworks and methodologies for enabling searching and/or categorisation of digitised information, including clinical report data
CN114065727A (zh) 资讯去重方法、设备及计算机可读介质
US20210049008A1 (en) Identifying implicit dependencies between code artifacts
CN111753548A (zh) 信息获取方法及装置、计算机存储介质、电子设备
CN117539837B (zh) 模型文件的存储方法、装置、电子设备及可读存储介质
US10095781B2 (en) Reuse of documentation components when migrating into a content management system
JP7507564B2 (ja) ローカライズされたアプリケーションにおける翻訳テキストの位置の自動的な発見
CN113946517A (zh) 异常数据确定方法、装置、电子设备及存储介质
Khtira et al. FDDetector: A tool for deduplicating features in software product lines
CN115757996A (zh) 浏览器页面更新方法和装置
CN111444393A (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