CN110162753B - 用于生成文本模板的方法、装置、设备和计算机可读介质 - Google Patents
用于生成文本模板的方法、装置、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN110162753B CN110162753B CN201811324881.7A CN201811324881A CN110162753B CN 110162753 B CN110162753 B CN 110162753B CN 201811324881 A CN201811324881 A CN 201811324881A CN 110162753 B CN110162753 B CN 110162753B
- Authority
- CN
- China
- Prior art keywords
- text template
- corpus
- word
- candidate
- template
- 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/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- 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
- G06F40/295—Named entity recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
公开了一种用于生成文本模板的方法、装置、设备和计算机可读介质。所述方法包括:对于语料库中每个语料,将该语料中的实体名替换为该实体名对应的类别名,以生成初始文本模板;将所述初始文本模板的至少一个单词替换为相似词,以获得候选文本模板;在所述候选文本模板满足第一预设条件的情况下,将所述候选文本模板确定为扩充文本模板;以及利用所述初始文本模板和所述扩充文本模板生成所述文本模板。
Description
技术领域
本公开涉及自然语言处理领域,具体涉及一种用于生成文本模板的方法、装置、设备和计算机可读介质。
背景技术
文本模板是对于自然语言的提炼和抽象,其符合自然语言的规律。文本模板在自然语言处理过程中的应用十分广泛,利用文本模板可以实现如新闻机器人或自动对话系统等功能。例如,利用预设的新闻模板,可以通过将实时信息填入模板快速得到新闻内容。利用预设的对话模板,可以判断用户输入的自然语言是否匹配该模板的格式,并根据判断结果确定用户意图。
因此,可以看出,文本模板的完整和准确是影响自然语言处理系统的准确性的一个指标。
发明内容
为此,本公开提供了一种用于生成文本模板的方法、装置、设备和计算机可读介质。
根据本公开的一个方面,提供了一种用于生成文本模板的方法,包括:对于语料库中每个语料,将该语料中的实体名替换为该实体名对应的类别名,以生成初始文本模板;将所述初始文本模板的至少一个单词替换为相似词,以获得候选文本模板;在所述候选文本模板满足第一预设条件的情况下,将所述候选文本模板确定为扩充文本模板,利用所述初始文本模板和所述扩充文本模板生成所述文本模板。
在一些实施例中,所述方法还包括:将所述文本模板中的类别名替换为实体名,以确定候选语料;在所述候选语料满足第二预设条件的情况下,将所述候选语料确定为扩充语料;以及利用所述扩充语料扩充所述语料库。
在一些实施例中,所述第一预设条件包括:所述候选文本模板的困惑度小于预设的第一困惑度阈值;以及所述第二预设条件包括:所述候选语料的困惑度小于预设的第二困惑度阈值。
在一些实施例中,所述候选文本模板的困惑度是通过根据所述初始文本模板确定的第一语言模型确定的,所述候选语料的困惑度是通过根据所述语料库中的语料确定的第二语言模型确定的。
在一些实施例中,将所述初始文本模板的至少一个单词替换为相似词包括:基于所述初始文本模板中的至少一个单词的词向量确定所述相似词。
在一些实施例中,所述相似词包括该单词的一度相似词和二度相似词,所述一度相似词通过该单词的词向量确定的与该单词最相似的N个单词,其中N是大于等于1的正整数,所述二度相似词是该单词的一度相似词的一度相似词。
在一些实施例中,所述词向量是根据所述第一语言模型或所述第二语言模型确定的。
根据本公开的另一方面,还提供了一种用于生成文本模板的装置,包括:初始文本模板确定单元,配置成对于语料库中每个语料,将该语料中的实体名替换为该实体名对应的类别名,以生成初始文本模板;候选文本模板确定单元,配置成将所述初始文本模板的至少一个单词替换为相似词,以获得候选文本模板;扩充文本模板确定单元,配置成在所述候选文本模板满足第一预设条件的情况下,将所述候选文本模板确定为扩充文本模板;以及文本模板生成单元,配置成利用所述初始文本模板和所述扩充文本模板生成所述文本模板。
在一些实施例中,所述装置还包括:候选语料确定单元,配置成将所述文本模板中的类别名替换为实体名,以确定候选语料;扩充语料确定单元,配置成在所述候选语料满足第二预设条件的情况下,将所述候选语料确定为扩充语料;以及语料库扩充单元,配置成利用所述扩充语料扩充所述语料库。
在一些实施例中,所述第一预设条件包括:所述候选文本模板的困惑度小于预设的第一困惑度阈值;以及所述第二预设条件包括:所述候选语料的困惑度小于预设的第二困惑度阈值。
在一些实施例中,所述候选文本模板的困惑度是通过根据所述初始文本模板确定的第一语言模型确定的,所述候选语料的困惑度是通过根据所述语料库中的语料确定的第二语言模型确定的。
在一些实施例中,所述候选文本模板确定单元还配置成:基于所述初始文本模板中的至少一个单词的词向量确定所述相似词。
在一些实施例中,所述相似词包括该单词的一度相似词和二度相似词,所述一度相似词是通过该单词的词向量确定的与该单词最相似的N个单词,其中N是大于等于1的正整数,所述二度相似词是该单词的一度相似词的一度相似词。
在一些实施例中,所述词向量是根据所述第一语言模型或所述第二语言模型确定的。
根据本公开的另一方面,还提供了一种用于生成文本模板的设备,所述设备包括存储有程序指令的存储器和至少一个处理器,当运行所述程序指令时,所述至少一个处理器配置成执行如前所述的方法。
根据本公开的另一方面,还提供了一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行如前所述的方法。
根据本公开提供的用于生成文本模板的方法、装置、设备和计算机可读介质,可以利用对初始文本模板执行相似词替换操作生成候选文本模板,并根据利用初始文本模板确定的语言模型判断前述候选文本模板的困惑度,从而利用较真实的候选文本模板生成文本模板。因此,利用本公开提供的技术方案,可以用语言模型代替人工审查判断候选模板的真实性,完全基于数据内容生成可用的文本模板。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员而言,在没有做出创造性劳动的前提下,还可以根据这些附图获得其他的附图。以下附图并未刻意按实际尺寸等比例缩放绘制,重点在于示出本公开的主旨。
图1示出了根据本公开的实施例的一种用于生成文本模板的方法的示意性的流程图;
图2示出了根据本公开的实施例的用于生成初始文本模板的流程图;
图3示出了根据本公开的实施例的相似词图谱的示意图;
图4示出了根据本公开的实施例的一种用于扩充语料的方法的示例性的流程图;
图5示出了根据本公开的实施例的一种用于生成文本模板的装置的示意性的框图;
图6示出了根据本公开的实施例的文本模板生成过程的一种示例;以及
图7示出了根据本公开的实施例的一种计算设备的示意性的架构图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,以下举实施例对本公开作进一步详细说明。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在本公开中描述的“语言模型”指的是用于判断一段文字是否属于自然语言的模型。利用语言模型可以衡量一段文本是否“真实”。本公开中所说的“真实”指的是符合人类语言(即自然语言)的语法规范、语义规范等规律。这里所说的自然语言可以是中文、英文、法文等任何一种人类使用的语言。通过语料库中的语料数据可以确定这里所说的语言模型。例如,对于神经网络形式的语言模型,可以通过训练确定模型的内部参数。用真实语料确定的语言模型可以表示真实语料的表达规律。例如,基于统计的语言模型可以以统计概率的方式表示真实语料表达时内在的表达规律。语言模型的输出指标可以包括“困惑度”(perplexity)。本领域技术人员可以在训练语言模型的过程中将语言模型配置成如果其输出的困惑度的值越小,则表示文本越真实。可以理解的是,本领域技术人员也可以以任何其它方式设置困惑度的表示方式,只要其能够表示文本的真实程度即可。例如,可以将语言模型配置成如果其输出的困惑度越大,则表示文本越真实。
此外,在本公开中描述的“实体词典”指的是存储某一类实体的实体名的词典,如“中国省会城市词典”,里面存储了中国的所有省会城市的名字。通过查询实体词典可以确定一个实体名对应的类别。本公开中描述的“相似词词典”指的是存储一系列语义上相似的单词的词典。例如,“赢了”的相似词可以包括“战胜”、“力克”等等。本公开中描述的“语料库”指的是包括多个自然语言文本(如以单词、短语、句子、段落等形式出现的自然语言文本)的数据库。在本公开中,语料库中的自然语言文本可以来自于真实文本,如新闻、小说、聊天内容等,也可以是经过语言模型检验被认为是真实的人造文本。这里所述的“人造文本”指的是计算机通过预设的规则,基于自然语言单词生成的短语、句子或段落。由于人造文本是计算机根据预设的规则生成的,因此,其可能并不符合人类语言的规范。当语言模型检验出一条人造文本的困惑度小于一定的阈值时,可以认为该人造文本是真实的,并将其看作是自然语言文本。
图1示出了根据本公开的实施例的一种用于生成文本模板的方法的示意性的流程图。可以利用下文中描述的用于生成文本模板的装置实现图1中示出的方法100。
如图1所示,在步骤S102中,对于语料库中每个语料,可以将该语料中的实体名替换为该实体名对应的类别名,以生成初始文本模板。其中,语料库中可以包括多个以单词、短语、句子、段落等形式出现的自然语言文本作为语料。
图2示出了根据本公开的实施例的用于生成初始文本模板的流程图。如图2所示,步骤S102可以包括步骤S1022和步骤S1024。在步骤S1022中,对于语料库中每个语料,可以确定该语料中的实体名。即,确定短语、句子、段落等形式的自然语言文本中的实体名。在一些实施例中,可以利用命名实体识别(Named Entities Recognition,NER)识别语料中人名、地名、组织机构名等实体名。例如,可以通过命名实体识别确定语料中实体名的单词边界以及实体名所述的类别。在一种实现方式中,可以根据基于规则和词典的方法识别语料中的实体名。这样的规则和词典可以是人工构造的。在另一种实现方式中,可以根据基于统计的方法识别语料中的实体名。例如,可以利用机器学习的方法(包括但不限于隐马尔科夫模型、较大熵、支持向量机、条件随机场等模型)识别语料中的实体名。通过利用机器学习模型对训练语料所包含的语言信息进行统计和分析,可以从训练语料中挖掘出语言信息的特征,如具体的单词特征、上下文特征、词典及词性特征、停用词特征、核心词特征以及语义特征等。利用上述统计特征,训练好的机器学习模型可以对新的语料进行处理,并识别出其中的实体名。在又一种实现方式中,可以结合上述基于规则和词典的方法和机器学习的方法识别语料中的实体名。
在步骤S1024中,可以将所述实体名替换为对应于所述实体名的类别名,以生成初始文本模板。可以根据实体词典,将在步骤S1022中识别出的实体名替换为该实体名对应的类别名。例如,如果在语料“附近有哪些好吃的日料”中识别出实体名“日料”,并且“日料”出现在一个叫“food_type”的实体词典里,那么,可以将语料“附近有哪些好吃的日料”替换为“附近有哪些好吃的<food_type>”,从而形成其中包括至少一个类别名的文本模板。
可选地,如图2所示,步骤S102还可以包括步骤S1026。在步骤S1026中,可以从步骤S1024得到的结果中选择出现频率较高的结果作为初始文本模板。例如,通过步骤S1022和步骤S1024的处理,语料“附近有哪些好吃的日料”和语料“附近有哪些好吃的火锅”中的“日料”和“火锅”将被替换为相同的类别名“food_type”,因此可以得到相同的模板“附近有哪些好吃的<food_type>”。可以理解的是,出现频率更高,意味着这样的模板更符合人类语言的使用习惯。因此,为了提高模板的准确性,可以从步骤S1024生成的结果中选择出现频率更高的结果作为初始文本模板。例如,可以根据其出现的次数对步骤S1024中生成的多个语料进行排序,并将出现次数高于预定阈值的语料确定为初始文本模板。
在另一些实施例中,步骤S1026是可以省略的。也就是说,可以将步骤S1024中获得的所有结果确定为初始文本模板。
尽管图1、图2中示出了用于确定初始文本模板的示例性的方法,然而,本公开提供的方案中确定初始文本模板的方式不限于此。事实上,可以将通过任何方式确定的文本模板用于作为方法100中涉及的初始文本模板。例如,可以将人工写作的模板作为下文中涉及的初始文本模板。
可以看出,利用步骤S102中的实体名替换操作可以获得用于表示语料库中的语料的简单模板。这样的模板已经可以用于表示语料库中的语料的一些规律。然而,由于语料库中的语料内容是有限的,通过简单地将语料中的实体名替换为类别名的方式只能得到有限的模板。下面将参考图1继续描述文本模板的扩充方法。
如图1所示,在步骤S104中,可以将所述初始文本模板的至少一个单词替换为相似词,以获得候选文本模板。这里所说的候选文本模板即前文中所描述的人造文本。也就是说,候选文本模板不一定符合人类语言的规范。
对于例如英文、法文等自然语言,可以通过空格确定初始文本模板中包括的单词。对于例如中文、日文等不包括空格作为分词依据的自然语言,可以通过建立统计概率模型对初始文本模板进行分词。例如,利用语料库建立的统计概率,可以通过计算各种分词方法对应的联合分布概率确定初始文本模板最大概率对应的分词方法,即为最优分词。通过分词可以确定初始文本模板中构成短语或句子的单个单词。
然后,可以将识别出的初始文本模板中的至少一个单词替换为其相似词。
在一些实施例中,可以根据相似词词典确定初始文本模板中的单词的相似词。
在另一些实施例中,可以基于初始文本模板中的至少一个单词的词向量确定所述相似词。
在自然语言处理的过程中,在计算机中可以利用一个多维的向量代表一个单词。例如,可以利用离散表示或分布式表示的方法表示特定单词的词向量。在分布式表示中,可以将单词表示成一个定长的连续的稠密向量。利用分布式表示的词向量,可以在词与词之间定义“距离”的概念,从而表示词与词之间的相似程度。在一种实现方式中,可以利用语言模型将单词映射成词向量。本公开中使用的语言模型可以是统计语言模型(如n-gram语言模型)或神经网络语言模型(如NNLM模型、C&W模型、RNNLM模型、CBOW模型、Skip-gram模型等)。利用步骤S102中确定的初始文本模板可以训练用于文本模板的第一语言模型。利用语料库中的语料可以训练用于语料的第二语言模型。
在一些实现方式中,可以通过根据所述初始文本模板确定的第一语言模型确定所述至少一个单词的词向量。在另一些方式中,可以通过根据语料库中的语料确定的第二语言模型确定所述至少一个单词的词向量。
确定单词的词向量后,可以通过计算两个单词的词向量之间的距离确定两个单词之间的相似度。在一些实施例中,可以根据预设的相似度阈值判断两个单词是否是相似词。例如,对于单词A来说,可以将与其相似度大于上述预设的相似度阈值的单词确定为单词A的相似词。在另一些实施例中,可以将与单词A距离最近的N个单词确定为A的相似词,其中N是预先设置的整数。通过对上述语言模型确定的词向量进行相似度分析,可以确定如图3所示的相似词图谱。利用上述方法确定的相似词图谱中的相似词不仅可以表示在语义上相似的两个单词,也可以表示在语境上相似的两个单词。
如图3所示,通过上述方法可以确定一个相似词图谱。在该图谱中,可以用单词构成节点,并利用节点之间的有向线表示单词之间的相似关系。此外,在图3中示出的相似词图谱中,对于某个节点上的单词,与其直接连接的节点可以被称作是该单词的一度相似词。通过两条有向线确定的节点可以被称作是该单词的二度相似词。也就是说,一个单词的二度相似词是该单词的一度相似词的一度相似词。通过挖掘该单词的一度相似词、二度相似词甚至更远的相似词,可以得到关于该单词的相似词集合。例如,在图3中,“打开”是“启动”的一度相似词,“播放”是“启动”的二度相似词,虽然“播放”并不是“启动”一度相似词(即最相似的词),但通过挖掘二度相似词,可以挖掘出“启动”和“播放”的相似性。通过相同的方法,可以挖掘出该单词与三度相似词甚至更远的相似词之间的相似性。
如图3所示,有一条有向线从节点“播放”指向节点“打开”,这代表“播放”是“打开”的一度相似词,但这条线并不从“打开”指向“播放”,这代表“打开”并不是“播放”的一度相似词。可以通过预设的整数N确定一个单词的一度相似词的数量。也就是说,如果一度相似词被定义为与单词最相似的N个单词,那么两个单词将不一定互为一度相似词。例如,当“播放”属于“打开”最相似的N个单词,而“打开”不属于“播放”最相似的N个单词时,将出现图3中示出的结果。而在“打开”和“关闭”之间的有向线是双向的,这代表“打开”和“关闭”互为一度相似词。
可以看出,在图3中示出的相似词图谱中,“打开”和“播放”之间存在语义上的相似,而“打开”和“关闭”并不存在语义上的相似,而是存在语境上的相似。也就是说,“打开”和“关闭”在上下文中可以起到相似的作用。例如,“打开电视”和“关闭电视”都是符合自然语言规范的短语。因此,在这样的情况下,将“打开”和“关闭”当作是相似词是合理的。
尽管在上述描述中以计算词向量之间的距离为例解释了相似词图谱的构成方法,然而,本公开的范围不限于此。事实上,可以使用任何其他能够确定相似词的方法生成图3中示出的相似词图谱。
因此,回到图1,在将识别出的初始文本模板中的至少一个单词替换为其相似词时,可以利用该单词的一度相似词或二度相似词进行替换。相对于仅利用与该单词最相似的一度相似词替换以生成候选文本模板,使用更远的相似词可以生成更多的候选文本模板。例如,“有什么”和“哪些”是相似词,因此,模板“有什么好吃的<food_type>”可以被替换成“哪些好吃的<food_type>”。类似地,基于初始文本模板“搜索附近的<restaurant>”(其中<restaurant>是用于表示餐馆名称的类别名)可以得到候选文本模板“寻找附近的<restaurant>”、“搜索最近的<restaurant>”、“搜索旁边的<restaurant>”等。基于初始模板“<city><region>评价高的<entertainment>”(其中“<city>是用于表示城市名的类别名”,<region>是用于表示区域的类别名,<entertainment>是用于表示娱乐项目的类别名)可以得到候选文本模板“<city><region>受欢迎的<entertainment>”、“<city><region>评价好的<entertainment>”等。
可以理解的是,通过对初始文本模板中的单词执行相似词替换并不一定可以获得符合语言规范的文本模板。例如,“寻找好吃的<city>”显然是一个不真实的文本模板。因此,需要通过检验候选文本模板的真实性对候选文本模板进行筛选。
继续参考图1,方法100还可以包括步骤S106。在步骤S106中,可以在所述候选文本模板满足第一预设条件的情况下,将所述候选文本模板确定为扩充文本模板。例如,第一预设条件可以包括:候选文本模板的困惑度小于预设的第一困惑度阈值。如前所述,可以利用语言模型检验候选文本模板的真实性,并用语言模型输出的困惑度值判断被检验的候选文本模板是否真实。如前所述,可以利用步骤S102或步骤S1024中生成的初始文本模板训练第一语言模型。由于初始文本模板是通过将真实的语料中的实体名替换为类别名生成的,因此,初始文本模板可以被认为是真实的。因此,以步骤S102或步骤S1024中生成的初始文本模板作为标准而训练得到的语言模型可以检验步骤S104中确定的候选文本模板的困惑度。困惑度小于预设的第一困惑度阈值的候选文本模板可以被认为是真实的,并可以将被判断为真实的候选文本模板确定为扩充文本模板。
方法100还可以包括步骤S108。在步骤S108中,可以利用所述初始文本模板和所述扩充文本模板生成所述文本模板。如前所述,通过步骤S102至S106,可以基于语料库中的语料确定真实的初始文本模板和经过真实性检验的扩充文本模板。因此,可以将通过步骤S102确定的初始文本模板和步骤S106确定的扩充文本模板确定为用于该语料库的文本模板。
利用图1中示出的用于生成文本模板的方法,可以将上文中描述的初始文本模板和扩充文本模板作为用于语料库的文本模板。通过对初始模板进行相似词替换并利用初始模板训练的语言模型执行文本模板的真实性的检验,可以用语言模型代替人工审查判断候选文本模板的真实性,实现完全由数据驱动的文本模板生成过程,提高模板生成的效率,并可以实现文本模板的扩充。利用本公开提供的方法可以实现对语料库中的大量数据的迅速处理,并通过语料库中的数据提取语言规律,从而生成适用的文本模板。
图4示出了根据本公开的实施例的一种用于扩充语料的方法的示例性的流程图。如前所述,利用图1中示出的方法,可以生成用于语料库的文本模板。为了增加语料库中的语料数量,从而实现更好的模板生成和模型训练的效果,可以利用方法100中生成的文本模板生成新的语料,并可以将生成的新语料用于扩充前述的语料库。
如图4所示,在步骤S402中,可以将文本模板中的类别名替换为实体名,以确定候选语料。在一些实施例中,可以根据实体词典中存储的实体词替换文本模板中的类别名。例如,可以将模板“搜索附近的<restaurant>”进行实体词填充,并得到“搜索附近的川菜馆”作为候选语料。
可以理解的是,通过将文本模板中的类别名替换为实体名得到的候选语料可能不是真实的(即符合人类语言规范的)文本,因此,在步骤S404中,可以在候选语料满足第二预设条件的情况下,将候选语料确定为扩充语料。例如,第二预设条件可以包括:候选语料的困惑度小于预设的第二困惑度阈值。可以通过利用语料库中的真实语料训练得到的第二语言模型确定候选语料的真实性。例如,可以利用第二语言模型输出候选语料的困惑度,并将困惑度小于预设的第二困惑度阈值的候选语料确定为扩充语料。在步骤S406中可以将扩充语料加入语料库,实现语料数据量的扩充。
利用如图1-图4中示出的方法可以生成用于语料库的文本模板并对语料库和文本模板进行扩充,从而基于有限的语料库生成更多、更准确的文本模板。上述生成的文本模板的应用十分广泛,例如,在智能问答、医疗助手、新闻机器人、智能音箱等基于文本模板而运行的应用中。根据使用场景,利用该场景下的原始语料数据以及对应领域的实体词典,即可以利用本公开提供的原理确定用于该场景下的文本模板。
例如,以新闻机器人为例,可以利用文本模板快速生成新闻。对于同一领域的新闻,其标题往往具有高度的相似性。如在体育比赛领域,其新闻标题可以被归纳为“<name1><score><beat><name2>”的形式。其中<name1>、<name2>分别代表比赛双方的名字,<score>是实际比分,<beat>是“战胜”及其相似说法。根据这样的模板,可以在比赛结束后根据实时信息填充上述新闻模板,并快速得到新闻标题。利用类似的方法,也可以生成新闻正文的内容。
又例如,以智能问答为例,可以利用文本模板对用户的意图进行识别。例如,可以利用模板“<tell><popular><restaurant>”判断用户输入的意图,其中<tell>表示“说”的相似说法,如:推荐、列举、说个,<popular>表示好评的相似说法,而<restaurant>表示餐厅实体的实体名。此时,如果用户输入“推荐最好吃的火锅店”、“说个评价高的西餐厅”、“列举受好评的日料店”等,则可以判断用户的输入与上述模板“<tell><popular><restaurant>”是匹配的,说明此时用户的意图是餐饮意图。识别出的用户意图,可以用于生成满足用户意图的答复。
图5示出了根据本公开的一种用于生成文本模板的装置的示意性的框图。利用图5中示出的装置可以实现图1-图4中示出的方法。
如图5所示,装置500可以包括初始文本模板确定单元510、候选文本模板确定单元520、扩充文本模板确定单元530以及文本模板生成单元540。
初始文本模板确定单元510可以配置成对于语料库中的每个语料,可以将该语料中的实体名替换为该实体名对应的类别名,以生成初始文本模板。在一些实施例中,所述初始文本模板确定单元510可以配置成对于语料库中每个语料,可以确定该语料中的实体名。在一些实施例中,可以利用命名实体识别(Named Entities Recognition,NER)识别语料中人名、地名、组织机构名等实体名。例如,可以通过命名实体识别确定语料中实体名的单词边界以及实体名所述的类别。在一种实现方式中,可以根据基于规则和词典的方法识别语料中的实体名。这样的规则和词典可以是人工构造的。在另一种实现方式中,可以根据基于统计的方法识别语料中的实体名。例如,可以利用机器学习的方法(包括但不限于隐马尔科夫模型、较大熵、支持向量机、条件随机场等模型)识别语料中的实体名。在又一种实现方式中,可以结合上述基于规则和词典的方法和机器学习的方法识别语料中的实体名。
进一步的,所述初始文本模板确定单元510还可以配置成将所述实体名替换为对应于所述实体名的类别名。例如,可以根据实体词典,将在步骤S1022中识别出的实体名替换为该实体名对应的类别名。
可选地,所述初始文本模板确定单元510还可以配置成从将实体名替换为该实体名对应的类别名生成的结果中选择出现频率较高的结果作为初始文本模板。在一些实施例中,该步骤是可以省略的。也就是说,可以将通过将实体名替换为该实体名对应的类别名生成的所有结果确定为初始文本模板。
本公开提供的方案中确定初始文本模板的方式不限于此。事实上,可以将通过任何方式确定的文本模板用于本公开中涉及的初始文本模板。例如,可以将人工写作的模板作为本公开中涉及的初始文本模板。
候选文本模板确定单元520可以配置成将所述初始文本模板的至少一个单词替换为相似词,以获得候选文本模板。这里所说的候选文本模板即前文中所描述的人造文本。也就是说,候选文本模板不一定符合人类语言的规范。
对于例如英文、法文等自然语言,可以通过空格确定初始文本模板中包括的单词。对于例如中文、日文等不包括空格作为分词依据的自然语言,可以通过建立统计概率模型对初始文本模板进行分词。例如,利用语料库建立的统计概率,可以通过计算各种分词方法对应的联合分布概率确定初始文本模板最大概率对应的分词方法,即为最优分词。通过分词可以确定初始文本模板中构成短语或句子的单个单词。
然后,可以将识别出的初始文本模板中的至少一个单词替换为其相似词。
在一些实施例中,可以根据相似词词典确定初始文本模板中的单词的相似词。
在另一些实施例中,可以基于初始文本模板中的至少一个单词的词向量确定所述相似词。
在一些实现方式中,可以通过根据所述初始文本模板确定的第一语言模型确定所述至少一个单词的词向量。在另一些方式中,可以通过根据语料库中的语料确定的第二语言模型确定所述至少一个单词的词向量。
确定单词的词向量后,可以通过计算两个单词的词向量之间的距离确定两个单词之间的相似度。可以根据确定单词之间的相似度生成图3中示出的相似词图谱,并根据该相似词图谱替换初始文本模板中的至少一个单词。例如,可以将初始文本模板中的至少一个单词替换为其一度相似词、二度相似词或更远的相似词。
由于通过对初始文本模板中的单词执行相似词替换并不一定可以获得符合语言规范的文本模板。因此,需要通过检验候选文本模板的真实性对候选文本模板进行筛选。
扩充文本模板确定单元530可以配置成在所述候选文本模板满足第一预设条件的情况下,将所述候选文本模板确定为扩充文本模板。例如,可以第一预设条件可以包括:候选文本模板的困惑度小于预设的第一困惑度阈值。如前所述,可以利用初始文本模板确定单元510确定的初始模板训练的第一语言模型检验候选文本模板的真实性。例如,当第一语言模型输出的困惑度小于预设的第一困惑度阈值时,该候选文本模板可以被认为是真实的。如果判断被检验的候选文本模板是真实的,则可以将该候选文本模板确定为扩充文本模板。也就是说,被检验为真实的候选文本模板将被确定为用于该语料库的文本模板。
文本模板生成单元540可以配置成利用所述初始文本模板和所述扩充文本模板生成所述文本模板。如前所述,通过初始文本模板确定单元510和扩充文本模板确定单元530,可以基于语料库中的语料确定真实的初始文本模板和经过真实性检验的扩充文本模板。因此,可以将初始文本模板确定单元510确定的初始文本模板和扩充文本模板确定单元530确定的扩充文本模板确定为用于该语料库的文本模板。
利用图5中示出的用于生成文本模板的装置,可以将上文中描述的初始文本模板和扩充文本模板作为用于语料库的文本模板。通过对初始模板进行相似词替换并利用初始模板训练的语言模型执行文本真实性的检验,可以用语言模型代替人工审查判断候选文本模板的真实性,实现完全由数据驱动的文本模板生成过程,提高模板生成的效率,并可以实现文本模板的扩充。利用本公开提供的装置可以实现对语料库中的大量数据的迅速处理,并通过语料库中的数据提取语言规律,从而生成适用的文本模板。
利用图5中示出的装置,可以生成用于语料库的文本模板。为了增加语料库中的语料数量,从而实现更好的模板生成和模型训练的效果,可以利用装置500生成的文本模板生成新的语料,并可以将生成的新语料用于扩充前述的语料库。
如图5所示,装置500还可以包括候选语料确定单元550、扩充语料确定单元560以及语料库扩充单元570。
候选语料确定单元550可以配置成将文本模板中的类别名替换为实体名,以确定候选语料。可以理解的是,通过将文本模板中的类别名替换为实体名得到的候选语料可能不是真实的(即符合人类语言规范的)文本,因此,可以通过利用语料库中的真实语料训练得到的第二语言模型确定候选语料的真实性。
扩充语料确定单元560可以配置成在候选语料满足第二预设条件的情况下,将候选语料确定为扩充语料。第二预设条件可以包括:候选语料的困惑度小于预设的第二困惑度阈值。例如,扩充语料确定单元560可以利用前述第二语言模型输出候选语料的困惑度,并将困惑度小于预设的第二困惑度阈值的候选语料确定为扩充语料。
语料库扩充单元570可以配置成将扩充语料加入语料库,实现语料数据量的扩充。
因此,利用如图5中示出的装置可以生成用于语料库的文本模板并对语料库和文本模板进行扩充,从而基于有限的语料库生成更多、更准确的文本模板。
图6示出了根据本公开的实施例的文本模板生成过程的一种示例。在图6中,方形框表示文本模板生成过程中使用的数据,包括但不限于语料数据、实体词典、文本模板、语言模型、相似词图谱。菱形框表示对数据执行的处理步骤。
如图6所示,在步骤S602中,对于语料库601中包括的每个语料,可以将该语料中的实体名替换为该实体名对应的类别名。可以根据实体词典603执行步骤602,并确定初始文本模板604。例如,根据语料“附近有哪些好吃的日料”可以得到初始文本模板“附近有哪些好吃的<food_type>”,其中初始文本模板“附近有哪些好吃的<food_type>”包括对应于实体名“日料”的类别名“<food_type>”。在步骤S605中,可以对初始文本模板604按照出现频率进行排序,并确定出现频率较高的高频初始模板606。
另一方面,可以在步骤S607中对初始文本模板604进行训练,并确定第一语言模型608。利用第一语言模型608,可以在步骤S609中确定至少一个单词的词向量。如前所述,通过语言模型提取的词向量可以用于确定两个单词之间的相似度。因此,如图6所示,利用步骤S609中确定的词向量可以生成相似词图谱610,例如如图3所示的相似词图谱。利用相似词图谱601,可以在步骤S611中对高频初始模板606中的至少一个单词替换为其相似词(如一度相似词或二度相似词),并得到候选文本模板612。
如前所述,候选文本模板612可能是真实的,也可能是不真实的,因此,如图6所示,可以利用第一语言模型608对候选文本模板612进行筛选。例如,利用第一语言模型608可以确定候选文本模板612的困惑度,并可以将困惑度小于预设的第一困惑度阈值的候选文本模板确定为是真实的,从而可以将被判断为真实的候选文本模板确定为扩充文本模板612。如前文所述,扩充文本模板可以用于实现将用户输入的自然语言和文本模板之间的匹配,从而根据匹配结果确定用户意图。
利用扩充模板612,可以在步骤S613中利用实体词典603对扩充模板执行实体名填充的操作。即,根据实体词典,将扩充文本模板中的类别名替换成实体名,从而得到候选语料614。如前所述,候选语料614可能是真实的,也可能是不真实的,因此,需要在步骤S617中对候选语料614进行筛选。
利用语料库610中的语料数据,可以在步骤S615中对语料库数据进行训练,并得到第二语言模型616。利用第二语言模型616,可以在步骤S617中确定候选语料的困惑度,并将困惑度小于预设的第二困惑度阈值的候选语料确定为扩充语料,从而实现对语料库的扩充。
利用如图6中示出的文本模板生成过程可以生成用于语料库的文本模板并对语料库和文本模板进行扩充,从而基于有限的语料库生成更多、更准确的文本模板。
此外,根据本公开实施例的方法或装置也可以借助于图7所示的计算设备的架构来实现。图7示出了该计算设备的架构。如图7所示,计算设备700可以包括总线710、一个或多个CPU 720、只读存储器(ROM)730、随机存取存储器(RAM)740、连接到网络的通信端口750、输入/输出组件760、硬盘770等。计算设备700中的存储设备,例如ROM 730或硬盘770可以存储本公开提供的图像处理方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。计算设备700还可以包括用户界面780。当然,图7所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图7示出的计算设备中的一个或多个组件。
本公开的实施例也可以被实现为计算机可读存储介质。根据本公开实施例的计算机可读存储介质上存储有计算机可读指令。当所述计算机可读指令由处理器运行时,可以执行参照以上附图描述的根据本公开实施例的方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
此外,如本公开和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。所述单元仅是说明性的,并且所述系统和方法的不同方面可以使用不同单元。
此外,本公开中使用了流程图用来说明根据本公开的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
上面是对本发明的说明,而不应被认为是对其的限制。尽管描述了本发明的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本发明的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本发明范围内。应当理解,上面是对本发明的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本发明由权利要求书及其等效物限定。
Claims (12)
1.一种用于生成文本模板的方法,包括:
对于语料库中每个语料,将该语料中的实体名替换为该实体名对应的类别名,以生成初始文本模板;
将所述初始文本模板的至少一个单词替换为相似词,以获得候选文本模板;
在所述候选文本模板满足第一预设条件的情况下,将所述候选文本模板确定为扩充文本模板;以及
利用所述初始文本模板和所述扩充文本模板生成所述文本模板,
所述方法还包括:
将所述文本模板中的类别名替换为实体名,以确定候选语料;
在所述候选语料满足第二预设条件的情况下,将所述候选语料确定为扩充语料;以及
将所述扩充语料加入所述语料库。
2.根据权利要求1所述的方法,其中,
所述第一预设条件包括:所述候选文本模板的困惑度小于预设的第一困惑度阈值;以及
所述第二预设条件包括:所述候选语料的困惑度小于预设的第二困惑度阈值。
3.根据权利要求2所述的方法,其中所述候选文本模板的困惑度是通过根据所述初始文本模板确定的第一语言模型确定的,所述候选语料的困惑度是通过根据所述语料库中的语料确定的第二语言模型确定的。
4.根据权利要求3所述的方法,其中,将所述初始文本模板的至少一个单词替换为相似词包括:
基于所述初始文本模板中的至少一个单词的词向量确定所述相似词。
5.根据权利要求4所述的方法,其中所述相似词包括该单词的一度相似词和二度相似词,所述一度相似词是通过该单词的词向量确定的与该单词最相似的N个单词,其中N是大于等于1的正整数,所述二度相似词是该单词的一度相似词的一度相似词。
6.根据权利要求4或5所述的方法,其中所述词向量是根据所述第一语言模型或所述第二语言模型确定的。
7.一种用于生成文本模板的装置,包括:
初始文本模板确定单元,配置成对于语料库中每个语料,将该语料中的实体名替换为该实体名对应的类别名,以生成初始文本模板;
候选文本模板确定单元,配置成将所述初始文本模板的至少一个单词替换为相似词,以获得候选文本模板;
扩充文本模板确定单元,配置成在所述候选文本模板满足第一预设条件的情况下,将所述候选文本模板确定为扩充文本模板;以及
文本模板生成单元,配置成利用所述初始文本模板和所述扩充文本模板生成所述文本模板,
所述装置还包括:
候选语料确定单元,配置成将所述文本模板中的类别名替换为实体名,以确定候选语料;
扩充语料确定单元,配置成在所述候选语料满足第二预设条件的情况下,将所述候选语料确定为扩充语料;以及
语料库扩充单元,配置成利用所述扩充语料扩充所述语料库。
8.根据权利要求7所述的装置,其中,
所述第一预设条件包括:所述候选文本模板的困惑度小于预设的第一困惑度阈值;以及
所述第二预设条件包括:所述候选语料的困惑度小于预设的第二困惑度阈值。
9.根据权利要求8所述的装置,其中所述候选文本模板的困惑度是通过根据所述初始文本模板确定的第一语言模型确定的,所述候选语料的困惑度是通过根据所述语料库中的语料确定的第二语言模型确定的。
10.根据权利要求9所述的装置,其中,所述候选文本模板确定单元还配置成:
基于所述初始文本模板中的至少一个单词的词向量确定所述相似词。
11.一种用于生成文本模板的设备,所述设备包括存储有程序指令的存储器和至少一个处理器,当运行所述程序指令时,所述至少一个处理器配置成执行根据权利要求1-6之一所述的方法。
12.一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行根据权利要求1-6之一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811324881.7A CN110162753B (zh) | 2018-11-08 | 2018-11-08 | 用于生成文本模板的方法、装置、设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811324881.7A CN110162753B (zh) | 2018-11-08 | 2018-11-08 | 用于生成文本模板的方法、装置、设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110162753A CN110162753A (zh) | 2019-08-23 |
CN110162753B true CN110162753B (zh) | 2022-12-13 |
Family
ID=67645197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811324881.7A Active CN110162753B (zh) | 2018-11-08 | 2018-11-08 | 用于生成文本模板的方法、装置、设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110162753B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110728151B (zh) * | 2019-10-23 | 2024-03-12 | 深圳报业集团 | 基于视觉特征的信息深度处理方法及系统 |
CN110866391A (zh) * | 2019-11-15 | 2020-03-06 | 腾讯科技(深圳)有限公司 | 标题生成方法、装置、计算机可读存储介质和计算机设备 |
CN111401032B (zh) * | 2020-03-09 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 文本处理方法、装置、计算机设备和存储介质 |
CN113449511B (zh) * | 2020-03-24 | 2023-06-09 | 百度在线网络技术(北京)有限公司 | 文本处理的方法、装置、设备和存储介质 |
CN111583915B (zh) * | 2020-04-07 | 2023-08-25 | 苏宁云计算有限公司 | n-gram语言模型的优化方法、装置、计算机设备和存储介质 |
CN113392647B (zh) * | 2020-11-25 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种语料生成的方法、相关装置、计算机设备及存储介质 |
CN112885352A (zh) * | 2021-01-26 | 2021-06-01 | 广东电网有限责任公司 | 一种语料库的构建方法、装置、计算机设备及存储介质 |
CN114881035B (zh) * | 2022-05-13 | 2023-07-25 | 平安科技(深圳)有限公司 | 训练数据的增广方法、装置、设备和存储介质 |
CN116205234A (zh) * | 2023-04-24 | 2023-06-02 | 中国电子科技集团公司第二十八研究所 | 一种基于深度学习的文本识别和生成算法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452446A (zh) * | 2007-12-07 | 2009-06-10 | 株式会社东芝 | 目标语言单词变形的方法及装置 |
CN101470700A (zh) * | 2007-12-28 | 2009-07-01 | 日电(中国)有限公司 | 文本模板生成器、文本生成设备、文本检验设备及其方法 |
CN102982125A (zh) * | 2012-11-14 | 2013-03-20 | 百度在线网络技术(北京)有限公司 | 一种用于确定同义文本的方法和装置 |
CN108280061A (zh) * | 2018-01-17 | 2018-07-13 | 北京百度网讯科技有限公司 | 基于歧义实体词的文本处理方法和装置 |
CN108363716A (zh) * | 2017-12-28 | 2018-08-03 | 广州索答信息科技有限公司 | 领域信息分类模型生成方法、分类方法、设备及存储介质 |
CN108628906A (zh) * | 2017-03-24 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 短文本模板挖掘方法、装置、电子设备和可读存储介质 |
-
2018
- 2018-11-08 CN CN201811324881.7A patent/CN110162753B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452446A (zh) * | 2007-12-07 | 2009-06-10 | 株式会社东芝 | 目标语言单词变形的方法及装置 |
CN101470700A (zh) * | 2007-12-28 | 2009-07-01 | 日电(中国)有限公司 | 文本模板生成器、文本生成设备、文本检验设备及其方法 |
CN102982125A (zh) * | 2012-11-14 | 2013-03-20 | 百度在线网络技术(北京)有限公司 | 一种用于确定同义文本的方法和装置 |
CN108628906A (zh) * | 2017-03-24 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 短文本模板挖掘方法、装置、电子设备和可读存储介质 |
CN108363716A (zh) * | 2017-12-28 | 2018-08-03 | 广州索答信息科技有限公司 | 领域信息分类模型生成方法、分类方法、设备及存储介质 |
CN108280061A (zh) * | 2018-01-17 | 2018-07-13 | 北京百度网讯科技有限公司 | 基于歧义实体词的文本处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110162753A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162753B (zh) | 用于生成文本模板的方法、装置、设备和计算机可读介质 | |
CN108287858B (zh) | 自然语言的语义提取方法及装置 | |
US10997370B2 (en) | Hybrid classifier for assigning natural language processing (NLP) inputs to domains in real-time | |
US11017178B2 (en) | Methods, devices, and systems for constructing intelligent knowledge base | |
CN106776544B (zh) | 人物关系识别方法及装置和分词方法 | |
CN108304375B (zh) | 一种信息识别方法及其设备、存储介质、终端 | |
US20170169008A1 (en) | Method and electronic device for sentiment classification | |
CN108228576B (zh) | 文本翻译方法及装置 | |
CN109542247B (zh) | 句式推荐方法及装置、电子设备、存储介质 | |
CN111274367A (zh) | 语意分析方法、语意分析系统及非暂态计算机可读取媒体 | |
CN110737768A (zh) | 基于深度学习的文本摘要自动生成方法及装置、存储介质 | |
CN109241525B (zh) | 关键词的提取方法、装置和系统 | |
CN108304377B (zh) | 一种长尾词的提取方法及相关装置 | |
CN111078842A (zh) | 查询结果的确定方法、装置、服务器及存储介质 | |
CN112860896A (zh) | 语料泛化方法及用于工业领域的人机对话情感分析方法 | |
JP4534666B2 (ja) | テキスト文検索装置及びテキスト文検索プログラム | |
US10650195B2 (en) | Translated-clause generating method, translated-clause generating apparatus, and recording medium | |
CN113850080A (zh) | 一种押韵词推荐方法、装置、设备及存储介质 | |
CN115795030A (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN113919424A (zh) | 文本处理模型的训练、文本处理方法、装置、设备和介质 | |
CN109472032A (zh) | 一种实体关系图的确定方法、装置、服务器及存储介质 | |
CN107665222B (zh) | 关键词的拓展方法和装置 | |
CN112527967A (zh) | 文本匹配方法、装置、终端和存储介质 | |
CN116842160A (zh) | 一种专利检索式生成方法、系统、设备及介质 | |
WO2018171499A1 (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 |