CN111191439A - 自然语句生成的方法、装置、计算机设备和存储介质 - Google Patents
自然语句生成的方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111191439A CN111191439A CN201911292595.1A CN201911292595A CN111191439A CN 111191439 A CN111191439 A CN 111191439A CN 201911292595 A CN201911292595 A CN 201911292595A CN 111191439 A CN111191439 A CN 111191439A
- Authority
- CN
- China
- Prior art keywords
- sentence
- natural
- slot position
- slot
- natural sentence
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000012549 training Methods 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 20
- 238000003062 neural network model Methods 0.000 claims description 18
- 230000011218 segmentation Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 230000014509 gene expression Effects 0.000 claims description 9
- 230000036651 mood Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 abstract description 4
- 238000013528 artificial neural network Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 9
- 230000000306 recurrent effect Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 210000004027 cell Anatomy 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003925 brain function Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及一种自然语句生成的方法、装置、计算机设备和存储介质。所述方法包括:获取语料模板,并确定所述语料模板中的槽位,所述槽位包括槽位属性;向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句;对所述第一自然语句进行续写处理,以获第二自然语句。采用本方法可以通过自动生成自然语言的方式,可以免除为了获得符合需求的语料而花费较高的获取成本的问题,也减少了人工标注语料再进行筛选时所耗费的人力和时间成本。
Description
技术领域
本申请涉及自然语言处理技术领域,特别是涉及一种自然语句生成的方法、装置、计算机设备和存储介质。
背景技术
随着人们对计算机科学、人工智能、语言学、以及计算机和人类(自然)语言之间的相互作用这一领域的关注,自然语言处理的技术有了长足的发展,出现了通过对自然语言进行分析,确定该自然语言的含义的技术,这个技术需要大量的语料,和合理的训练模型。
现有的语料是通过人工标注费时费力,市场上也有众多公司或个人提供语料标注的服务。获取特定任务的自然语言语料或者需要人工处理大量的数据,或者需要从类似公司或个人购买,都有较高的获取成本。现有的提供语料的方式,存在效率低下或安全性低或浪费资源等问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够按照需求大量生成语料的一种自然语句生成的方法、装置、计算机设备和存储介质。
一种自然语句生成的方法,所述方法包括:
获取语料模板,并确定所述语料模板中的槽位,所述槽位包括槽位属性;
向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句;
对所述第一自然语句进行续写处理,以获第二自然语句。
在其中一个实施例中,所述确定语料模板中的槽位,包括:
对所述语料模板进行正则表达识别槽位,并得到每个槽位的槽位属性。
在其中一个实施例中,所述向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句,包括:
获取每个所述槽位属性所关联的词语库;
从所述词语库中选择词语填充至所述语料模板相应槽位属性对应的所述槽位中,得到第一自然语言。
在其中一个实施例中,所述对所述第一自然语句进行续写处理,以获第二自然语句,包括:
将第一自然语句输入训练好的语句续写模型,以获得第二自然语句。
在其中一个实施例中,所述将第一自然语句输入训练好的语句续写模型,以获得第二自然语句之前,还包括:
搭建一神经网络模型,所述神经网络模型的损失函数通过交叉熵确定;
构建训练文本,所述训练文本包括输入数据与输出数据,所述输出数据为所述输入数据的顺移一位的映像,所述训练文本为字符串;
使用所述训练文本对所述神经网络模型进行训练,得到语句续写模型。
在其中一个实施例中,所述将第一自然语句输入训练好的语句续写模型,以获得第二自然语句,包括:
确定所述第二自然语句的最大字数;
将所述第一自然语句输入训练好的语句续写模型,输出接于所述第一自然语句的续写语句;
所述第一自然语句以及续写语句构成第二自然语句,当所述第二自然语句的文字数量达到所述最大字数时,输出所述第二自然语句。
在其中一个实施例中,还包括:
对所述第一自然语句和/或第二自然语句进行分词处理,并在分词间隙插入语气词。
一种自然语句生成的装置,所述装置包括:
槽位确定模块,用于获取语料模板,并确定所述语料模板中的槽位,所述槽位包括槽位属性;
第一自然语句获得模块,用于向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句;
第二自然语句获得模块,用于对所述第一自然语句进行续写处理,以获第二自然语句。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取语料模板,并确定所述语料模板中的槽位,所述槽位包括槽位属性;
向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句;
对所述第一自然语句进行续写处理,以获第二自然语句。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取语料模板,并确定所述语料模板中的槽位,所述槽位包括槽位属性;
向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句;
对所述第一自然语句进行续写处理,以获第二自然语句。
上述一种自然语句生成的方法、装置、计算机设备和存储介质,通过确定语料模板中的槽位来确定使用者所需要的自然语言(语料)的构成结构,确定构成结构后,向语料模板中的槽位填充符合槽位属性的词语,以获得第一自然语句,此时已经可以获得使用者所需要的基本的自然语言(语料),为了更加丰富自然语言的内容,丰富作为训练素材的自然的可能性,对第一自然语句进行续写处理,以获第二自然语句。通过自动生成自然语言的方式,可以免除为了获得符合需求的语料而花费较高的获取成本的问题,也减少了人工标注语料再进行筛选所耗费的人力和时间成本。
附图说明
图1为一个实施例中一种自然语句生成的方法的应用环境图;
图2为一个实施例中一种自然语句生成的方法的流程示意图;
图3为一个实施例中一种确定语料模板中的槽位的方法的流程示意图;
图4为一个实施例中一种获得第一自然语句的方法的流程示意图;
图5为一个实施例中一种获第二自然语句的方法的流程示意图;
图6为一个实施例中一种标准神经网络结构;
图7为一个实施例中一种循环神经网络结构;
图8为一种循环神经网络结构按照时间展开的展开形式;
图9为一种搭构建语句续写模型的具体方法的流程示意图;
图10为一个实施例中一种自然语句生成的装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种自然语句生成的方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。如使用者在终端102中输入语料模板,终端102通过网络与服务器104通过网络进行通信,由服务器104确定该语料模板中的槽位,以及该槽位的槽位属性。应当知道的,服务器本身可以包括多个词语库,以向该槽位提供词语,也可以通过网络关联词库以向该槽位提供词语。服务器104确定语料模板中的槽位后,向槽位填充符合槽位属性的词语,将填充完词语的语料模板作为第一自然语句。确定完第一自然语句后,服务器104对第一自然语句进行续写,将续写后的句子作为第二自然语句。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种自然语句生成的方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤201,获取语料模板,并确定语料模板中的槽位,所述槽位包括槽位属性。
其中,语料模板可以理解为使用者定义的所需要的自然语言的抽象结构。语料模板是预先设置的,如可以将“你”“我”“他”……“小明”等放入{人}这一类别下,作为{人}的语料模板。同样的可以将“今天”“昨天”“明天”……“周三”等放入{时间}这一类别下,作为{时间}的语料模板。如使用者需要大量如“我今天早上吃了一个苹果”这一类的自然语言,则可以将其抽象为{{人}}{{时间}}{{动词}}了{{数字}}{{量词}}{{名词}}这样的语料模板。槽位是指语料模板中每个可以插入一个词语的位置,如语料模板中的{{人}}、{{时间}}、{{动词}}、{{数字}}、{{量词}}和{{名词}}均可以认为是一个槽位。而语料模板中的,如表示时间状态的“了”这个字,由于其不可替换,因此不认为是一个槽位。槽位属性是指每个槽位中需要填写的词语的共同属性,如一个槽位中需要填写表示时间的词语,那么该槽位的槽位属性为时间,如一个槽位中需要填写表示某一动作执行的主体,且该动作执行的主体为人类时,该槽位的槽位属性为人。具体的,以终端为计算机为例进行说明,首先,定义知识单元(如上述语料模板中的{{人}}为一个人物的知识单元),知识单元指计算机存储的对特定模板的知识表征。如时间知识单元,存储了一系列与时间相关的表述,例如“明天”,“三点”,“等会儿”。知识单元可以由使用者手动添加,也可以由计算机通过外部的知识库获得。将知识单元的集合定义为知识集合。在此基础上,可以定义槽位填充程序,槽位填充程序是管理知识集合,以及集合中的知识单元的角色。通过对其所有知识单元构建索引,可以做到快速解析和获取特定知识单元的知识表达。
步骤202,向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句。
其中,槽位属性是指每个槽位中需要填写的词语的共同属性,如一个槽位中需要填写表示时间的词语,那么该槽位的槽位属性为时间,如一个槽位中需要填写表示某一动作执行的主体,且该动作执行的主体为人类时,该槽位的槽位属性为人。
具体的,当语料模板中的槽位通过词语进行填充之后,可以生成一个句子,将该句子作为第一自然语言。
步骤203,对所述第一自然语句进行续写处理,以获第二自然语句。
进行续写处理是指根据语言产生的规律,来预测所使用语言语序的概率,或者是当前上下文使用某个词语的概率。换句话说,就是用来表示语言产生顺序的建模,用某个词是否恰当,这样的语序构造句子是否妥当这样的。于是,可以通过样本数据训练出一个语言模型来对下文进行预测。语言模型可以分为:文法型的语言模型(就是定义相关的文法结构,例如主语+谓语+宾语构成陈述句这样的),统计模型,神经网络语言模型。其中,统计类的语言模型包括N-gram,N-pos,隐马尔科夫链模型、最大熵模型等。就是给出前边的词,判断后面出现词的概率。如通p(w3|w1w2)表示w3在词语w1w2之后出现的概率。具体计算公式为p(w3|w1w2)=p(w1w2w3)÷p(w1w2)=Count(w1w2w3)÷Count(w1w2),Count(x)表示x在语料库中出现的频率。这种模型能给出后面单词发生的概率。但是会出现Count(x)=0的情况,为避免这种问题出现了很多平滑技术,例如Laplace平滑等。
上述一种自然语句生成的方法,通过确定语料模板中的槽位来确定使用者所需要的自然语言(语料)的构成结构,确定构成结构后,向语料模板中的槽位填充符合槽位属性的词语,以获得第一自然语句,此时已经可以获得使用者所需要的基本的自然语言(语料),为了更加丰富自然语言的内容,丰富作为训练素材的自然的可能性,对第一自然语句进行续写处理,以获第二自然语句。通过自动生成自然语言的方式,可以免除为了获得符合需求的语料而花费较高的获取成本的问题,也减少了人工标注语料再进行筛选所耗费的人力和时间成本。
在上述实施例的基础上,如图3所示,提供了一种确定语料模板中的槽位的方法,包括以下步骤:
步骤2011、接收语料模板。
接收语料模板的方式可以是接收使用者临时输入的语料模板,也可以是接收使用者保存在历史信息中的语料模板。
步骤2012、对所述语料模板进行识别槽位的处理,以确定所述语料模板中包括的槽位。
对语料模板进行槽位识别的方式,可以是通过槽位填充程序进行识别,也可以是通过使用正则表达识别模板中的槽位。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
在上述实施例的基础上,如图4所示,提供了一种获得第一自然语句的方法,包括以下步骤:
步骤2021、获取每个所述槽位属性所关联的词语库。
其中,词语库可以是保存有各类词语的数据库;可以是同类的词语保存在同一数据库中,也可以是在一数据库中保存有大量词语,该大量词语具有属性标签。槽位与槽位属性可以通过预先设置的对应关系来确定。
可以理解的,词语库可以是预先关联的;也可以是根据使用者对槽位属性的描述,在线进行匹配的;还可以是使用者自行添加的。
步骤2022、从所述词语库中选择词语填充至所述语料模板相应槽位属性对应的所述槽位中,得到第一自然语言。
确定槽位属性关联的词语库后,从该关联的词语库中,随机选择一个词语对该槽位属性对应的槽位进行填充。
将填充词语后的语料模板作为第一自然语句。由于词语库中包括大量词语,而随机选择词语对语料模板进行填充时,可以产生多个第一自然语句。因此可以限制第一自然语言产生的数量,作为使用词语填充语料模板的结束条件。
通过随机从词语库中选择词语的方式,可以产生丰富的、符合使用者需求的第一自然语句。
在上述实施例的基础上,如图5所示,提供了一种获第二自然语句的方法,包括以下步骤:
步骤2031、搭建一神经网络模型,所述神经网络模型的损失函数通过交叉熵确定。
其中,神经网络(Neural Networks,NN)是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。如图6所示,提供了一种标准神经网络结构。该标准神经网络由输入层61,隐层62和输出层63构成,通过前馈计算获得输出层63的值,通过构造的损失函数64评估输出层63与标签65的损失,通过损失进行反向传播,更新网络各层的权重。交叉熵(Cross Entropy)是Shannon信息论中一个重要概念,主要用于度量两个概率分布间的差异性信息。语言模型的性能通常用交叉熵和复杂度(perplexity)来衡量。交叉熵的意义是用该模型对文本识别的难度,或者从压缩的角度来看,每个词平均要用几个位来编码。复杂度的意义是用该模型表示这一文本平均的分支数,其倒数可视为每个词的平均概率。平滑是指对没观察到的N元组合赋予一个概率值,以保证词序列总能通过语言模型得到一个概率值。损失函数(lossfunction)或代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。
具体的,本实施例中的采用的神经网络为循环神经网络(Recurrent NeuralNetwork,RNN)。它是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neuralnetwork)。如图7所示,提供了一种循环神经网络结构。该循环神经网络由输入层71,隐层72和输出层73构成,通过前馈计算获得输出层73的值,通过构造的损失函数74评估输出层73与标签75的损失,通过损失进行反向传播,更新网络各层的权重。与标准神经网络的区别在于,循环神经网络考虑将历史信息留存在网络中,将隐层72的状态传递给下一步骤。
如图8所示,提供了一种循环神经网络结构按照时间展开的展开形式。其中,x(t)代表在序列索引号(t)时训练样本的输入。同样的,x(t-1)和x(t+1)代表在序列索引号(t-1)和(t+1)时训练样本的输入。h(t)代表在序列索引号(t)时模型的隐藏状态。h(t)由x(t)和h(t-1)共同决定。o(t)代表在序列索引号(t)时模型的输出。o(t)只由模型当前的隐藏状态h(t)决定。L(t)代表在序列索引号(t)时模型的损失函数。y(t)代表在序列索引号(t)时训练样本序列的真实输出。三个矩阵U,W,V是模型的线性关系参数,它在整个RNN网络中是共享的。
本实现方式中,循环神经网络用于文本生成是通过对于已知的输入的前m个字,RNN模型进行编码,在m时刻,得到隐层并用于最终预测第m+1个字。由这样的训练过程生成的模型将能够根据前文,给出下一个最可能字是什么。
步骤2032、构建训练文本,所述训练文本包括输入数据与输出数据,所述输出数据为所述输入数据的顺移一位的映像,所述训练文本为字符串。
步骤2033、使用所述训练文本对所述神经网络模型进行训练,得到语句续写模型。
步骤2034、确定所述第二自然语句的最大字数。
步骤2035、将所述第一自然语句输入训练好的语句续写模型,输出接于所述第一自然语句的续写语句。
步骤2036、所述第一自然语句以及续写语句构成第二自然语句,当所述第二自然语句的文字数量达到所述最大字数时,输出所述第二自然语句。
该过程中,可以先确定所述第二自然语句的最大字数;将所述第一自然语句输入训练好的语句续写模型;所述训练好的语句续写模型根据所述第一自然语句,输出接于所述第一自然语句的续写文字;当所述续写文字构成完整句子或所述续写文字的数量符合所述最大字数时,将所述续写文字作为第二自然语句输出。
具体的,利用RNN构建的模型对语句进行故事续写生成第二自然语句(如,给定的句子为“我今天不想吃饭”,由RNN模型生成后面的一句话“吃不下了”)。利用RNN构建模型,该模型通过输入文本的前m个字符,预测后面的第m+1字符,不断进行此过程直至句子结束或达到最大句子长度。使用该方法对生成的语句进行故事续写。RNN网络模型用于故事续写的具体流程是:将生成的语句输入RNN模型,由模型判断最有可能的下一个字,不断重复此过程,直至模型输出结束或达到最大字数。
具体的,如图9所示,提供了一种搭构建语句续写模型的具体方法。该语句续写模型包括输入层(Input)91和输出层(Reshape+softmax)94,以及隐层(Embedding)92和隐层(Istm+dropout)93。
一种实现方式中,输入层91中的batch_size可以理解为批处理参数,它的极限值为训练集样本总数,当数据量比较少时,可以将batch_size值设置为全数据集(Full batchcearning)。实际上,在深度学习中所涉及到的数据都是比较多的,一般都采用小批量数据处理原则。sentence len表示句子长度。
隐层(Embedding)92的主要目的是对(稀疏)特征进行降维,它降维的方式可以类比为一个全连接层(没有激活函数),通过embedding层的权重矩阵计算来降低维度。
隐层(Istm+dropout)93用于防止神经网络过拟合。其中的LSTM即Long ShortMemory Network,长短时记忆网络。它其实是属于RNN的一种变种,可以说它是为了克服RNN无法很好处理远距离依赖而提出的。dropout是神经网络中最有效的正则化方法。但是传统的dropout在RNN中效果不是很好,因为RNN有放大噪音的功能,所以会反过来伤害模型的学习能力。因此,在RNN中使用dropout要放在时间步的连接上,即cell与cell之间传递,而不是神经元;对于RNN的部分不进行dropout,也就是说从t-1时候的状态传递到t时刻进行计算时,这个中间不进行memory的dropout;仅在同一个t时刻中,多层cell之间传递信息的时候进行dropout。
输出层(Reshape+softmax)94中的softmax层可以输出loss函数或者计算此时的准确率情况。通过函数来实现一个归一化的操作,那么此时函数得到的结果就范围就是咋(0-1)之间,得出概率值。reshape层在不改变数据的情况下改变输入数据的维度。其中的vocab size用于描述输出的句子的单词长度。
在上述实施例的基础上,还包括:对所述第一自然语句和/或第二自然语句进行分词处理,以获得分词片段;在所述分词片段的间隙中插入语气词。
具体的,程序将以一定概率,采用结巴对已填充槽位的语句进行分词,在分词间隙插入语气词(如嗯嗯)等无意义词汇作为扰动。
本实现方式通过加入无意义的语气词,丰富了自然语句的形式,为训练模型提供更加丰富的素材。
应该理解的是,虽然图1-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种自然语句生成的装置,包括:槽位确定模块11、第一自然语句获得模块12和第二自然语句获得模块13,其中:
槽位确定模块11,用于获取语料模板,并确定所述语料模板中的槽位,所述槽位包括槽位属性。
第一自然语句获得模块12,用于向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句。
第二自然语句获得模块13,用于对所述第一自然语句进行续写处理,以获第二自然语句。
上述一种自然语句生成的装置,通过确定语料模板中的槽位来确定使用者所需要的自然语言(语料)的构成结构,确定构成结构后,向语料模板中的槽位填充符合槽位属性的词语,以获得第一自然语句,此时已经可以获得使用者所需要的基本的自然语言(语料),为了更加丰富自然语言的内容,丰富作为训练素材的自然的可能性,对第一自然语句进行续写处理,以获第二自然语句。通过自动生成自然语言的方式,可以免除为了获得符合需求的语料而花费较高的获取成本的问题,也减少了人工标注语料再进行筛选所耗费的人力和时间成本。
在上述实施例的基础上,所述槽位确定模块11包括:
槽位识别子模块,用于对所述语料模板进行正则表达识别槽位,并得到每个槽位的槽位属性。
在上述实施例的基础上,所述第一自然语句获得模块12包括:
词语库确定子模块,用于获取每个所述槽位属性所关联的词语库;
第一自然语言确定子模块,用于从所述词语库中选择词语填充至所述语料模板相应槽位属性对应的所述槽位中,得到第一自然语言。
在上述实施例的基础上,所述第二自然语句获得模块13包括:
第二自然语言输出子模块,用于将第一自然语句输入训练好的语句续写模型,以获得第二自然语句。
在上述实施例的基础上,还包括:
神经网络搭建模块,用于搭建一神经网络模型,所述神经网络模型的损失函数通过交叉熵确定;
训练文本构建模块,用于构建训练文本,所述训练文本包括输入数据与输出数据,所述输出数据为所述输入数据的顺移一位的映像,所述训练文本为字符串;
模型输出模块,用于使用所述训练文本对所述神经网络模型进行训练,得到语句续写模型。
在上述实施例的基础上,所述第二自然语言输出子模块,包括:
字数确定单元,用于确定所述第二自然语句的最大字数;
模型输入单元,用于将所述第一自然语句输入训练好的语句续写模型,输出接于所述第一自然语句的续写语句;
第二自然语句输出单元,用于所述第一自然语句以及续写语句构成第二自然语句,当所述第二自然语句的文字数量达到所述最大字数时,输出所述第二自然语句。
在上述实施例的基础上,还包括:
语气词插入模块,用于对所述第一自然语句和/或第二自然语句进行分词处理,并在分词间隙插入语气词。
关于一种自然语句生成的装置的具体限定可以参见上文中对于一种自然语句生成的方法的限定,在此不再赘述。上述一种自然语句生成的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取语料模板,并确定所述语料模板中的槽位,所述槽位包括槽位属性;向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句;对所述第一自然语句进行续写处理,以获第二自然语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对所述语料模板进行正则表达识别槽位,并得到每个槽位的槽位属性。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取每个所述槽位属性所关联的词语库;从所述词语库中选择词语填充至所述语料模板相应槽位属性对应的所述槽位中,得到第一自然语言。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将第一自然语句输入训练好的语句续写模型,以获得第二自然语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:搭建一神经网络模型,所述神经网络模型的损失函数通过交叉熵确定;构建训练文本,所述训练文本包括输入数据与输出数据,所述输出数据为所述输入数据的顺移一位的映像,所述训练文本为字符串;使用所述训练文本对所述神经网络模型进行训练,得到语句续写模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定所述第二自然语句的最大字数;将所述第一自然语句输入训练好的语句续写模型,输出接于所述第一自然语句的续写语句;所述第一自然语句以及续写语句构成第二自然语句,当所述第二自然语句的文字数量达到所述最大字数时,输出所述第二自然语句。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对所述第一自然语句和/或第二自然语句进行分词处理,并在分词间隙插入语气词。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取语料模板,并确定所述语料模板中的槽位,所述槽位包括槽位属性;向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句;对所述第一自然语句进行续写处理,以获第二自然语句。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对所述语料模板进行正则表达识别槽位,并得到每个槽位的槽位属性。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取每个所述槽位属性所关联的词语库;从所述词语库中选择词语填充至所述语料模板相应槽位属性对应的所述槽位中,得到第一自然语言。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将第一自然语句输入训练好的语句续写模型,以获得第二自然语句。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:搭建一神经网络模型,所述神经网络模型的损失函数通过交叉熵确定;构建训练文本,所述训练文本包括输入数据与输出数据,所述输出数据为所述输入数据的顺移一位的映像,所述训练文本为字符串;使用所述训练文本对所述神经网络模型进行训练,得到语句续写模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:确定所述第二自然语句的最大字数;将所述第一自然语句输入训练好的语句续写模型,输出接于所述第一自然语句的续写语句;所述第一自然语句以及续写语句构成第二自然语句,当所述第二自然语句的文字数量达到所述最大字数时,输出所述第二自然语句。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对所述第一自然语句和/或第二自然语句进行分词处理,并在分词间隙插入语气词。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种自然语句生成的方法,其特征在于,所述方法包括:
获取语料模板,并确定所述语料模板中的槽位,所述槽位包括槽位属性;
向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句;
对所述第一自然语句进行续写处理,以获第二自然语句。
2.根据权利要求1所述的方法,其特征在于,所述确定语料模板中的槽位,包括:
对所述语料模板进行正则表达识别槽位,并得到每个槽位的槽位属性。
3.根据权利要求2所述的方法,其特征在于,所述向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句,包括:
获取每个所述槽位属性所关联的词语库;
从所述词语库中选择词语填充至所述语料模板相应槽位属性对应的所述槽位中,得到第一自然语言。
4.根据权利要求1所述的方法,其特征在于,所述对所述第一自然语句进行续写处理,以获第二自然语句,包括:
将第一自然语句输入训练好的语句续写模型,以获得第二自然语句。
5.根据权利要求4所述的方法,其特征在于,所述将第一自然语句输入训练好的语句续写模型,以获得第二自然语句之前,还包括:
搭建一神经网络模型,所述神经网络模型的损失函数通过交叉熵确定;
构建训练文本,所述训练文本包括输入数据与输出数据,所述输出数据为所述输入数据的顺移一位的映像,所述训练文本为字符串;
使用所述训练文本对所述神经网络模型进行训练,得到语句续写模型。
6.根据权利要求4所述的方法,其特征在于,所述将第一自然语句输入训练好的语句续写模型,以获得第二自然语句,包括:
确定所述第二自然语句的最大字数;
将所述第一自然语句输入训练好的语句续写模型,输出接于所述第一自然语句的续写语句;
所述第一自然语句以及续写语句构成第二自然语句,当所述第二自然语句的文字数量达到所述最大字数时,输出所述第二自然语句。
7.根据权利要求1-6任一项所述的方法,其特征在于,还包括:
对所述第一自然语句和/或第二自然语句进行分词处理,并在分词间隙插入语气词。
8.一种自然语句生成的装置,其特征在于,所述装置包括:
槽位确定模块,用于构成语料模板的槽位,所述槽位包括槽位属性;
第一自然语句获得模块,用于向所述语料模板中的槽位填充符合所述槽位属性的词语,以获得第一自然语句;
第二自然语句获得模块,用于对所述第一自然语句进行续写处理,以获第二自然语句。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911292595.1A CN111191439A (zh) | 2019-12-16 | 2019-12-16 | 自然语句生成的方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911292595.1A CN111191439A (zh) | 2019-12-16 | 2019-12-16 | 自然语句生成的方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111191439A true CN111191439A (zh) | 2020-05-22 |
Family
ID=70709789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911292595.1A Pending CN111191439A (zh) | 2019-12-16 | 2019-12-16 | 自然语句生成的方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111191439A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737417A (zh) * | 2020-07-03 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 修正自然语言生成结果的方法和装置 |
CN112597748A (zh) * | 2020-12-18 | 2021-04-02 | 深圳赛安特技术服务有限公司 | 语料生成方法、装置、设备及计算机可读存储介质 |
CN113626468A (zh) * | 2021-08-12 | 2021-11-09 | 平安科技(深圳)有限公司 | 基于人工智能的sql语句生成方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528858A (zh) * | 2016-11-29 | 2017-03-22 | 北京百度网讯科技有限公司 | 歌词生成方法及装置 |
US20170212890A1 (en) * | 2016-01-26 | 2017-07-27 | International Business Machines Corporation | Generation of a natural language resource using a parallel corpus |
CN108647207A (zh) * | 2018-05-08 | 2018-10-12 | 上海携程国际旅行社有限公司 | 自然语言修正方法、系统、设备及存储介质 |
CN108874789A (zh) * | 2018-06-22 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 语句的生成方法、装置、存储介质和电子装置 |
CN109815486A (zh) * | 2018-12-25 | 2019-05-28 | 出门问问信息科技有限公司 | 自然语言生成方法、装置、设备及可读存储介质 |
CN110276023A (zh) * | 2019-06-20 | 2019-09-24 | 北京百度网讯科技有限公司 | Poi变迁事件发现方法、装置、计算设备和介质 |
CN110442332A (zh) * | 2019-07-04 | 2019-11-12 | 深圳壹账通智能科技有限公司 | 自然语言转换成程序语言的方法、装置及计算机设备 |
-
2019
- 2019-12-16 CN CN201911292595.1A patent/CN111191439A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170212890A1 (en) * | 2016-01-26 | 2017-07-27 | International Business Machines Corporation | Generation of a natural language resource using a parallel corpus |
CN106528858A (zh) * | 2016-11-29 | 2017-03-22 | 北京百度网讯科技有限公司 | 歌词生成方法及装置 |
CN108647207A (zh) * | 2018-05-08 | 2018-10-12 | 上海携程国际旅行社有限公司 | 自然语言修正方法、系统、设备及存储介质 |
CN108874789A (zh) * | 2018-06-22 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 语句的生成方法、装置、存储介质和电子装置 |
CN109815486A (zh) * | 2018-12-25 | 2019-05-28 | 出门问问信息科技有限公司 | 自然语言生成方法、装置、设备及可读存储介质 |
CN110276023A (zh) * | 2019-06-20 | 2019-09-24 | 北京百度网讯科技有限公司 | Poi变迁事件发现方法、装置、计算设备和介质 |
CN110442332A (zh) * | 2019-07-04 | 2019-11-12 | 深圳壹账通智能科技有限公司 | 自然语言转换成程序语言的方法、装置及计算机设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737417A (zh) * | 2020-07-03 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 修正自然语言生成结果的方法和装置 |
CN112597748A (zh) * | 2020-12-18 | 2021-04-02 | 深圳赛安特技术服务有限公司 | 语料生成方法、装置、设备及计算机可读存储介质 |
CN112597748B (zh) * | 2020-12-18 | 2023-08-11 | 深圳赛安特技术服务有限公司 | 语料生成方法、装置、设备及计算机可读存储介质 |
CN113626468A (zh) * | 2021-08-12 | 2021-11-09 | 平安科技(深圳)有限公司 | 基于人工智能的sql语句生成方法、装置、设备及存储介质 |
CN113626468B (zh) * | 2021-08-12 | 2024-03-01 | 平安科技(深圳)有限公司 | 基于人工智能的sql语句生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230100376A1 (en) | Text sentence processing method and apparatus, computer device, and storage medium | |
CN110598206B (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
US11941366B2 (en) | Context-based multi-turn dialogue method and storage medium | |
CN111368996A (zh) | 可传递自然语言表示的重新训练投影网络 | |
CN111191439A (zh) | 自然语句生成的方法、装置、计算机设备和存储介质 | |
EP4131076A1 (en) | Serialized data processing method and device, and text processing method and device | |
CN112131888B (zh) | 分析语义情感的方法、装置、设备及存储介质 | |
CN109299211B (zh) | 一种基于Char-RNN模型的文本自动生成方法 | |
CN113987147A (zh) | 样本处理方法及装置 | |
CN111177392A (zh) | 一种数据处理方法及装置 | |
CN112766319A (zh) | 对话意图识别模型训练方法、装置、计算机设备及介质 | |
CN113821635A (zh) | 一种用于金融领域的文本摘要的生成方法及系统 | |
CN114358201A (zh) | 基于文本的情感分类方法和装置、计算机设备、存储介质 | |
CN111986730A (zh) | 一种预测siRNA沉默效率的方法 | |
CN114064852A (zh) | 自然语言的关系抽取方法、装置、电子设备和存储介质 | |
CN112685561A (zh) | 一种跨病种的小样本临床医疗文本后结构化处理方法 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
US11941360B2 (en) | Acronym definition network | |
CN116756347B (zh) | 一种基于大数据的语义信息检索方法 | |
Dey et al. | Conformal prediction for text infilling and part-of-speech prediction | |
WO2023137918A1 (zh) | 文本数据的分析方法、模型训练方法、装置及计算机设备 | |
US20220180057A1 (en) | Method and apparatus for decentralized supervised learning in nlp applications | |
CN113779994B (zh) | 一种要素抽取方法、装置、计算机设备和存储介质 | |
CN113127604B (zh) | 基于评论文本的细粒度物品推荐方法及系统 | |
CN114357177A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200522 |
|
RJ01 | Rejection of invention patent application after publication |