如何根据汉字来自动获取其拼音 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RoshanWu
V2EX    问与答

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

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

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

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

    28 条回复    2016-05-25 12:59:49 +08:00
    123s
        1
    123s  
       2016-05-25 10:20:47 +08:00
    有类似的库吧。不显示音节就行啦,还多音字....
    SkyEcho
        2
    SkyEcho  
       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() 就是了
        7
    qiayue  
    PRO
       2016-05-25 10:26:21 +08:00
    你随便找个开源的汉子转拼音的库就可以,对于姓名中的姓的读音可以专门处理
    qiayue
        8
    qiayue  
    PRO
       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/div>
    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
    RoshaWu  
    OP
       2016-05-25 12:59:49 +08:00
    @lizheming 所以我觉得还是 @seki 的法子最靠谱,机器搞一遍然后让用户自己去干预。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2661 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 12:52 PVG 20:52 LAX 04:52 JFK 07:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86