CN104239565B - 一种基于学术搜索的姓名自动提示方法 - Google Patents

一种基于学术搜索的姓名自动提示方法 Download PDF

Info

Publication number
CN104239565B
CN104239565B CN201410510281.5A CN201410510281A CN104239565B CN 104239565 B CN104239565 B CN 104239565B CN 201410510281 A CN201410510281 A CN 201410510281A CN 104239565 B CN104239565 B CN 104239565B
Authority
CN
China
Prior art keywords
name
character
user
input
scholar
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.)
Expired - Fee Related
Application number
CN201410510281.5A
Other languages
English (en)
Other versions
CN104239565A (zh
Inventor
陆嘉恒
蔡晓华
董兆安
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201410510281.5A priority Critical patent/CN104239565B/zh
Publication of CN104239565A publication Critical patent/CN104239565A/zh
Application granted granted Critical
Publication of CN104239565B publication Critical patent/CN104239565B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24537Query rewriting; Transformation of operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种基于学术搜索的姓名自动提示方法,其特征在于,包括如下步骤:用户输入一定长度的字符串;针对用户输入的字符串在待选结果中通过前缀匹配方法,查找用户输入的字符串匹配的结果返回用户;如果未返回与用户输入的字符串匹配的结果,则按姓名匹配方法分类匹配向用户反馈结果。本发明能够识别并且提示满足以输入字符串开头的学者姓名。本发明使得姓名自动提示提示更加快捷、准确、方便用户的使用,提高用户体验。

Description

一种基于学术搜索的姓名自动提示方法
技术领域
本发明涉及一种姓名自动提示方法,特别涉及一种基于学术搜索的姓名自动提示方法,属于数据搜索技术领域。
背景技术
搜索提示,是指当用户在搜索框中输入关键字时,出现的与关键字相关联的提示,这些提示是与已输入的关键字匹配的。
搜索提示被广泛运用在搜索引擎、电子词典中的搜索等技术中。以搜索引擎为例,如:当用户输入“北京”时,搜索提示会出现“北京地铁”、“北京地图”等,用户可以通过键盘的上、下键直接选中“北京地铁”或“北京地图”作为搜索关键字。
在基于学术搜索系统中,在学术论文题目、学术论文的作者、并针对这些搜索结果的归类、统计等工作中也常常会有大量的搜索关键词录入。为了方便用户尽可能少量的输入就能体现相应的关键词,减少用户的工作量。搜索提示系统也逐渐应用到学术搜索系统中,主要针对学术搜索系统的搜索部分进行自动提示功能,以帮助用户更快的输入,并且纠正用户的输入错误,针对用户的输入找到相近的内容。
现有的一些搜索提示系统往往不能满足学术搜索中的一些特殊搜索。例如在需要对学者排名时,不仅仅要考虑学者发表的论文数目还要考虑学者发表论文的级别。用户在输入学者名称时,搜索提示系统能识别并提示满足以输入字符串开头的学者名称。但现有的搜索提示系统涉及到一些特殊的名称将不能很好的提示用户。例如:中国学者与西方学者明明习惯不同导致了相应的名称也不同。涉及到中间名、特殊字符、昵称、拼写错误等问题目前的搜索提示系统并不能很好的按用户的输入提示用户。
发明内容
本发明要解决的技术问题是:提供一种能够识别并且提示满足以输入字符串开头的自动提示方法。
为实现上述的发明目的,本发明提供了一种基于学术搜索的姓名自动提示方法,其特征在于,包括如下步骤:
用户输入一定长度的字符串;
针对用户输入的字符串在待选结果中通过前缀匹配方法,查找用户输入的字符串匹配的结果返回用户;
如果未返回与用户输入的字符串匹配的结果,则按姓名匹配方法分类匹配向用户反馈结果。
其中较优地,所述字符串的长度是3。
其中较优地,所述前缀匹配算法具体包括如下步骤:
通过构件Trie树对用户输入的字符进行预处理,算出输入的返回结果。
其中较优地,所述Trie树在路径上存储一个字符,在每个节点存储三个字符串。
其中较优地,所述按姓名匹配方法分类匹配向用户反馈结果的步骤包括:
将用户输入的字符按姓名的命名习惯分类为亚洲姓名、含有特殊字符的姓名、含有中间名的姓名、昵称类姓名;
按不同类型的姓名以相应的提示方式向用户提示。
其中较优地,如果用户输入的字符是亚洲姓名,则判断用户输入的字符是否是中文拼音或含有英文演化词;
如果是拼音,则将用户输入的字符识别出中文姓名,进行标记,在临时数据库中存储正姓-名常顺序的拼写和姓-名颠倒顺序,分别在学者姓名数据库中做匹配提示;
如果含有英文演化词,则将用户输入的字符转化为中文拼音,以演化词和中文拼音分别在学着姓名库中做匹配提示。
其中较优地,如果用户输入的字符是含有特殊字符的姓名,则判断用户输入的含有特殊字符的姓名是否含有普通特殊字符还是西欧字符;
如果是普通特殊字符,则对用户输入的字符去掉非字母字符与学者姓名数据库库中去掉非字母字符的姓名做前缀匹配并提示;
如果是西欧字符,则对用户输入的字符中的西欧字符转换成与之相对应的英文字符,将学者姓名库中的西欧字符也转换成与之相对应的英文字符,将转换后的姓名做匹配提示。
其中较优地,如果用户输入的字符是含有中间名的姓名,则将用户输入的第二个单词和学者姓名库中含有三个单词的学者匹配处理,如果有用户输入的第二个单词和学者姓名库中的第三和单词符合,则向用户反馈结果。
其中较优地,如果用户输入的字符是昵称类姓名,则对用户输入的字符做对应的替换,按替换的字符匹配提示。
其中较优地,所述按姓名匹配方法分类匹配向用户反馈结果步骤还包括对用户拼写错误纠正的步骤:
如果用户拼写的字符数按姓名匹配方法分类匹配后返回的结果为空或满足条件的结果少于预定值启用模糊匹配方法编辑用户输入的字符,在编辑后的字符与学者姓名库匹配提示;
其中,对用户输入的字符编辑时包括如下方式:
在用户输入的字符任意位置插入一个字符、删除一个字符、或将任意一个字符替换成其他字符。
本发明提供的基于学术搜索的姓名自动提示方法能够识别并且提示满足以输入字符串开头的学者姓名。本发明使得姓名自动提示提示更加快捷、准确、方便用户的使用,提高用户体验。
附图说明
图1是本发明基于学术搜索的姓名自动提示方法流程示意图。
图2是本发明姓名自动提示方法中改进的Trie树结构示意图。
图3是本发明姓名自动提示方法中实施例示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明提供一种基于学术搜索的姓名自动提示方法,具体包括如下步骤:用户输入一定长度的字符串;针对用户输入的字符串在待选结果中通过前缀匹配方法,查找用户输入的字符串匹配的结果返回用户;如果未返回与用户输入的字符串匹配的结果,则按姓名匹配方法分类匹配向用户反馈结果。下面对本发明展开详细的说明。
首先,介绍前缀匹配方法匹配用户输入字符的步骤。
在本发明中,启用前缀匹配方法匹配用户输入字符时,针对用户输入的字符串在待选结果中通过前缀匹配方法,查找用户输入的字符串匹配的结果返回,所述前缀匹配算法具体包括通过构件Trie树对用户输入的字符进行预处理,算出输入的返回结果。下面详细说明:
使用前缀匹配方法匹配用户输入字符匹配时针对用户输入的字符串S,在待选结果集中寻找以S开头的结果,并返回。举例说明如下:
待选集合A={poestion,pom,panel,post,polar,polarization}
当用户输入po时,返回结果是{poestion,pom,post,polar,polarization}
当用户输入poe时,返回结果是{poestion}
当用户输入pol时,返回结果是{polar,polarization}
在本发明中,前缀匹配方法匹配用户输入字符主要用于解决自动补齐问题有两个优点,首先是解决问题的直观性。前缀匹配算法符合用户的输入规则,即用户输入查找内容都是按照关键字或者关键概念,在学术搜索系统检索某一个学者时,都是按照学者名进行查找,学者名的输入就是按照拼写顺序,这在形式上符合前缀匹配规则,不需要算法进行额外的形式转化。第二个优点就是前缀匹配方法匹配用户输入字符的速度快,自动提示的相对于结果的准确性,更大的要求在于结果返回速度,经过综合评估,除去网络交互的平均速度,用户键入字母的速度,自动提示结果返回的速度要在200微秒以内。本例中前缀匹配算法的实现结构,保证了结果返回的高效性。
在本发明的一个实施例中,前缀匹配方法匹配用户输入字符时采用的算法结构是Trie树(又称单词查找树)。如图2所示,在本实施例中,对Trie树结构进行了改进,使其更适应于自动提示。从图2中可以看出,改进后的Trie树,在路径上存储一个字符,在每个节点存储三个字符串。由根节点到达每一个节点的路径集合构成一个前缀,所在节点内存储的三个字符串就是匹配该前缀的结果,举例说明如下:
1)从根节点出发,沿路径a,此时前缀Prefix=a,到达第一个节点,节点内存储的值就是以a开头的字符串集合,即{author,auto,answer}
2)从根节点出发,沿路径ab,此时前缀Prefix=ab,到达树结构最左边的节点,节点内存储的三个字符串就是以ab开头的字符串集合,即{ab,abstract,abstain}
3)从根节点沿路径ca,此时前缀Prefix=ca,到达树结构右边最后一个节点,则以ca开头的结果集合是{can,calculate,cacao}
使用本发明改进的Trie树通过对前缀匹配方法匹配用户输入字符时对数据进行预处理,构建树的过程中就算出了针对任何输入的返回结果,很大程度上保证了算法的高效性,针对用户的输入沿一条路径就可以找到满足条件的结果。
其次,介绍按姓名匹配方法分类匹配向用户反馈结果的步骤。
学术搜索系统中,用户使用名字对感兴趣的学者进行检索,自动提示时也按照用户输入的学者名前缀进行匹配,但是这样有几个问题无法解决:国内学者对应英文名、特殊字符问题、中间名等这些姓名并不能在搜索系统中有良好的检索提示。为解决上述困境,本发明提供如下方案:将用户输入的字符按姓名的命名习惯分类为亚洲姓名、含有特殊字符的姓名、含有中间名的姓名、昵称类姓名;按不同类型的姓名以相应的提示方式向用户提示。下面针对各种情况逐一进行说明,
亚洲学者对应英文名问题。
如果用户输入的字符是亚洲姓名,则判断用户输入的字符是否是中文拼音或含有英文演化词;如果是拼音,则将用户输入的字符识别出中文姓名,进行标记,在临时数据库中存储正姓-名常顺序的拼写和姓-名颠倒顺序,分别在学者姓名数据库中做匹配提示;如果含有英文演化词,则将用户输入的字符转化为中文拼音,以演化词和中文拼音分别在学着姓名库中做匹配提示。具体如下:
由于中西方命名习惯的不同,亚洲人一般将姓氏放在前面,将名放在后面,而西方人多加名放在姓氏之前,出于这种习惯的原因,亚洲学者,尤其是中国学者在发表国际论文时,用拼音拼写自己的名字,并且将名放在姓氏前面作为自己英文名,例如学者王伟,他的英文名是Wei Wang,学者王珊,她的英文名字是Shan Wang。
出于这种改变规则,因而在学术搜索系统中检索学者,尤其是检索中国学者时,都要刻意改变一下拼写习惯,用户在没有注意到时,可能会直接按照中文命名习惯进行检索,例如检索王伟时,可能会直接输入Wang Wei,这样在自动提示环节就无法对其进行有效的提示,提高用户的输入速度。
还有一种情况是中文姓氏与英文的演化问题,中国学者在写自己的英文姓氏时,有时不是直接转变为对应的拼音拼写,而是做一定的演化,例如姓氏李,英文名往往转化为Lee,姓氏金往往转化为King。所以对应的学者的名字也会发生相应的变化。以学者李健为例,他的英文名是Jian Lee,而不是Jian Li;学者金源放的英文名是Yuanfang King,而不是Yuanfang Jin。这种情况也给自动提示时带来一定的影响。
基于以上这种情况,在本例实现自动提示系统时,对以上问题提出了解决算法。对于姓氏和名字颠倒的问题,实现系统时,首先对数据库中的学者姓名数据进行处理,识别出其中中文姓名(基于中文特有的姓氏和命名规则进行模糊识别,然后在论文数据中检索验证识别信息的正确性),进行标记,然后为每一个中文姓名存储一个正常顺序的备份,用于自动提示。例如学者王珊,数据库中对其的存储信息为{Shan Wang,Wang Shan},即一个人存储一个中文名,一个英文名,这样就保证了自动提示时,按照中文习惯输入或者按照英文习惯输入,都能找到对应的结果。
对于像Lee,King这种姓氏特殊变迁的学者姓名,首先在建立一个对应的知识库,知识库中存储所有这种变迁的姓氏,并且存储其对应的中文拼写,存储的是键值对的形式。例如上面提到的Lee和King的例子在知识库中存储的信息为{Lee->Li},{King->Jin},这样在做自动提示时,首先在知识库中进行一遍检索,如果发现输入的内容中有在知识库中的部分,先对原内容进行一遍自动提示操作,然后再将姓氏替换后在进行一次,将两次操作结果综合返回。
特殊字符问题。
如果用户输入的字符是含有特殊字符的姓名,则判断用户输入的含有特殊字符的姓名是否含有普通特殊字符还是西欧字符;如果是普通特殊字符,则对用户输入的字符去掉非字母字符与学者姓名数据库库中去掉非字母字符的姓名做前缀匹配并提示;如果是西欧字符,则对用户输入的字符中的西欧字符转换成与之相对应的英文字符,将学者姓名库中的西欧字符也转换成与之相对应的英文字符,将转换后的姓名做匹配提示。下面具体说明。
在中文名和英文名字中,都经常会包含一些特殊字符,有些特殊字符有些是命名习惯,有些是为了跟其他人进行区分。例如,学者Chin-Chen Chang名字中的“-”,学者Mahmut T.Kandemir名字中的“.”,学者Václav Snásel姓名中的西欧字符“á”。总结来说特殊字符就要有两种情况,一个是名字中含有的“-”,“.”这种非字母符号,另一类是键盘无法打印的西欧字符。下面分别就这两种情况进行说明。
普通特殊字符:普通特殊字符是指名字中非字母的字符。这些字符数量比较少,而且是固定的。普通字符在名字中没有含义,通常是一种命名习惯或者拼写习惯。针对这种情况,自动提示系统的处理方式就是忽略这种字符。在将姓名信息取进内存时,首先对姓名信息进行预处理,去掉这些非字母类特殊字符,只保留字母字符串。针对用户的输入也做一个预处理,去除掉用户输入的非字母字符,然后再去进行前缀匹配。经过这种处理,既保留了姓名信息的完整性,又保证了自动提示结果的准确性。
西欧字符:西欧字符是包含在西欧学者姓名中的,不能再键盘打印出来的特殊字符。这些字符集中在元音字符,与上面提到的普通特殊字符不同,西欧字符是有自己的含义的,不能像普通特殊字符一样直接忽略。西欧字符有一个通用的特点就是虽然拼写形式与英文字符不同,但是形式上可以和英文字符一一对应。举例说明如下:学者Klaus-Robert Müller名字中的西欧字符“ü”可以对应为英文字符“u”,学者M.Tamer姓名中西欧字符“”对应于“O”,学者Petri姓名中西欧字符分别对应于“a”,“o”。实际使用时,用户输入的也都是与西欧字符对应的英文字符进行检索,例如用户要检索学者Petri时,输入的是Petri Mahonen;用户要检索学者Klaus-Robert Mülle时,输入的是Klaus-Robert Mulle。基于这种情况,我们实现的自动提示系统,利用知识库替换技术解决了这一问题。首先,我们搜集所有的西欧字符以及对应的英文字符,然后针对将这些一一对应的关系插入知识库中,例如上面提到的西欧字符在知识库中的形式为{ü:u},{},{},{}。借助于知识库,我们对数据库存储的所有学者姓名进行预处理,对含有西欧字符的姓名建立一个对应的昵称,昵称的形式就是将西欧字符替换为英文字符的形式,例如学者Klaus-Robert Mülle存储的昵称是Klaus-Robert Mulle,学者Petri存储的昵称为Petri Mahonen。即对每个含有西欧字符的姓名存储一个如何用户输入习惯的昵称,这样当用户输入时,自动提示系统就可以根据用户的输入提示出含有西欧字符的结果。
中间名问题。
如果用户输入的字符是含有中间名的姓名,则将用户输入的第二个单词和学者姓名库中含有三个单词的学者匹配处理,如果有用户输入的第二个单词和学者姓名库中的第三和单词符合,则向用户反馈结果。下面具体说明。
英文姓名的一般结构为:教名+自取名+姓,如William Jafferson Clinton,但是在很多场合中间名往往略去不写,例如上述姓名可以直接称呼为William Clinton。学者信息中这种情况也很普遍,例如学者Dhabaleswar K.Panda,在其发表的作品也有署名为Dhabaleswar Panda,学者Laurence Tianruo Yang简写为Laurence Yang。由于称呼的习惯,用户在学术搜索系统中搜索对应的学者时,往往也不加中间名,直接按照称呼习惯进行检索。另外,一些华裔学者在自己的英文名中也喜欢加入一个中间名,例如学者XiaoyangWang的英文名更喜欢写为Xiaoyang Sean Wang。因为这些情况,当检索含有中间名的学者时,就会面临自动提示不准确的问题。
基于以上问题,我们的自动提示系统提出了自己的解决方案。首先监测用户的输入,当用户输入有两个单词时,除了做常规的前缀匹配外,我们还对用户输入的第二个单词和学者姓名库中含有三个单词的学者进行匹配。如果学者输入的第二个单词与学者名中的第三个单词符合,则将这个结果也跟常规结果一起返回给用户。举例说明如下:
假设数据库中存储的信息是S={Wei Wang,Xiaoyong Ren,Xiaoyang Wei,Xiaoyang Sean Wang,Xiaofeng Meng},当用户输入是Xiaoyang W时,自动提示系统首先按照前缀匹配原则,找到第一个满足条件的结果,即Xiaoyang Wei,然后因为用户输入了两个单词,系统在数据库S中找到单词数找过两个的,即Xiaoyang Sean Wang和Xiaofeng Meng,然后将用户输入的第二个单词W跟这些结果进行匹配,找到满足条件的结果,即XiaoyangSean Wang,两个结果合并最终返回{Xiaoyang Wei,Xiaoyang Sean Wang}。
针对用户的输入进行昵称替换,最相似结果查找。
如果用户输入的字符是昵称类姓名,则对用户输入的字符做对应的替换,按替换的字符匹配提示。下面具体说明。
英文名中有个现象就是昵称问题,昵称类似于中文中的乳名,但是英文的昵称比较集中,一些固定的称呼,昵称也比较固定,举例说明如下:
Andy Andrew,Chris Christian,Jim James,Tom Thomas,Dave David
这些都是英文中常见的昵称对应,当用户在搜索框输入Andy Pavolo时,应该提示出Andrew Pavolo这个结果。
针对这种情况,自动提示系统实现时采用的是知识库对应替换策略,对每个昵称都建立一个对应,检测用户输入如果含有可替换昵称时,就对其进行替换查找。举例说明如下:如果用户输入的是Andy Le,系统首先将Andy替换为Andrew,然后将Andrew Le在放到自动提示系统中进行查找,找到符合前缀匹配的结果返回。
拼写错误在检索中是很常见的问题,在学术搜索系统中,由于用户的粗心,或者对姓名拼写不熟悉,出现拼写错误的情况常有。例如将Shan Wang写成Shan Wsng,XiaoyangDong写成Xiaoyong Dong。
针对这种情况,我们的自动提示系统采用了计算编辑距离来进行模糊匹配的算法。如果用户拼写的字符数按姓名匹配方法分类匹配后返回的结果为空或满足条件的结果少于预定值启用模糊匹配方法编辑用户输入的字符,在编辑后的字符与学者姓名库匹配提示。具体如下:
编辑距离是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。如果用户拼写错误的话,提示的结果为空或者满足条件的结果少于阈值,这时就对用户采用计算编辑距离的方式,找到最符合的模糊匹配结果,返回给用户。
综上所述,本发明提供的基于学术搜索的姓名自动提示方法能够识别并且提示满足以输入字符串开头的学者姓名。如图3所示,本发明使得姓名自动提示提示更加快捷、准确、方便用户的使用,提高用户体验。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (8)

1.一种基于学术搜索的姓名自动提示方法,其特征在于,包括如下步骤:
用户输入一定长度的字符串;
针对用户输入的字符串在待选结果中通过前缀匹配方法,查找用户输入的字符串匹配的结果返回用户;
如果未返回与用户输入的字符串匹配的结果,则按姓名匹配方法分类匹配向用户反馈结果;其中,
所述按姓名匹配方法分类匹配向用户反馈结果的步骤包括:
将用户输入的字符按姓名的命名习惯分类为亚洲姓名、含有特殊字符的姓名、含有中间名的姓名、昵称类姓名;
按不同类型的姓名以相应的提示方式向用户提示;
其中,如果用户输入的字符是亚洲姓名,则判断用户输入的字符是否是中文拼音或含有英文演化词;
如果是拼音,则将用户输入的字符识别出中文姓名,进行标记,在临时数据库中存储姓-名正常顺序的拼写和姓-名颠倒顺序,分别在学者姓名数据库中做匹配提示;
如果含有英文演化词,则将用户输入的字符转化为中文拼音,以演化词和中文拼音分别在学者姓名库中做匹配提示。
2.如权利要求1所述的姓名自动提示方法,其特征在于,所述字符串的长度是3。
3.如权利要求1所述的姓名自动提示方法,其特征在于,所述前缀匹配算法具体包括如下步骤:
通过构件Trie树对用户输入的字符进行预处理,算出输入的返回结果。
4.如权利要求3所述的姓名自动提示方法,其特征在于,所述Trie树在路径上存储一个字符,在每个节点存储三个字符串。
5.如权利要求1所述的姓名自动提示方法,其特征在于,如果用户输入的字符是含有特殊字符的姓名,则判断用户输入的含有特殊字符的姓名是否含有普通特殊字符还是西欧字符;
如果是普通特殊字符,则对用户输入的字符去掉非字母字符与学者姓名数据库库中去掉非字母字符的姓名做前缀匹配并提示;
如果是西欧字符,则对用户输入的字符中的西欧字符转换成与之相对应的英文字符,将学者姓名库中的西欧字符也转换成与之相对应的英文字符,将转换后的姓名做匹配提示。
6.如权利要求1所述的姓名自动提示方法,其特征在于,如果用户输入的字符是含有中间名的姓名,则将用户输入的第二个单词和学者姓名库中含有三个单词的学者姓名进行匹配处理,如果用户输入的第二个单词和学者姓名库中的第三个单词符合,则向用户反馈结果。
7.如权利要求1所述的姓名自动提示方法,其特征在于,如果用户输入的字符是昵称类姓名,则对用户输入的字符做对应的替换,按替换的字符匹配提示。
8.如权利要求1所述的姓名自动提示方法,其特征在于,所述按姓名匹配方法分类匹配向用户反馈结果步骤还包括对用户拼写错误纠正的步骤:
如果用户拼写的字符数按姓名匹配方法分类匹配后返回的结果为空或满足条件的结果少于预定值,则启用模糊匹配方法编辑用户输入的字符,将编辑后的字符与学者姓名库进行匹配并提示;
其中,对用户输入的字符编辑时包括如下方式:
在用户输入的字符任意位置插入一个字符、删除一个字符、或将任意一个字符替换成其他字符。
CN201410510281.5A 2014-09-28 2014-09-28 一种基于学术搜索的姓名自动提示方法 Expired - Fee Related CN104239565B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410510281.5A CN104239565B (zh) 2014-09-28 2014-09-28 一种基于学术搜索的姓名自动提示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410510281.5A CN104239565B (zh) 2014-09-28 2014-09-28 一种基于学术搜索的姓名自动提示方法

Publications (2)

Publication Number Publication Date
CN104239565A CN104239565A (zh) 2014-12-24
CN104239565B true CN104239565B (zh) 2017-12-08

Family

ID=52227624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410510281.5A Expired - Fee Related CN104239565B (zh) 2014-09-28 2014-09-28 一种基于学术搜索的姓名自动提示方法

Country Status (1)

Country Link
CN (1) CN104239565B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988989B (zh) * 2015-02-26 2019-02-15 阿里巴巴集团控股有限公司 一种汉语姓氏的识别方法、装置及服务器
CN105988991B (zh) * 2015-02-26 2019-01-18 阿里巴巴集团控股有限公司 一种姓氏所属语种的识别方法、装置及服务器
CN105988993B (zh) * 2015-03-06 2019-05-07 阿里巴巴集团控股有限公司 检测网站上注册的姓名合理性的方法和装置
CN106933834B (zh) * 2015-12-29 2020-09-08 优信拍(北京)信息科技有限公司 一种数据匹配方法及装置
CN107066506B (zh) * 2017-01-11 2020-12-08 中国科学院空间应用工程与技术中心 一种提高空间科学与应用数据检索效率的方法及装置
CN107247708B (zh) * 2017-07-03 2021-07-20 中国银行股份有限公司 一种姓名识别方法及系统
CN110019649A (zh) * 2017-12-25 2019-07-16 北京新媒传信科技有限公司 一种建立、搜索索引树的方法及装置
CN110086922B (zh) * 2019-04-19 2022-11-11 上海掌门科技有限公司 一种通讯录排序方法、设备及存储介质
CN110609931A (zh) * 2019-09-19 2019-12-24 中国银行股份有限公司 姓名比对方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4639124B2 (ja) * 2005-08-23 2011-02-23 キヤノン株式会社 文字入力補助方法及び情報処理装置
US20090234852A1 (en) * 2008-03-17 2009-09-17 Microsoft Corporation Sub-linear approximate string match
CN102193948A (zh) * 2010-03-16 2011-09-21 华为技术有限公司 特征匹配方法和装置
CN103064837A (zh) * 2011-10-19 2013-04-24 西安邮电学院 学术领域内领军人物检索与可视化导航系统

Also Published As

Publication number Publication date
CN104239565A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
CN104239565B (zh) 一种基于学术搜索的姓名自动提示方法
US7257574B2 (en) Navigational learning in a structured transaction processing system
KR100806936B1 (ko) 자동완성 추천어를 정정하여 노출하는 자동완성 추천어제공 방법 및 시스템
US8010344B2 (en) Dictionary word and phrase determination
JP3981734B2 (ja) 質問応答システムおよび質問応答処理方法
CN103678684B (zh) 一种基于导航信息检索的中文分词方法
US8010539B2 (en) Phrase based snippet generation
US11487744B2 (en) Domain name generation and searching using unigram queries
US8392949B2 (en) Electronic-program-guide retrieval method and electronic-program-guide retrieval system
US20110087961A1 (en) Method and System for Assisting in Typing
US20120166414A1 (en) Systems and methods for relevance scoring
US20080177717A1 (en) Support for reverse and stemmed hit-highlighting
US20140298168A1 (en) System and method for spelling correction of misspelled keyword
WO2008151466A1 (en) Dictionary word and phrase determination
CN109828981B (zh) 一种数据处理方法及计算设备
CN104199954B (zh) 一种用于搜索输入的推荐系统及方法
US10380210B1 (en) Misspelling identification in domain names
US10380248B1 (en) Acronym identification in domain names
CN110750995A (zh) 一种基于自定义图谱的文件管理方法
CN103733193A (zh) 统计拼写检查器
Hienert et al. A novel combined term suggestion service for domain-specific digital libraries
CN104268176B (zh) 一种基于搜索关键词的推荐方法
JP2008009671A (ja) データ表示装置、データ表示方法及びデータ表示プログラム
JP2006126319A (ja) テスト問題配信システム
CN110489603A (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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171208

Termination date: 20190928

CF01 Termination of patent right due to non-payment of annual fee