一种基于预训练模型的产品描述文本的自动生成方法技术

技术编号:25224724 阅读:29 留言:0更新日期:2020-08-11 23:13
本发明专利技术公开了一种基于预训练模型的产品描述文本的自动生成方法,其特点是采用框架预训练模型方法,通过引入辅助数据库以及预训练的BERT模型权重,根据给定的产品功能类属性特征,自动生成产品描述文本,具体包括:词典、共现关系库和检索数据库的构建,以及模型和文本的生成。本发明专利技术与现有技术相比具有根据给定的产品功能类属性特征来生成一段通顺可读、信息量丰富的产品描述文本,有效解决了数据量少、生成文本长度控制以及功能类属性特征可控三大问题,提高了产品描述文本的生成质量和文本多样性。

【技术实现步骤摘要】
一种基于预训练模型的产品描述文本的自动生成方法
本专利技术涉及自然语言处理
,尤其是一种基于预训练模型的产品描述文本的自动生成方法。
技术介绍
产品描述的自动生成是一项根据给定的产品属性特征,自动生成一段包含给定特征信息、通顺可读且文本长度可控的描述性文本的技术。以空调为例,给出属性特征“静音、除霜、5匹”,会自动生成一段包含以上特征的描述文本。撰写产品描述对人而言是一项乏味、耗时的工作,但产品描述无疑又是重要的,因为它是消费者了解产品的一项重要途径,在一定程度上决定着消费者购买产品与否。自动生成技术可以辅助人类写作,给人以灵感,因此,自动的产品描述生成技术受到了学术界和工业界的颇多关注。目前,产品的属性特征大体分为两类,一类是规格类属性特征,如“5匹”,用来描述产品的规格大小;一类是功能类属性特征,如“除霜”、“健康”,用来描述产品的功能或者某一功能带来的使用效果。WangJ,HouY,LiuJ,etal.Astatisticalframeworkforproductdescriptiongeneration[C]//ProceedingsoftheEighthInternationalJointConferenceonNaturalLanguageProcessing(Volume2:ShortPapers).2017:187-192.其工作通过模板的方式来生成产品描述,但主要解决的是给定规格类属性的产品描述。ChenQ,LinJ,ZhangY,etal.TowardsKnowledge-BasedPersonalizedProductDescriptionGenerationinE-commerce[C]//Proceedingsofthe25thACMSIGKDDInternationalConferenceonKnowledgeDiscovery&DataMining.ACM,2019:3040-3050.公开的产品描述技术,是将产品分为“外表、手感和功能”三个属性,在构造数据集时,用了复杂的启发式算法来对每一条数据标注相应的产品属性,其标注方法注定了无法细分产品的具体功能是什么,因此该工作虽然能生成产品描述,但是可控性不高。FengX,LiuM,LiuJ,etal.Topic-to-EssayGenerationwithNeuralNetworks[C]//IJCAI.2018:4078-4084.和YangP,LiL,LuoF,etal.EnhancingTopic-to-EssayGenerationwithExternalCommonsenseKnowledge[C]//Proceedingsofthe57thAnnualMeetingofthe,公开了产品描述的相关技术,其生成的产品描述难以保证覆盖全部的给定属性特征。MiaoN,ZhouH,MouL,etal.Cgmh:Constrainedsentencegenerationbymetropolis-hastingssampling[C]//ProceedingsoftheAAAIConferenceonArtificialIntelligence.2019,33:6834-6842.公开了一种产品描述的技术,它虽然能覆盖所有给定的产品属性特征词,但长度往往过短。现有技术的产品描述的自动生成,其工作都是从零开始训练模型,需要大量的数据以及良好的硬件资源,存在着以下问题:1)数据量少易导致欠拟合,影响文本生成质,数据的获取,尤其是高质量数据的获取是需要成本的,如何在数据量较少的情况下,生成通顺可读且信息量丰富的产品描述。2)文本长度控制,如何生成可控长度的产品描述,过短的文本长度表达的信息不充分,过长的文本长度会降低消费者的阅读欲望。3)功能类产品属性特征的可控,因为即使是同一产品,如空调,不同品牌、不同型号的产品功能是有差异的,如何根据给定的产品功能特征生成包含所有给定属性特征的通顺可读的产品。
技术实现思路
本专利技术的目的是针对现有技术的不足而设计的一种基于预训练模型的产品描述文本的自动生成方法,采用检索加生成的框架预训练模型方法,通过引入共现关系库、检索数据库等辅助数据库,以及预训练的BERT模型权重,可根据给定的产品功能类属性特征,生成一段通顺可读、信息量丰富的产品描述文本,有效解决了数据量少易导致欠拟合,影响文本生成质量的问题,使文本长度控制在指定产品描述所含字符数的范围内,给定属性特征的通顺可读,进而提高了产品描述文本的生成质量和文本多样性。实现本专利技术目的的具体技术方案是:一种基于预训练模型的产品描述文本的自动生成方法,其特点是采用框架预训练模型方法,通过引入辅助数据库以及预训练的BERT模型权重,根据给定的产品功能类属性特征,自动生成产品描述文本,其具体生成过程包括如下步骤:(一)词典的构建步骤A1:采用Jieba分词工具对语料库的数据进行分词,所述语料库可通过爬虫从合适的数据源中爬取众多在线的、通顺可读的产品描述,或通过其他途径获取,如空调的产品描述数据可以在58空调网上爬取。步骤A2:加载停止词表,对步骤A1得到的每个词进行词频统计,去除词频为1或出现在停止词表中的词,所剩的词为构建的词典。(二)共现关系库的构建步骤B1:将语料库中的每段产品描述按句号或分号进行分割。步骤B2:为了降低复杂度,只保留句子中的重要成分。对步骤B1得到的每个句子,保留动词、名词、动名词、机构名、地名、人名,以及专有名词和形容词的词性词。步骤B3:遍历每一个句子,对步骤B2得到的各词性词统计前向共现关系库和后向共现关系库,构建如下哈希表实现共现关系库的结构:{center:{context:count,…},…};其中,count表示中心词center和上下文词context的共现次数,如果是前向共现关系库,那么在句子中上下文词context出现在中心词center的后面;如果是后向共现关系库,那么上下文词context出现在中心词center的前面;(三)检索数据库的构建根据步骤(二)得到的结果,去语料库中检索合适的句子以进一步扩充产品特征词,为了提高检索效率,采用倒排索引技术构建检索数据库,其具体步骤如下:步骤C1:给语料库的每条数据一个文件ID,给词典中的每个词一个单词ID。步骤C2:检索数据库实际上是一个倒排文件,并用哈希表存储,所有的倒排列表构成的文件叫做倒排文件,也就是检索数据库。遍历语料库中的每条数据,记录倒排项,最终形成如下结构的倒排列表:{search_token:[IDF,[(DocID,TF),…]]};其中,IDF表示检索词search_token出现在多少个不同的文件中,DocID是文件编号,TF为该检索词search_token在文件DocID中出现的频次;(四)产品描述模型的生成产品描述模型的生成,本文档来自技高网
...

【技术保护点】
1.一种基于预训练模型的产品描述文本的自动生成方法,其特征在于采用框架预训练模型方法,通过引入辅助数据库以及预训练的BERT模型权重,根据给定的产品功能类属性特征,自动生成产品描述文本,其具体生成过程包括如下步骤:/n(一)词典的构建/n步骤A1:采用Jieba分词工具对语料库的数据进行分词;/n步骤A2:加载停止词表,对步骤A1得到的每个词进行词频统计,去除词频为1或出现在停止词表中的词,所剩的词为构建的词典;/n(二)共现关系库的构建/n步骤B1:将语料库中的每段产品描述按句号或分号进行分割;/n步骤B2:对步骤B1得到的每个句子,保留动词、名词、动名词、机构名、地名、人名,以及专有名词和形容词的词性词;/n步骤B3:遍历每一个句子,对步骤B2得到的各词性词统计前向共现关系库和后向共现关系库,构建如下哈希表实现共现关系库的结构:/n{center:{context:count,…},…};/n其中,count表示中心词center和上下文词context的共现次数,如果是前向共现关系库,那么在句子中上下文词context出现在中心词center的后面;如果是后向共现关系库,那么上下文词context出现在中心词center的前面;/n(三)检索数据库的构建/n步骤C1:给语料库的每条数据一个文件ID,给词典中的每个词一个单词ID;/n步骤C2:遍历语料库中的每条数据并记录倒排项,将其形成的所有倒排列表构成的倒排文件组建为检索数据库,所述倒排列表的结构如下:/n{search_token:[IDF,[(DocID,TF),…]]};/n其中,IDF表示检索词search_token出现在多少个不同的文件中,DocID是文件编号,TF为该检索词search_token在文件DocID中出现的频次;/n(四)产品描述模型的生成/n步骤D1:抽取语料库中每条数据中的名词和动词作为关键词,并按其在数据中出现的顺序对关键词进行排序,建立由关键词列和产品描述列组成的数据集,其中关键词列是UNILM模型的输入;/n步骤D2:将上述数据集划分为三个数据各不重叠的训练集、验证集和测试集;/n步骤D3:采用Keras深度学习框架构建UNILM模型,并加载中文预训练BERT模型的权重;/n步骤D4:利用训练集对加载的中文预训练BERT模型的权重进行微调,其损失函数是交叉熵损失函数,并利用验证集来判断收敛与否,由此训练UNILM模型直至模型收敛,最终得到产品描述模型;/n步骤D5:利用测试集测试产品描述模型的性能;/n(五)产品描述文本的生成/n步骤E1:对于用户给定的每个产品特征词w进行扩词,得到若干个出现在特征词w后面的词和若干个出现在特征词w前面的词;/n步骤E2:在检索数据库中将给定的产品特征词w,以及由步骤E1得到的所有扩充词进行检索;/n步骤E3:将步骤E2检索到的描述句子中抽取的名词和动词作为关键词,并按出现的顺序排序为有序关键词;/n步骤E4:将步骤E3得到的有序关键词输入产品描述模型,即可得到通顺流畅、长度可控的产品描述文本。/n...

【技术特征摘要】
1.一种基于预训练模型的产品描述文本的自动生成方法,其特征在于采用框架预训练模型方法,通过引入辅助数据库以及预训练的BERT模型权重,根据给定的产品功能类属性特征,自动生成产品描述文本,其具体生成过程包括如下步骤:
(一)词典的构建
步骤A1:采用Jieba分词工具对语料库的数据进行分词;
步骤A2:加载停止词表,对步骤A1得到的每个词进行词频统计,去除词频为1或出现在停止词表中的词,所剩的词为构建的词典;
(二)共现关系库的构建
步骤B1:将语料库中的每段产品描述按句号或分号进行分割;
步骤B2:对步骤B1得到的每个句子,保留动词、名词、动名词、机构名、地名、人名,以及专有名词和形容词的词性词;
步骤B3:遍历每一个句子,对步骤B2得到的各词性词统计前向共现关系库和后向共现关系库,构建如下哈希表实现共现关系库的结构:
{center:{context:count,…},…};
其中,count表示中心词center和上下文词context的共现次数,如果是前向共现关系库,那么在句子中上下文词context出现在中心词center的后面;如果是后向共现关系库,那么上下文词context出现在中心词center的前面;
(三)检索数据库的构建
步骤C1:给语料库的每条数据一个文件ID,给词典中的每个词一个单词ID;
步骤C2:遍历语料库中的每条数据并记录倒排项,将其形成的所有倒排列表构成的倒排文件组建为检索数据库,所述倒排列表的结构如下:
{search_token:[IDF,[(DocID,TF),…]]};
其中,IDF表示检索词search_token出现在多少个不同的文件中,DocID是文件编号,TF为该检索词search_token在文件DocID中出现的频次;
(四)产品描述模型的生成
步骤D1:抽取语料库中每条数据中的名词...

【专利技术属性】
技术研发人员:高明高宝丽
申请(专利权)人:华东师范大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1