本申请涉及计算机技术领域中的数据处理技术领域,尤其设计一种对联信息生成方法和装置。
背景技术:
每逢春节,张贴春联是中国人习俗,通常,用户根据网络上已有的对联进行搜索,确定出自己满意的对联。
然而,在网络上以后的对联中搜索,不但搜索量巨大而且难以快速找到用户满意的对联,因此,亟需一种可以为用户定制对联的智能生成方式。
技术实现要素:
本申请的第一个目的在于提出一种对联信息生成方法。
本申请的第二个目的在于提出一种对联信息生成装置。
本申请的第三个目的在于提出一种电子设备。
本申请的第四个目的在于提出一种存储有计算机指令的非瞬时计算机可读存储介质。
为达上述目的,本申请第一方面实施例提出了一种对联信息生成方法,包括:获取用户输入的文本信息,提取所述文本信息中包含的词序列;将所述词序列输入到第一深度学习模型,获取与所述文本信息对应的上联信息;将所述上联信息输入到第二深度学习模型,获取与所述上联信息对应的下联信息;获取至少一个候选横批信息,计算所述上联信息和所述下联信息与每个候选横批信息的相似度;根据所述相似度在所述至少一个候选横批信息中确定目标横批信息,从而生成包括所述上联信息、所述下联信息和所述目标横批信息的对联信息。
为达上述目的,本申请第二方面实施例提出了一种对联信息生成装置,包括:提取模块,用于获取用户输入的文本信息,提取所述文本信息中包含的词序列;第一获取模块,用于将所述词序列输入到第一深度学习模型,获取与所述文本信息对应的上联信息;第二获取模块,用于将所述上联信息输入到第二深度学习模型,获取与所述上联信息对应的下联信息;计算模块,用于获取至少一个候选横批信息,计算所述上联信息和所述下联信息与每个候选横批信息的相似度;生成模块,用于根据所述相似度在所述至少一个候选横批信息中确定目标横批信息,从而生成包括所述上联信息、所述下联信息和所述目标横批信息的对联信息。
为达上述目的,本申请第三方面实施例提出了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述实施例描述的对联生成方法。
为达上述目的,本申请第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述实施例描述的停车位数据的对联生成方法。
上述申请中的一个实施例具有如下优点或有益效果:
获取用户输入的文本信息,提取所述文本信息中包含的词序列,将词序列输入到第一深度学习模型,获取与文本信息对应的上联信息,将上联信息输入到第二深度学习模型,获取与上联信息对应的下联信息,进而,获取至少一个候选横批信息,计算上联信息和下联信息与每个候选横批信息的相似度,最后,根据相似度在至少一个候选横批信息中确定目标横批信息,从而生成包括上联信息、下联信息和目标横批信息的对联信息。由此,实现了对联的自动生成的智能化,且生成的对联与用户的个性化需求一致。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的对联生成方法的流程图;
图2是根据本申请第二实施例的对联生成场景图;
图3是根据本申请第三实施例的对联生成场景图;
图4是根据本申请第四实施例的对联生成场景图;
图5是根据本申请第五实施例的对联生成场景图;
图6是根据本申请第六实施例的对联生成装置的结构示意图;以及
图7是用来实现本申请实施例的对联生成方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本申请实施例的对联信息生成方法和装置。
具体而言,图1是根据本申请一个实施例的对联信息生成方法的流程图,在该方法中提供了一种定制化对联的智能生成方法,改进了现有技术中的用户主动搜索其满意的对联的人工对联获取方式,该方法结合预先训练的模型,快速精准的为用户生成与其个性化需求吻合的对联。
如图1所示,该方法包括:
步骤101,获取用户输入的文本信息,提取文本信息中包含的词序列。
其中,用户输入的文本信息可以包含一个关键词,也可以包含多个关键词,在本申请中,根据用户输入的文本信息为依据自动生成对联。
在不同的应用场景中,获取用户输入的文本信息的方式不同,作为一种可能的实现方式,开发与本申请的对联生成方法对应的应用,在该应用的界面上提供文本信息的输入框,可以在界面的有关区域显示该输入框的提示信息,以提示用户输入文本信息,以及输入文本信息的要求,比如,显示“请输入不大于4个字的文本信息,我们将为您生成对联”。
在获取到用户输出的有效的文本信息后,提取文本信息中包含的词序列,即可以将文本信息拆分为一个一个的分词生成词序列,也可以将文本信息拆分为一个一个的字,生成词序列。
在实际执行过程中,为了能够根据用户输入的文本信息把握用户的对联定制化需求,还可以对文本信息中的特殊分词进行处理。
作为一种可能的实现方式,判断文本信息中是否包含人名信息,若是包含人名信息,则识别人名信息中的姓信息和名信息,判断名信息是否大于预设阈值,以识别该名信息是否足够体现对应的文本是人名而不是其他词,其中,该预设阈值可以为2等,若是小于预设阈值,则为了强调该名信息对应的文字人名,复制名信息,并拼接名信息和复制后的名信息生成目标名信息,将文本信息中名信息删除,并将名信息替换为目标名信息。也就是说,将名信息简单的重复,若是名信息大于等于预设阈值,则保留该名信息。
步骤102,将词序列输入到第一深度学习模型,获取与文本信息对应的上联信息。
具体的,预先训练第一深度学习模型,该第一深度学习模型的输入可为词序列,输出为与该词序列对应的上联信息,因而,可以将获取的词序列输入到第一深度学习模型,获取与文本信息对应的上联信息。
其中,由于将词序列输入到第一深度学习模型后,任由第一深度学习模型产出而不加任何限制,会出现上联信息中文字的大量重复,例如:输入的词序列为:春光,在可能会输出:春光无限春光无,这种重复在7-9字春联中十分影响整体效果,所以我们在第一深度学习模型解码过程中加入了重复限制,一个上联信息中只允许一个字重复,且最多重复两次,加完限制后效果:“春光”对应的上联信息为“春光无限江山秀”。
在本申请的一个实施例中,为了避免一些生僻字由于没有预先得到训练,导致第一深度学习模型无法输出与其对应的准确的上联信息,还可以对一些特殊的生僻字进行语义扩展处理。
具体而言,将词序列中包含的每个分词,与预设高频词集合中的多个高频词进行语义匹配,其中,高频词集合中包括高频词,该高频词参与第一深度学习模型的训练,进而,判断预设高频词集合中,是否包含与每个分词的匹配度大于预设阈值的目标高频词,若包含,则将对应的分词替换为目标高频词。由此,将一些生僻字替换为语义相同的高频词,比如,将“咏春”替换为“武术”,将“当红”替换为“流行”等这样既能满足语义层面最大程度的匹配,又能确保生成的对联符合要求,对于没有匹配到高频词的分词,仍然采用该分词本身作为输入。
在本申请的一个实施例中,当词序列中包含姓名信息,则将名信息与预设的高频词集合中高频词进行语义匹配,若是获取到匹配成功的高频词,则将对应的名信息替换为对应的高频词。
步骤103,将上联信息输入到第二深度学习模型,获取与上联信息对应的下联信息。
可以理解,预先训练得到第二深度学习模型,该第二深度学习模型可以通过输入的上联信息得到下联信息。
当然,类似于上联信息的生成过程,下联信息生成的过程中同样会有很多不确定因素。首先最大的问题是,单纯依靠第二深度学习模型,上下联的字数会不同;其次上下联信息对应字的对仗会不工整;最后生成下联的时候也会出现字重复问题。在第二深度学习模型解码过程中,首先会确保在第二深度学习模型生成字数未达到要求时(即同上联字数相同),解码不会终止。其次,预先根据大量春联语料统计出每个字可能对仗的候选,在解码时,如果输入的词有候选,那我们只预测候选词的概率,否则预测整个词表中所有词的概率。这在一定程度上会缩短解码时间,提升产品并发性能。举例而言,当上联信息获取后,对上联信息切词处理,生成多个分词,每个分词包括至少一个字,如图2所示,将每个分词与预设的候选词数据库匹配,该候选词数据库中存储有分词与最相似可能对仗的候选词的对应关系,若是获取到匹配成功的候选词,则将该候选词作为第二深度模型的解码端考虑的输出分词。比如,将其他非候选词的注意力值设置为0,将候选词的注意力值调高等。
最后对于重复字,不同于上联信息的处理流程,下联只能在上联重复字对应的位置上重复,其余位置均不能重复。例如:上联信息为“春草满庭吐秀,花花遍地迎春”,则生成的下联信息为“春草满庭吐秀,神州遍地迎春”。
其中,如图3所示,第二深度学习模型包括解码端和编码端,其中,编码端输入的是上联信息的词序列向量,编码端输出的是下联信息,而由于可以使用上联信息和下联信息句对对第二深度学习模型进行训练,但由于高质量的训练数据有限,很难得到高性能的第二深度学习模型,此时面临的问题类似于低资源机器翻译系统的训练,为了解救该技术问题,本申请中使用大量单语数据第二深度学习模型的编码端,然后在高质量的语言对上进行微调。从而,由于编码端是双向编码,所蕴含的语义信息更丰富,采用更深的网络结构效果更好。
即使用大量的单语数据训练好的模型作为编码端,再使用上联和下联句对再对第二深度学习模型进行微调。需要注意的是,编码端和解码端所使用的学习率不同,解码端学习率和transformer变化情况一致,而编码端学习率是解码端学习率的三分之一,这样做的目的是为了尽量保持编码端语义信息的完整性。
也即是说,如图4所示,在本申请的一个实施例中,将上联信息输入到预先训练的语义理解模型,该语义理解模型即为上述使用但与预料训练得到的模型,获取与上联信息对应的语义编码,该语义编码富含了上联信息丰富的语义信息,将语义编码输入到第二深度学习模型中的解码端,获取下联信息,此时获取到的下联信息与上联信息较为匹配,质量较高。
其中,在语义理解模型的训练阶段,可以获取满足预设对联条件的样本上联信息和样本上联信息的标注语义信息,其中,预设对联条件为对联字数条件,比如对联字数大于7小于12个字,对样本对联信息切词处理获取样本词序列,将样本词序列输入预先构建的语义理解模型,获取训练语义信息,计算训练语义信息对应的标注语义信息的匹配度,当匹配度大于预设阈值时完成对预先构建的语义理解模型的训练。
其中,为了避免预先构建的语义理解模型的训练过拟合,可以使用dropout,earlystop等策略,增加验证的频率,来选取最优的模型。
举例而言,将当前样本上联信息输入到语义理解模型后,计算对应的匹配度,比较当前样本上联信息的匹配度与上一次输入的样本上联信息的匹配度,若是匹配度降低了,则停止训练语义理解模型。
在对语义理解模型训练时,为了提升对联生成的效果,减少训练集合中未出现的分词对于模型的影响,可以离线计算出常用词同训练的样本上联信息中切词后词的相似度。即计算样本词序列中的样本词,与预设常用词汇集中的每个常用词的语义相似度,在常用词汇集中确定语义相似度大于预设阈值的目标常用词,根据目标常用词替换样本词序列中的对应样本词,获取修正样本词序列,根据修正样本词序列修正训练完成后的语义理解模型。
其中,在不同的应用场景下,根据修正样本词序列修正训练完成后的语义理解模型的方式不同,示例如下:
作为一种可能的实现方式,直接使用修正样本词序列再次训练根据样本词序列训练后的语义理解模型。如此训练后的语义理解模型,对原始的样本词序列和的修正样本词序列的特点均可以体现。
作为另一种可能的实现方式,将修正样本词序列输入到预先训练的语义理解模型,获取语义的匹配度,进而,将该语义匹配度与原始的样本词序列的语义匹配度比较,将匹配度大的样本词序列作为最后的训练样本词序列训练语义理解模型。
在一些可能的示例中,考虑到以bert、xlnet为代表的无监督预训练技术在多个自然语言处理任务上取得了技术突破。基于大规模数据的无监督预训练技术在自然语言处理领域变得至关重要。ernie2.0支持增量引入不同角度的自定义预训练任务,可以捕捉语料中词法、语法、语义等信息。这些任务通过多任务学习对模型进行训练更新,每当引入新任务时,该框架可在学习该任务的前提下,不遗忘之前学到过的信息。ernie框架支持随时引入各种自定义任务,这些任务共享相同的编码网络并通过多任务学习实现训练。这种多任务学习的方法使得不同任务中词汇、句法和语义信息的编码能共同学习。此外,当我们给出新的任务时,ernie2.0框架可以根据先前预训练的权重增量地学习分布式表征。ernie2.0框架是基于预训练/微调架构构建的,这种架构在nlp中非常流行。ernie2.0与bert或xlnet等经典预训练方法的不同之处在于,它并不是在少量的预训练任务上完成的,而是通过不断引入大量预训练任务,从而帮助模型高效地学习词汇、句法和语义等表征信息。
因此,可以大量的单语数据训练ernie2.0作为本申请实施例的语义理解模型。
在本示例中,结合对语义理解模型和第二深度学习模型的共同训练进行举例,如图5所示,通过定点网站的挖掘和人工收集,过滤掉字数不符合的对联。使用黄反策略,识别出劣质对联并过滤掉。对上联进行分词,只保留词长度在2-4个字之间的上联信息,形成分词与上联信息的匹配对,并对其上联分词作为关键词生成上联的候选训练语料。如上联信息为“百花齐放春光好”,生成的候选训练语料则为“百花-百花齐放春光好”。第二深度学习模型的候选训练语料为一组对联分词处理后得到的上述候选训练语料结果。
由于对联的一大特点就是平仄协调,为了能让第二深度学习模型学习到平仄关系,从候选训练语料中只挑选了满足平仄的对联作为训练语料。具体做法为:对于上联信息和下联信息的最后一个字,查拼音表,如果上联信息最后一个字为第三或第四声,下联最后一个字为第一或第二声,则保留这幅对联,否则删除这条候选训练语料。对于多音字,我们取其常用发音。
进而,根据上述候选训练语料训练第二深度学习模型,并且,从候选训练语料中挑选出样本上联信息和样本上联信息的标注语义信息来训练语义理解模型。
需要说明的是,不同于平常深度学习序列到序列模型使用分词后的结果作为输入,本实施中采用基于分词的序列模型训练语义理解模型和有关深度学习模型,这样做的原因在于,对联中上下联对仗工整,并且每个位置上的字都有对仗关系,即将输入的上联信息等拆分为一个一个的分词,挨个样本分词的输入到对应的第二深度学习模型,获取到与每个分词对应的同样字数的下联的分词。其次,在对联上切词很容易切出单字这会造成词表巨大,反而不利于训练。因为上联样本数据等规模不大,为了防止过拟合,在训练语义理解模型时加入了dropout,earlystop等策略,增加验证的频率,来选取最优的模型。
如上文所述,为了提升对联效果,减少样本上联信息集合中未出现的字对于模型的影响,离线计算出常用词汇同样本上联信息中切词后词(长度在2-4个字之间)的相似度,将样本上联信息中的样本分词替换为相似度较高的常用词训练模型。相似度计算时,我们使用了simnet框架进行语义匹配计算。考虑到最长可能会输入4个字,我们也将成语进行了提前计算,从百度百科中抓取下来4字词语,根据词条类别判断,只保留类别为词汇的那些。由于四字成语具有不同的形式,例如:兴高采烈(abcd),高高兴兴(aabb),大吉大利(abac),考虑到样本上联信息在训练中会将成语切分开,对于abcd型成语,我们将成语分成ab和cd分别同对联中的词算相似度,再将结果合并,只保留相似度高的分词;对于aabb型成语,我们只计算ab同对应的样本分词的语义相似度;abac型只计算bc的同样本分词的语义相似度。
在语义理解模型训练完成后,将其作为第二深度学习模型的解码端,对第二深度学习模型的编码端到解码端微调,以便于根据上联信息输入到语义理解模型生成对应的编码,将编码输入到第二深度学习模型的节目单获取到对应的下联信息。
步骤104,获取至少一个候选横批信息,计算上联信息和下联信息与每个候选横批信息的相似度。
具体的,在获取到下联信息后,获取至少一个候选横批信息,以便于在至少一个横批信息中选取目标横批信息。
其中,可以在对上联信息和下联信息切词处理,获取多个对联分词;
在预设数据库中,确定与多个对联分词包括重复分词的至少一个候选横批信息,统计至少一个候选横批信息中每个候选横批信息对应的重复分词的数量,计算重复分词的数量和多个对联分词的比值,根据比值确定上联信息和下联信息与每个候选横批信息的相似度,以便于根据该相似度确定目标横批信息。
举例而言,首先将上联信息和下联信息和每个候选横批信息进行分词,其次通过jaccarddistance来计算最相似的目标横批信息,其中,jaccarddistance的计算公式为公式(1):
其中a为上下联信息分词后的分词集合,b为每个候选横批信息分词后的集合,按照得分从高到低排序,选择分数最高的候选横批信息。正如jaccarddistance公式所示,很容易出现分子为0,对于这类情形,我们会随机选择一个候选横批信息作为目标横批信息。
步骤105,根据相似度在至少一个候选横批信息中确定目标横批信息,从而生成包括上联信息、下联信息和目标横批信息的对联信息。
具体的,在根据相似度在至少一个候选横批信息中确定目标横批信息的方式,如以上实施例所示,选择相似度最高的一个候选横批信息,或者判断每个候选横批信息的相似度是否大与预设阈值,若是没有大于预设阈值的候选横批信息,则随机选择一个候选横批信息组委目标横批信息,生成包括上联信息、下联信息和目标横批信息的对联信息后,可以将对对联信息显示在上述提到的对联生成界面上。
综上,本申请实施例的对联信息生成方法,获取用户输入的文本信息,提取所述文本信息中包含的词序列,将词序列输入到第一深度学习模型,获取与文本信息对应的上联信息,将上联信息输入到第二深度学习模型,获取与上联信息对应的下联信息,进而,获取至少一个候选横批信息,计算上联信息和下联信息与每个候选横批信息的相似度,最后,根据相似度在至少一个候选横批信息中确定目标横批信息,从而生成包括上联信息、下联信息和目标横批信息的对联信息。由此,实现了对联的自动生成的智能化,且生成的对联与用户的个性化需求一致。
为了实现上述实施例,本申请还提出了一种对联信息生成装置,图6是根据本申请一个实施例的对联信息生成装置的结构示意图,如图6所示,该对联信息生成装置包括:提取模块10、第一获取模块20、第二获取模块30、计算模块40和生成模块50,其中,
提取模块10,用于获取用户输入的文本信息,提取文本信息中包含的词序列;
第一获取模块20,用于将词序列输入到第一深度学习模型,获取与文本信息对应的上联信息;
在本申请的一个实施例中,第一获取模块20,具体用于:
将上联信息输入到预先训练的语义理解模型,获取与上联信息对应的语义编码;
将语义编码输入第二深度学习模型中的解码端,获取下联信息。
第二获取模块30,用于将上联信息输入到第二深度学习模型,获取与上联信息对应的下联信息;
计算模块40,用于获取至少一个候选横批信息,计算上联信息和下联信息与每个候选横批信息的相似度;
在本申请的一个实施例中,计算模块40具体用于对上联信息和下联信息切词处理,获取多个对联分词;
在预设数据库中,确定与多个对联分词包括重复分词的至少一个候选横批信息;
统计至少一个候选横批信息中每个候选横批信息对应的重复分词的数量;
计算重复分词的数量和多个对联分词的比值,根据比值确定上联信息和下联信息与每个候选横批信息的相似度。
生成模块50,用于根据相似度在至少一个候选横批信息中确定目标横批信息,从而生成包括上联信息、下联信息和目标横批信息的对联信息。
需要说明的是,前述对对联生成方法的解释说明,也适用于本发明实施例的对联生成装置,其实现原理类似,在此不再赘述。
综上,本申请实施例的对联信息生成装置,获取用户输入的文本信息,提取所述文本信息中包含的词序列,将词序列输入到第一深度学习模型,获取与文本信息对应的上联信息,将上联信息输入到第二深度学习模型,获取与上联信息对应的下联信息,进而,获取至少一个候选横批信息,计算上联信息和下联信息与每个候选横批信息的相似度,最后,根据相似度在至少一个候选横批信息中确定目标横批信息,从而生成包括上联信息、下联信息和目标横批信息的对联信息。由此,实现了对联的自动生成的智能化,且生成的对联与用户的个性化需求一致。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的对联信息生成方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的对联信息生成方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的停车位数据的有效性识别的方法对应的程序指令/模块。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的对联信息生成方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行停车位数据的有效性识别的方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
为了实现上述实施例,本申请还提出了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如上述实施例所描述的对联生成方法。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。