CN112507112B - 评论生成的方法、装置、设备及存储介质 - Google Patents
评论生成的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112507112B CN112507112B CN202011419866.8A CN202011419866A CN112507112B CN 112507112 B CN112507112 B CN 112507112B CN 202011419866 A CN202011419866 A CN 202011419866A CN 112507112 B CN112507112 B CN 112507112B
- Authority
- CN
- China
- Prior art keywords
- decoder
- text content
- attribute information
- sequence
- vector
- 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
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/34—Browsing; Visualisation therefor
- G06F16/345—Summarisation for human users
-
- 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
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F18/24155—Bayesian classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种人工智能技术,揭露了一种评论生成的方法、装置、设备及存储介质,该方法包括:获取多个文本内容及至少两种属性信息;获取文本内容的各个字向量,将各个字向量作为编码器的输入序列,将属性向量插入编码器的输入序列中,再输入至编码器中进行训练;或者将属性向量插入解码器的输入序列,再输入至解码器中进行训练;对于每个文本内容,获取解码器输出的第一输出序列及对应的每个字的预测概率,计算交叉熵损失函数,当交叉熵损失函数最小化时,训练结束,得到训练好的编码解码器;将待评论的文本内容输入至训练好的编码解码器中,获取解码器输出的第二输出序列,并生成待评论的文本内容的评论。本发明能够自动生成高质量的评论。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种评论生成的方法、装置、设备及存储介质。
背景技术
目前,对于一些网络文章可以自动生成评论,生成有明确观点的评论不仅可以引起读者的注意,还可以引发更多的讨论,从而为文章提供更多的反馈资源。传统的自动生成文本的方法大部分使用的是递归神经网络(RNN)。然而使用递归神经网络自动生成文本的方法一般只能控制生成的文本的单个属性,例如文本的情感,使得生成的文本较单调,且可能与文章的主题偏差较大,质量不理想。
发明内容
本发明的目的在于提供一种评论生成的方法、装置、设备及存储介质,旨在提高自动生成评论的质量。
本发明提供一种评论生成的方法,包括:
获取多个文本内容,获取每个文本内容的至少两种属性信息;
获取每个文本内容的各个字向量,将每个文本内容的各个字向量作为编码器的输入序列,将每个文本内容的至少两种属性信息对应的属性向量插入所述编码器的输入序列中,再将插入所述属性向量后的编码器的输入序列输入至所述编码器中进行训练;或者
将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练;
对于每个文本内容,获取解码器输出的第一输出序列,获取所述第一输出序列中对应的每个字的预测概率,基于所述预测概率计算交叉熵损失函数,当所述交叉熵损失函数最小化时,训练结束,得到训练好的编码解码器;
将待评论的文本内容输入至训练好的编码解码器中,获取所述解码器输出的第二输出序列,基于所述第二输出序列生成所述待评论的文本内容的评论。
本发明还提供一种评论生成的装置,包括:
获取模块,用于获取多个文本内容,获取每个文本内容的至少两种属性信息;
训练模块,用于获取每个文本内容的各个字向量,将每个文本内容的各个字向量作为编码器的输入序列,将每个文本内容的至少两种属性信息对应的属性向量插入所述编码器的输入序列中,再将插入所述属性向量后的编码器的输入序列输入至所述编码器中进行训练;或者
将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练;
处理模块,用于对于每个文本内容,获取解码器输出的第一输出序列,获取所述第一输出序列中对应的每个字的预测概率,基于所述预测概率计算交叉熵损失函数,当所述交叉熵损失函数最小化时,训练结束,得到训练好的编码解码器;
生成模块,用于将待评论的文本内容输入至训练好的编码解码器中,获取所述解码器输出的第二输出序列,基于所述第二输出序列生成所述待评论的文本内容的评论。
本发明还提供一种计算机设备,所述计算机设备包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的评论生成的方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的评论生成的方法的步骤。
本发明的有益效果是:本发明提供标记嵌入式编码解码器的变体,通过文本内容获取至少两种属性信息,将属性信息对应的属性向量插入编码器的输入序列或者将属性向量嵌入解码器的输入序列中来训练标记嵌入式编码解码器,得到同时控制多个属性的在线评论生成模型,通过多个属性的控制能够自动生成高质量的评论。
附图说明
图1为本发明评论生成的方法第一实施例的流程示意图;
图2为本发明编码解码器第一实施例的结构示意图;
图3为本发明编码解码器第二实施例的结构示意图;
图4为本发明评论生成的装置一实施例的结构示意图;
图5为本发明计算机设备一实施例的硬件架构的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明评论生成的方法一实施例的流程示意图。该方法包括:
步骤S1,获取多个文本内容,获取每个文本内容的至少两种属性信息;
在步骤S1中,文本内容可以是在线文章或者文章标题等,例如在线新闻平台收集收集的新闻标题或者新闻内容。
本实施例中,将文本内容输入至预定的分类模型中进行分类,基于分类操作得到针对文本信息自动生成的评论内容对应的属性信息,其中,属性信息例如包括正面、负面、特异性、人格特点、情绪及内容长度等等。评论内容对应的属性信息的数量预先确定,可以随机从分类操作后得到的属性信息中选取两个或者两个以上的属性信息。
本实施例中,分类模型可以是朴素贝叶斯模型(NB model),随机森林模型(RF),SVM分类模型,KNN分类模型,神经网络分类模型中的任一种,当然也可以是其他的深度学习文本分类模型,例如fastText模型、TextCNN模型等。
进一步地,在将文本内容输入至分类模型之前,还包括对文本内容进行分词、对分词后的文本内容进行文本预处理、对文本预处理后的文本内容提取关键特征等,最后将关键特征输入至分类模型中进行分类。其中,分词可以使用基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法等中的任一种方法;文本预处理包括去停用词、词性标注等;提取关键特征可以使用基于词袋模型的特征表示、基于embedding的特征表示、基于主题特征、基于任务本身抽取的特征等等中的任一种方法。
步骤S2,获取每个文本内容的各个字向量,将每个文本内容的各个字向量作为编码器的输入序列,将每个文本内容的至少两种属性信息对应的属性向量插入所述编码器的输入序列中,再将插入所述属性向量后的编码器的输入序列输入至所述编码器中进行训练;或者
将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练;
在步骤S2中,本发明的各个实施例的编码解码器为标记嵌入式编码解码器(TED),其中,对标记嵌入式编码解码器的结构进行改进,得到两种标记嵌入式编码解码器的变体:
第一种变体是TED-PFT:将文本内容对应的向量作为标记嵌入式编码解码器的编码器的输入序列,将至少两种属性信息对应的属性向量插入输入序列的开头中进行训练。如图2所示的TED-PFT结构,其中,编码器的输入序列为C=c1 c2 … cn,属性信息对应的属性向量为A=a1,...,aL,图中的属性信息包括两种,对应的向量为a1、a2。将输入序列对应的文本内容中的第i个字/词用字向量WE(ci)和位置向量PEi相加的和来表示。
第二种变体是TED-SFE:将至少两种属性信息对应的属性向量嵌入至解码器的输入序列后再输入解码器中进行训练。如图3所示的TED-SFE结构,其中,解码器第一次输入的输入序列为起始符,第二次输入的输入序列为第一次输出的输出序列,第三次输入的输入序列为第二次输出的输出序列,以此循环(图3未示出)。在图3中,属性信息的属性向量包括a1、a2两种。解码器的输入序列为R=r0 r1 … r(m-1),r0是表示序列开始的特殊标记,即图中的BOS,解码器的输出序列为r1 r2 … rm,rm是表示序列结束的特殊标记,即图中的EOS。解码器的解码层数可以与属性信息的数量相同,例如有2种属性信息,那么解码器就有2层。将解码器的输入序列对应的内容中的第i个字(或词)用字向量WE(yi)和位置向量PEi相加的和来表示。
进一步地,步骤S2中,所述将每个文本内容的至少两种属性信息对应的属性向量插入所述编码器的输入序列中,再将插入所述属性向量后的编码器的输入序列输入至所述编码器中进行训练的步骤,具体包括:
对于每个文本内容的至少两种属性信息,获取每种属性信息对应的字向量,及每种属性信息对应的字向量在插入所述编码器的输入序列的开头后每种属性信息的字行量对应的位置向量;
在每种属性信息对应的字向量在插入所述编码器的输入序列的开头后,获取所述文本内容的各个字向量对应的各个位置向量;
将每种属性信息的字向量及位置向量对应相加,将所述文本内容的各个字向量及各个位置向量对应相加,将相加后的两种向量之和输入至所述编码器中进行训练。
属性信息对应的属性向量包括字向量,在图2中,字向量为FE(a1)、FE(a2),对应两种属性,属性信息的字向量在插入输入序列的开头后两种属性信息对应的位置向量分别为FE1、FE2;文本内容中每一个字对应的字向量为WE(c1)至WE(cn),属性信息的字向量在插入输入序列的开头后文本内容中每一个字对应的位置向量为PE3至PEn+2。将每种属性信息的字向量及位置向量对应相加:FE(a1)+FE1、FE(a2)+FE2,将文本内容中每一个字的字向量及位置向量对应相加:WE(c1)+PE3,…,WE(cn)+PEn+2,最后将相加后的向量FE(a1)+FE1,FE(a2)+FE2,WE(c1)+PE3,…,WE(cn)+PEn+2输入至编码器中进行训练。
进一步地,步骤S2中,所述将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练的步骤,具体包括:
对于每个文本内容的至少两种属性信息,获取每种属性信息对应的字向量;
获取所述解码器的输入序列的各个字向量及所述解码器的输入序列的各个字向量对应的各个位置向量;
将各种属性信息与所述解码器的各解码层一一对应,将所述解码器的输入序列的各个字向量及各个位置向量对应相加,得到各个第一向量和,将各个第一向量和分别与所述解码器的第一解码层所对应的属性信息的字向量相加,得到各个第二向量和,再将各个第二向量和输入所述解码器的第一解码层中进行训练;
获取所述解码器的第一解码层的输出序列,将所述第一解码层的输出序列中的各个字向量分别与所述解码器的第二解码层所对应的属性信息的字向量相加,得到各个第三向量和,再将各个第三向量和输入所述解码器的第二解码层中进行训练,依此循环,直至训练完所述解码器各解码层的输入。
在图3中,两种属性信息对应的字向量为FE(a1)、FE(a2),对应两种属性。解码器的输入序列中每一个字对应的字向量为WE([BOS]),WE(y1)至WE(ym-1),对应的位置向量为PE1至PEmm,将各种属性信息与所述解码器的各解码层一一对应,这里是随机对应,在图3中,属性信息a1对应解码器的第一解码层,属性信息a2对应解码器的第二解码层,当然也可以是属性信息a1对应解码器的第二解码层,属性信息a2对应解码器的第一解码层。将解码器输入序列的每一个字的字向量及位置向量对应相加得到第一向量和:WE([BOS])+PE1,WE(y1)+PE2至WE(ym-1)+PEmm。将各个第一向量和WE([BOS])+PE1,WE(y1)+PE2至WE(ym-1)+PEmm分别与解码器的第一解码层所对应的属性信息的字向量FE(a1)(或FE(a2))相加后,再输入解码器的第一解码层中进行训练。获取解码器的第一解码层的输出序列将第一解码层的输出序列中每一个字对应的字向量分别与解码器的第二解码层所对应的属性信息的字向量FE(a2)(或FE(a1))相加,得到/>再输入解码器的第二解码层中进行训练,获取解码器的第二解码层的输出序列/>以此类推,直至训练完解码器各解码层的输入。
进一步地,步骤S2中,所述将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练的步骤,具体包括:
对于每个文本内容的至少两种属性信息,获取每种属性信息对应的字向量;
获取所述解码器的输入序列的各个字向量及所述解码器的输入序列的各个字向量对应的各个位置向量;
将所述解码器的输入序列的各个字向量及位置向量对应相加,得到各个第四向量和,将至少两种属性信息的字向量相加得到第五向量和,将各个第四向量和分别与所述第五向量和相加,得到各个第六向量和,再将各个第六向量和输入所述解码器的第一解码层中进行训练。
以两种属性信息为例,两种属性信息对应的字向量为FE(a1)、FE(a2)。解码器的输入序列中每一个字对应的字向量为WE([BOS]),WE(y1)至WE(ym-1),对应的位置向量为PE1至PEm。将解码器输入序列中每一个字的字向量及位置向量对应相加得到第一向量和WE([BOS])+PE1,WE(y1)+PE2至WE(ym-1)+PEm,将所有属性信息的字向量相加得到第二向量和FE(a1)+FE(a2),将各个第一向量和分别与所述第二向量和相加,得到:
WE([BOS])+PE1+FE(a1)+FE(a2),WE(y1)+PE2+FE(a1)+FE(a2),...,WE(ym-1)+PEm+FE(a1)+FE(a2);
将上述得到的向量输入解码器的第一解码层中进行训练。
进一步地,在通过文本内容获取至少两种属性信息后,可以随机选取其中的预定数量的属性信息,而对其他的属性信息进行屏蔽处理,基于随机选取的属性信息对标记嵌入式编码解码器进行训练,训练的过程可参考上述的实施例。通过随机选取的预定数量的属性信息对标记嵌入式编码解码器进行训练,能够提高模型的泛化性及灵活性。
步骤S3,对于每个文本内容,获取解码器输出的第一输出序列,获取所述第一输出序列中对应的每个字的预测概率,基于所述预测概率计算交叉熵损失函数,当所述交叉熵损失函数最小化时,训练结束,得到训练好的编码解码器;
解码器输出的第一输出序列,在embedding层通过将第一输出序列进行线性变换,比如字或词的id为1,就从对应的第一输出序列的矩阵中取第一行向量,字或词的id为2,就取第二行向量。进行线性变换后,利用softmax函数获取第一输出序列对应的评论中每个字的预测概率,计算公式如下:
其中p代表每个字或词的预测概率,r代表一个字或词,i代表训练样本的标号(即文本内容),j代表是字或词的标号,Ci代表第i个样本的文本内容,Ai代表第i个样本的属性信息,<,>表示点积,V代表生成评论所需要的词表,k代表遍历整个词表的每个字或词的位置,vk代表第k个字或词。
对于解码器输出的第一输出序列,例如第一个字的预测概率是80%,为“他”;第二个字的预测概率为75%,为“喝”;第三个字为“水”的预测概率是10%,第三个字为“茶”的预测概率是15%,那么有两条序列,两条序列对应文字为:“他喝水”、“他喝茶”。
在训练的过程中,基于预测概率获取交叉熵损失函数或者对数似然函数,通过计算交叉熵损失函数的最小值或对数似然函数的最大值,来达到训练的最好效果,交叉熵损失函数的最小值或对数似然函数的最大值的计算公式如下:
其中,N为所有训练样本的数量。
当得到交叉熵损失函数的最小值或对数似然函数的最大值时,停止训练,得到训练好的标记嵌入式编码解码器。
步骤S4,将待评论的文本内容输入至训练好的编码解码器中,获取所述解码器输出的第二输出序列,基于所述第二输出序列生成所述待评论的文本内容的评论。
本实施例中,在训练好的标记嵌入式编码解码器之后,可以将在线文章或者文章标题等文本内容输入,获取输出的评论内容。
进一步地,步骤S4中,基于所述第二输出序列生成所述待评论的文本内容的评论的步骤,具体包括:
基于集束搜索的方式从第二输出序列中获取各条候选输出序列,从所述各条候选输出序列中选择预测概率最大的输出序列,基于所选择的输出序列生成所述待评论的文本内容的评论。
本实施例中,集束搜索的方式包括:设定束宽为k,在时间步1时,选取当前时间步概率最大的k个字或词对应的输出序列,分别组成k个候选首字或词的输出序列,在之后的每个时间步,基于上个时间步的输出序列,选取包含所有k个候选首字或词的输出序列中再选取概率最大的k个字或词对应的输出序列,作为该时间步的输出序列,以此类推,得到最终的候选输出序列。
最后通过计算候选输出序列的对应的各字或词的概率之和或概率之积,例如,概率之积的计算公式如下:
选择概率之和或概率之积最大的输出序列,以生成待评论的文本内容的评论。
本实施例提供的标记嵌入式编码解码器的变体,通过文本内容获取至少两种属性信息,将属性信息对应的属性向量插入编码器的输入序列或者将属性向量插入解码器的输入序列中来训练标记嵌入式编码解码器,得到同时控制多个属性的在线评论生成模型,通过多个属性的控制能够自动生成高质量的评论。
在一实施例中,本发明提供一种评论生成的装置,该装置与上述实施例中评论生成的方法一一对应。如图4所示,该装置包括:
获取模块101,用于获取多个文本内容,获取每个文本内容的至少两种属性信息;
训练模块102,用于获取每个文本内容的各个字向量,将每个文本内容的各个字向量作为编码器的输入序列,将每个文本内容的至少两种属性信息对应的属性向量插入所述编码器的输入序列中,再将插入所述属性向量后的编码器的输入序列输入至所述编码器中进行训练;或者
将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练;
处理模块103,用于对于每个文本内容,获取解码器输出的第一输出序列,获取所述第一输出序列中对应的每个字的预测概率,基于所述预测概率计算交叉熵损失函数,当所述交叉熵损失函数最小化时,训练结束,得到训练好的编码解码器;
生成模块104,用于将待评论的文本内容输入至训练好的编码解码器中,获取所述解码器输出的第二输出序列,基于所述第二输出序列生成所述待评论的文本内容的评论。
评论生成的装置的具体限定可以参见上文中对于评论生成的方法的限定,在此不再赘述。上述评论生成的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述计算机设备可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
如图5所示,所述计算机设备可包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,存储器11存储有可在处理器12上运行的计算机程序。需要指出的是,图5仅示出了具有组件11-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)等。本实施例中,存储器11的可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如存储本发明一实施例中的计算机程序的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片,用于运行所述存储器11中存储的程序代码或者处理数据,例如运行计算机程序等。
所述网络接口13可包括标准的无线网络接口、有线网络接口,该网络接口13通常用于在所述计算机设备与其他电子设备之间建立通信连接。
所述计算机程序存储在存储器11中,包括至少一个存储在存储器11中的计算机可读指令,该至少一个计算机可读指令可被处理器12执行,以实现本申请各实施例的方法,包括:
获取多个文本内容,获取每个文本内容的至少两种属性信息;
获取每个文本内容的各个字向量,将每个文本内容的各个字向量作为编码器的输入序列,将每个文本内容的至少两种属性信息对应的属性向量插入所述编码器的输入序列中,再将插入所述属性向量后的编码器的输入序列输入至所述编码器中进行训练;或者
将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练;
对于每个文本内容,获取解码器输出的第一输出序列,获取所述第一输出序列中对应的每个字的预测概率,基于所述预测概率计算交叉熵损失函数,当所述交叉熵损失函数最小化时,训练结束,得到训练好的编码解码器;
将待评论的文本内容输入至训练好的编码解码器中,获取所述解码器输出的第二输出序列,基于所述第二输出序列生成所述待评论的文本内容的评论。
在一个实施例中,本发明提供了一种计算机可读存储介质,计算机可读存储介质可以是非易失性和/或易失性存储器,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中评论生成的方法的步骤,例如图1所示的步骤S1至步骤S4。或者,计算机程序被处理器执行时实现上述实施例中评论生成的装置的各模块/单元的功能,例如图4所示模块101至模块104的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种评论生成的方法,其特征在于,包括:
获取多个文本内容,获取每个文本内容的至少两种属性信息;
获取每个文本内容的各个字向量,将每个文本内容的各个字向量作为编码器的输入序列,将每个文本内容的至少两种属性信息对应的属性向量插入所述编码器的输入序列中,再将插入所述属性向量后的编码器的输入序列输入至所述编码器中进行训练;或者
将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练;
对于每个文本内容,获取解码器输出的第一输出序列,获取所述第一输出序列中对应的每个字的预测概率,基于所述预测概率计算交叉熵损失函数,当所述交叉熵损失函数最小化时,训练结束,得到训练好的编码解码器;
将待评论的文本内容输入至训练好的编码解码器中,获取所述解码器输出的第二输出序列,基于所述第二输出序列生成所述待评论的文本内容的评论;
其中,所述将每个文本内容的至少两种属性信息对应的属性向量插入编码器的输入序列,再将插入所述属性向量后的编码器的输入序列输入至所述编码器中进行训练的步骤,具体包括:对于每个文本内容的至少两种属性信息,获取每种属性信息对应的字向量,及每种属性信息对应的字向量在插入所述编码器的输入序列的开头后每种属性信息的字向量对应的位置向量;在每种属性信息对应的字向量在插入所述编码器的输入序列的开头后,获取所述文本内容的各个字向量对应的各个位置向量;将每种属性信息的字向量及位置向量对应相加,将所述文本内容的各个字向量及各个位置向量对应相加,将相加后的两种向量之和输入至所述编码器中进行训练;
所述将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练的步骤,具体包括:对于每个文本内容的至少两种属性信息,获取每种属性信息对应的字向量;获取所述解码器的输入序列的各个字向量及所述解码器的输入序列的各个字向量对应的各个位置向量;将各种属性信息与所述解码器的各解码层一一对应,将所述解码器的输入序列的各个字向量及各个位置向量对应相加,得到各个第一向量和,将各个第一向量和分别与所述解码器的第一解码层所对应的属性信息的字向量相加,得到各个第二向量和,再将各个第二向量和输入所述解码器的第一解码层中进行训练;获取所述解码器的第一解码层的输出序列,将所述第一解码层的输出序列中的各个字向量分别与所述解码器的第二解码层所对应的属性信息的字向量相加,得到各个第三向量和,再将各个第三向量和输入所述解码器的第二解码层中进行训练,依此循环,直至训练完所述解码器各解码层的输入。
2.根据权利要求1所述的评论生成的方法,其特征在于,所述将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练的步骤,具体还包括:
对于每个文本内容的至少两种属性信息,获取每种属性信息对应的字向量;
获取所述解码器的输入序列的各个字向量及所述解码器的输入序列的各个字向量对应的各个位置向量;
将所述解码器的输入序列的各个字向量及位置向量对应相加,得到各个第四向量和,将至少两种属性信息的字向量相加得到第五向量和,将各个第四向量和分别与所述第五向量和相加,得到各个第六向量和,再将各个第六向量和输入所述解码器的第一解码层中进行训练。
3.根据权利要求1或2所述的评论生成的方法,其特征在于,所述基于所述第二输出序列生成所述待评论的文本内容的评论的步骤,具体包括:
基于集束搜索的方式从所述第二输出序列中获取各条候选输出序列,从所述各条候选输出序列中选择预测概率最大的序列,基于所选择的序列生成所述待评论的文本内容的评论。
4.根据权利要求3所述的评论生成的方法,其特征在于,所述基于集束搜索的方式从所述第二输出序列中获取候选输出序列的步骤,具体包括:
获取预设的束宽值及预设数量的时间步,在第一个时间步中,从所述第二输出序列中选取与所述束宽值相同的各条子序列,在后续每一个时间步中,从所述第二输出序列中选取包含上个时间步中的各条子序列的序列,在最后一个时间步中,选取与所述束宽值相同的各条序列作为所述候选输出序列。
5.一种评论生成的装置,用于实现如权利要求1至4中任一项所述的评论生成的方法的步骤,其特征在于,所述装置包括:
获取模块,用于获取多个文本内容,获取每个文本内容的至少两种属性信息;
训练模块,用于获取每个文本内容的各个字向量,将每个文本内容的各个字向量作为编码器的输入序列,将每个文本内容的至少两种属性信息对应的属性向量插入所述编码器的输入序列中,再将插入所述属性向量后的编码器的输入序列输入至所述编码器中进行训练;或者
将每个文本内容的至少两种属性信息对应的属性向量插入解码器的输入序列,再将插入所述属性向量后的解码器的输入序列输入至所述解码器中进行训练;
处理模块,用于对于每个文本内容,获取解码器输出的第一输出序列,获取所述第一输出序列中对应的每个字的预测概率,基于所述预测概率计算交叉熵损失函数,当所述交叉熵损失函数最小化时,训练结束,得到训练好的编码解码器;
生成模块,用于将待评论的文本内容输入至训练好的编码解码器中,获取所述解码器输出的第二输出序列,基于所述第二输出序列生成所述待评论的文本内容的评论。
6.根据权利要求5所述的评论生成的装置,其特征在于,所述训练模块具体包括:
第一获取单元,用于对于每个文本内容的至少两种属性信息,获取每种属性信息对应的字向量,及每种属性信息对应的字向量在插入所述编码器的输入序列的开头后每种属性信息的字向量对应的位置向量;
第二获取单元,用于在每种属性信息对应的字向量在插入所述编码器的输入序列的开头后,获取所述文本内容的各个字向量对应的各个位置向量;
训练单元,用于将每种属性信息的字向量及位置向量对应相加,将所述文本内容的各个字向量及各个位置向量对应相加,将相加后的两种向量之和输入至所述编码器中进行训练。
7.一种计算机设备,所述计算机设备包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的评论生成的方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的评论生成的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011419866.8A CN112507112B (zh) | 2020-12-07 | 2020-12-07 | 评论生成的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011419866.8A CN112507112B (zh) | 2020-12-07 | 2020-12-07 | 评论生成的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112507112A CN112507112A (zh) | 2021-03-16 |
CN112507112B true CN112507112B (zh) | 2023-07-25 |
Family
ID=74971080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011419866.8A Active CN112507112B (zh) | 2020-12-07 | 2020-12-07 | 评论生成的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112507112B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020114324A1 (zh) * | 2018-12-04 | 2020-06-11 | 阿里巴巴集团控股有限公司 | 回评文本的生成方法、装置及系统 |
CN111325571A (zh) * | 2019-12-30 | 2020-06-23 | 北京航空航天大学 | 一种多任务学习的商品评论标签自动生成方法、装置及系统 |
CN111813923A (zh) * | 2019-11-29 | 2020-10-23 | 北京嘀嘀无限科技发展有限公司 | 文本摘要方法、电子设备及存储介质 |
WO2020224219A1 (zh) * | 2019-05-06 | 2020-11-12 | 平安科技(深圳)有限公司 | 中文分词方法、装置、电子设备及可读存储介质 |
-
2020
- 2020-12-07 CN CN202011419866.8A patent/CN112507112B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020114324A1 (zh) * | 2018-12-04 | 2020-06-11 | 阿里巴巴集团控股有限公司 | 回评文本的生成方法、装置及系统 |
WO2020224219A1 (zh) * | 2019-05-06 | 2020-11-12 | 平安科技(深圳)有限公司 | 中文分词方法、装置、电子设备及可读存储介质 |
CN111813923A (zh) * | 2019-11-29 | 2020-10-23 | 北京嘀嘀无限科技发展有限公司 | 文本摘要方法、电子设备及存储介质 |
CN111325571A (zh) * | 2019-12-30 | 2020-06-23 | 北京航空航天大学 | 一种多任务学习的商品评论标签自动生成方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112507112A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241304B (zh) | 基于深度学习的答案生成方法、电子装置及可读存储介质 | |
CN111985239B (zh) | 实体识别方法、装置、电子设备及存储介质 | |
CN109543030A (zh) | 客服机器人会话文本分类方法及装置、设备、存储介质 | |
CN111222317A (zh) | 序列标注方法、系统和计算机设备 | |
CN110909144A (zh) | 问答对话方法、装置、电子设备及计算机可读存储介质 | |
CN112487820A (zh) | 一种中文医疗命名实体识别方法 | |
CN107797989A (zh) | 企业名称识别方法、电子设备及计算机可读存储介质 | |
CN110321426B (zh) | 摘要抽取方法、装置及计算机设备 | |
CN112528637A (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN114580424B (zh) | 一种用于法律文书的命名实体识别的标注方法和装置 | |
CN110188926A (zh) | 一种订单信息预测系统和方法 | |
CN113887229A (zh) | 地址信息的识别方法、装置、计算机设备及存储介质 | |
CN112328761A (zh) | 一种意图标签设置方法、装置、计算机设备及存储介质 | |
CN111460800A (zh) | 一种事件生成方法、装置、终端设备及存储介质 | |
CN112766319A (zh) | 对话意图识别模型训练方法、装置、计算机设备及介质 | |
CN115599901A (zh) | 基于语义提示的机器问答方法、装置、设备及存储介质 | |
CN114445832A (zh) | 基于全局语义的文字图像识别方法、装置及计算机设备 | |
CN111091004A (zh) | 一种语句实体标注模型的训练方法、训练装置及电子设备 | |
CN113743119A (zh) | 中文命名实体识别模块、方法、装置及电子设备 | |
CN115906815A (zh) | 一种用于修改一种或多种类型错误句子的纠错方法及装置 | |
CN110175330B (zh) | 一种基于注意力机制的命名实体识别方法 | |
CN114445808A (zh) | 基于Swin Transformer的手写文字识别方法及系统 | |
CN112732884A (zh) | 目标回答语句生成方法、装置、计算机设备和存储介质 | |
CN112507112B (zh) | 评论生成的方法、装置、设备及存储介质 | |
CN116127978A (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 |