首页> 中国专利> 基于语料库和格律规则的汉语古诗词自动生成方法

基于语料库和格律规则的汉语古诗词自动生成方法

摘要

本发明公开了一种基于语料库和格律规则的汉语古诗词自动生成方法,主要是根据诗词的特点和诗句对应关系筛选并生成新的诗句,组成新的诗词,具体步骤如下:1)利用分词工具对诗集进行划分;2)根据原诗句的标点符号将分词结果按照对句的形式录入一诗句语料库中;3)汉语古诗词自动生成的初始设置,包括:根据用户选择所要生成的诗词类型,输入第一句的诗词的诗句;4)得到出现词的候选词集合;5)根据诗词类型和输入诗句生成新诗句,作为给定诗句重复步骤4)至6)生成下一句诗句,直到满足所确定的诗词类型所对应的句数为止。本发明对于给定的诗句,能够自动生成对应的诗句组成连贯的诗词。填补了我国在汉语古诗词自动生成领域方面的不足。

著录项

  • 公开/公告号CN106569995A

    专利类型发明专利

  • 公开/公告日2017-04-19

    原文格式PDF

  • 申请/专利权人 天津大学;

    申请/专利号CN201610850545.0

  • 发明设计人 李克非;张怡;

    申请日2016-09-26

  • 分类号G06F17/27(20060101);G06F17/30(20060101);

  • 代理机构12201 天津市北洋有限责任专利代理事务所;

  • 代理人李丽萍

  • 地址 300072 天津市南开区卫津路92号

  • 入库时间 2023-06-19 01:56:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-02

    授权

    授权

  • 2017-05-17

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20160926

    实质审查的生效

  • 2017-04-19

    公开

    公开

说明书

技术领域

本发明设计一种基于语料关联库系统,尤其涉及一种基于汉语古诗词关联库系统。

背景技术

诗词是用高度凝练的语言表达丰富含义的特殊文体,具有凝练和跳跃的特点,用有限的诗句表达尽可能多的意境,是人类智慧在语言乃至思维层面的结晶。随着计算机技术的发展和人工智能领域的成熟,计算机模拟人类思维和创作成为可能。

汉语古诗词的计算化研究始于20世纪90年代中期。迄今为止,已在语料库建立、词汇语义分析、创作风格辨析、联语应对等方面取得了一些初步成果,但在古诗词的自动生成方面,除了一些民间的自发研究外,尚无系统性的方法.相比而言,国外有关机器自动生成诗歌的研究起步较早,目前已尝试了许多方法并积累了一定的经验,从早期的Word Salada发展到现在较为成熟的基于进化算法和基于实例推理的方法,机器诗歌生成技术历经了多个阶段的发展,并开发成了部分较成型的系统.

自动生成属于自然语言生成领域,自然语言生成是以计算机语言学和人工智能为基础的自然语言处理领域中的分支,是研究和模拟人类生成自然语言文本的过程和方法。微软亚洲研究院自然语言计算组研发的计算机自动生成对联系统也属于自动生成领域,该系统可以根据用户给定的上联自动提供若干下联。机器诗歌生成主要基于简单的计算程序,采用连接随机生成词汇的方法,生成结果仅是一些词汇的堆砌,形象地被称为Word Salada.这种方法包括按照句子进行匹配和按照词进行匹配。按照句子进行匹配是根据现有的句子语料库,根据一个句子,在语料库中找到与之匹配的句子作为下一个句子,即按句子生成一首诗词。按照词进行匹配主要是对句子进行切分并建立语料库,在建立语料库的基础上,在选词算法中加入了句法和韵律方面约束,因此能够保证较好作品的产生.

对于分词,由于中文词与词之间没有明显的形态界限。因此决定了处理中文信息通常需要对中文文本进行切分。目前,主要的中文分词算法有词典分词方法、理解分词方法、统计分词方法、和组合分词算法。词典分词方法按照一定策略将待分析汉字串与词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。例如,中国科学院的ICTCLAS即属于此类。该方法需要确定三个要素:分词词典、扫描方向、匹配原则。根据扫描方向的不同,此类分词可分为正向匹配法和逆向匹配法;按照匹配长度的优先级,还可分为最大匹配法和最小匹配法。其中,常用的方法有正向最大匹配法(Maxinum Matching Mrthod,MM法)、逆向最大匹配法(Reverse Maxinum Matching Mrthod,RMM法)、双向匹配法(Bi-direction Matching Mrthod,BM法)、最佳匹配法(Optinum Matching Mrthod,OM法)、联想-回溯法(Association-Backtracking Method,AB法)等等;无词典分词方法不需要词典就可以得到分此结果,或者先通过粗切分得到最初结果然后进行基于概率统计的后处理技术获取最终的分词结果。本文将利用词典分词方法IKAnanlyzer进行中文分词。对于汉语古诗词的分词,需要对分词器的词典进行手动校正。最终的分词结果在分词精度、分词速度、系统可维护性、通用性、适应性几个方面可以很好的满足我们的分词需求。

发明内容

借鉴上述诗歌生成系统的主要原理,在我们的诗词自动生成系统中,使用按照词的生成方法,建立诗词语料库,通过对语料库进行搜索、修正在选词的过程中满足一定的条件,对自动生成进行了机器实现.通过我们的研究,能够弥补我国在诗歌自动生成学术性研究方面的不足.汉语古诗词计算语言学方面的研究成果相对较少,对机器创作诗词的系统性研究不多。本发明建立较完善的计算机模拟系统,使计算机模拟人类思维,自动生成诗词作品。

为了解决上述技术问题,本发明基于语料库和格律规则的汉语古诗词自动生成方法主要是根据诗词的特点,和诗句对应关系筛选并生成新的诗句,从而组成新的诗词,所建立的计算模型及其软件系统,初步实现了机器自动生成诗词的目标,对于给定的诗句,能够自动生成对应的诗句组成连贯的诗词;具体步骤如下:

步骤一、利用中文分词工具IKAnanlyzer对诗集中的所有诗词的的诗句按照标点符号作为句子之间的划分,从而对句子进行分词;

步骤二、将步骤一分词后的结果和原诗句的标点符号录入一诗句语料库中,其中,根据原诗句的标点符号将分词后的结果按照对句的形式录入;

步骤三、汉语古诗词自动生成的初始设置,包括:根据用户选择所要生成的诗词类型,输入第一句的诗词的诗句,利用中文分词工具IKAnanlyzer对输入诗句进行分词处理;所述诗词类型包括诗体和/或句数;所述诗体至少包括七言诗、五言诗、词格律,若诗词类型中只包括有诗体而没有句数,则需要用户决定需要生成的句数,结合诗体作为最终选择的诗词类型;系统默认生成的诗词类型为七言律诗;

步骤四、将步骤三分词处理结果得到的若干个词作为出现词,依次根据各个出现词检查一候选词库,若所述候选词库中没有该出现词,则:在诗句语料库中找出出现词的所有的对句,然后再在所有的对句中找对应位置的词,并统计该词出现的次数,以该次数作为频率,将频度大于1次的词作为候选词,将出现词添加到候选词库,同时在出现词的候选词集合中添加候选词;若候选词库中已经有该出现词,则得到出现词的候选词集合;

步骤五、根据用户选择的诗词类型和输入诗句生成一句诗句,包括:根据用户输入诗句的分词判断输入诗句的平仄及如果该诗词类型有押韵原则还包括所押韵,根据输入一句诗句中的出现词从后往前依次生成新词,并由新词组成新诗句;其中:在通过词共现的方法匹配单词的过程中,结合诗词的平仄规律和押韵规律,所述平仄和押韵规律的判断由用户输入诗句和用户选择的诗词类型决定;而且对于诗和词,诗词类型的决定方式不同:在诗中,用户输入的诗句的平仄和韵部决定整首诗的平仄和押韵规律,选择的诗词类型决定诗的字数和句数;在词中:用户输入诗句只决定押韵规律,而平仄规律由用户选择的诗词类型确定;

步骤六、将生成的新的诗句,作为给定诗句;

步骤七、重复步骤四至步骤六生成下一句诗句,直到满足步骤三中确定的诗词类型所对应的句数,至此生成了一首汉语古诗词。

与现有技术相比,本发明的有益效果是:

本发明设定灵活,根据用户需要选择不同类型的诗或词(七言诗:七古、七绝、七律。五言诗:五古、五绝、五律。词格律:忆王孙、如梦令、长相思等等)。本发明在自动生成的过程中充分的考虑到诗词的押韵和平仄的特点,结合这些特点生成的诗词,满足诗词的特有规律。本发明以词共现的方法生成诗句,共现词保证了诗句之间的相关性。同时,在词的选择上具有灵活性,根据不同的需要或标准在自动生成的结果上可能完全不同,得到不同风格类型的古诗词。生成的结果以用户给定的诗句作为第一句,结合用户设定的诗词类型为内部标准,生成满足平仄规律和押韵规律的后续诗句。并且诗句中的词大多前后相关,使每一联都保持一定的对仗性。

本发明主要是根据诗词的特点和诗句对应关系筛选并生成新的诗句,从而组成新的诗词,其中所建立的计算模型及其软件系统,初步实现了机器自动生成诗词的目标,对于给定的诗句,能够自动生成对应的诗句组成连贯的诗词。填补了我国在汉语古诗词自动生成领域方面的不足。

附图说明

图1是本发明中按照标点符号作为句子之间划分的研究对象内容示意图;

图2是本发明中关于“万里”的候选词的截屏示意图;

图3是本发明中关于“万里”的候选词集合的截屏示意图;

图4是本发明中诗句语料库的截屏示意图;

图5是本发明实施例中自动生成的一首七言古诗词的截面示意图。

具体实施方式

下面结合附图和具体实施例对本发明技术方案作进一步详细描述,所描述的具体实施例仅对本发明进行解释说明,并不用以限制本发明。

本发明以汉语古诗词为对象,对机器自动生成诗词的具体实现方法进行详细的说明。自动生成过程以汉语单词为单位,基于词共现的方法,通过结合诗词的平仄律和押韵规律得到最佳的生成诗句,并生成整首古诗词。

本发明一种基于语料库和格律规则的汉语古诗词自动生成方法,主要是根据诗词的特点和诗句对应关系筛选并生成新的诗句,从而组成新的诗词,具体步骤如下:

步骤一、利用中文分词工具IKAnanlyzer对诗集中的所有诗词的的诗句按照标点符号作为句子之间的划分,从而对句子进行分词。如对诗词蜀相中句子“出师未捷身先死”分词为“出师/未捷/身/先死/。”如图1所示。

步骤二、将步骤一分词后的结果录入诗句语料库,包括原来未分词诗句的标点符号,与分词结果一起计入语料库中。在录入诗句语料库时,根据原诗句的标点符号将分词结果按照对句的形式加入语料库。

步骤三、输入给定的诗句。该步骤三为自动生成的初始设置,根据用户选择所要生成的诗词类型,并输入第一句的诗词的诗句,利用中文分词工具IKAnanlyzer对输入诗句进行分词处理;所述诗词类型包括诗体和/或句数;诗词类型包括诗体(如七言诗、五言诗、词格律)和句数,大多数的诗体已经包含了规定的句数,对于没有规定句数的诗体(如:七古、五古),则需要用户决定需要生成的句数,结合诗体作为最终选择的诗词类型。系统默认生成的诗词类型为七言律诗。

步骤四、将步骤三分词处理结果得到的若干个词作为出现词(如“九曲黄河万里沙,”中的九曲、黄河、万里、沙作为出现词)。依次根据各个出现词检查一候选词库,若所述候选词库中没有该出现词,则:在诗句语料库中找出出现词(如“万里”)的所有的对句,然后再在所有的对句(如“秦时明月汉时关,万里长征人未还。”作为一个对句组合)中找对应位置的词(如“秦时”),并统计该词出现的次数,以该次数作为频率,将频度大于1次的词作为候选词,将出现词添加到候选词库,同时在出现词的候选词集合中添加候选词;若候选词库中已经有该出现词,则得到出现词的候选词集合;如图2截屏示意图是关于“万里”的候选词,图3是候选词集合的截屏示意图。

步骤五、根据用户选择的诗词类型和输入诗句生成一句诗句,包括:

根据用户输入诗句的分词判断输入诗句的平仄和所押韵(如果该诗词类型有押韵原则),根据输入一句诗句中的出现词从后往前依次生成新词(新词的选择结合步骤四的候选词结果和用户选择的诗词类型在该句所要满足的条件进行选择),并由新词组成新诗句;在通过词共现的方法匹配单词的过程中,需要结合诗词的平仄规律和押韵规律,所述平仄和押韵规律的判断由用户输入诗句和用户选择的诗词类型决定;而且对于诗和词,诗词类型的决定方式不同:在诗中,用户输入的诗句的平仄和韵部决定整首诗的平仄和押韵规律,选择的诗词类型决定诗的字数和句数;而在词中:用户输入诗句只决定押韵规律,而平仄规律由用户选择的诗词类型确定;

步骤六、将生成的新的诗句,作为给定诗句;

步骤七、重复步骤四至步骤六生成下一句诗句,直到满足步骤三中确定的诗词类型所对应的句数,至此生成了一首汉语古诗词。

实施例

1、诗词集合包含了资料中所有的诗词,集合中的诗词越多,在根据出现词得到的候选词集合就越大,并且越准确。所以应尽可能的扩大一开始诗词集合的范围。使用先秦到近代的诗人的古诗词作为整个训练集。对诗集中的所有诗句进行分词处理。

2、对分词结果录入诗句语料库,录入的过程中不需要记录原始诗句所在的诗词的名字,作者等信息,只需录入分词结果和分词诗句的标点符号。如图4截屏示意图所示的诗句语料库。

3、系统提示用户按要求输入诗句和希望生成的诗词类型。系统默认用户输入的诗句为第一句。诗词类型包括诗体(七言诗:七古、七绝、七律。五言诗:五古、五绝、五律。词格律:忆王孙、如梦令、长相思等等)和句数,大多数的诗体已经包含了规定的句数,对于没有规定字数的诗体(如:七古、五古),则需要用户决定需要生成的句数,结合诗体作为最终选择的诗词类型。最后的生成结果,得到的诗体将满足用户设定的诗体的押韵和平仄律的规则,句数也与用户的设定一致。

4、根据对用户输入诗句的分词处理结果:如,用户输入的诗句为“映阶碧草自春色”。在诗句语料库中找出出现词,如“映阶”的对句。然后再对句中找出该词对句对应位置的词,如“隔夜”,作为候选词,并统计出现了多少次,加入候选词表。在诗句生成的过程中,用户可以根据需要选择是否押韵,如果需要押韵,则以用户输入的诗句为第一句,根据首句入韵的原则生成第2,4,6,8句押韵的诗句。具体的做法是:根据用户输入诗句的末词,即最后一个词,使用汉语转拼音工具得到词中最后一个字的汉语拼音,如果该次只有一个字组成则得到组成该词的字的拼音,如果该词有多个字组成则得到最后一个字的汉语拼音信息。它包括声母,韵母和音调三个属性。对于得到的韵母根据平水韵规定的韵部划分进行分类,详见韵部对照表。如“映阶碧草自春色”,最后一个字的的韵母e,则得到相应的韵部为歌。

表1韵部对照表

韵部 韵母 韵部 韵母 ong,iong ei,ui eng,ueng,ing a,ia,ua ang,uang,iang o,uo en,in,un,vn ie,ve,ue an,ian,van,uan e ao,iao er ou,iu 支齐 i ai,uai 姑鱼 u

5、选择候选词表中的候选词的过程中。首先,根据用户输入诗句的分词判断输入诗句的平仄和所押韵,具体是先使用汉语转拼音工具得到古诗词的拼音,并根据拼音提取韵母和音调两个属性。押韵根据最后一个字的韵母所属的韵部作为所押的韵脚,诗句的平仄的判断:提取声调,根据现代汉语的发音标准,首先将汉字转化为汉语拼音,它包括四个声调(其中一声和二声属于平,三声、四声属于仄)。平仄调的组合应当满足以下的规律:一是两句之间的对应关系。同时在每一联中平仄组合在不同句子中出现规律呈现相对的关系,比如首联的两句,如果第一句的某一个位置的字对应的是平,那么第二句中对应位置的字的发音应当属于仄。二是平仄组合的方式有限,他们的区别体现在结尾两个字处(平仄,仄平,平平,仄仄)。根据诗词联的四个声调得到的实际平仄结构有时候并不完全满足四种之中的某一种平仄规则,这种不满足的情况是由于诗人在创作诗词过程中基于某种原因而放弃了严格遵守这种规则而形成的。这个时候,我们应当选择声调最接近的那个平仄规律。例如:如出现词东风后接词,可以选择的候选词依次有江南,流水,杨柳,往事等。东风的音调为一声,所以平仄结构是平平,所以他的对位候选词应当选择的是仄仄结构,候选词往事(三声四声)符合仄仄结构,因此选择东风后接词为往事(X X X X X东风,X X X X X往事)。在实际的生成过程中,若用户指定了平仄律和押韵规则,则首先根据输入句的最后一个词的候选词表选择对应词。优先选择满足韵部的词(在生成的第二句、第四句、第六句、第八句的过程中,在末词的选择过程中,对相应的候选列表中的十个词进行汉语转拼音的处理并得到候选词的末字的韵部信息。选择与首句韵部匹配的韵部的候选词作为将要生成的词),再选择满足平仄结构的词。在确定最后一个词后,从后往前依次根据出现词确定对应的词,并优先择满足平仄结构的词。若候选词中没有对应的满足韵部或平仄的词,则选择出现频率最多的词作为将要生成的词,若候选词中具有多个满足韵部或平仄的词,则在其中选择频率最高的词作为生成词。

6、将生成词组成新的诗句,作为输入的给定诗句,重复步骤4-6直到句数满足要求为止。如图5截屏示意图示出了自动生成的七言古诗词。

尽管上面结合图对本发明进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨的情况下,还可以作出很多变形,这些均属于本发明的保护之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号