CN101253496A - 生成汉语对联 - Google Patents

生成汉语对联 Download PDF

Info

Publication number
CN101253496A
CN101253496A CNA2006800321330A CN200680032133A CN101253496A CN 101253496 A CN101253496 A CN 101253496A CN A2006800321330 A CNA2006800321330 A CN A2006800321330A CN 200680032133 A CN200680032133 A CN 200680032133A CN 101253496 A CN101253496 A CN 101253496A
Authority
CN
China
Prior art keywords
couplet
word
line
computer
distich
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.)
Pending
Application number
CNA2006800321330A
Other languages
English (en)
Inventor
M·周
H-Y·沈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101253496A publication Critical patent/CN101253496A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/53Processing of non-Latin text

Abstract

提供了构造汉语对联,具体是在给定上联的情况下构造下联的方法。该方法包括语言模型、词语类转换模型以及诸如互信息值的词语关联信息,该值可用于以后生成汉语对联的下联。可使用隐马尔科夫模型(HMM)生成候选。接着可以使用最大熵(ME)模型来重新排列候选,以在给定上联的情况下生成一个或多个合理的下联。

Description

生成汉语对联
发明背景
人工智能是制造智能机器尤其是计算机程序的科学和工程。人工智能的应用包括玩游戏诸如国际象棋以及语音识别。
称为“dui4-lian2”(在拼音中)的汉语对联被认为是重要的中国文化遗产。千百年以来,对联的教学是传统汉语教学的重要方法。通常,对联包括用书法书写在垂直的红色条幅上的两个短语或句子,通常放在门的两边或放在大厅里。这种对联通常在诸如结婚或春节期间(即中国新年)的特殊场合期间展示。其他类型的对联包括寿联、挽联、装饰联、行业或其他交际联等。对联也可以带有横批,通常放在垂直条幅之间的门上方。横批一般包括相关联对联的概括主题。
汉语对联使用浓缩的语言,但是具有深刻的、有时是矛盾的或双重含义。组成对联的两个句子可以被称为“上联”和“下联”。
汉语对联的一个示例是“海阔凭鱼跃”和“天高任鸟飞”,其中上联是“海阔凭鱼跃”,而下联是“天高任鸟飞”。第一和第二句子的各个词语的对应关系如下所示:
  海(sea)--------------天(sky)阔(wide)-------------高(high)凭(allows)-----------任(enable)鱼(fish)-------------鸟(bird)跃(jump)-------------飞(fly)
对联可以具有不同的长度。较短的对联可以包括一个或两个字,而较长的对联可以达到几百个字。对联也可以具有不同的形式或相对的含义。例如,一种形式可以包括具有相同含义的上联和下联。另一种形式可以包括具有相反含义的上下联句子。
然而,不论哪种形式,汉语对联一般符合以下规则或原理:
原理1:对联的两个句子通常具有相同数目的词语和汉字总数。在说话时,每个汉字具有一个音节。汉语词语可以具有一个、两个或多个字,因此可以具有一个、两个或多个音节的发音。上联的每个词语应该具有与下联中相应词语相同数量的汉字。
原理2:声调(例如汉语中的“Ping”(平)和“Ze”(仄))一般是一致的且和谐的。传统的习惯是上联结尾处的字应该是“仄”(在汉语中称为“Ze”声调)。这种声调是用急剧下降的声调(sharp downward tone)发音。下联结尾处的字应该是“平”(在汉语中称为“Ping”声调)。这种声调是用水平声调发音。
原理3:下联中词语的词性应该与上联中相应的词语相同。换言之,上联中的名词应该对应于下联中的名词。这对动词、形容词、数词、副词等也是一样的。此外,对应的词语必须位于上联和下联中的相同位置中。
原理4:下联的内容应该与上联互相关联,且第一和下联中内容不能重复。
说汉语的人通常参与创作新对联作为一种形式的娱乐。一种形式的消遣是一个人作出上联,并挑战其他人当场创作合适的下联。因此,创作下联挑战了参与者的语言、创造性和其他智力能力。
相应地,自动生成汉语对联,具体是在给出上联后生成下联会是人工智能的一种合适且倍受喜爱的应用。
以上讨论仅提供了一般的背景信息,并不旨在用于协助确定所作权利要求的主题的范围。
发明内容
提出了一种在给出汉语对联的上联的情况下,生成下联的方法。方法包括构造语言模型、词语类转换(word translation-like)模型以及诸如互信息值的词语关联信息,互信息值稍后可用于生成汉语对联的下联。提出了隐马尔科夫模型(HMM),可用于基于语言模型和词语类转换模型生成候选。同样地,词语关联值或句子评分(诸如互信息)可用于改进候选的选择。接着可以使用最大熵(ME)模型来重新排列候选者,以在给定上联的情况下生成一个或多个合理的下联。
提供该概述是为了以简化的形式引入各种概念,这些概念会在以下详细描述中作进一步的描述。本概述并不旨在标识所作权利要求的主题的关键特征或必要特征,也不旨在用于协助确定所作权利要求的主题的范围。
附图说明
图1是其中可实现本发明的一个计算环境的框图;
图2是示出本发明的宽泛的各方面的概观流程图;
图3是用于用对生成下联有用的信息扩充词汇知识库的系统的框图;
图4是用于执行下联生成的系统的框图;
图5是示出词汇知识库的扩充的流程图;
图6是示出下联的生成的流程图。
说明性实施例的详细描述
自动生成汉语对联是自然语言处理的应用,具体是人工智能的演示。
方法的第一方面提供了用诸如概率信息的在给定汉语对联的上联的情况下对生成下联有用的信息扩充词汇知识库。第二方面,引入用于生成候选下联的隐马尔科夫模型(HMM)。第三方面,引入最大熵(ME)模型来重新排列候选的下联。
在解决该方法的其他方面之前,一般地描述可用于实现本发明的计算设备会是有用的。图1示出了其上可实现本发明的合适的计算系统环境100的示例。计算系统环境100仅是合适的计算环境的一个示例,并不旨在提出对本发明的使用范围或功能的任何限制。也不应该把计算环境100解释为对示例性操作环境100中所示的任一组件或其组合有任何的依赖或要求。
本发明可用许多其他通用或专用计算系统环境或配置操作。适合与本发明一起使用的公知的计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、移动电话、网络PC、小型计算机、大型计算机、电话系统以及包括任何以上系统或设备的分布式计算环境等等。
本发明可以在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。本领域的技术人员可以将这里提供的描述和附图实现为处理器可执行指令,所述处理器可执行指令可以写到任何形式的计算机可读介质上。
本发明也可以在通过通信网络链接的远程处理设备执行任务的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机程序介质中。
参考图1,用于实现本发明的示例性系统包括计算机110形式的通用计算设备。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的任一种的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、高级图形端口(AGP)总线、以及外围部件互连(PCI)总线(也称为附夹板(Mezzanine)总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机100访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、射频(RF)红外线和其它无线介质。任何上述的组合也包括在计算机可读介质的范围内。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机100内的元件之间传输信息的基本例程,它通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图1示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器141、对可移动、非易失性磁盘152进行读写的磁盘驱动器151,以及对可移动、非易失性光盘156,如CD ROM或其它光介质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字通用盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
上文讨论并在图1示出的驱动器及其关联的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以各自与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。在图1中对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。
用户可以通过输入设备,如键盘162、话筒163以及定点设备161(诸如鼠标、跟踪球或触摸垫)向计算机100输入命令和信息。其它输入设备(未示出)可包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。除了监视器之外,计算机还可包括其它外围输出设备,诸如扬声器197和打印机196,它们通过输出外围接口190连接。
计算机110可以使用到一个或多个远程计算机,如远程计算机180的逻辑连接在网络化环境中操作。远程计算机180可以是个人计算机、手持式设备、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并通常包括许多或所有相对于计算机110所描述的元件。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这类网络环境常见于家庭、办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过WAN 173,如因特网建立通信的其它装置。调制解调器172可以是内置或外置的,它通过用户输入接口160或其它适当的机制连接至系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可远程地储存在诸如远程存储设备中。作为示例而非局限,图1示出远程应用程序185驻留在存储器设备180上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它手段。
概述
本发明涉及自然语言对联,具体是在给定对联的上联的情况下生成下联。为此,构造可供以后访问来执行下联生成的词汇信息。图2是示出宽泛方法200的概观流程图,方法200包括使用以后用于执行步骤204的信息来扩充词汇知识库的步骤202,步骤204为在206处接收到的上联生成适合的下联。图3和4分别示出了用于执行步骤202和204的系统。图5和6分别是一般对应于图3和4的流程图。
给定示为UP={u1,u2,...,un}第一句子,UP意为“上联”(第一句),目的是寻找示为BP={b1,b2,...,bn}的句子,使得p(BP|UP)最大化。BP意为“下联”(第二句)。形式上,使得p(BP|UP)最大化的下联可以如下表示:
BP * = arg max p BP ( BP | UP ) 公式1
按照贝叶斯定理, p ( BP | UP ) = p ( UP | BP ) p ( BP ) p ( UP ) 这样使得
BP * = arg max p BP ( BP | UP )
= arg max p BP ( UP | BP ) p ( BP ) 公式2
其中表达式P(BP)通常被称为语言模型,而P(UP|BP)通常被称为转换模型。可以认为P(BP)的值是下联的概率,而可以认为P(UP|BP)是将UP转换成BP的概率。
转换模型
在汉语对联中,在ui和bi之间一般存在直接的一对一映射关系,ui和bi分别是上联和下联中相应的词语。因此,UP中的第i个词语被转换成或对应于BP中的第i个词语。假设词语的独立转换,那么词语转换模型可以如下表示:
p ( UP | BP ) = Π i = 1 n p ( u i | b i ) 公式3
其中n是一联句子中的词语数目。这里p(ui|bi)表示词语转换概率,在HMM模型中通常称为发散概率。
可以基于在诸如在唐诗中找到的某些句子(例如某些四句诗中的内两个句子或某些八句诗中的内四个句子)等各种文学资源中找到的汉语对联组成的训练语料库来估算p(ui|bi)的值,并可以用以下公式表示:
p ( u r | b i ) = count ( u r , b i ) Σ r = 1 m count ( u r , b i ) 公式4
其中m是每个可以映射到每个词语bi的第i个状态不同词语的数目。
然而,由于现有汉语对联的训练数据或语料库大小有限,因此会发生数据稀少的问题。因此,有些词语在训练数据的上联中可能不存在。同样地,上联中的有些词语会在下联中缺乏相应的词语。为了克服数据稀少的问题,可以如下应用平滑:
(1)给定汉语词语bi,对于在训练数据中找到的词语对<ur,bi>,给定bi的情况下ur的发散概率可以如下表示:
p(ur|bi)=p(ur|bi)×(1-x)            公式5
其中p(ur|bi)是转换概率,可以使用公式4和x=Ei/Si来计算,其中Ei是对应于bi仅出现一次的词语的数目,Si是对应于训练数据中的bi的训练语料库的上联中的词语的总数。
(2)对于在训练语料库中没有遇到的上联词语ur,发散概率可以如下表示:
p ( u r | c i ) = x M - m i 公式6
其中M是在语言学上可以与bi映射的所有词语的数目(在词典中定义的),mi是训练语料库中可以映射到bi的不同词语的数目。对于给定的汉语词典,表示为∑,在语言上可以与bi映射的词语集合,表示为Li,应该符合以下限制:
Li中的任何词语应该与bi具有相同的词汇类别或词性;
Li中的任何词语应该与bi具有相同的字数;
Li中的任何词语应该与bi具有合理的语义关系。合理语义关系包括同义词、相似含义、相反含义等。
(3)作为(2)的特殊情况,对于在训练语料库中没有遇到的新词语bi,转换概率可如下表示:
p(ur|bi)=1/M        公式7
语言模型
可以从训练数据中构造三元模型以估算语言模型P(BP),可以如下表示:
p ( BP ) = p ( b 1 ) &times; p ( b 2 | b 1 ) &Pi; i = 3 n p ( b i | b i - 1 , b i - 2 ) 公式8
其中一元值p(bi),二元值p(b2|b1)和三元值p(bi|bi-1,bi-2)可用于估算序列bi-2,bi-1,bi的可能性。这些一元、二元和三元概率在HMM模型中通常被称为转换概率,并且可以使用最大可能性估算来如下表示:
p ( b i ) = count ( b i ) T 公式9
p ( b i | b i - 1 , b i - 2 ) = count ( b i , b i - 1 , b i - 2 ) count ( b i - 1 , b i - 2 ) 公式10
p ( b i | b i - 1 ) = count ( b i , b i - 1 ) count ( b i - 1 ) 公式11
其中T是训练语料库的下联中词语的数目。
对于上述的转换模型,数据稀疏的问题关于语言模型是适用的。因此,可以应用线性内插法来使得语言模型变得平滑,如下所示:
p(bi|bi-1,bi-2)=λ1p(bi)+λ2p(bi|bi-1)+λ3p(bi|bi-1,bi-2)    公式12
其中系数λ1、λ2,、λ3是通过训练语言模型得到的。
词语关联评分(例如互信息)
此外,对于上述的语言模型和转换模型,诸如互信息(MI)值的词语关联评分可以用于生成合适的下联。对于下联,表示为BP={b1,b2,...,bn},BP的MI评分是BP的所有词语对的MI的总和。每个词语对的互信息如下计算:
I ( X ; Y ) = &Sigma; x &Sigma; y p ( x , y ) log p ( x , y ) p ( x ) p ( y ) 公式12
其中(X;Y)表示BP的词语对的所有组合的集合。对于各个词语对(x,y),可以将公式12简化如下:
I ( x ; y ) = p ( x , y ) log p ( x , y ) p ( x ) p ( y ) 公式13
其中x和y是字典∑中的各个词语。
与转换模型和语言模型一样,汉语对联的训练语料库可用于估算互信息参数,如下所示:
p(x,y)=p(x)p(y|x)        公式14
p ( x ) = CountSen ( x ) NumTotalSen 公式15
p ( y ) = CountSen ( y ) NumTotalSen 公式16
p ( y | x ) = CountCoocur ( x , y ) CountSen ( x ) 公式17
其中CountSen(x)是包括词语x的句子的数目(包括上联和下联);CountSen(y)是包括词语y的句子的数目;CountCoocur(x,y)是同时包括词语x和y的句子的数目(上联或下联);而NumTotalSen是训练数据或语料库中上联和下联的总数。
词汇知识库的扩充
再参考以上介绍的图3和5,图3示出了能够执行图2中所示的步骤202的系统。图5示出了依照本发明且一般地对应于图3的词汇知识库的扩充的流程图。
在步骤502处,词汇知识库构造模型300接收到汉语对联语料库302。汉语对联语料库302可以从上述任何输入设备以及从上述任何数据存储设备接收。
在多数实施例中,汉语对联语料库302包括诸如当前存在于汉语文学中的汉语对联。例如,某些形式的唐诗包含可以是适当的语料库的大量汉语对联。汉语对联语料库203可以从出版物和网络资源处获得。在实际的实践简化中,从各种汉语文学资源获取了40000以上的汉语对联用作训练语料库或数据。在步骤504处,词语分割模型305对汉语语料库304执行词语分割。通常,词语分割是通过使用分析程序305和访问语料库302的语言中存在的词语的词典306来执行的。
在步骤506处,计数器308对上联中直接映射到下联中对应的词语bi的词语ur(r=1,2,...,m)计数,如310处所示。在步骤508处,计数器308对一元bi、二元bi-1,bi和三元bi-2,bi-1,bi计数,如312处所示。最后,在步骤509处,计数器308对具有各个词语x或y以及词语对x和y的共同出现的所有句子(上联和下联)计数,如314处所示。计数信息310、312和314被输入到参数估算模块320以供进一步处理。
在步骤510处,如以上进一步详细描述的,词语转换或对应概率训练器322估算具有概率值或评分p(ur|bi)的转换模型360,如326处所示。在多数实施例中,训练器322包括访问词典306以使得转换模型360的概率值326平滑的平滑模块324。
在步骤512处,词汇知识库构造模块300构造包括词语列表和对应于列表中每个词语的一个或多个词语的集合的转换字典或映射表328。映射表328扩充词汇知识库301(如在358处所示),作为用于以后处理具体是下联生成的词汇资源。
在步骤514处,如上述进一步详细描述的,词语概率训练器322从在336处所示的概率信息构造语言模型362。词语概率训练器322可以包括平滑模块334,平滑模块334可以使得概率分布变得平滑,如上所述。
在步骤516处,词语关联构造模块342构造包括词语关联信息344的词语关联模型364。在许多实施例中,这种词语关联信息可以用于生成词语对之间的互信息评分,如上所述。
图4是用于执行下联生成的系统的框图。图6是从上联生成下联并且一般地与图4对应的流程图。
候选生成
在步骤602处,下联生成模块400从上述任何输入或存储设备接收上联402。在多数实施例中,上联402是汉语的,并且具有典型的汉语对联的上联的结构。在步骤604处,解析器305解析上联402以生成各个词语u1,u2,...,un,如404处所示,其中n是上联402中词语的数目。
在步骤606处,包括词语转换模块411的候选者生成模块410通过访问转换字典或映射表358执行对上联402中每个词语ui(i=1,2,...,n)的词语查找。在多数实施例中,映射表358包括词语ji的列表,其中i=1,2,...,D而D是映射表中条目的数目。映射表358也包括可能的词语kr的对应列表,其中r=1,2,...,m而m是每个词语ji的不同条目的数目。在查找期间,词语转换模块411使得词语ui与映射表358中的条目ji相匹配,并从头至尾链接映射的词语以形成“点阵”。可能的候选下联可以被视为通过点阵的“路径”。在步骤608处,词语转换模块411输出包括通过点阵的一些或所有可能的序列或路径的候选下联412的列表。
候选过滤
过滤器414、416、418通过应用所有汉语对联一般遵循的某些语言规则(如下所述)来限制候选的生成。应该注意过滤器414、416、418可以按照需要单独或以任何组合使用或全部去除。
在步骤610处,词语或字重复过滤器414过滤候选412以限制候选的数目。过滤器414基于与词语或字重复相关的各种规则来过滤候选。一个这种规则要求如果有相同的上联词语,那么下联中的词语也应该相同。例如,在上联中:人行道上道行人,字“人”、“行”、“道”是重复的。合理的下联也应该包含相应的重复词语。例如,可能的下联“天在山中山在天”会是合理的,因为“天”、“在”、“山”分别对应于“人”、“行”、“道”,并且是以相同的方式重复的。可以使用下表更清楚地看到重复的上联和下联词语之间的对应关系。
  人---------天行---------在道---------山上---------中道---------山
  行---------在人---------天
因此,字“人”(在第一和最后的位置上)在整个上联中出现两次,对应的字“天”在下联的相应位置上也出现两次。这对于“行”和“在”(在第二和第六个位置)以及“道”和“山”(在第一和第五个位置)之间的对应关系也是一样。
在步骤612处,不重复映射过滤器416过滤候选412以进一步限制候选的下联。因此,如果在上联中没有相同的词语,那么相应地,下联应该没有相同的词语。例如,考虑上联是“千秋崇尚孝廉志”,第一个位置的字“千”没有重复。因此,提议的下联“万万不回贤士人”(其中第一个位置中的万出现两次)应该被过滤掉。
在步骤614处,上联词语不重复过滤器418过滤候选412以进一步限制候选412的数目。过滤器418确保在上联402中出现的词语不会再在下联中出现。例如,考虑上联“日丽风和春意暖”。下联“风清日暖蓓蕾春”(其中字“日”同时出现在上联和下联中)会被过滤,因为违反了出现在上联中的字不应该出现在下联中的规则,并因此被过滤。
相似地,如果提议的下联中的词语与上联中相应的词语具有相同或相似的发音,那么过滤器418可以在候选412中过滤掉提议的下联。例如,考虑上联是“青山有幸埋忠骨”。下联“绿水无辜卖佞臣”,因为第五个位置上的“卖”具有类似于上联的第五个位置上的字“埋”的发音。
Viterbi解码和候选重新排列
Viterbi解码在语音识别应用中是公知的。在步骤616处,Viterbi解码器420访问语言模型362和转换模型360,并从以上生成的点阵生成N个最佳候选422。应该注意对于特定的HMM,Viterbi算法用于在给定上联中词语序列(即观察到的状态)的情况下,找到下联中可能的词语路径和序列(即隐藏状态)。
在步骤618处,候选选择模块430计算包括词语转换模型360、语言模型362和词语关联信息364中至少一些的特征函数,如在432处所示。然后使用ME模型433来重新排列N个最佳候选422以生成重新排列的候选434。排列最高的候选被标记为BP*,如在436处所示。在步骤620处,可能将重新排列的候选434和最可能的下联436输出到应用程序层或进行进一步处理。
应该注意重新排列可以被看作分类过程,用于选择能够接受的句子并排除未被接受的候选。在多数实施例中,使用具有以下特征的最大熵(ME)模型来执行重新排列:
1.使用以下公式计算的语言模型评分(以上的公式3):
h 1 = p ( UP | BP ) = &Pi; i = 1 n p ( u i | b i ) ;
2.使用以下公式计算的转换模型评分(以上的公式8):
h 2 = p ( BP ) = p ( b 1 ) &times; p ( b 2 | b 1 ) &Pi; i = 3 n p ( b i | b i - 1 , b i - 2 ) ;以及
3.使用以下公式计算的互信息评分(MI)评分(以上的公式12):
h 3 = I ( X ; Y ) = &Sigma; x &Sigma; y p ( x , y ) log p ( x , y ) p ( x ) p ( y ) 公式18
ME模型如下表示:
P ( BP | UP ) = p &lambda; 1 M ( BP | UP ) = exp [ &Sigma; m = 1 M &lambda; m h m ( BP , UP ) ] &Sigma; BP exp [ &Sigma; m = 1 M &lambda; m h m ( BP , UP ) ] 公式19
其中hm表示特征,m是特征的数目,BP是下联的候选,上联是上联。使用感知器方法来训练不同特征的系数λm,如以下更详细讨论的。
然而,需要训练数据以训练系数或参数λ={λ1,λ2...λm}。实际上,对于100个测试上联,使用HMM模型来生成N个最佳结果,其中N被设置为100。人类操作员然后通过将接受的候选标记为“1”而将不可接受的候选标记为“-1”来注释生成下联的适当性,如下所示:
 前N个候选(仅列出了一些示例)  特征1  特征2  特征3   接受或不接受
 云生海上古时回  ...  ...  ...   -1
 云生海上古时行  ...  ...  ...   -1
 风生海上新民飞  ...  ...  ...   -1
 春生海上新民飞  ...  ...  ...   -1
 春生海上古时飞  ...  ...  ...   -1
 春生海上新民行  ...  ...  ...   -1
 云生海上故人行  ...  ...  ...   +1
 云生海上故人飞  ...  ...  ...   +1
 春生海上故人行  ...  ...  ...   +1
 云生海上故人回  ...  ...  ...   +1
 风生海上故人飞  ...  ...  ...   +1
 ...  ...  ...  ...   ...
                               训练示例
每行表示一训练实例。第i个示例可以表示为(xi,yi),其中xi是特征集合,而yi是分类结果(+1和-1)。接着,感知器算法可用用于训练分类器。以下表格描述了在多数实施例中使用的感知器算法:
给定训练集合 S = { ( x i , y i ) } i = 1 N ,训练算法如下。
  λ←0
  重复For i=1,...NIf yiλ·xi≤0λ←λ+ηyixi直到没有错误或错误的数目在某个阀值之内
使用感知器算法的参数训练方法。
一个示例
给定上联“雪满山中高士卧”,下表示出了生成下联的主要过程。首先,使用HMM,获取前50个下联(以下列出了前20个)。在右栏列出了Viterbi解码器的评分。接着使用互信息重新排列这些候选。可以从第二栏看到互信息的评分。
步骤1:词语分割结果:雪/满/山/中/高士/卧/
步骤2:每个词语的候选:(以下仅呈现了上联中每个词语的五个相应词语的列表)
  雪   满   山   中   高士   卧
  云   生   海   上   故人   行
  春   开   天   前   远人   飞
  雨   放   水   后   嘉宾   回
  花   盈   树   间   佳人   走
  ...   ...   ...   ...   ...   ...
           上联中每个词语的转换候选
步骤3:经由HMM模型获取N个最佳候选
步骤4:使用ME模型(LM评分、TM评分和MI评分)重新排列
  前N个候选者   特征1(LM评分)   特征2(TM评分)   特征3(MI评分)   接受?(ME结果)
  云生海上古时回   ...   ...   ...   -1
  云生海上古时行   ...   ...   ...   -1
  风生海上新民飞   ...   ...   ...   -1
  春生海上新民飞   ...   ...   ...   -1
  春生海上古时飞   ...   ...   ...   -1
  春生海上新民行   ...   ...   ...   -1
  云生海上故人行   ...   ...   ...   +1
  云生海上故人飞   ...   ...   ...   +1
  春生海上故人行   ...   ...   ...   +1
  云生海上故人回   ...   ...   ...   +1
  风生海上故人飞   ...   ...   ...   +1
  ...   ...   ...   ...   ...
                              ME模型的结果
虽然使用结构特征和/或方法步骤专用的语言描述了本发明,但是应该理解在所附权利要求书中定义的本发明不是必须限于上述特定特征和动作。相反地,上述特定特征和动作是作为实现权利要求的示例形式来公开的。

Claims (20)

1.一种包括计算机可读的指令的计算机可读介质,当所述指令执行时,使得所述计算机扩充词汇知识库,包括以下步骤:
接收用自然语言编写的对联语料库,每个对联包括上联和下联;
将所述对联语料库解析成各个的上联词语和下联词语;以及
构造包括与上联词语和对应的下联词语相关联的概率信息的转换模型。
2.如权利要求1所述的计算机可读介质,还包括:
将下联词语的列表映射到所述对联语料库中对应的上联词语的集合;以及
构造包括所述下联词语列表和可映射到所列的下联词语的对应的上联词语的集合的映射表。
3.如权利要求1所述的计算机可读介质,还包括构造包括一元、二元和三元概率值中至少一些的所述下联词语的语言模型。
4.如权利要求3所述的计算机可读介质,还包括构造包括所述对联语料库中上联和下联的句子计数的词语关联信息,其中所述句子计数包括具有词语x的句子的数目、具有词语y的句子的数目,以及同时出现词语x和词语y的句子的数目。
5.如权利要求3所述的计算机可读介质,还包括使用所述转换模型和语言模型构造隐马尔科夫模型。
6.一种包括计算机可读的指令的计算机可读介质,当所述指令执行时,使得所述计算机扩充词汇知识库,包括以下步骤:
接收上联;
将所述上联解析成词语的序列;以及
访问包括下联词语的列表和可映射到所述列的下联词语的对应的上联词语的集合的映射表。
7.如权利要求6所述的计算机可读介质,还包括使用所述上联的词语序列和所述映射表构造候选下联的点阵。
8.如权利要求7所述的计算机可读介质,还包括:
使用词语或字重复过滤器;不重复映射过滤器;以及上联词语不重复过滤器中中的至少一个来限制候选下联的数目。
9.如权利要求7所述的计算机可读介质,还包括使用Viterbi解码器从所述点阵生成N个最佳候选下联的列表。
10.如权利要求8所述的计算机可读介质,还包括使用最大熵模型来重新排列所述N个最佳候选的列表。
11.如权利要求10所述的计算机可读介质,其中重新排列包括计算包括转换模型和语言模型以及词语关联评分中的至少一些的特征函数。
12.一种用于从上联生成下联的方法,包括以下步骤:
接收汉语对联的上联;
将所述上联解析成各个词语的序列;
在包括汉语词语条目以及对应的汉语词语集合的映射表中执行对所述序列中每个词语的查找;以及
基于所述上联词语的序列和所述汉语词语的对应集合生成候选下联。
13.如权利要求12所述的方法,还包括通过基于词语或字重复、不重复映射和上联词语不重复中的至少一个过滤来限制候选下联的数目。
14.如权利要求12所述的方法,还包括将Viterbi算法应用到所述候选下联以生成N个最佳候选的列表。
15.如权利要求14所述的方法,还包括为N个最佳候选的列表的每个候选估算特征函数,其中所述特征函数包括语言模型、词语转换模型以及词语关联信息中的至少一些。
16、如权利要求15所述的方法,还包括基于概率使用最大熵模型来重新排列所述N个最佳候选。
17.如权利要求12所述的方法,还包括使用汉语对联语料库,在给定下联词语的情况下为上联词语构造包括条件概率值的词语转换模型
18.如权利要求17所述的方法,还包括为所述汉语语料库中的下联构造包括一元、二元和三元概率值的语言模型。
19.如权利要求18所述的方法,还包括为所述训练语料库中的词语对估算包括互信息的词语关联信息。
20.如权利要求12所述的方法,还包括:
接收汉语对联的语料库;
将所述汉语对联解析成各个词语;以及
对于每个选定的下联词语,映射上联词语的集合,以构造所述映射表。
CNA2006800321330A 2005-07-01 2006-07-03 生成汉语对联 Pending CN101253496A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/173,892 US20070005345A1 (en) 2005-07-01 2005-07-01 Generating Chinese language couplets
US11/173,892 2005-07-01

Publications (1)

Publication Number Publication Date
CN101253496A true CN101253496A (zh) 2008-08-27

Family

ID=37590785

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800321330A Pending CN101253496A (zh) 2005-07-01 2006-07-03 生成汉语对联

Country Status (4)

Country Link
US (1) US20070005345A1 (zh)
KR (1) KR20080021064A (zh)
CN (1) CN101253496A (zh)
WO (1) WO2007005884A2 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385596A (zh) * 2010-09-03 2012-03-21 腾讯科技(深圳)有限公司 一种诗句的搜索方法及装置
CN103336803A (zh) * 2013-06-21 2013-10-02 杭州师范大学 一种嵌名春联的计算机生成方法
CN106528858A (zh) * 2016-11-29 2017-03-22 北京百度网讯科技有限公司 歌词生成方法及装置
CN107045871A (zh) * 2016-02-05 2017-08-15 谷歌公司 利用外部数据源重新识别语音
CN108228571A (zh) * 2018-02-01 2018-06-29 北京百度网讯科技有限公司 对联的生成方法、装置、存储介质及终端设备
CN108874789A (zh) * 2018-06-22 2018-11-23 腾讯科技(深圳)有限公司 语句的生成方法、装置、存储介质和电子装置
CN111126061A (zh) * 2019-12-24 2020-05-08 北京百度网讯科技有限公司 对联信息生成方法和装置
CN111984783A (zh) * 2020-08-28 2020-11-24 达闼机器人有限公司 文本生成模型的训练方法、文本生成方法及相关设备

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070106664A1 (en) * 2005-11-04 2007-05-10 Minfo, Inc. Input/query methods and apparatuses
US7962507B2 (en) * 2007-11-19 2011-06-14 Microsoft Corporation Web content mining of pair-based data
TWI391832B (zh) * 2008-09-09 2013-04-01 Inst Information Industry 中文文章偵錯裝置、中文文章偵錯方法以及儲存媒體
CN107329950B (zh) * 2017-06-13 2021-01-05 武汉工程大学 一种基于无词典的中文地址分词方法
CN109710947B (zh) * 2019-01-22 2021-09-07 福建亿榕信息技术有限公司 电力专业词库生成方法及装置
CN112380358A (zh) * 2020-12-31 2021-02-19 神思电子技术股份有限公司 一种行业知识库的快速构建方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH083815B2 (ja) * 1985-10-25 1996-01-17 株式会社日立製作所 自然言語の共起関係辞書保守方法
US5477451A (en) * 1991-07-25 1995-12-19 International Business Machines Corp. Method and system for natural language translation
US5721939A (en) * 1995-08-03 1998-02-24 Xerox Corporation Method and apparatus for tokenizing text
US5806021A (en) * 1995-10-30 1998-09-08 International Business Machines Corporation Automatic segmentation of continuous text using statistical approaches
SG49804A1 (en) * 1996-03-20 1998-06-15 Government Of Singapore Repres Parsing and translating natural language sentences automatically
US6002997A (en) * 1996-06-21 1999-12-14 Tou; Julius T. Method for translating cultural subtleties in machine translation
CN1193779A (zh) * 1997-03-13 1998-09-23 国际商业机器公司 中文语句分词方法及其在中文查错系统中的应用
US6408266B1 (en) * 1997-04-01 2002-06-18 Yeong Kaung Oon Didactic and content oriented word processing method with incrementally changed belief system
JP2000132550A (ja) * 1998-10-26 2000-05-12 Matsushita Electric Ind Co Ltd 機械翻訳のための中国語生成装置
CN1159661C (zh) * 1999-04-08 2004-07-28 肯特里奇数字实验公司 用于中文的标记和命名实体识别的系统
US6990439B2 (en) * 2001-01-10 2006-01-24 Microsoft Corporation Method and apparatus for performing machine translation using a unified language model and translation model
US7113903B1 (en) * 2001-01-30 2006-09-26 At&T Corp. Method and apparatus for providing stochastic finite-state machine translation
US7475006B2 (en) * 2001-07-11 2009-01-06 Microsoft Corporation, Inc. Method and apparatus for parsing text using mutual information
US7031911B2 (en) * 2002-06-28 2006-04-18 Microsoft Corporation System and method for automatic detection of collocation mistakes in documents
US7158930B2 (en) * 2002-08-15 2007-01-02 Microsoft Corporation Method and apparatus for expanding dictionaries during parsing
US20050071148A1 (en) * 2003-09-15 2005-03-31 Microsoft Corporation Chinese word segmentation

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385596A (zh) * 2010-09-03 2012-03-21 腾讯科技(深圳)有限公司 一种诗句的搜索方法及装置
CN103336803A (zh) * 2013-06-21 2013-10-02 杭州师范大学 一种嵌名春联的计算机生成方法
CN103336803B (zh) * 2013-06-21 2016-05-18 杭州师范大学 一种嵌名春联的计算机生成方法
CN107045871B (zh) * 2016-02-05 2020-09-15 谷歌有限责任公司 利用外部数据源重新识别语音
CN107045871A (zh) * 2016-02-05 2017-08-15 谷歌公司 利用外部数据源重新识别语音
CN106528858A (zh) * 2016-11-29 2017-03-22 北京百度网讯科技有限公司 歌词生成方法及装置
CN108228571A (zh) * 2018-02-01 2018-06-29 北京百度网讯科技有限公司 对联的生成方法、装置、存储介质及终端设备
CN108228571B (zh) * 2018-02-01 2021-10-08 北京百度网讯科技有限公司 对联的生成方法、装置、存储介质及终端设备
CN108874789A (zh) * 2018-06-22 2018-11-23 腾讯科技(深圳)有限公司 语句的生成方法、装置、存储介质和电子装置
CN108874789B (zh) * 2018-06-22 2022-07-01 腾讯科技(深圳)有限公司 语句的生成方法、装置、存储介质和电子装置
CN111126061A (zh) * 2019-12-24 2020-05-08 北京百度网讯科技有限公司 对联信息生成方法和装置
CN111126061B (zh) * 2019-12-24 2023-07-14 北京百度网讯科技有限公司 对联信息生成方法和装置
CN111984783A (zh) * 2020-08-28 2020-11-24 达闼机器人有限公司 文本生成模型的训练方法、文本生成方法及相关设备
CN111984783B (zh) * 2020-08-28 2024-04-02 达闼机器人股份有限公司 文本生成模型的训练方法、文本生成方法及相关设备

Also Published As

Publication number Publication date
WO2007005884A2 (en) 2007-01-11
WO2007005884A3 (en) 2007-07-12
KR20080021064A (ko) 2008-03-06
US20070005345A1 (en) 2007-01-04

Similar Documents

Publication Publication Date Title
CN101253496A (zh) 生成汉语对联
CN109844743B (zh) 在自动聊天中生成响应
CN109271493B (zh) 一种语言文本处理方法、装置和存储介质
CN106534548B (zh) 语音纠错方法和装置
Heilman Automatic factual question generation from text
CN1667699B (zh) 为字母-声音转换生成有互信息标准的大文法音素单元
US20200137001A1 (en) Generating responses in automated chatting
CN111090727B (zh) 语言转换处理方法、装置及方言语音交互系统
CN111415740A (zh) 问诊信息的处理方法、装置、存储介质及计算机设备
CN100589179C (zh) 从文本中预测误词率的方法和设备
CN107766506A (zh) 一种基于层次化注意力机制的多轮对话模型构建方法
WO2019165331A1 (en) Systems and methods for generating jokes
CN109741641A (zh) 基于生词检测的语言学习系统
Lagakis et al. Automated essay scoring: A review of the field
Modi et al. The steep road to happily ever after: An analysis of current visual storytelling models
CN112949293B (zh) 一种相似文本生成方法、相似文本生成装置及智能设备
CN113342948A (zh) 一种智能问答方法及装置
KR100852970B1 (ko) 이미지 분할 기법을 이용한 언어 학습 시스템 및 방법과,이를 위한 기록매체와 언어 학습 교재
Khuman et al. Grey relational analysis and natural language processing to: grey language processing
CN101568917A (zh) 生成汉语横批
Sharp et al. Cognitive approach to natural language processing
Khuman et al. Grey relational analysis and natural language processing
CN115101042A (zh) 一种文本处理方法、装置及设备
US20230140480A1 (en) Utterance generation apparatus, utterance generation method, and program
CN113763934A (zh) 音频识别模型的训练方法、装置和存储介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080827