V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
RoshanWu
V2EX  ›  问与答

如何根据汉字来自动获取其拼音

  •  
  •   RoshanWu · 2016-05-25 10:17:22 +08:00 · 4112 次点击
    这是一个创建于 2886 天前的主题,其中的信息可能已经有所发展或是发生改变。

    产品经理提了一个比较难搞的需求,要根据客户的姓名,来自动显示其拼音。场景是在做视频回访时怕客服不认识客户的名字而读错。。。

    之前见到的都是根据拼音来选字的 IME 引擎库,这样倒过来实现的不知道有没有人做过。而且,遇到多音字怎么整???才疏学浅,请大神指教一二。

    28 条回复    2016-05-25 12:59:49 +08:00
    123s
        1
    123s  
       2016-05-25 10:20:47 +08:00
    有类似的库吧。不显示音节就行啦,还多音字....
    a302800411
        2
    a302800411  
       2016-05-25 10:22:37 +08:00 via Android
    Github 上有很多开源库,你想弄粤拼都行
    RoshanWu
        3
    RoshanWu  
    OP
       2016-05-25 10:24:54 +08:00
    @123s 多音字就是比如朴树的“朴”,是显示“ pu ”呢还是“ piao ”,能否智能地选择前者?(或者后者,我至今都不知道改念啥,捂脸)
    RoshanWu
        4
    RoshanWu  
    OP
       2016-05-25 10:25:36 +08:00
    @a302800411 搜索关键字是?多谢。
    123s
        5
    123s  
       2016-05-25 10:25:46 +08:00
    @RoshanWu 这个应该是库会考虑到,姓的话一般会是读 piao 吧。
    hiro0729
        6
    hiro0729  
       2016-05-25 10:25:49 +08:00   ❤️ 1
    可以写个方法一个字一字请求百度 http://dict.baidu.com/s?wd=%E6%9D%8E&tupu=01
    $('#pinyin > span > b').html() 就是了
    qiayue
        7
    qiayue  
       2016-05-25 10:26:21 +08:00
    你随便找个开源的汉子转拼音的库就可以,对于姓名中的姓的读音可以专门处理
    qiayue
        8
    qiayue  
       2016-05-25 10:27:12 +08:00   ❤️ 1
    luban
        9
    luban  
       2016-05-25 10:28:26 +08:00   ❤️ 1
    java 以前有个 pinyin4j ,不知道最近有没有更新, github 上搜一下,很多
    https://github.com/search?utf8=%E2%9C%93&q=pinyin
    asdwfwqd
        10
    asdwfwqd  
       2016-05-25 10:29:29 +08:00
    同 pinyin4j ,我在安卓上用过这个 jar
    jugelizi
        11
    jugelizi  
       2016-05-25 10:31:00 +08:00
    转拼音这个连 JS 都有库了
    解决多音字需要加权重类似的东西吧
    不过也很难 毕竟多音字是有都有可以当姓氏的
    http://www.smartisan.com/special/#/duoyinzi
    RoshanWu
        12
    RoshanWu  
    OP
       2016-05-25 10:31:16 +08:00
    @qiayue
    @luban

    多谢多谢
    bigwahaha
        13
    bigwahaha  
       2016-05-25 10:33:04 +08:00
    @123s 朴树
    RoshanWu
        14
    RoshanWu  
    OP
       2016-05-25 10:34:16 +08:00
    @jugelizi 恩,关键点还是对多音字的处理,你说客服对普通的汉字怎么可能不认识,都是上过学的,主要都是那些比较让人混淆的多音字,读错了让客户感觉不舒服也觉得你不专业。
    yksoft1
        15
    yksoft1  
       2016-05-25 10:42:43 +08:00
    @RoshanWu 多音字需要用到对上下文文法的机械学习了吧
    RoshanWu
        16
    RoshanWu  
    OP
       2016-05-25 10:43:28 +08:00
    @hiro0729 另辟蹊径,我喜欢你的想法,目前为止最简单的实现了,虽然不是太完美~
    lianyue
        17
    lianyue  
       2016-05-25 10:45:24 +08:00   ❤️ 1
    google 翻译 api 有输出 拼音的 还带上 音标了
    RoshanWu
        18
    RoshanWu  
    OP
       2016-05-25 10:45:30 +08:00
    @yksoft1 这里的场景主要还是姓名,所以想找一个只针对姓有权重区分的,即可。。。但好像一个姓可能会有多种读音?我一下想不起来例子。。。
    yksoft1
        19
    yksoft1  
       2016-05-25 10:49:06 +08:00
    @RoshanWu 姓的多读还比较少吧,名里面比较多见
    但是日语里面就非常多见了
    mcone
        20
    mcone  
       2016-05-25 10:51:18 +08:00   ❤️ 2
    @RoshanWu 如果主要是针对姓名区分多音,无解,手工标吧
    一个姓氏对应多个读音:翟
    具体读什么,只能看当事人说读什么,机器学习什么的都是扯犊子
    imn1
        21
    imn1  
       2016-05-25 10:56:42 +08:00   ❤️ 1
    git 和 sf.net 上面都有拼音库
    因为你这个需求是“姓名”,所以,自己通过程序修正多音字的读音更容易
    jugelizi
        22
    jugelizi  
       2016-05-25 10:57:45 +08:00
    @yksoft1

    覃 qín
    (名)姓。
    『英文』 覃: a   surname
    覃 tán
    ①(形)〈书〉深。
    ②(名)姓。
    seki
        23
    seki  
       2016-05-25 11:02:04 +08:00   ❤️ 1
    一些日本网站注册的时候是要提供名字的假名拼写的,因为日文里面一个汉字可能有音读也有训读,组合起来还可能还有特殊的读法

    于是是不是可以要求第一次登记的时候就写拼音?
    seki
        24
    seki  
       2016-05-25 11:03:56 +08:00   ❤️ 1
    当然不是全让人去输入,而是在登记的时候程序先显示出拼音,如果不对,人工修正
    RoshanWu
        25
    RoshanWu  
    OP
       2016-05-25 11:15:17 +08:00
    @seki 我拿你这个 idea 去跟产品经理讨论下,稍等。。。
    yksoft1
        26
    yksoft1  
       2016-05-25 11:37:40 +08:00
    @jugelizi 这个见过。两种读法的都见过,有一种读法的部分人是非汉族
    lizheming
        27
    lizheming  
       2016-05-25 12:50:50 +08:00
    张靓颖人家读 liàng 但我有认识的人人家就是得读 jìng .... 这个连人都没办法搞定的东西你确定要让库来去搞?
    RoshanWu
        28
    RoshanWu  
    OP
       2016-05-25 12:59:49 +08:00
    @lizheming 所以我觉得还是 @seki 的法子最靠谱,机器搞一遍然后让用户自己去干预。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5374 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:59 · PVG 16:59 · LAX 01:59 · JFK 04:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.