具有搜索相似特性字词能力的资料查询方法及搜索引擎服务器 【技术领域】
本发明涉及一种资料查询方法及系统,特别是涉及一种允许输入的查询条件或资料库的内容有误的具有搜索相似特性字词能力的资料查询方法及系统。
背景技术
随着科技发展,人们已习惯利用各种搜索引擎来查询包含特定内容的资料。以因特网来说,著名的搜索引擎例如Google、Yahoo,使用者需输入关键词当作查询条件;另有例如酷比(Scupio)搜索引擎,查询条件除了关键词的外,还可以是整篇或段落文章。前述查询条件,通常是由使用者以键盘键入的方式输入,或由网页文章进行选取,但也可能通过手写辨识装置输入查询条件,或通过光学字符辨识(Optical CharacterRecognition,OCR)技术将纸本转换得到的数字文字资料。再以语音查询搜索引擎来说,使用者输入查询条件的方式更有别于前者,是利用例如电话语音的方式输入。
然而,不论是键入关键词,或手写辨识、光学字符辨识、语音辨识技术,都难以确保百分之百的正确率,实际上常会发生键入相似形状或发音的字或词,或辨识成相似形状或发音的字或词的状况。举例来说,使用者欲查询“遠東飯店”,若以仓颉输入法打字或通过光学字符辨识,输入条件可能会变成形状相似的“”“還柬飯店”,因为“遠”与“還”,以及“東”与“柬”形状非常相似;若以注音输入法打字或通过语音辨识,可能会变成“元通飯店”,因为“遠”与“元”,以及“東”与“通”在发音上非常相似。
以目前技术来说,当所输入的查询条件因为打错字或辨识错误而与使用者想查询的内容有所出入,搜索引擎将无法查询到所需要的资料。
另一方面,也有可能使用者所输入的查询条件是正确的,但搜索引擎所连接的资料库中资料内容有错别字,甚至有些资料因为翻译、口传,或存在别名的原因,以致有不同的文字形态,例如“遠東飯店”也常被称“遠東大飯店”,在此情况下,搜索引擎也可能查询不到所需要的资料。
为解决上述问题,目前大多是着重于提高光学字符辨识及语音辨识技术的辨识正确率,但即便辨识正确率可利用校正方式而稍微提高,但输入关键词时打错字、资料库本身存在错别字缺陷,或者所查询的名称有别名等状况,仍无法克服。
【发明内容】
本发明的目的是在提供一种具有搜索相似特性字词能力的资料查询方法及搜索引擎服务器。
于是,本发明搜索引擎服务器包含一利用文字特性扩大查询范围的系统,及一与利用文字特性扩大查询范围的系统连接的搜索单元。搜索单元还与一资料库连接。
利用文字特性扩大查询范围的系统包括一供接收一查询条件的接收模块、一与接收模块连接且供撷取查询条件中的字的撷取模块、至少一与该撷取模块连接且将被撷取的字进行编码后存回该撷取模块的编码器、一与该撷取模块连接且内建一相似字表的对比模块,及一与该撷取模块及该对比模块连接的替换模块。
前述编码器所采编码方式与文字的一种特性相关。对比模块的相似字表上列举具有有相似特性的字,所述具有相似特性的字事先以该至少一编码器编码处理过,对比模块将被撷取的字的字码与该相似字表对比,得到对比结果为相似的字。替换模块以对比模块所得到的相似字对该查询条件中的对应字进行替换,得到至少一个“相似查询条件”。搜索单元则依据“查询条件”与“相似查询条件”在该资料库中进行搜索,并将符合查询条件与该相似查询条件的资料输出。
本发明的搜索引擎服务器执行具有搜索相似特性字词能力的资料查询方法,包含以下步骤:
(A)接收一查询条件。
(B)撷取查询条件中的字和/或词,对应地组成一字组和/或词组或字词组,以下简称字词组。
(C)针对该字词组中的字和/或词,依其至少一特性以与该特性相关的编码方式进行编码,产生对应的字码和/或词码。
(D)使每一字码和/或词码与一事前建立的相似字词表进行对比,其中,该相似字词表上列举具有有相似特性的字、词其中至少一个,并以与步骤(C)所采相同的编码方式进行过编码处理。
(E)以对比结果为相似的字和/或词对该查询条件中地对应字和/或词进行替换,得到至少一个“相似查询条件”,定义该查询条件与该相似查询条件总称为“扩大查询条件”。
(F)依据该“扩大查询条件”,在一资料库中进行搜索,将符合“扩大查询条件”的资料输出。
本发明的有益效果在于:可在不校正输入的查询条件以及资料库内容的情况下,依据查询条件的字或词的形、音等文字特性,查询到所需要的资料。
【附图说明】
图1是一方框图,说明本发明搜索引擎服务器的优选实施例;
图2是一流程图,说明该搜索引擎服务器的演算流程。
具有体实施方式
下面结合附图及实施例对本发明进行详细说明:
参阅图1,本发明搜索引擎服务器100的优选实施例包含一利用文字特性扩大查询范围的系统1、及一与该系统1及一资料库4连接的搜索单元2。该利用文字特性扩大查询范围的系统1也可独立安装至其它现有的搜索引擎,使现有搜索引擎也能具有有搜索相似特性的字词的能力。
该系统1则包括一供接收一查询条件30的接收模块11、一与接收模块11连接且用以撷取查询条件30中的字及词而产生字词组的撷取模块12、与撷取模块12连接且用以对字及词进行编码的一形编码器131与一音编码器132、一与撷取模块12连接且内建一相似字词表140的对比模块14、及彼此相互连接的一用以产生“相似查询条件31”的替换模块15、与一用以产生“减字查询条件32”的减字模块16。
其中,本实施例的撷取模块12是以撷取查询条件30中的字及词举例说明,对比模块14中的“相似字词表”内容包含字及词,但不以此为限。本发明的撷取模块12也可以设定为只撷取字或只撷取词;当撷取模块12设定为只撷取字,对比模块14的相似字词表140应缩减为“相似字表”;当撷取模块12设定为只撷取词,对比模块14的相似字词表140应缩减为“相似词表”。此外,虽本实施例的撷取模块12是设定为撷取字及词,但若由该查询条件30中撷取不出词,也会有字词组中只包含字的情况。事实上,词乃多个字所组成,原则上只要取字作后续运算即可达到本发明的目的,但由于有些口语连音的关系,有些词不容易被细分出字,这状况在网络盛行的现代更加常见,因此以针对字及词都进行撷取较佳。
配合参阅图2,该搜索引擎服务器100执行本发明的具有搜索相似特性字词的能力的资料查询方法,该方法的优选实施例包含以下步骤:
步骤S1-接收模块11接收查询条件30。该查询条件30一般来说是使用者以键入方式输入的关键词,但也可以是通过选取、手写辨识、光学字符辨识、或语音输入等方式输入的关键词、句子或文章段落。以下以查询条件30为“遠東飯店”举例说明。
步骤S2-撷取模块12撷取查询条件30“遠東飯店”中的字及词,组成内容为“遠東、飯店、遠、東、飯、店”的字词组。
接着,字词组分别利用形编码器131及音编码器132进行编码步骤S31、S32,该两个编码步骤可同步进行,也可一先一后进行且顺序不限。
步骤S31-形编码器131将字词组中的每一字、每一词依字形进行编码,而产生字形码及词形码。本实施例以编码方式为仓颉输入法举例说明,因此例如“遠東”的词形码为“卜土口女木田”,“遠”的字形码为“卜土口女”,東的字形码为“木田”。当然,编码方式不以此为限,也可以是五笔输入法、四角号码检字法、大易、无虾米、速成输入法等任何与字形相关的编码方式。
步骤S32-音编码器132将字词组中的每一字、每一词依发音进行编码,而产生字音码及词音码。本实施例以编码方式为罗马拼音举例说明,因此例如“遠東”的词音码为“yuandong”,“遠”的字音码为“yuan”,“東”的字音码为“dong”。当然,编码方式不以此为限,也可以是注音、通用拼音、汉语拼音等任何与发音相关的编码方式。
上述字形码、词形码、字音码及词音码仍存于撷取模块12的字词组中,并由对比模块14进行接续的步骤S41、S42与S43。对比模块14中的相似字词表140上列举具有有相似特性的字及词,并已事先经形编辑器131以仓颉输入法进行过编码处理,产生“相似字词形表”,也经音编辑器132以罗马拼音进行过编码处理,产生“相似字词音表”。
步骤S41-接续步骤S31,将字词组中的字形码、词形码与“相似字词形表”进行对比,寻找形相似者,一般来说,先比词在比字,但不以此为限。在本实施例,相似与否的判断是利用量化的相似度,其计算方式例如:
1.“遠”的字形码是“卜土口女”,而相似字词形表中的“還”的字形码是“卜田中女”,则四码中二码,“還”字与“遠”字的相似度为2/4=50%。
2.“東”的字形码是“木田”,而相似字词形表中的“柬”的字形码是“木田火”,则三码中二码,“柬”字与“東”字的形相似度为2/3=67%。
步骤S42-接续步骤S32,将字词组中的字音码、词音码与“相似字词音表”进行对比,寻找发音相似者,一般来说,先比词在比字,但不以此为限。在本实施例,相似与否的判断是利用量化的相似度,其计算方式例如:
1.“遠”的字音码是“yuan”,而相似字词音表中的“元”的字音码是“yuan”,则四码完全相同,“元”字与“遠”字的音相似度为4/4=100%。
2.“東”的字音码是“dong”,而相似字词音表中的“通”的字音码是“tong”,则四码中三码,“通”字与“東”字的相似度为3/4=75%。
本发明判断是否相似的方式不以量化相似度为限,且即便计算相似度,也不以上述计算公式为限,可以调整为其它计算公式。举例来说,若音编码器132是采注音编码,“遠”的字音码是“ㄩㄢˇ”,“旋”的字音码是“ㄒㄩㄢˊ”,“旋”字与“遠”字的音相似度可等于[2*2(因为重叠两码)]/[3(遠有三码)+4(旋有四码)]=4/7=57%。
步骤S43-对比模块14预设一相似度的门槛值,例如50%,高于该门槛值的字词被判断为相似,接着进行步骤S5,相等或低于该门槛值的字词,则被判断为不相似,将不进行后续演算流程。因此,以上述例子来说,“還”及“柬”的形相似度高于门槛值,“元”及“通”的音相似度也高于门槛值。
值得一提的是,本发明也可以只针对字形或发音其中的单一种文字特性去扩大查询条件,也就是说,本发明可以只采形编码器131、音编码器132其中一者进行编码,只用一种对比方式,不一定形、音两种编码及对比步骤都进行。
步骤S51-替换模块15将相似度高于门槛值的字及词,对查询条件30“遠東飯店”中的对应字及词进行替换,得到例如“還東飯店”、“遠柬飯店”、“元東飯店”、“遠通飯店”等“相似查询条件31”,同时计算得分。分数计算方式举例如下,但不以此方式为限。
“還東飯店”:(50%+100%+100%+100%)/4=87.5%
“遠柬飯店”:(100%+67%+100%+100%)/4=91.75%
“元東飯店”:(100%+100%+100%+100%)/4=100%
“遠通飯店”:(100%+75%+100%+100%)/4=93.75%
步骤S52-替换模块15接着判断“相似查询条件31”的分数是否高于一预设的门槛值,在此的门槛值可与对比模块14的相同,也可提高为例如75%或降低,若高于该门槛值,则进入步骤S53-连同原查询条件30定义为“扩大查询条件33”,若相等或低于该门槛值,则不列入计算。
步骤S61-减字模块16预设有减字量,并将查询条件30与相似查询条件31进行减字,得到“减字查询条件32”并计算得分。举例来说,减字模块16预设减字数量为一,则“遠柬飯店”经过减字模块16处理后,得到“柬飯店”、“遠飯店”、“遠柬店”、“遠柬飯”这四个“减字查询条件32”。减字查询条件32的分数需以原分数乘上一权重,本例因四字减一字,权重为3/4,因此该四个减字查询条件32的分数皆为91.75%*3/4=68.81%。
步骤S62-减字模块16接着判断“减字查询条件32”的分数是否高于一预设的门槛值,在此的门槛值可与替换模块15的75%相同,也可稍微降低或提高。若高于该门槛值,则进入步骤S63-并入“扩大查询条件33”,若相等或低于该门槛值,则不列入计算。
步骤S7-搜索单元2设定“容许间隔距离d”,在此以d=2举例说明,搜索单元2针对每一查询条件30、相似查询条件31、及减字查询条件32的字与字间插入空格,空格数n≤d,得到“容许间隔的查询条件”,并并入“扩大查询条件33”,再以该“扩大查询条件33”在资料库4中搜索资料。
当然,该步骤的演算方式不以上述为限,原则是当查询条件30、相似查询条件31或减字查询条件32的字词出现在资料库4的一资料中但出现的位置不同,只要字与字间的间隔距离在该设定的字符间隔距离d的内,则该资料在下一步骤中将被认定为符合“扩大查询条件”。
步骤S8-搜索单元2在资料库4中搜索符合“扩大查询条件33”的资料,并针对搜索到的资料计算得分。举例来说,有一资料内容出现“遠柬大旅店”,以查询条件30“遠東飯店”来说,一般搜索引擎是不可能找出该资料的,但本发明经过替换模块15以相似字形替换得到“遠柬飯店(91.75%)”,又经过减字模块16得到“遠柬店(68.81%)”,且容许间格距离,因此找到“遠柬大旅店”的第一、二、五个字符合扩大查询条件-“遠柬店”,分数可以是68.81%*3/5=41.29%。
步骤S9-搜索单元2接着判断该资料的分数是否高于一预设的门槛值,在此的门槛值可与前述相同,但通常也可降低为例如40%,若高于该门槛值,则进行输出,若相等或低于该门槛值,则不输出。输出方式可依得分作递减排列,使最高分的资料出现在最前面,方便使用者选择分数高者。
由以上可知,若使用者输入关键词时误植错别字、或光学字符辨识、语音辨识有误,甚或资料库中的资料内容有误,对一般搜索引擎来说几乎不可能找回使用者真正想搜索的资料,但利用本发明的搜索引擎,依然有机会找到该资料,且每一份输出的资料包含得分,使用者可利用该得分选择要看的资料。综上所述,本发明利用文字特性扩大查询范围的方法,使资料搜索的条件可扩及形、音等文字特性与该条件相似者,借此在不校正输入的查询条件以及资料库内容的情况下,使用者仍可查询到所需要的资料,确实可达到本发明的目的。
以上所述,仅为本发明的优选实施例,不能以此限定本发明实施的范围,即凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,仍属本发明专利涵盖的范围。