java将汉语拼音转为汉字的算法,类似输入法
使用pinyin4j可以很好的将汉字转为拼音,但是将拼音转为汉字目前还算是空白,其实目前的输入法查词的实现,包括搜索引擎的搜索,都包含该技术的实现,那么,到底该怎样实现这样一个复杂的匹配查询呢?等待大侠们的讨论!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
使用pinyin4j可以很好的将汉字转为拼音,但是将拼音转为汉字目前还算是空白,其实目前的输入法查词的实现,包括搜索引擎的搜索,都包含该技术的实现,那么,到底该怎样实现这样一个复杂的匹配查询呢?等待大侠们的讨论!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(13)
引用来自“袁国涛”的答案
在铁道部的客票系统和pwmis的字段标准中,车站、线路表中都设计有全拼和字头拼音字段。对于用户快速检索,这个是必须考虑的。当然,可以常用词汇提前生成,单独建表,也不错
确实,全国车站裁撤之前也就七千多个,加上几百条线路也才把钱左右。根据现代汉语常用字表,常用字两千五,次常用字一千。但是中文要命的在于通过汉字的匹配组成词汇而不是单个的汉字。所以,确实不够用。两种应用,要么用类似输入法的词库,要么用搜索引擎的语料库。反正都是挺大的数据库。用于实时搜索匹配,效率确实不高。
加一个拼音字头的字段呗
不知道s40本身的通讯录是怎么实现的····速度非常快的····回头试一试,谢谢大哥!
我目前的想法是:先把应用想关的关键字写入到一个文件当中(相当于写入内存,这样可以减少数据库压力),然后根据用户输入的拼音,去匹配这个数据字典当中的关键字,进而显示出来
是的,自然语言的实现不太现实,仅仅是尽量去匹配,尽量而已......
大哥你的那个加拼音字段这个想法不错,我之前也有所考虑,关键是我们的数据结构不允许随便增减,全国统一的,所以说只能是另谋出路!
这个要看应用了啊,自动完成可以做到有限词汇的快速输入。但是你说要做到自然语言的……阿弥陀佛,不必了吧。当年废汉字为拼音文字的提议之所以没有成功,很大程度上,是人都不能准确转换,何况机器……
根据需求,显示出可能匹配的数据
同音字是相当的多啊
??关键是怎么去查码表?
这还不简单?找个汉语拼音码表然后查表就行了。找不到用Pinyin4j自己生成一个也容易啊。
在铁道部的客票系统和pwmis的字段标准中,车站、线路表中都设计有全拼和字头拼音字段。对于用户快速检索,这个是必须考虑的。当然,可以常用词汇提前生成,单独建表,也不错