一种基于关键词的文章生成方法转让专利

申请号 : CN202010071315.0

文献号 : CN111274776B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁峰鲁道沅王严博

申请人 : 中国搜索信息科技股份有限公司

摘要 :

本发明公开了一种基于关键词的文章生成方法,包括S1、利用爬虫获取互联网上的散文内容,并将其作为初始训练数据集,对所述初始训练数据集进行分段,获取多个段落文本,给各个段落文本配置ID编号,并将所有段落文本汇总为散文段落数据集;S2、根据ID编号对所述散文段落数据集建立索引,以获取散文段落数据集的索引;对所述散文段落数据集进行切词,并对分词结果进行训练,以获取散文段落数据集的sentence特征向量模型;S3、获取用户提交的待生成文本的关键词和待生成文本的段落数量;等步骤。优点是:采用了全新的基于sentence的正排索引和倒排索引工程实现服务在线计算服务,在线计算性能高,可以反复生成keyword的多种语义角度的文本文章。

权利要求 :

1.一种基于关键词的文章生成方法,其特征在于:所述方法包括如下步骤,S1、利用爬虫获取互联网上的散文内容,并将其作为初始训练数据集,对所述初始训练数据集进行分段,获取多个段落文本,给各个段落文本配置ID编号,并将所有段落文本汇总为散文段落数据集;

S2、根据ID编号对所述散文段落数据集建立索引,以获取散文段落数据集的索引;对所述散文段落数据集进行切词,并对分词结果进行训练,以获取散文段落数据集的sentence特征向量模型;

S3、获取用户提交的待生成文本的关键词和待生成文本的段落数量;

S4、根据散文段落数据集的索引和sentence特征向量模型,使用待生成文本的关键词进行索引获取与待生成文本的段落数量相等的文本段落,各个文本段落依据ID编号根据散文段落数据集的索引组成文章展示;

步骤S2包括如下内容,

S201、按照ID编号对所述散文段落数据集建立正排索引,获取第一索引序列;按照token对所述散文段落数据集建立倒排索引,获取第二索引序列;

S202、对所述散文段落数据集进行token分词,获取多个token,利用EMLo模型训练各个token,以获取所有token的词向量;

S203、根据步骤S202中获取的所有token的词向量,计算所述散文段落数据集中的sentence特征向量;

所述步骤S4包括如下内容,

S41、加载第一索引序列、第二索引序列和散文段落数据集的sentence特征向量模型;

S42、根据待生成文本的关键词对第二索引序列进行检索,随机获取第二索引序列中的一个sentence作为第一段落;

S43、根据所述散文段落数据集的sentence特征向量模型,获取第一段落的向量值;

S44、根据所述散文段落数据集的sentence特征向量模型和第一段落的向量值,按照欧式距离计算与第一段落最近的向量,记为第二段落;

S45、根据所述散文段落数据集的sentence特征向量模型和第二段落,按照欧式距离计算与第二段落最近的向量,记为第三段落;

S46、循环执行步骤S45,直到获取第N段落为止,N为待生成文本的段落数量;

S47、把获取的各个段落按照其ID编号进行排列汇总,并根据其ID编号查询所述第二索引序列,生成文章展示。

2.根据权利要求1所述的基于关键词的文章生成方法,其特征在于:所述步骤S203具体包括如下内容,A、依据步骤S202中获取的所有token的词向量,分别统计所述散文段落数据集中各个段落文本的所有token的词向量;

B、根据所述散文段落数据集中各个段落文本的所有token的词向量,分别计算所述散文段落数据集中各个段落文本的sentence特征向量;

C、依据各段落文本的ID编号,获取所述散文段落数据集的sentence特征向量模型。

说明书 :

一种基于关键词的文章生成方法

技术领域

[0001] 本发明涉及自然语言生成处理领域,尤其涉及一种基于关键词的文章生成方法。

背景技术

[0002] 文本自动生成是自然语言处理领域的一个重要研究方向,实现文本自动生成也是人工智能走向成熟的一个重要标志。简单来说,我们期待未来有一天计算机能够像人类一样会写作,能够撰写出高质量的自然语言文本。文本自动生成技术极具应用前景。例如,文本自动生成技术可以应用于智能问答与对话、机器翻译等系统,实现更加智能和自然的人机交互;我们也可以通过文本自动生成系统替代编辑实现新闻的自动撰写与发布,最终将有可能颠覆新闻出版行业;该项技术甚至可以用来帮助学者进行学术论文撰写,进而改变科研创作模式。文本生成是自然语言处理(NLP,Natural Language Processing)、自然语言生成(NLG,Natural Language Generation)领域当前的研究热点。
[0003] 目前,一般是由人工采集信息,并经过人工处理后编撰成文章,而传统的结构化数据生成或模板配置生成文本则非常死板性,并且具有局限性。

发明内容

[0004] 本发明的目的在于提供一种基于关键词的文章生成方法,从而解决现有技术中存在的前述问题。
[0005] 为了实现上述目的,本发明采用的技术方案如下:
[0006] 一种基于关键词的文章生成方法,所述方法包括如下步骤,
[0007] S1、利用爬虫获取互联网上的散文内容,并将其作为初始训练数据集,对所述初始训练数据集进行分段,获取多个段落文本,给各个段落文本配置ID编号,并将所有段落文本汇总为散文段落数据集;
[0008] S2、根据ID编号对所述散文段落数据集建立索引,以获取散文段落数据集的索引;随所述散文段落数据集进行切词,并对分词结果进行训练,以获取散文段落数据集的sentence特征向量模型;
[0009] S3、获取用户提交的待生成文本的关键词和待生成文本的段落数量;
[0010] S4、根据散文段落数据集的索引和sentence特征向量模型,使用待生成文本的关键词进行索引获取与待生成文本的段落数量相等的文本段落,各个文本段落依据ID编号根据散文段落数据集的索引组成文章展示。
[0011] 优选的,步骤S2包括如下内容,
[0012] S201、按照ID编号对所述散文段落数据集建立正排索引,获取第一索引序列;按照token对所述散文段落数据集建立倒排索引,获取第二索引序列;
[0013] S202、对所述散文段落数据集进行token分词,获取多个token,利用EMLo模型训练各个token,以获取所有token的词向量;
[0014] S203、根据步骤S202中获取的所有token的词向量,计算所述训练段落数据集中的sentence特征向量。
[0015] 优选的,所述步骤S203具体包括如下内容,
[0016] A、依据步骤S202中获取的所有token的词向量,分别统计所述散文段落数据集中各个段落文本的所有token的词向量;
[0017] B、根据所述散文段落数据集中各个段落文本的所有token的词向量,分别计算所述散文段落数据集中各个段落文本的sentence特征向量;
[0018] C、依据各段落文本的ID编号,获取所述散文段落数据集的sentence特征向量模型。
[0019] 优选的,所述步骤S4包括如下内容,
[0020] S41、加载第一索引、第二索引和散文段落数据集的sentence特征向量模型;
[0021] S42、根据待生成文本的关键词对第二索引序列进行检索,随机获取第二索引序列中的一个sentence作为第一段落;
[0022] S43、根据所述散文段落数据集的sentence特征向量模型,获取第一段落的向量值;
[0023] S44、根据所述散文段落数据集的sentence特征向量模型和第一段落的向量值,按照欧式距离计算与第一段落最近的向量,记为第二段落;
[0024] S45、根据所述散文段落数据集的sentence特征向量模型和第二段落,按照欧式距离计算与第二段落最近的向量,记为第三段落;
[0025] S46、循环执行步骤S45,直到获取第N段落为止,N为待生成文本的段落数量;
[0026] S47、把获取的各个段落按照其ID编号进行排列汇总,并根据其ID编号查询所述第二索引序列,生成文章展示。
[0027] 本发明的有益效果是:1、利用深度学习神经网络语言模型计算词向量,然后利用词向量(word embedding)和位置向量(positional embedding)来表征sentence特征向量并应用到文本生成应用当中来,摒弃了传统的结构化数据生成和模板配置生成的死板性和局限性。2、采用了全新的基于sentence的正排索引和倒排索引工程实现服务在线计算服务,在线计算性能高,可以反复生成keyword的多种语义角度的文本文章。3、提供一种使用关键词生成文章为方式,包括基于关键词的文本文章生成算法、sentence的正排索引和关键词倒排索引的实现,可以应用于AI智能化产品的底层服务。

附图说明

[0028] 图1是本发明实施例中文章生成方法的流程示意图;
[0029] 图2是本发明实施例中文章生成方法的离线部分流程示意图;
[0030] 图3是本发明实施例中文章生成方法的在线部分流程示意图。

具体实施方式

[0031] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
[0032] 自然语言处理(Natural Language Processing,简称NLP)是人工智能的一个子域。自然语言处理的应用包括机器翻译、情感分析、智能问答、信息提取、语言输入、舆论分析、知识图谱等方面,也是深度学习的一个分支。
[0033] 在这个概念下还有两大子集,即自然语言理解(Natural  Language Understanding,简称NLU)与自然语言生成(Natural Language Generation,简称NLG)。
[0034] NLG旨在让机器根据确定的结构化数据、文本、音视频等生成人类可以理解的自然语言形式的文本。根据数据源的类型,NLG可以分为三类:
[0035] 1.Text to text NLG,主要是对输入的自然语言文本进行进一步的处理和加工,主要包含文本摘要(对输入文本进行精简提炼)、拼写检查(自动纠正输入文本的单词拼写错误)、语法纠错(自动纠正输入文本的句法错误)、机器翻译(将输入文本的语义以另一种语言表达)和文本重写(以另一种不同的形式表达输入文本相同的语义)等领域;
[0036] 2.Data to text NLG,主要是根据输入的结构化数据生成易读易理解的自然语言文本,包含天气预报(根据天气预报数据生成概括性的用于播报的文本)、金融报告(自动生成季报/年报)、体育新闻(根据比分信息自动生成体育新闻)、人物简历(根据人物结构化数据生成简历)等领域的文本自动生成;
[0037] 3.Vision to text NLG,主要是给定一张图片或一段视频,生成可以准确描述图片或视频(其实是连续的图片序列)语义信息的自然语言文本。
[0038] 实施例一
[0039] 如图1至图3所示,本实施例中提供了一种基于关键词的文章生成方法,属于Text to text NLG的一个子集,即基于关键词生成文本算法(keyword to text);所述方法包括如下步骤,
[0040] S1、利用爬虫获取互联网上的散文内容,并将其作为初始训练数据集,对所述初始训练数据集进行分段,获取多个段落文本,给各个段落文本配置ID编号,并将所有段落文本汇总为散文段落数据集;
[0041] S2、根据ID编号对所述散文段落数据集建立索引,以获取散文段落数据集的索引;随所述散文段落数据集进行切词,并对分词结果进行训练,以获取散文段落数据集的sentence特征向量模型;
[0042] S3、获取用户提交的待生成文本的关键词和待生成文本的段落数量;
[0043] S4、根据散文段落数据集的索引和sentence特征向量模型,使用待生成文本的关键词进行索引获取与待生成文本的段落数量相等的文本段落,各个文本段落依据ID编号根据散文段落数据集的索引组成文章展示。
[0044] 本实施例中,步骤S1-S2属于文章生成方法的离线部分(如图2所示);步骤S3-S4属于文章生成方法的在线部分(如图3所示)。
[0045] 本实施例中,步骤S1利用爬虫获取多互联网网站的散文内容作为初始训练数据集,对初始训练数据集进行分段,得到分段好的散文段落数据集,记为S={s1,s2,…,sn},其中,si为所述散文段落数据集中的第i个段落文本,i为段落文本的ID号,i=1,2,…n,n为所述散文段落数据集中的段落文本总数。
[0046] 本实施例中,把步骤S1中获取的散文段落数据集S当做样本进行计算,具体包括如下内容,
[0047] S201、按照ID编号对所述散文段落数据集建立正排索引,获取第一索引序列;按照token对所述散文段落数据集建立倒排索引,获取第二索引序列;并把第一索引系列和第二索引序列落地到磁盘;
[0048] S202、对所述散文段落数据集进行token分词,获取多个token,利用EMLo模型训练各个token,以获取所有token的词向量;获取token的词向量的具体过程为,计算出word embedding(词向量),并把positional embedding(位置向量)和word embedding进行向量相加,结果作为token的词向量。
[0049] S203、根据步骤S202中获取的所有token的词向量,计算所述训练段落数据集中的sentence特征向量。
[0050] 本实施例中,所述步骤S203具体包括如下内容,
[0051] A、依据步骤S202中获取的所有token的词向量,分别统计所述散文段落数据集中各个段落文本的所有token的词向量;
[0052] 记其中一个token的词向量为a, 其中,aj为该token的词向量a的第j位向量值,j=1,2,…,m,m为词向量的总维数,默认值m=200;
[0053] B、根据所述散文段落数据集中各个段落文本的所有token的词向量,分别计算所述散文段落数据集中各个段落文本的sentence特征向量;
[0054] 首先,获取散文段落数据集中第一个段落文本s1的所有token的词向量,不妨设置其中k为散文段落数据集中第一个段落文本s1的所有token的总数;则散文段落数据集中第一个段落文本s1的sentence特征向量(Sentence Embedding)为s1=a1+a2+…ak;
[0055] 根据步骤B依次计算散文段落数据集中的所有段落文本的sentence特征向量。
[0056] C、依据各段落文本的ID编号,获取所述散文段落数据集的sentence特征向量模型;并将所述散文段落数据集的sentence特征向量模型保存在磁盘中。
[0057] 本实施例中,步骤S3具体为,通过web的RPC服务等待获取用户提交的两个参数keyword(待生成文本的关键词)和N(生成文本的段落数量)。同时需要判断用户提交的参数是否合法,若合法则执行步骤S4,若不合法则会返回参数错误,用户需要重新输入参数。
[0058] 本实施例中,加载索引和sentence特征向量模型,对获取的关键词进行实时在线计算,具体包括如下内容,
[0059] S41、加载第一索引、第二索引和散文段落数据集的sentence特征向量模型;
[0060] S42、根据待生成文本的关键词对第二索引序列进行检索,随机获取第二索引序列中的一个sentence作为第一段落W1;
[0061] S43、根据所述散文段落数据集的sentence特征向量模型,获取第一段落的向量值[0062] S44、根据所述散文段落数据集的sentence特征向量模型和第一段落的向量值,按照欧式距离计算与第一段落W1最近的向量W2,记为第二段落
[0063] S45、根据所述散文段落数据集的sentence特征向量模型和第二段落W2,按照欧式距离计算与第二段落W2最近的向量,记为第三段落
[0064] S46、循环执行步骤S45,直到获取第N段落 为止,N即为待生成文本的段落数量;
[0065] S47、把获取的各个段落按照其ID编号进行排列汇总[W1,W2,…WN],并根据其ID编号查询所述第二索引序列,生成文章返回客户端展示。
[0066] 实施例二
[0067] 本实施例中,举例具体说明使用本发明的方法生成的文章,
[0068] 1、参数关键词为"父亲",段落参数N=7。生成文章如下:
[0069] 那些亡人,包括我的父亲,当了一辈村干部的伯父,以及我的三位婶婶;那些未亡人,包括现在又是村干部的堂兄和在乡派出所当警察的族侄,他们总是像抢镜头一样在我眼前涌现,死鬼和活鬼一起向我诉说,诉说时又是那么争争吵吵。
[0070] 选村干部宗族械斗过一次。
[0071] 当我雄心勃勃在二三年的春天动笔之前,我奠祭了棣花街上近十年二十年的亡人,也为棣花街上未亡的人把一杯酒洒在地上,从此我书房当庭摆放的那一个巨大的汉罐里,日日燃香,香烟袅袅,如一根线端端冲上屋顶。
[0072] 他们都来自农村,但却不是文学圈中的人,读得非常兴趣,跑来对我说:"你要树碑了,这是个大碑子啊!"他们的话当然给了我反复修改的信心,但终于放下了最后一稿的笔,坐在烟雾腾腾的书房里,我又一次怀疑我所写出的这些文字了。
[0073] 我的故乡是棣花街,我的故事是清风街;棣花街是月,清风街是水中月;棣花街是花,清风街是镜里花。
[0074] 因抢劫坐牢的三个,因赌博被拘留过十八人。
[0075] 它像会倾听音乐的耳朵一样,需要不断地训练。
[0076] 2、参数关键词为"爱情",段落参数N=7。生成文章如下:
[0077] 为什么中国人的爱情离不开恩义而洋人却可以那么洒脱?也许,中国人的夫妻都是要共患难的,洋人的夫妻,却是一起享受美好生活的。
[0078] 让我们一起举杯,说:我们幸福。
[0079] 女儿还对它扬扬小手,说“拜……”。
[0080] 爱可以披头散发,爱可以荆钗布裙,爱可以粗茶淡饭,爱可以风餐露宿。
[0081] 恩义,是我们在浮世中的一个救生圈,用来套着自己,也套着别人,是拯救,也是负累。
[0082] 我们从小就习惯了在提醒中过日子。
[0083] 是的,有恩有义,就有忘恩负义、有埋怨、有要求、有仇恨。
[0084] 通过采用本发明公开的上述技术方案,得到了如下有益的效果:
[0085] 本发明提供了一种基于关键词的文章生成方法,本方法利用深度学习神经网络语言模型计算词向量,然后利用词向量(word embedding)和位置向量(positional embedding)来表征sentence特征向量并应用到文本生成应用当中来,摒弃了传统的结构化数据生成和模板配置生成的死板性和局限性;采用了全新的基于sentence的正排索引和倒排索引工程实现服务在线计算服务,在线计算性能高,可以反复生成keyword的多种语义角度的文本文章;本方法提供了一种使用关键词生成文章为方式,包括基于关键词的文本文章生成算法、sentence的正排索引和关键词倒排索引的实现,可以应用于AI智能化产品的底层服务。
[0086] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。