CN102138141A - 近似比对装置、近似比对方法、程序及记录介质 - Google Patents
近似比对装置、近似比对方法、程序及记录介质 Download PDFInfo
- Publication number
- CN102138141A CN102138141A CN2009801333447A CN200980133344A CN102138141A CN 102138141 A CN102138141 A CN 102138141A CN 2009801333447 A CN2009801333447 A CN 2009801333447A CN 200980133344 A CN200980133344 A CN 200980133344A CN 102138141 A CN102138141 A CN 102138141A
- Authority
- CN
- China
- Prior art keywords
- key word
- input
- mentioned
- character string
- jump
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明的课题是,即使在输入字符串中包含错字和漏字、和设想的关键字有少许不同的表现,并且想提取的关键字数量多的情况下,也能够高速地提取。为了解决该课题,用跳跃词典制成部10对作为想提取的关键字而预先列入表中的关键字词典,制成包含由关键字自身、和从该关键字的全部字符位置至少删除1个字符后的字符串的集合组成的删除关键字的跳跃词典,并存储在跳跃词典存储部20中,通过用关键字提取部30进行输入字符串和上述跳跃词典的比对,从输入字符串中提取预先给予的关键字以及与该关键字近似的关键字,并和该关键词的出现位置一同进行输出。
Description
技术领域
本发明涉及为了从用自然语言记述的文章(输入字符串)中提取预先给予的关键字,而对输入字符串和规定的关键字进行比对,输出一致的关键字和其出现位置的技术。
背景技术
<关键字提取>
关键字提取是从用自然语言记述的输入字符串中提取如词典那样的预先列入表中的关键字的任务。
例如,考虑从图1所示的输入字符串中提取涉及奥运会的关键字。这种情况下,通过进行如图2所示那样的、作为想提取的关键字预先通过手工列入表中的关键字集合(以下,称为关键字词典)中的各关键字是否包含在上述输入字符串中的比对,进行提取。
但是,存在以下问题:
1.因为输入字符串是由手工记述(输入)的字符串,所以包含错字和漏字、或者使用与设想的关键字稍有不同的表现是常有的事;
2.如果关键字数量增多,则快速提取变得困难,处理大量的输入字符串需要时间。
当从图1的输入字符串中提取图2的关键字词典中的各关键字的情况下,
·在语句2中,因错字的原因,“オリンピツク”变成“オソンピツク”;
·在语句3、4中,因为“男子100m平泳ぎ”记述成“男子の100m平泳ぎ”,“金メダル”记述成“メダル”,以稍有不同的表现来进行记述,所以,不能从语句2、3、4中提取关键字,其结果,只能从语句1中提取关键字“オリンピツク”。
【现有技术】
(1)关键字的近似比对
以往,作为关键字的近似比对方法使用标准表现。标准表现通过用有限自动机表现想比对的关键字,从而可以从字符串中提取稍有不同的部分字符串。这在编程语言Perl等中使用。例如,在Perl的情况下,通过将“オリンピツク”这一关键词表现为/オ.{1}ンピツク,能够从图1的语句1中提取「オリンピツク」,从语句2中提取「オソンピツク」。
但是,采用标准表现进行的关键字近似比对因为对每一个关键字重复进行比对,所以需要花费与关键字数量成比例的时间,如果关键字的数量庞大则比对速度降低。因此,在从大量文本提取全部关键字那样的任务中,存在花费处理时间的问题。
另外,在标准表现之外,还可以使用采用计算2个对象物间的相似度的DP(Dynamic Programming,动态规划)的匹配法(参照非专利文献1),但是因为必须对每个关键字进行DP匹配,所以存在关键字数量为大量的情况下处理速度显著下降的问题。
(2)高速的完全一致比对:其1,trie(特里)结构
当关键字数量庞大的情况下,通过将关键字词典设置成trie结构(参照非专利文献2),能够同时比对全部的关键字。trie结构是合并各关键字的共同前缀的树结构。在图3中表示将图2的关键字词典设置成trie结构的词典(trie词典)的例子。关键字的各字符作为trie的枝表现。图中的“#”是表示关键字结尾的终端记号,能够在trie的节点上为每个关键字保持不同的值。
使用trie词典的关键字提取通过从输入字符串的开头开始一边一次移动一个字符一边和trie词典进行比对来进行。而且,在本说明书以及权利要求书中,对于全部的字符串,将字符串的最初的字符标记为第0个字符,将下一字符标记为第1个字符等。例如,字符串的位置i是将该字符串的最初的字符设置为第0个字符的第i个字符的位置。此外,在位置i等中的i是字符串的位置的值。进而,还有只用“字符串的位置”表示字符串的位置的值的情况。
图4表示采用trie结构的比对算法。在采用trie结构的比对中,如图4所示,对于输入字符串全部的字符位置i,重复进行步骤s1~步骤s5的处理。
首先,将关键字比对位置j设置为0,通过将trie节点n设置成根节点进行初始化(步骤s1)。接着,进行在节点n的枝上是否有终端记号#的判定(步骤s2),如果有终端记号#,则输出从根节点开始的路径上的所有枝标签、值、一致开始位置i(步骤s3)。
在步骤s2的判定中,当在节点n的枝上没有终端记号#的情况下,进行在输入字符串中的位置i+j的字符Ci+j是否在从trie节点n分叉的枝标签上的判定(步骤s4)。
在步骤s4中,当字符Ci+j不在从trie节点n分叉的枝标签上的情况下,对输入字符串的下一字符位置重复进行从步骤s1开始的处理。在步骤s4中,当字符Ci+j在从trie节点n分叉的枝标签上的情况下,将j设置成j+1,将n更新为该枝的顶端的节点并进入步骤s2(步骤s5)。
例如,当将图1的语句1与图3的trie词典进行比对的情况下,如果从输入语句的第6个字符(位置i=6)开始比对,因为经由节点1、2、3、4、5、6、7到达值1,所以从第6个字符开始提取关键字“オリンピツク”,知道该值是值1。
如果使用trie词典,因为能够同时比对全部关键字,所以处理速度不依赖于关键字数量。因此,即使数量庞大也能够进行高速比对。
但是,使用了trie词典的关键字比对因为只能提取和关键字完全一致的字符串,所以存在不能提取错字、漏字、使用了稍有不同的表现的关键字这一问题。
(3)高速的完全一致比对:其2,AC法
在改良了使用trie结构的关键字比对的方法中,有Aho-Corasick法(以下,称为AC法)(参照非专利文献3)。如果使用AC法,因为比对速度只依赖于输入字符串的长度(字符数量),所以能够进行更高速的比对。
在AC法中,除了图3所示那样的trie词典(在AC法中称为goto函数)外,还使用failure函数、output函数进行高速比对。failure函数是trie的比对在中途失败时,对紧接失败之前的枝标签后缀和从trie的根节点开始的枝标签串的前缀进行比较,向最长一致的节点转移的函数。output函数是trie比对在中途成功时,该枝标签的后缀是关键字的情况下,用于输出全部关键字的函数。这和trie结构的情况不同,对后方一致的值全部进行输出。分别在图5、图6中表示关键字词典是图2的情况下的failure函数、output函数的例子,在图7中表示采用AC法的比对算法。
如图7所示,在采用AC法的比对中,首先,将输入字符串比对位置e设置为0,将trie节点n设置为1进行初始化(步骤s11)。接着,判定输入字符串比对位置e是否大于等于输入字符串长度(步骤s12),如果输入字符串比对位置e大于等于输入字符串长度,则结束处理。在步骤s12中,当字符串比对位置e不是大于等于输入字符串长度的情况下,进行与输入字符串的位置e的字符相同的标签是否在节点n的枝上的判定(步骤s13)。
在步骤s13中,当与输入字符串的位置e的字符相同的标签不在节点n的枝上的情况下,将n设置成failure函数的值(步骤s14),如果该n的值是1,则将e设置成e+1(步骤s15),进入步骤s17。此外,在步骤s13中,当与输入字符串的位置e的字符相同的标签在节点n的枝上的情况下,将n更新为该枝顶端的节点,将e设置成e+1(步骤s16),进入步骤s17。
在步骤s17中,如果output(n)不是空集合,则输出output(n)中的关键字和值以及一致开始位置i=(e-关键字长度),进入步骤s12。
例如,当输入字符串是“金メダリスト誕生”的情况下,首先,节点1在第0个字符下转移到“金”的枝标签顶端16。在此,因为output函数的值未被定义,所以什么都不输出。如果重复该步骤,则在第2个字符下到达节点18。第3个字符“リ”因为不在从节点18伸出的枝标签上,所以参照failure函数,转移到节点12(failure(18)=12)。即,输入字符串的第1~2个字符(メダ)处于已结束比对的状态。如果从这里再次开始第3个字符的比对,则其结果可知输入字符串的第1~5个字符和关键字“メダリスト”一致。
这样,如果使用AC法,因为只需要花费与输入字符串的长度成比例的时间,所以能高速地提取关键字。
但是,AC法因为也只能提取与关键字完全一致的字符串,所以存在和trie结构一样不能提取错字和漏字、使用了稍有不同表现的关键字的问题。
现有技术文献
非专利文献
非专利文献1:田中穗积主编,“自然言語処理-基礎と応用-(自然语言处理-基础与应用-)”,第1版,社团法人电子信息通信学会,平成11年3月25日,p.12~15
非专利文献2:松本裕治,影山太郎,永田昌明,斋藤洋典,德永健伸,“岩波講座言語の科学3単語と辞書(岩波讲座语言的科学3单词和词典)”,岩波书店,1997,p.74~75
非专利文献3:北研二,津田和彦,狮狮堀正干,“情報検索アルゴリズム(信息检索算法)”,共立出版,2002,p.108~122。
发明内容
发明所要解决的问题
本发明的目的在于即使在输入字符串中包含错字、漏字、与设想的关键字有少许不同的表现,并且想提取的关键字数量多的情况下,也可以高速地提取。
用于解决问题的手段
为了解决上述问题,在使用了本发明的技术中,通过以下的方法高速地对包含直到N字连续(N是任意的整数)的插入、删除、置换错误的字符串和大量的关键字进行比对。
1.在根据关键字词典构筑trie词典时,针对各关键字的每一个生成由关键字自身、和从该关键字的全部字符位置pk起删除了连续的wk字(1≤wk≤N)的字符串的集合组成的删除关键字,制成trie结构。把它称为跳跃词典。
2.在跳跃词典的值中针对各删除关键字的每一个预先保持删除字符位置pk、删除字符数量wk以及作为该删除关键字根源的关键字(原关键字)。
3.在比对输入字符串和跳跃词典时,不只是进行输入字符串自身和跳跃词典的比对,还进行从该输入字符串的全部位置起跳跃了连续的wi字(1≤wi≤N)后的输入字符串(以下,称为跳跃输入)的集合和跳跃词典的比对。而且,跳跃输入既可以明示地制作,也可以在比对时直接一边跳跃输入字符串一边进行比对。
4.比较所得到的删除关键字的删除字符位置pk、删除字符数量wk、在输入字符串的关键字上的相对跳跃位置pi、跳跃幅度wi,把该删除关键字分成以下4种:
·在wi、wk都是0(wi=wk=0)时,作为关键字完全一致而输出关键字;
·如果wi是0,wk大于等于1(wi=0,wk>0),则作为在输入字符串的跳跃位置上存在wi字的删除字符而输出关键字;
·如果wi大于等于1,wk是0(wi>0,wk=0),则作为在输入字符串的跳跃位置上存在wi字的插入字符而输出关键字;
·如果wi大于等于1,pi和pk相等,wi和wk(wi>0,pi=pk,wi=wk)相等,则作为在输入字符串的跳跃位置上存在wi=wk字的置换字符而输出关键字;
5.在跳跃词典中定义failure函数、output函数,通过用AC法进行比对,还可以进一步高速地进行比对。
发明效果
如果采用本发明的技术,则具有以下效果。
·如果是连续的N字符以内的错误,则仍能够从包含有插入、删除、置换错误的输入字符串中提取关键字,
·因为使用trie结构同时进行全部关键字的比对,所以即使关键字数量增加也几乎不会增加处理时间,
·通过在比对方式中使用AC法,也能够进一步高速进行比对。
此外,在本发明中输出的关键字还能够进一步根据字符的易错度而附加分数。因而,当在输入字符串的相同区域上有另一关键字候补的情况下,还能够比较错误字符,只输出难以出错的一方。
此外,根据本发明,因为对在输入字符串所包含的记载在关键字词典中的关键字(单词)全部输出,所以通过用n-gram模型等对单词彼此之间的关联容易度附加分数,能够制成词素分析器。
附图说明
图1是表示输入字符串的一个例子的说明图。
图2是表示关键字词典的一个例子的说明图。
图3是表示trie词典的一个例子的说明图。
图4是表示采用trie结构的比对算法的处理流程图。
图5是表示failure函数的一个例子的说明图。
图6是表示output函数的一个例子的说明图。
图7是表示采用AC法的比对算法的处理流程图。
图8是表示本发明的近似比对装置的实施方式的一个例子的构成图。
图9是表示删除关键字和其值的一个例子的说明图。
图10是表示跳跃输入/跳跃词典比对算法的处理流程图。
图11是表示提取的关键字候补的一个例子的说明图。
图12是表示跳跃输入的一个例子的说明图。
图13是表示提取的关键字候补的其他例子的说明图。
图14是表示采用trie结构的输入字符串比对算法的处理流程图。
图15是表示采用trie结构的跳跃输入比对算法的处理流程图。
图16是表示采用AC法的输入字符串比对算法的处理流程图。
图17是表示采用AC法的跳跃输入比对算法的处理流程图。
图18是表示重复删除算法的处理流程图。
图19是表示重复删除后提取的关键字的一个例子的说明图。
图20是表示重复删除后提取的关键字的其他例子的说明图。
图21是涉及本发明的实施方式的Web信息过滤装置的构成图。
图22是涉及本发明的实施方式的自动校正装置的构成图。
图23是涉及本发明的实施方式的自动校正装置输出的画面例子。
图24是表示汉语的输入字符串的一个例子的说明图。
图25是表示汉语的关键字词典的一个例子的说明图。
图26是表示汉语的删除关键字和其值的一个例子的说明图。
图27是表示汉语的提取的关键字候补的一个例子的说明图。
图28是表示汉语的跳跃输入的一个例子的说明图。
图29是表示汉语的提取的关键字候补的其他例子的说明图。
图30是表示重复删除后的汉语的提取的关键字的一个例子的说明图。
图31是表示韩语的输入字符串的一个例子的说明图。
图32是表示韩语的关键字词典的一个例子的说明图。
图33是表示韩语的删除关键字和其值的一个例子的说明图。
图34是表示韩语的提取的关键字候补的一个例子的说明图。
图35是表示韩语的跳跃输入的一个例子的说明图。
图36是表示韩语的提取的关键字候补的另一例子的说明图。
图37是表示重复删除后的韩语的提取的关键字的一个例子的说明图。
符号说明
10:跳跃词典制成部
11:删除关键字/值生成部
12:删除关键字/值暂存部
13:trie词典制成部
20:跳跃词典存储部
30:关键字提取部
31:跳跃输入/跳跃词典比对部
32:比对结果暂存部
33:重复删除部
40:过滤部
50:显示部
60:输入部
70:显示控制部
具体实施方式
图8是表示本发明的近似比对装置的实施方式的一个例子的图,包括:跳跃词典制成部10、跳跃词典存储部20以及关键字提取部30。而且,在本说明书中,关键字的最大删除字符数量和输入字符串的最大跳跃幅度相等,用N表示。
此外,近似比对装置可以通过在具备有CPU、存储器等存储单元的计算机中装载用于实现跳跃词典制成部10以及关键字提取部30的功能的程序来实现。此外,如果在其他装置等中制成跳跃词典,并把它存储在跳跃词典存储部20中,则通过在计算机中装载用于实现关键字提取部30的功能的程序,可以实现具备关键字提取单元的近似比对装置。此外,该程序预先存储在可移动存储器等的存储介质中,可以从这些介质安装到计算机中。
跳跃词典制成部10对于预先给予的关键字,为每个关键字制成跳跃词典,该跳跃词典包含由关键字自身、和从该关键字的全部字符位置起删除了连续的至少1个字符的字符串集合组成的删除关键字。
跳跃词典存储部20存储并保持由跳跃词典制成部10制成的跳跃词典。
关键字提取部30通过比对输入字符串和保持在跳跃词典存储部20中的跳跃词典,从输入字符串中提取预先给予的关键字以及与该关键字近似的关键字,并和其出现位置一同进行输出。
以下,举例说明在上述各部中的处理的详细内容。
《跳跃词典制成部》
跳跃词典制成部10包括删除关键字/值生成部11、删除关键字/值暂存部12以及trie词典制成部13,根据关键字词典制成跳跃词典,保存在跳跃词典存储部20中。该关键字词典是作为想提取的关键字而通过手工预先列入表中的关键字的集合。
<删除关键字/值生成部>
在删除关键字/值生成部11中,对于预先准备的关键字词典中的各关键字,首先,制成由关键字自身、和从该关键字的全部字符位置pk起删除了连续的wk字(1≤wk≤N:N是关键字的删除最大字符数量)的字符串集合组成的删除关键字,并存储在删除关键字/值暂存部12中。
此时,将删除字符位置pk、删除字符数量wk以及作为该删除关键字根源的关键字的原关键字的组作为值生成,并与该删除关键字对应起来存储在删除关键字/值暂存部12中。当删除关键字是原关键字自身的情况下,wk是0。pk可以代入任何值,但在此假设为空栏。例如,当最大删除字符数量N=2的情况下,根据“オリンピツク”这一关键字,生成图9所示的12个删除关键字和其值。
当然,这既也可以对全部的关键字进行,也可以只对某一定长度以上(例如,4个字符以上)长度的关键字制成删除关键字。
<trie词典制成>
在trie词典制成13中,从删除关键字/值暂存部12中读出删除关键字/值生成部11生成的删除关键字和与该删除关键字对应的值,变换为trie结构,制成词典。
即,trie词典制成13从删除关键字/值暂存部12中读出删除关键字/值生成部11生成的删除关键字和与该删除关键字对应的值,将关键字的各字符作为枝而变换为包含可对每个关键字保持不同的值的节点的、作为合并了关键字的共同前缀的树结构的trie结构,制成跳跃词典。
当在以后说明的跳跃输入/跳跃词典比对部中使用AC法的情况下,进一步定义failure函数、output函数。对于全部关键字进行这些定义,作为跳跃词典存储在跳跃词典存储部20中。
《关键字提取部》
关键字提取部30包括跳跃输入/跳跃词典比对部31、比对结果暂存部32以及重复删除部33,从包含错字、漏字的输入字符串和保存在跳跃词典存储部20中的跳跃词典中提取关键字,并与其出现位置以及值一同进行输出。
<跳跃输入/跳跃词典比对部>
首先,在跳跃输入/跳跃词典比对部31中,比对输入字符串和保存在跳跃词典存储部20中的跳跃词典,提取关键字的候补。图10表示跳跃输入/跳跃词典比对的算法。而且,将在此提取的关键字分成以下4种的一致类型:
·EM:关键字以与输入字符串完全一致的形态出现;
·DEL:在输入字符串中存在删除字符(漏字)的状态下和关键字一致;
·INS:在输入字符串中存在插入字符的状态下和关键字一致;
·REP:在输入字符串中存在置换字符(错字)的状态下和关键字一致。
(1)输入字符串和跳跃词典的比对
首先,进行输入字符串和跳跃词典的比对(步骤s21)。该比对算法可以使用图4所示的一般的trie词典比对、采用图7所示的AC法的比对中的任何一方。此外,还可以使用这些比对方法以外的比对算法。
接着,对于和跳跃词典一致的全部关键字候补,重复以下的步骤s22和步骤s23的处理。
如果删除关键字的删除字符数量wk是0,则将一致类型设置为EM,输出该一致类型、输入字符串中的一致开始位置、结束位置、错误开始位置、错误字符数量、原关键字并存储在比对结果暂存部32中(步骤s22)。
如果删除关键字的删除字符数量wk比0大,则将一致类型设置为DEL,输出该一致类型、输入字符串中的一致开始位置、结束位置、错误开始位置、错误字符数量、原关键字并存储在比对结果暂存部32中(步骤s23)。
在上述的步骤s22、s23中,如果一致类型是EM,则错误开始位置、错误字符数量都始终为0,如果一致类型是DEL,则错误开始位置、错误字符数量分别是删除关键字的删除字符位置pk、删除字符数量wk。
例如,如果进行图1的语句1和根据图2制成的跳跃词典的比对,则得到图11所示的关键字候补。
(2)跳跃输入和跳跃词典的比对
在此,首先,制成从输入字符串的全部位置至少跳跃1个字符、详细地说一边使绝对跳跃位置p一次增加一个一边以跳跃幅度wi(1≤wi≤N)字来进行跳跃的字符串(步骤s24)。把它称作跳跃输入。例如,如果对于图1的语句1制成跳跃输入,则得到图12所示的字符串。
以下进行各跳跃输入和跳跃词典的比对(步骤s25)。比对算法可以使用图4或者图7中的任何一个。此外,也可以使用这些以外的比对算法。而且,也可以不制作跳跃输入,而在与跳跃词典的比对时,一边直接跳跃输入字符串一边进行比对。
接着,对于和跳跃词典一致的全部关键字候补,重复步骤s26~s29的处理。
首先,在步骤s26中,从关键字的一致开始位置i和绝对跳跃位置p,算出在关键字上的相对跳跃位置pi=p-i。
而后,判定是否是pi≥0且pi≤删除关键字的字符串长度(步骤s27),如果pi≥0且pi≤删除关键字的字符串长度,则进入步骤s28,如果不是pi≥0且pi≤删除关键字的字符串长度,则进行接下来的关键字候补的处理。
在是pi≥0且pi≤删除关键字的字符串长度的情况下,如果删除关键字的删除字符数量wk是0,则将一致类型设置成INS,输出该一致类型、输入字符串中的一致开始位置、结束位置、错误开始位置、错误字符数量、原关键字,并存储在比对结果暂存部32中(步骤s28)。
如果删除关键字的删除字符数量wk比0大,并且输入字符串的相对跳跃位置pi和删除关键字的删除字符位置pk相等,并且输入字符串的跳跃幅度wi和删除关键字的删除字符数量wk相等,则将一致类型设置为REP,输出该一致类型、输入字符串中的一致开始位置、结束位置、错误开始位置、错误字符数量、原关键字,并存储在比对结果暂存部32中(步骤s29)。
在步骤s28、s29中,错误开始位置、错误字符数量分别为跳跃输入的相对跳跃位置pi、跳跃幅度wi。
从步骤s24开始直到步骤s26~s29的重复处理为止的处理从输入字符串的绝对跳跃位置p=0起到(字符串长度-wi)为止重复进行,该重复的处理从输入字符串的跳跃幅度wi=1到N重复进行。
例如,如果对图12的跳跃输入和根据图2的关键字词典制作的跳跃词典进行比对,则得到图13所示的关键字候补。而且,一致类型REP出现11个是因为解释成向与原关键字相同的字符进行的置换在各字符位置上出现的缘故。
(3)采用trie结构的跳跃词典比对的高速化
在图10中,输入字符串、跳跃输入在2处(步骤s21,步骤s25)进行和跳跃词典的比对。当使用一般的trie结构的情况下,通过将上述2处的比对算法从图4分别变更为图14、图15所示那样的算法,从而能够更高速地进行与跳跃词典的比对。
首先,在输入字符串和跳跃词典的比对(图14)中,在输入字符串的全部字符位置(比对开始位置)i中,用trie法比对输入字符串和跳跃词典,在输出比对成功的关键字等(步骤s31~步骤s35)的同时,将在比对中失败的字符位置j和i设置成组来预先保存(步骤s36)。
即,如图14所示,对于输入字符串的全部字符位置i,重复步骤s31~步骤s36的处理。
首先,通过将关键字比对位置j设置为0,将trie节点n设置为根节点进行初始化(步骤s31)。接着,进行在节点n的枝上是否有终端记号#的判定(步骤s32),如果有终端记号#,则输出从根节点开始的路径上的所有枝标签、值、一致开始位置i(步骤s33)。
在步骤s32的判定中,当在节点n的枝上没有终端记号#的情况下,进行在输入字符串中的位置i+j的字符Ci+j是否处于从trie节点n分叉的枝标签上的判定(步骤s34)。
在步骤s34中,当字符Ci+j不在从trie节点n分叉的枝标签上的情况下,将字符位置i和关键字比对失败位置j成对保存(步骤s36),对于输入字符串的下一字符位置,重复从步骤s31开始的处理。在步骤s34中,当字符Ci+j在从trie节点n分叉的枝标签上的情况下,将j设置成j+1,将n更新为该枝顶端的节点并进入步骤s2(步骤s35)。
通过步骤s36的处理,表示对于每个比对开始位置(一致开始位置)i,直至j-1字符的比对成功。
在跳跃输入和跳跃词典的比对(图15)中,在输入字符串的全部字符位置(比对开始位置)i中,用trie法比对跳跃输入和跳跃词典(步骤s43~步骤s47),而此时,取得与位置i对应的已保存的关键字比对失败位置f(正确的是将在步骤s36中保存的j作为f取得)(步骤s41)。
在此,如果跳跃输入的绝对跳跃位置p为p<i,则如果关键字一致,那么在和输入字符串的比对中也已一致。此外,如果p>i+f,则明显是在到达跳跃位置之前比对失败。因而,进行是否是p<i或者p>i+f的判定(步骤s42),如果p<i或者p>i+f,则什么也不做而将处理转移到下一字符位置i+1。
如果不是p<i或者p>i+f,则进行和图4所示处理一样的处理,首先,通过设关键字比对位置j为0,将trie节点n设为根节点来进行初始化(步骤s43)。接着,进行在节点n的枝上是否有终端记号#的判定(步骤s44),如果有终端记号#,则输出从根节点开始的路径上的所有枝标签、值、一致开始位置i(步骤s45)。
在步骤s44的判定中,当在节点n的枝上没有终端记号#的情况下,进行在输入字符串中的位置i+j的字符Ci+j是否在从trie节点n分叉的枝标签上的判定(步骤s46)。
在步骤s46中,当字符Ci+j不在从trie节点n分叉的枝标签上的情况下,对输入字符串的下一字符位置重复从步骤s41开始的处理。在步骤s46中,当字符Ci+j在从trie节点n分叉的枝标签上的情况下,将j设成j+1,将n更新为该枝的顶端的节点并进入步骤s44(步骤s47)。
这样,通过改变和trie结构的比对算法,能够限定跳跃输入的比对范围,能够进行更高速的比对。
(4)采用AC法的跳跃词典比对的高速化
在图10中,输入字符串、跳跃输入在2处(步骤s21、步骤s25)进行和跳跃词典的比对。当使用AC法的情况下,通过将上述2处的比对算法从图7分别变更为图16、图17所示那样的算法,能够进一步高速地进行和跳跃词典的比对。
首先,在输入字符串和跳跃词典的比对(图16)中,用AC法比对输入字符串和跳跃词典,在输出比对成功的关键字等(步骤s51、步骤s52、步骤s54~s58)的同时,预先保存输入字符串的各字符位置(比对位置)e中的最初的trie节点号码n(步骤s53)。把它称作trie节点函数n=trienode(e)。trie节点函数是在输入字符串中没有跳跃的情况下,在输入字符串上将已完成比对的字符位置和在trie上的状态对应起来的函数。
更详细地说,在图16中首先将输入字符串比对位置e设为0,将trie节点n设为1进行初始化(步骤s51)。接着,进行输入字符串比对位置e是否大于等于输入字符串长度的判定(步骤s52),如果输入字符串比对位置e大于等于输入字符串长度则结束处理。在步骤s52中,当输入字符串比对位置e不是大于等于输入字符串长度的情况下,如果没有保存trienode(e),则在trienode(e)中代入n的值,将输入字符串比对位置e和节点n保存在存储部中(步骤s53)。而后,判定在节点n的枝上是否有和输入字符串的位置e的字符相同的标签(步骤s54)。
在步骤s54中,当在节点n的枝上没有和输入字符串的位置e的字符相同的标签的情况下,将n设置成failure函数的值(步骤s55),该n的值如果是1,则将e设置成e+1(步骤s56),进入步骤s58。此外,在步骤s54中,当在节点n的枝上有和输入字符串的位置e的字符相同的标签的情况下,将n更新为该枝的顶端的节点,将e设为e+1(步骤s57)并进入步骤s58。
在步骤s58中,如果output(n)不是空集合,则输出output(n)中的关键字和值、以及一致开始位置i=(e-删除关键字长度),进入步骤s52。
在跳跃输入和跳跃词典的比对(图17)中,从输入字符串的绝对跳跃位置p开始采用AC法进行比对。即,将初始状态设置为跳跃输入的比对位置e=p、trie节点n=trienode(e),重新开始比对(步骤s61~s66)。
比对并不是进行到跳跃输入的最后,而是在利用failure函数转移的trie节点转移到根节点(n=1)的时刻结束比对(步骤s64)。这是因为这之后由于在输入中不存在跳跃,所以只有在和输入字符串的比对中得到的关键字相同的关键字是一致的。
更详细地说,首先,设跳跃输入的比对位置e=p,trie节点n=trienode(e)(步骤s61),进行在节点n的枝上是否有和跳跃输入的位置e的字符相同的标签的判定(步骤s62)。
当在节点n的枝上没有和跳跃输入的位置e的字符相同的标签的情况下,将n设置成failure函数的值(步骤s63),如果该n的值是1(步骤s64为“是”),则结束处理,如果该n的值不是1(步骤s64为“否”),则进入步骤s66。
在步骤s62中,当在节点n的枝上有和跳跃输入的位置e的字符相同的标签的情况下,将n更新为该枝的顶端的节点,将e设成e+1(步骤s65),进入步骤s66。
在步骤s66中,如果output(n)不是空集合,则输出output(n)中的关键字和值、以及一致开始位置i=(e-关键字长度),进入步骤s62。
通过这样变更采用AC法的比对算法,能够限定跳跃输入的比对范围,能够进行更高速的比对。
<重复删除部>
在重复删除部33中,从比对结果暂存部32中读出跳跃输入/跳跃词典比对部31输出的关键字候补的集合,生成删除了重复的关键字候补的关键字集合后输出。在此,只选择错误字符数量为最小的关键字候补,在剩余的关键字候补中,将在输入字符串上一致的区域重叠的关键字候补解释为重复。图18表示重复删除算法。
1.首先,在关键字候补集合C中设置从比对结果暂存部32中读出的关键字候补的集合(跳跃输入/跳跃trie比对的输出),将最终输出的关键字集合K设置成空集合(Φ)(步骤s71)。
2.其次,从关键字候补集合C中读出一个候补(设置成c)(步骤s74)。从关键字候补集合中取出原关键字和该候补c一致的全部关键字候补(步骤s75)。把它设置成Ckeys。
3.接着,从Ckeys中取出错误字符数量为最小的全部候补(假设为Cmins),在关键字集合K上加上Cmins(步骤s76)。
4.最后,对于Ckeys的全部关键字候补,与Cmins中的全部的关键字的一致开始位置、结束位置进行比较,从关键字候补集合C中删除区域重叠的关键字候补(步骤s77)。
5.重复步骤s72~s74直至关键字候补集合C变成空集合(步骤s72)。
6.将K作为最终的关键字集合输出(步骤s73)。
通过像这样地删除重复,从而例如根据图1的语句1、图2的关键字词典制成的跳跃词典中只剩下图19所示的关键字。即,意味着从输入字符串的第6个字符开始,“オリンピツク”这一关键字完全一致地出现。
同样,如果使用图1语句2~4、根据图2的关键字词典制成的跳跃词典,则得到图20所示的关键字。
从用本发明的实施方式的近似比对装置得到的一致类型/开始位置/结束位置/原关键字的信息中,知道从各输入语句中的第几个字符开始第几个字符和词典的关键字一致,该一致的类型是完全一致/置换/删除/插入中的哪一种。此外,从错误开始位置/错误字符数量的信息中知道在一致类型是置换/插入/删除的情况下,在比对字符范围中从第几个字符起哪个字符有错误。
如果采用与本发明的实施方式有关的近似比对装置,则例如如图20所示,在语句2中,能够将包含“オソンピツク”这样的错字的字符串也作为“オリンピツク”的置换1个字符的类型检测出来。此外,在语句3中,能够将输入语句的“男子の100m平泳ぎ”这样的范围作为词典关键字“男子100m平泳ぎ”的插入一字的类型检测出来。
由此,在检索涉及“オリンピツク”和“男子100m平泳ぎ”的信息的情况下,即使是“オソンピツク”和“男子の100m平泳ぎ”这样的包含错字漏字/表述偏差的文本也成为检索对象,可以和其出现范围一同提示给用户。即,涉及本发明的近似比对装置可以作为面对错字漏字和表述偏差强健的信息检索装置使用。
此外,例如,还可以将本发明所涉及的技术利用到不能显示包含不适当用语的网页的web信息过滤装置。在不适当用语的过滤中,需要检测包含不适当表现的文本,而这种文本往往是作为故意从原表述中改变了一部分字符的不适当表现进行记载。
在本发明所涉及的技术中,即使是从原关键字施加了连续改变N个字符的字符串也能够检测出,能够应对比现有的不适当用语检测更宽范围的文本的出现。
图21表示本发明的实施方式的Web信息过滤装置的构成例子。
如图21所示,该Web信息过滤装置具备跳跃词典制成部10、跳跃词典存储部20、关键字提取部30、过滤部40、显示部(显示器)50。
词典制成部10、跳跃词典存储部20、关键字提取部30具有和此前说明的图8所示的功能相同的功能。但是,在本例子中,关键字提取部30进一步具有例如经由通信网络,将包含在网页中的文本数据作为输入字符串输入的功能。
在图21的构成中,把想挂上过滤器的不适当用语的列表作为关键字词典给予跳跃词典制成部10,用跳跃词典制成部10制成跳跃词典,存储在跳跃词典存储部20中。
而后,关键字提取部30对输入字符串进行此前说明的关键字比对处理。由此,还将变更了不适当用语的一部分字符那样的字符串作为删除关键字提取。关键字提取部30将删除关键字等的信息和网页信息一同输出到过滤部40。
过滤部40根据从关键字提取部30接收到的信息,进行控制而不将包含删除关键字的网页信息交给显示部(显示器)50。对于未包含删除关键字的网页,过滤部40直接输出到显示部50,显示部50显示网页。
此外,例如,还可以将涉及本发明的技术适用到文本数据的自动校正装置。
图22表示关于本发明的实施方式的自动校正装置的构成例子。如图22所示,该自动校正装置具备跳跃词典制成部10、跳跃词典存储部20、关键字提取部30、输入部(键盘)60、显示控制部70、显示部50。
跳跃词典制成部10、跳跃词典存储部20、关键字提取部30具有和此前说明的图8所示的功能相同的功能。但是,在本例子中,具备用户用于进行字符输入的输入部60,关键字提取部30进一步具备将用户从输入部60输入的字符串作为输入字符串接收的功能。
在图22的构成中,将刊载在一般的词典上的单词作为关键字词典给予跳跃词典制成部10,通过跳跃词典制成部10制成跳跃词典,并存储在跳跃词典存储部20中。而后,关键字提取部30对输入字符串进行此前说明的关键字比对处理,将根据关键字比对处理的结果得到的删除关键字等的信息和输入字符串输出到显示控制部70。
显示控制部70控制显示部50,使得由关键字提取部30提取的删除关键字成为高亮,和词典关键字一同进行显示。通过使删除关键字的部分高亮并和词典关键字一同提示给用户,从而能够作为自动检测的错误候补而督促用户进行该部分的修正。图23表示显示的图像。在图23所示的例子中,使涉及删除关键字的输入字符串中的出现形态的部分全体高亮。
在此,代替使出现形态全体高亮,也可以利用通过关键字提取部30提取出的错误的出现位置,只使错误字符范围高亮。此外,利用一致类型的信息,提示例如指出语句2的比对范围“オソンピツク”的部分和错误字符范围“ソ”的部分的信息、以及是词典关键字“オリンピツク”的置换1个字这样的信息,可以督促用户进行是否需要修正的最终判断。
以上的例子无论哪种情况都是灵活运用了能够在词典检索的一致对象中包含错字漏字和表述偏差这种字符串的本技术的特性的例子。此外还可以适用到对包含错字漏字的文本进行单词分割的词素分析等的各种语言处理技术。
错字漏字和表述偏差这种现象如果是人工输入的文本则必然有可能发生。利用关于本发明的技术,能够将也包含这些现象的语言处理作为目标,实现更强健且灵活的语言处理应用。
实施例
(汉语中的例子)
本发明不仅适用于日语,其他语言同样也能够适用。例如,作为汉语的例子,考虑从图24所示的输入字符串中提取图25所示的关键字。
在采用以往的完全一致的关键字提取方法中,虽然能从语句1中提取关键字
“奥运会”
●但是因为,在语句2中将
“奥运会”
表述为:
“奥运”
此外,“男子100米蛙泳”和“男子的100米蛙泳”以稍有不同的表现来表述。
●在语句3中,将“金牌得主”表现为“金靴得主”,
所以从语句2、3中不能提取关键字。
如果使用涉及本发明的技术,则即使在存在大量关键字的情况下,也如以下说明的那样,可以从语句2、3中提取关键字。另外,在以下说明中,作为最大删除字符数量N=1进行说明。
《跳跃词典制成部》
在跳跃词典制成部10中,首先,生成删除关键字和其值。例如,当最大删除字符数量N=1的情况下,从
“奥运会”
这一关键字中,生成图26所示的4个删除关键字和其值。
接着,将生成的删除关键字和其值变换为trie结构而制成跳跃词典。当在跳跃输入/跳跃词典比对中使用AC法的情况下,进一步定义failure函数、output函数。
《关键字提取部》
<跳跃输入/跳跃词典比对部>
(1)输入字符串和跳跃词典的比对
首先,比对输入字符串自身和跳跃词典。比对算法使用图4、图7、图14、图16中的某一个。于是,从图24的各语句中得到图27所示的关键字候补。
(2)跳跃输入和跳跃词典的比对
从输入字符串制成跳跃输入。图28表示在N=1时根据图24的语句1制成的跳跃输入。
接着,将各跳跃输入和跳跃词典进行比对。比对算法利用在「(1)输入字符串和跳跃词典的比对」中使用的比对算法,使用图4、图7、图15、图17中的某一个。
●在(1)中使用图4的情况下,同样地使用图4的算法。
●在(1)中使用图7的情况下,同样地使用图7的算法。
●在(1)中使用图14的情况下,使用图15的算法。
●在(1)中使用图16的情况下,使用图17的算法。
对于所得到的全部的关键字候补,如果对一致类型进行分类,则从图24的各语句中得到图29所示的关键字候补。
<重复删除部>
最后,从关键字候补集合中,用图18所示的算法删除重复。结果是从各语句中得到图30所示的关键字。
(韩语中的例子)
以下,作为把本发明适用到日语以外的语言的其他例子,说明韩语的例子。在此,考虑从图31所示的输入字符串中,提取图32所示的关键字。
在采用以往的完全一致的关键字提取法中,虽然能从语句1中提取关键字
但是因为,
●在语句2中将
表述为:
此外,将
以稍微不同的表现表述为
●在语句3中,将
表述为
所以不能从语句2、3中提取关键字。
如果使用关于本发明的技术,则即使在存在大量关键字的情况下,如以下说明的那样,也可以从语句2、3中提取关键字。而且,在以下的说明中,作为最大删除字符数量N=1进行说明。
《跳跃词典制成部》
在跳跃词典制成部10中,首先,生成删除关键字和其值。例如,当最大删除字符数量N=1的情况下,从
这一关键字中生成图33所示的4种删除关键字和其值。
接着,将生成的删除关键字和其值变换为trie结构,制成跳跃词典。当在跳跃输入/跳跃词典对比中使用AC法的情况下,进一步定义failur函数、output函数。
《关键字提取部》
<跳跃输入/跳跃词典比对部>
(1)输入字符串和跳跃词典的比对
首先,比对输入字符串自身和跳跃词典。比对算法使用图4、图7、图14、图16中的某一个。于是,从图31的各语句中得到图34所示的关键字候补。
(2)跳跃输入和跳跃词典的比对
从输入字符串制成跳跃输入。图35表示在N=1时根据图31的语句1制成的跳跃输入。
接着,将各跳跃输入和跳跃词典进行比对。跳跃算法利用在「(1)输入字符串和跳跃词典的比对」中使用的比对算法,使用图4、图7、图15、图17中的某一个。
●在(1)中使用图4的情况下,同样地使用图4的算法。
●在(1)中使用图7的情况下,同样地使用图7的算法。
●在(1)中使用图14的情况下,使用图15的算法。
●在(1)中使用图16的情况下,使用图17的算法。
对于所得到的全部的关键字候补,如果对一致类型进行分类,则从图31的各语句中得到图36所示的关键字候补。
<重复删除部>
最后,从关键字候补集合中,用图18所示的算法删除重复。结果是从各语句中得到图37所示的关键字。
如此不仅是对于日语,对于其他的语言,也可以高速地进行包含直到N字连续的插入、删除、置换错误的字符串和大量的关键字的比对。
此外,本发明并不限于上述实施方式,在权利要求内可以有各种变更、应用。
本国际申请主张2008年9月5日申请的日本专利申请第2008-228382号的优先权,其全部内容援引至本国际申请。
Claims (14)
1.一种近似比对装置,对用自然语言表述的输入字符串和规定的关键字进行比对,输出一致的关键字和该关键字的出现位置,该近似比对装置的特征在于具备:
跳跃词典存储单元,针对预先给予的关键字,存储包含删除关键字的跳跃词典,该删除关键字由关键字自身、和从该关键字的全部字符位置至少删除1个字符后的字符串的集合组成;
关键字提取单元,通过比对上述输入字符串和存储在上述跳跃词典存储单元中的上述跳跃词典,从输入字符串提取预先给予的关键字以及与该关键字近似的关键字,并与该关键字的出现位置一同进行输出。
2.根据权利要求1所述的近似比对装置,其特征在于:
上述删除关键字由上述预先给予的关键字自身、和从该关键字的全部的字符位置pk起删除了连续的wk字后的字符串的集合组成,其中,1≤wk≤N,N是关键字的删除最大字符数量,
上述跳跃词典对于上述集合中的各删除关键字的每一个,包含该删除关键字的删除字符位置pk、删除字符数量wk以及作为该删除关键字的根源的关键字即原关键字的组,作为该删除关键字的值。
3.根据权利要求2所述的近似比对装置,其特征在于:
上述关键字提取单元具有跳跃输入/跳跃词典比对单元,
该跳跃输入/跳跃词典比对单元对上述输入字符串和存储在上述跳跃词典存储单元中的跳跃词典进行比对,对于与跳跃词典一致的全部关键字候补,如果删除关键字的删除字符数量wk为0,则分类为表示“关键字在输入字符串中完全一致地出现”的一致类型EM,如果删除关键字的删除字符数量wk比0大,则分类为表示“在输入字符串中存在删除字符的状态下和关键字一致”的一致类型DEL,将分类的结果作为一致类型,将一致类型、输入字符串中的一致开始位置、结束位置、错误开始位置、错误字符数量、原关键字存储在存储单元中,
制成一边使输入字符串的绝对跳跃位置p一次增加一个一边以跳跃幅度wi字进行了跳跃的字符串即跳跃输入,比对各跳跃输入和上述跳跃词典,对于和跳跃词典一致的全部关键字候补,计算在关键字上的相对跳跃位置pi,如果删除关键字的删除字符数量wk是0,则分类成表示“在输入字符串中存在插入字符的状态下和关键字一致”的一致类型INS,如果删除关键字的删除字符数量wk大于0、并且输入字符串的相对跳跃位置pi和删除关键字的删除字符位置pk相等、并且输入字符串的跳跃宽度wi和删除关键字的删除字符数量wk相等,则分类为表示“在输入字符串中存在置换字符的状态下和关键字一致”的一致类型REP,将分类的结果作为一致类型,将一致类型、输入字符串中的一致开始位置、结束位置、错误开始位置、错误字符数量以及原关键字存储在存储单元中,其中,1≤wi≤N,N是输入字符串的最大跳跃幅度。
4.根据权利要求3所述的近似比对装置,其特征在于:
上述关键字提取单元进一步具有重复删除单元,该重复删除单元从上述存储单元中读出上述跳跃输入/跳跃词典比对单元输出的关键字候补的集合,生成删除了重复的关键字候补的关键字的集合并输出。
5.根据权利要求3或者4所述的近似比对装置,其特征在于:
上述跳跃词典中的删除关键字具有trie结构,
上述跳跃词典/跳跃词典比对单元在上述输入字符串和上述跳跃词典的比对中,从上述输入字符串的开头开始一边一次移动一个字符一边和上述跳跃词典进行比对,得到一致的关键字,并且预先保存在输入字符串的各字符位置上的关键字比对失败位置的值,
上述跳跃输入/跳跃词典比对单元在上述跳跃输入和上述跳跃词典的比对中,只在绝对跳跃位置的值大于等于上述输入字符串的字符位置的值或者小于等于将字符位置的值和关键字比对失败位置的值相加得到的值的情况下进行比对。
6.根据权利要求3或者4所述的近似比对装置,其特征在于:
上述跳跃词典中的删除关键字具有trie结构,
上述跳跃词典/跳跃词典比对单元在上述输入字符串和上述跳跃词典的比对中,用AC法比对输入字符串和跳跃词典,得到一致的关键字,并且预先保存在输入字符串的各字符位置上的上述trie结构的节点号码,
上述跳跃输入/跳跃词典比对单元在上述跳跃输入和上述跳跃词典的比对中,从上述绝对跳跃位置起再次开始采用AC法的比对,直到上述trie结构的节点转移到根节点为止进行比对。
7.一种近似比对方法,是对用自然语言表述的输入字符串和规定的关键字进行比对,输出一致的关键字和该关键字的出现位置的近似比对装置执行的近似比对方法,其特征在于:
上述近似比对装置具备跳跃词典存储单元,针对预先给予的关键字,存储包含删除关键字的跳跃词典,该删除关键字由关键字自身、和从该关键字的全部字符位置至少删除1个字符后的字符串的集合组成,
上述近似比对方法包含关键字提取步骤,由关键字提取单元通过比对上述输入字符串和存储在上述跳跃词典存储单元中的上述跳跃词典,从输入字符串提取预先给予的关键字以及与该关键字近似的关键字,并与该关键字的出现位置一同进行输出。
8.根据权利要求7所述的近似比对方法,其特征在于:
上述删除关键字由上述预先给予的关键字自身、和从该关键字的全部字符位置pk起删除了连续的wk字后的字符串的集合组成,其中,1≤wk≤N,N是关键字的删除最大字符数量,
上述跳跃词典对于上述集合中的各删除关键字的每一个,包含该删除关键字的删除字符位置pk、删除字符数量wk以及为该删除关键字的根源的关键字即原关键字的组,作为该删除关键字的值。
9.根据权利要求8所述的近似比对方法,其特征在于:
上述关键字提取步骤包含跳跃输入/跳跃词典比对步骤,
在上述跳跃输入/跳跃词典比对步骤中,对上述输入字符串和存储在上述跳跃词典存储单元中的跳跃词典进行比对,对于和跳跃词典一致的全部关键字候补,如果删除关键字的删除字符数量wk为0,则分类为表示“关键字在输入字符串中完全一致地出现”的一致类型EM,如果删除关键字的删除字符数量wk比0大,则分类为表示“在输入字符串中存在删除字符的状态下和关键字一致”的一致类型DEL,将分类的结果作为一致类型,将一致类型、输入字符串中的一致开始位置、结束位置、错误开始位置、错误字符数量、原关键字存储在存储单元中,
制成一边使输入字符串的绝对跳跃位置p一次增加一个一边以跳跃幅度wi字进行了跳跃的字符串即跳跃输入,比对各跳跃输入和上述跳跃词典,对于和跳跃词典一致的全部关键字候补,计算在关键字上的相对跳跃位置pi,如果删除关键字的删除字符数量wk是0,则分类成表示“在输入字符串中存在插入字符的状态下和关键字一致”的一致类型INS,如果删除关键字的删除字符数量wk大于0、并且输入字符串的相对跳跃位置pi和删除关键字的删除字符位置pk相等、并且输入字符串的跳跃幅度wi和删除关键字的删除字符数量wk相等,则分类为表示“在输入字符串中存在置换字符的状态下和关键字一致”的一致类型REP,将分类的结果作为一致类型,将一致类型、输入字符串中的一致开始位置、结束位置、错误开始位置、错误字符数量以及原关键字存储在存储单元中,其中,1≤wi≤N,N是输入字符串的最大跳跃幅度。
10.根据权利要求9所述的近似比对方法,其特征在于:
上述跳跃输入/跳跃词典比对步骤具有:从存储单元中读出在上述跳跃输入/跳跃词典比对步骤中存储的关键字候补的集合,生成删除了重复的关键字候补的关键字的集合并输出的步骤。
11.根据权利要求9或者10所述的近似比对方法,其特征在于:
上述跳跃词典中的删除关键字具有trie结构,
在上述跳跃词典/跳跃词典比对步骤中,上述关键字提取单元在上述输入字符串和上述跳跃词典的比对中,从上述输入字符串开头开始一边一次移动一个字符一边和上述跳跃词典进行比对,得到一致的关键字,并且预先保存在输入字符串的各字符位置上的关键字比对失败位置的值,
上述关键字提取单元在上述跳跃输入和上述跳跃词典的比对中,只在绝对跳跃位置的值大于等于上述输入字符串的字符位置的值或者小于等于将字符位置的值和关键字比对失败位置的值相加得到的值的情况下进行比对。
12.根据权利要求9或者10所述的近似比对方法,其特征在于:
上述跳跃词典中的删除关键字具有trie结构,
在上述跳跃词典/跳跃词典比对步骤中,上述关键字提取单元在上述输入字符串和上述跳跃词典的比对中,用AC法比对输入字符串和跳跃词典,得到一致的关键字,并且预先保存在输入字符串的各字符位置上的上述trie结构的节点号码,
上述关键字提取单元在上述跳跃输入和上述跳跃词典的比对中,从上述绝对跳跃位置起再次开始采用AC法的比对,直到上述trie结构的节点转移到根节点为止进行比对。
13.一种程序,是用于让计算机作为近似比对装置发挥功能的程序,该近似比对装置比对用自然语言表述的输入字符串和规定的关键字,输出一致的关键字和该关键字的出现位置,
上述计算机具备跳跃词典存储单元,该跳跃词典存储单元对预先给予的关键字,存储包含删除关键字的跳跃词典,该删除关键字由关键字自身、和从该关键字的全部字符位置至少删除1个字符后的字符串的集合组成,
上述程序让上述计算机作为权利要求1至6中的任意一项所述的近似比对装置的关键字提取单元发挥功能。
14.一种记录有权利要求13所述的程序的计算机可读取的记录介质。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-228382 | 2008-09-05 | ||
JP2008228382 | 2008-09-05 | ||
PCT/JP2009/059215 WO2010026804A1 (ja) | 2008-09-05 | 2009-05-19 | 近似照合装置、近似照合方法、プログラム及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102138141A true CN102138141A (zh) | 2011-07-27 |
CN102138141B CN102138141B (zh) | 2013-06-05 |
Family
ID=41796978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801333447A Expired - Fee Related CN102138141B (zh) | 2008-09-05 | 2009-05-19 | 近似比对装置、近似比对方法、程序及记录介质 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP5238034B2 (zh) |
KR (1) | KR101245631B1 (zh) |
CN (1) | CN102138141B (zh) |
WO (1) | WO2010026804A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487781A (zh) * | 2020-12-10 | 2021-03-12 | 成都海光微电子技术有限公司 | 文件比对方法、装置、存储介质及设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5522017B2 (ja) * | 2010-12-14 | 2014-06-18 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム |
JP5728979B2 (ja) * | 2011-02-02 | 2015-06-03 | 富士通株式会社 | 情報処理装置、ソフトウェア検査方法およびソフトウェア検査プログラム |
JP6136142B2 (ja) * | 2012-08-24 | 2017-05-31 | 富士通株式会社 | 文字列置換装置、方法及びプログラム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01237724A (ja) * | 1988-03-18 | 1989-09-22 | Hitachi Ltd | あいまい文字列検索表示方法 |
US5655129A (en) * | 1994-05-23 | 1997-08-05 | International Business Machines Corporation | Character-string retrieval system and method |
CN1627300A (zh) * | 2003-12-11 | 2005-06-15 | 微软公司 | 学习并使用广义串模式用于信息提取 |
CN1869983A (zh) * | 2006-06-27 | 2006-11-29 | 丁光耀 | 用于信息检索与信息输入的广义子串模式匹配方法 |
WO2006130947A1 (en) * | 2005-06-06 | 2006-12-14 | 3618633 Canada Inc. | A method of syntactic pattern recognition of sequences |
CN101158980A (zh) * | 2007-12-04 | 2008-04-09 | 威盛电子股份有限公司 | 多模式搜寻的方法与系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58201140A (ja) * | 1982-05-20 | 1983-11-22 | Toshiba Corp | 文書作成装置 |
-
2009
- 2009-05-19 WO PCT/JP2009/059215 patent/WO2010026804A1/ja active Application Filing
- 2009-05-19 CN CN2009801333447A patent/CN102138141B/zh not_active Expired - Fee Related
- 2009-05-19 JP JP2010527723A patent/JP5238034B2/ja active Active
- 2009-05-19 KR KR1020117004098A patent/KR101245631B1/ko active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01237724A (ja) * | 1988-03-18 | 1989-09-22 | Hitachi Ltd | あいまい文字列検索表示方法 |
US5655129A (en) * | 1994-05-23 | 1997-08-05 | International Business Machines Corporation | Character-string retrieval system and method |
CN1627300A (zh) * | 2003-12-11 | 2005-06-15 | 微软公司 | 学习并使用广义串模式用于信息提取 |
WO2006130947A1 (en) * | 2005-06-06 | 2006-12-14 | 3618633 Canada Inc. | A method of syntactic pattern recognition of sequences |
CN1869983A (zh) * | 2006-06-27 | 2006-11-29 | 丁光耀 | 用于信息检索与信息输入的广义子串模式匹配方法 |
CN101158980A (zh) * | 2007-12-04 | 2008-04-09 | 威盛电子股份有限公司 | 多模式搜寻的方法与系统 |
Non-Patent Citations (1)
Title |
---|
王燚: "基于Trie结构的带通配符的相似字符串匹配算法", 《计算机应用》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487781A (zh) * | 2020-12-10 | 2021-03-12 | 成都海光微电子技术有限公司 | 文件比对方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
JP5238034B2 (ja) | 2013-07-17 |
WO2010026804A1 (ja) | 2010-03-11 |
KR20110044253A (ko) | 2011-04-28 |
JPWO2010026804A1 (ja) | 2012-02-02 |
KR101245631B1 (ko) | 2013-03-22 |
CN102138141B (zh) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102768681B (zh) | 一种用于搜索输入的推荐系统及方法 | |
Iso et al. | Learning to select, track, and generate for data-to-text | |
CN107608960B (zh) | 一种命名实体链接的方法和装置 | |
CN107944629A (zh) | 一种基于异质信息网络表示的推荐方法及装置 | |
CN101441623B (zh) | 翻译装置及信息处理方法 | |
CN111460083A (zh) | 文档标题树的构建方法、装置、电子设备及存储介质 | |
WO2008004335A1 (fr) | dispositif de recherche de séquence de bits, procédé de recherche et programme | |
CN109977220B (zh) | 一种基于关键句和关键字的反向生成摘要的方法 | |
CN102138141B (zh) | 近似比对装置、近似比对方法、程序及记录介质 | |
CN113177123B (zh) | 文本转sql模型的优化方法及系统 | |
CN112115232A (zh) | 一种数据纠错方法、装置及服务器 | |
CN106021220B (zh) | 表格检测方法及装置 | |
CN104199954B (zh) | 一种用于搜索输入的推荐系统及方法 | |
Luo et al. | Deep semantic match model for entity linking using knowledge graph and text | |
CN104268176B (zh) | 一种基于搜索关键词的推荐方法 | |
Ahmadi et al. | Unsupervised matching of data and text | |
Gu et al. | Learning joint multimodal representation based on multi-fusion deep neural networks | |
Wu et al. | Learning data transformation rules through examples: Preliminary results | |
CN110750632B (zh) | 一种改进的中文alice智能问答方法及系统 | |
CN102567424B (zh) | 一种诗词关联库系统及其实现方法和电子学习设备 | |
CN109829158B (zh) | 核心专利挖掘方法 | |
Zhao et al. | Exploiting structured reference data for unsupervised text segmentation with conditional random fields | |
JP5022252B2 (ja) | 表現テンプレート生成装置、その方法およびそのプログラム | |
Maraist | String shuffling over a gap between parsing and plan recognition | |
Zhang et al. | Boilerplate detection via semantic classification of TextBlocks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130605 Termination date: 20190519 |