CN101833381A - 一种手持设备通讯录的拼音反查方法 - Google Patents

一种手持设备通讯录的拼音反查方法 Download PDF

Info

Publication number
CN101833381A
CN101833381A CN 201010176188 CN201010176188A CN101833381A CN 101833381 A CN101833381 A CN 101833381A CN 201010176188 CN201010176188 CN 201010176188 CN 201010176188 A CN201010176188 A CN 201010176188A CN 101833381 A CN101833381 A CN 101833381A
Authority
CN
China
Prior art keywords
pinyin
phonetic
chinese character
character
name
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
Application number
CN 201010176188
Other languages
English (en)
Other versions
CN101833381B (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.)
Micro network (Beijing) Technology Development Co.,Ltd.
Micro-blog talent (Beijing) Technology Development Co.,Ltd.
Very excellent (Beijing) Technology Development Co.,Ltd.
Original Assignee
Beijing Youlu On-Line Science & Technology Development Co Ltd
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 Beijing Youlu On-Line Science & Technology Development Co Ltd filed Critical Beijing Youlu On-Line Science & Technology Development Co Ltd
Priority to CN2010101761887A priority Critical patent/CN101833381B/zh
Publication of CN101833381A publication Critical patent/CN101833381A/zh
Application granted granted Critical
Publication of CN101833381B publication Critical patent/CN101833381B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种手持设备通讯录的拼音反查方法,属于信息技术处理领域。本发明的方法为:1)建立一汉字数组,用于存储人名中的汉字;2)从拼音词库中获取所述汉字数组中每个具有拼音的汉字的拼音;3)根据获取的拼音标注相应的汉字并标注每个拼音的属性信息,得到一人名拼音词库;4)根据人名拼音库建立一拼音反查词库;5)根据输入的汉字查找所述拼音反查词库的汉字节点,并根据汉字节点的拼音存储偏移量查找拼音字符串的存储位置,返回汉字的拼音。与现有技术相比,本发明提供了姓名拼音的正确显示,提高了查找效率。

Description

一种手持设备通讯录的拼音反查方法
技术领域
本发明涉及一种拼音反查方法,尤其涉及一种手持设备通讯录的拼音反查方法,属于信息技术处理领域。
背景技术
随着手持设备硬件性能的进一步提升,和市场日益蓬勃的发展,手持设备第三方软件开发也在蓬勃发展。
通讯录作为移动通讯的核心功能,在人们的日常生活中发挥巨大的作用。目前手持设备通讯录中拼音反查技术只能根据汉字找到其读音,并不能区分出拼音是在姓中使用,还是在名中使用,还是普通使用,从而不利于姓名拼音的正确显示和查找。
同时,中文人名作为特别名词,其中有很大一部分汉字读音与许多与日常生活中的读音存在差异,需要专门的拼音反查词库支持。例如“单”的读音有三个“dan”,“shan”,“chan”,日常中一般使用发音“dan”,人名中使用发音“shan”,而发音“chan”只出现在单词“单于”中,因此需要对三个发音进行分级,以实现在不同场景下的使用,然而,现有的通讯录中没有给出对此问题的解决方案。
另外,人名中出现一些生僻字如“镕”,“赑”,“燚”等不包含在常用汉字字符集GB2312或GBK中,如果使用更大的字符集如GB18030,或者Unicode中的汉字,又会占用太多的空间。
由于手持设备的空间限制和运算性能要求,需要一个占用空间小,能够准确给出姓名汉字读音拼音反查库,针对手持设备的具体特点,一个完善的,完整的人名拼音反查方案亟待出现。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种手持设备通讯录的拼音反查方法,实现对通讯录中人名的快速、准确查找。
本发明的方法主要是通过对手持设备通讯录的人名中使用的汉字进行统计,抽取人名常用汉字,然后为人名常用汉字中的多音字进行分级,最后对指定汉字进行拼音反查的同时返回各个拼音的分级信息。
本发明的技术方案为:
一种手持设备通讯录的拼音反查方法,其步骤为:
1)建立一汉字数组,用于存储人名中的汉字;
2)从拼音词库中获取所述汉字数组中每个具有拼音的汉字的拼音;
3)根据获取的拼音标注相应的汉字并标注每个拼音的属性信息,得到一人名拼音词库;
4)根据人名拼音库建立一拼音反查词库,所述拼音反查词库的字段包括:版本号、人名拼音词库中汉字个数、汉字节点数据、拼音节点数据;其中汉字节点的字段包括:汉字的国际通用字符集值、每个汉字拼音个数、拼音存储偏移量,拼音节点的字段包括:拼音字符串、拼音属性;
5)根据输入的汉字查找所述拼音反查词库的汉字节点,并根据汉字节点的拼音存储偏移量查找拼音字符串的存储位置,返回汉字的拼音。
进一步的,所述汉字数组的建立方法为:读取人名词库中的每一个汉字,如果该汉字没有出现在所述汉字数组中,则将其添加到所述汉字数组;读取GB2312字符表文件中的每一个汉字,如果该汉字没有出现在所述汉字数组中,则将其添加到所述汉字数组。
进一步的,所述人名拼音词库的拼音属性包括:日常使用、名中日常使用、姓中日常使用、不常用、专用。
进一步的,对于拼音属性为专用的拼音,标注该拼音的专用词组或上下文。
进一步的,所述拼音节点的字段还包括:专用拼音的词组。
进一步的,所述拼音节点的字段中拼音属性包括:常用拼音、不常用拼音、专用词组的拼音、名常用拼音、姓常用拼音。
进一步的,所述拼音的属性中每一属性设有一属性值,其中:常用的属性值>不常用拼音的属性值>名常用拼音的属性值>姓常用拼音的属性值>专用词组的拼音的属性值。
进一步的,所述汉字的国际通用字符集值为2字节整数类型、所述每个汉字拼音个数为4字节整数类型、所述拼音存储偏移量为4字节整数类型。
进一步的,采用折半查找存储每个汉字的所述汉字节点信息,并根据汉字节点的拼音存储偏移量查找拼音数据的存储位置。
进一步的,根据当前汉字使用的场景和汉字所属汉字字符串返回当前汉字的拼音,其方法为:
a)如果使用场景为姓查找,对于查找到的若干个拼音字符串,将拼音字符串属性为姓常用拼音且属性值不为零的拼音字符串返回,否则将拼音字符串属性值最大的拼音字符串返回;
b)如果使用场景为名查找,对于对于查找到的若干个拼音字符串,将拼音字符串属性为名常用拼音且属性值不为零的拼音字符串返回,否则将拼音字符串属性值最大的拼音字符串返回;
c)如果为普通汉字的查找,对于查找到的若干个拼音字符串,将拼音字符串属性为专用词组的拼音且属性值不为零的拼音字符串返回,否则将拼音字符串属性值最大的拼音字符串返回。
与现有技术相比,本发明的积极效果为:
手持设备现有的拼音反查技术只能根据汉字找到其读音,但不能区分出拼音是在姓中使用,还是在名中使用,还是普通使用,不利于姓名拼音的正确显示和查找。另外由于手持设备的空间限制和运算性能要求,需要一个占用空间小,能够准确给出姓名汉字读音拼音反查库。本发明提供的解决方案从统计上给出人名常用汉字库,并对汉字的拼音进行分级,有效解决手持设备拼音反查面临的问题。
具体实施方式
下面对本发明的实施方式进行进一步的描述:
1.人名中所使用的汉字的统计,操作方法:
建立汉字数组。读取人名词库中的每一个汉字,如果该汉字没有出现在汉字数组中,将其添加到汉字数组。以同样的方法读取GB2312字符表文件,将其中的每一个汉字添加到汉字数组。
2.人名汉字多音字拼音分级
从拼音词库中获取第一步得到数组中汉字的每一个拼音,去掉没有拼音的字符。使用人工标注每一个拼音的属性,生成表1格式的数据:
表1:人名拼音词库的文件结构
Figure GSA00000107737800031
Figure GSA00000107737800041
3.根据拼音分级建立拼音反查词库(使用C语言描述存储结构)
人名专用拼音词库建立后不用修改,而且结构简单,易于使用文件或者数组作为持久存储容器,减少存储空间,提高移植性。使用表2~表5的格式建立拼音反查词库(拼音反查算法见步骤4)
表2:拼音词库文件结构
字段  类型 说明
version  int 版本
wordCount  int 词库中汉字个数
pinyinCount  int 词库中汉字拼音条目个数
wordBlocks  WordBlock 汉字节点,个数wordCount
字段  类型 说明
 pinyinBlocks  PinyinBlock 拼音节点,个数pinyinCount
表3:汉字节点(WordBlock)
字段  类型 说明
word  short 汉字的unicode(国际通用字符集)值
pinyinCount  short 该汉字拼音个数
pinyinOffset  int 拼音存储偏移量
表4:拼音节点(PinyinBlock)
字段  类型 说明
pinyin  char* 拼音字符串
attribute  int 属性,按位表示拼音的优先级
context  short* 专用拼音的词组,
表5:拼音属性(PinyinAttribute,  枚举类型)
枚举  值 说明
common  0x40 常用拼音
lessCommon  0x10 不常用拼音
reserved  0x08 专用词组的拼音
givenName  0x04 名常用拼音,
familyName  0x02 姓常用拼音
notUsed  0x01
4.人名汉字拼音反查算法
数据输入为要查找拼音的汉字,作为一个函数实现,供其他模块调用。  从步骤3中的存储结构可知WordBlock节点大小固定,且连续存储,因此可以使用折半(参考:折半查找算法:http://en.wikipedia.org/wiki/Binary_search_algorithm)查找存储该汉字信息的WordBlock,并根据WordBlock的pinyinOffset域找到拼音数据存储的位置。
示例代码:
int getPinyin(short word,PinyinBlock*blocks,int maxCount)
{
     int l=0;
   int h=wordCount-1;
   int m=0;
   while(l<=h)
{
      m=(l+h)  /2;
      if(word>wordBlocks[m].word)
         l=m+1;
      else if(word<wordBlocks[m].word)
         h=m-1;
      else
         break;
}
if(word==iWordBlock[m].word)
{
      int count=Max(iWordBlock[m].pinyinCount,maxCount);
      for(;i<count;i++)
      { 
         blocks[i]=getPinyinOfWrod(iWordBlock[m],i);
      }
      return i;
}
return 0;
}
5.使用拼音的优先级
根据当前汉字使用的场景如姓、名、普通短语等(使用PinyinAttribute标识)和汉字所属汉字字符串从当前汉字所有拼音(PinyinBlock)中获取取最优的拼音。可以有以下几种使用方法:
a.获取姓名中姓部分汉字拼音:
使用步骤4的算法获取汉字的拼音,对于每一个拼音,如果(attribute&familyName)非零,该拼音即为当前汉字的拼音,否则使用attribute值最大拼音作为当前汉字的拼音。
b.获取姓名中名部分汉字的拼音
使用步骤4的算法获取汉字的拼音,对于每一个拼音,如果(attribute&givenName)非零,该拼音即为当前汉字的拼音,否则使用attribute值最大拼音作为当前汉字的拼音。
c.获取普通汉字的拼音
使用步骤4的算法获取汉字的拼音,对于每一个拼音,如果(attribute&reserved),使用字符串匹配查看当前汉字所在词组与context是否相等,如果相等,该拼音为当前汉字的拼音。如果没有找到,使用使用attribute值最大拼音作为当前汉字的拼音。

Claims (10)

1.一种手持设备通讯录的拼音反查方法,其步骤为:
1)建立一汉字数组,用于存储人名中的汉字;
2)从拼音词库中获取所述汉字数组中每个具有拼音的汉字的拼音;
3)根据获取的拼音标注相应的汉字并标注每个拼音的属性信息,得到一人名拼音词库;
4)根据人名拼音库建立一拼音反查词库,所述拼音反查词库的字段包括:版本号、人名拼音词库中汉字个数、汉字节点数据、拼音节点数据;其中汉字节点的字段包括:汉字的国际通用字符集值、每个汉字拼音个数、拼音存储偏移量,拼音节点的字段包括:拼音字符串、拼音属性;
5)根据输入的汉字查找所述拼音反查词库的汉字节点,并根据汉字节点的拼音存储偏移量查找拼音字符串的存储位置,返回汉字的拼音。
2.如权利要求1所述的方法,其特征在于所述汉字数组的建立方法为:读取人名词库中的每一个汉字,如果该汉字没有出现在所述汉字数组中,则将其添加到所述汉字数组;读取GB2312字符表文件中的每一个汉字,如果该汉字没有出现在所述汉字数组中,则将其添加到所述汉字数组。
3.如权利要求1所述的方法,其特征在于所述人名拼音词库的拼音属性包括:日常使用、名中日常使用、姓中日常使用、不常用、专用。
4.如权利要求3所述的方法,其特征在于对于拼音属性为专用的拼音,标注该拼音的专用词组或上下文。
5.如权利要求4所述的方法,其特征在于所述拼音节点的字段还包括:专用拼音的词组。
6.如权利要求1所述的方法,其特征在于所述拼音节点的字段中拼音属性包括:常用拼音、不常用拼音、专用词组的拼音、名常用拼音、姓常用拼音。
7.如权利要求6所述的方法,其特征在于所述拼音的属性中每一属性设有一属性值,其中:常用的属性值>不常用拼音的属性值>名常用拼音的属性值>姓常用拼音的属性值>专用词组的拼音的属性值。
8.如权利要求7所述的方法,其特征在于所述汉字的国际通用字符集值为2字节整数类型、所述每个汉字拼音个数为4字节整数类型、所述拼音存储偏移量为4字节整数类型。
9.如权利要求8所述的方法,其特征在于采用折半查找存储每个汉字的所述汉字节点信息,并根据汉字节点的拼音存储偏移量查找拼音数据的存储位置。
10.如权利要求9所述的方法,其特征在于根据当前汉字使用的场景和汉字所属汉字字符串返回当前汉字的拼音,其方法为:
a)如果使用场景为姓查找,对于查找到的若干个拼音字符串,将拼音字符串属性为姓常用拼音且属性值不为零的拼音字符串返回,否则将拼音字符串属性值最大的拼音字符串返回;
b)如果使用场景为名查找,对于对于查找到的若干个拼音字符串,将拼音字符串属性为名常用拼音且属性值不为零的拼音字符串返回,否则将拼音字符串属性值最大的拼音字符串返回;
c)如果为普通汉字的查找,对于查找到的若干个拼音字符串,将拼音字符串属性为专用词组的拼音且属性值不为零的拼音字符串返回,否则将拼音字符串属性值最大的拼音字符串返回。
CN2010101761887A 2010-05-19 2010-05-19 一种手持设备通讯录的拼音反查方法 Expired - Fee Related CN101833381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101761887A CN101833381B (zh) 2010-05-19 2010-05-19 一种手持设备通讯录的拼音反查方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101761887A CN101833381B (zh) 2010-05-19 2010-05-19 一种手持设备通讯录的拼音反查方法

Publications (2)

Publication Number Publication Date
CN101833381A true CN101833381A (zh) 2010-09-15
CN101833381B CN101833381B (zh) 2012-03-21

Family

ID=42717473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101761887A Expired - Fee Related CN101833381B (zh) 2010-05-19 2010-05-19 一种手持设备通讯录的拼音反查方法

Country Status (1)

Country Link
CN (1) CN101833381B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012088772A1 (zh) * 2010-12-27 2012-07-05 北京友录在线科技发展有限公司 一种手持设备高效联系人查找方法
CN102722525A (zh) * 2012-05-15 2012-10-10 北京百度网讯科技有限公司 通讯录人名的语言模型建立方法、语音搜索方法及其系统
CN102737105A (zh) * 2012-03-31 2012-10-17 北京小米科技有限责任公司 一种字典树生成方法及搜索方法
CN107016994A (zh) * 2016-01-27 2017-08-04 阿里巴巴集团控股有限公司 语音识别的方法及装置
CN107247708A (zh) * 2017-07-03 2017-10-13 中国银行股份有限公司 一种姓名识别方法及系统
CN107623769A (zh) * 2017-08-25 2018-01-23 维沃移动通信有限公司 一种联系人创建方法、移动终端及计算机可读存储介质
CN107992457A (zh) * 2017-12-01 2018-05-04 深圳乐信软件技术有限公司 一种信息转换方法、装置、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1697019A (zh) * 2004-05-13 2005-11-16 深圳市移动核软件有限公司 使汉字自动发音的方法及使手机朗读短消息的方法
CN101118542A (zh) * 2006-07-31 2008-02-06 西门子通信技术(北京)有限公司 一种中文字符的转换方法及其系统
CN101315639A (zh) * 2008-06-20 2008-12-03 北京天语君锐科技有限公司 搜索方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1697019A (zh) * 2004-05-13 2005-11-16 深圳市移动核软件有限公司 使汉字自动发音的方法及使手机朗读短消息的方法
CN101118542A (zh) * 2006-07-31 2008-02-06 西门子通信技术(北京)有限公司 一种中文字符的转换方法及其系统
CN101315639A (zh) * 2008-06-20 2008-12-03 北京天语君锐科技有限公司 搜索方法及系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012088772A1 (zh) * 2010-12-27 2012-07-05 北京友录在线科技发展有限公司 一种手持设备高效联系人查找方法
CN102737105A (zh) * 2012-03-31 2012-10-17 北京小米科技有限责任公司 一种字典树生成方法及搜索方法
CN102722525A (zh) * 2012-05-15 2012-10-10 北京百度网讯科技有限公司 通讯录人名的语言模型建立方法、语音搜索方法及其系统
CN107016994A (zh) * 2016-01-27 2017-08-04 阿里巴巴集团控股有限公司 语音识别的方法及装置
CN107016994B (zh) * 2016-01-27 2020-05-08 阿里巴巴集团控股有限公司 语音识别的方法及装置
CN107247708A (zh) * 2017-07-03 2017-10-13 中国银行股份有限公司 一种姓名识别方法及系统
CN107247708B (zh) * 2017-07-03 2021-07-20 中国银行股份有限公司 一种姓名识别方法及系统
CN107623769A (zh) * 2017-08-25 2018-01-23 维沃移动通信有限公司 一种联系人创建方法、移动终端及计算机可读存储介质
CN107623769B (zh) * 2017-08-25 2018-11-30 维沃移动通信有限公司 一种联系人创建方法、移动终端及计算机可读存储介质
CN107992457A (zh) * 2017-12-01 2018-05-04 深圳乐信软件技术有限公司 一种信息转换方法、装置、终端设备及存储介质
CN107992457B (zh) * 2017-12-01 2021-12-03 深圳乐信软件技术有限公司 一种信息转换方法、装置、终端设备及存储介质

Also Published As

Publication number Publication date
CN101833381B (zh) 2012-03-21

Similar Documents

Publication Publication Date Title
CN101833381B (zh) 一种手持设备通讯录的拼音反查方法
Liu et al. Insertion, deletion, or substitution? Normalizing text messages without pre-categorization nor supervision
CN103294776B (zh) 一种智能手机通讯录模糊搜索的方法
TW304253B (zh)
CN104991889B (zh) 一种基于模糊分词的非多字词错误自动校对方法
Chen et al. Chinese named entity recognition with conditional random fields
US9110980B2 (en) Searching and matching of data
EP2715566A1 (en) Method and system for text message normalization based on character transformation and unsupervised of web data
CN105045852A (zh) 一种教学资源的全文搜索引擎系统
CN101075231A (zh) 手机名片索引方法
CN102043808A (zh) 利用网页结构抽取双语词条的方法及设备
CN104252542A (zh) 一种基于词库的动态规划中文分词方法
CN102135956A (zh) 一种基于词位标注的藏文分词方法
CN101271449B (zh) 裁减词表和为汉字串注音的方法及装置
CN103455479A (zh) 一种新建联系人的方法及终端
CN101539433A (zh) 导航系统中拼音首字母加声调检索的方法及装置
CN100524313C (zh) 一种翻译过程中基于场景词库的快速输入法
Feng et al. Unsupervised segmentation of Chinese corpus using accessor variety
CN101882006B (zh) 零记忆简单子字拆分输入法
CN101739142B (zh) 五笔输入系统及方法
CN104699669A (zh) 一种文本字数统计的方法及装置
CN1471024A (zh) 中文分词方法
CN107862023B (zh) 一种解析edb数据库源文件中数据的方法
CN102253983A (zh) 一种汉语高危词识别方法和系统
CN101436205A (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
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100081 Beijing city Haidian District Zizhuyuan Road No. 5 Guangyuan Guangyuan Gate Building 3 room 321B

Patentee after: Very excellent (Beijing) Technology Development Co.,Ltd.

Address before: 100081 Beijing city Haidian District Zizhuyuan Road No. 5 Guangyuan Guangyuan Gate Building 3 room 321B

Patentee before: Micro-blog talent (Beijing) Technology Development Co.,Ltd.

Address after: 100081 Beijing city Haidian District Zizhuyuan Road No. 5 Guangyuan Guangyuan Gate Building 3 room 321B

Patentee after: Micro-blog talent (Beijing) Technology Development Co.,Ltd.

Address before: 100081 Beijing city Haidian District Zizhuyuan Road No. 5 Guangyuan Guangyuan Gate Building 3 room 321B

Patentee before: Micro network (Beijing) Technology Development Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP03 Change of name, title or address

Address after: 100081 Beijing city Haidian District Zizhuyuan Road No. 5 Guangyuan Guangyuan Gate Building 3 room 321B

Patentee after: Micro network (Beijing) Technology Development Co.,Ltd.

Address before: 100027, Dongcheng District, Beijing new West 13 boulder building, west five

Patentee before: BEIJING YOULU ONLINE TECHNOLOGIES DEVELOPMENT Co.,Ltd.

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

Granted publication date: 20120321

Termination date: 20180519

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