关于简体繁体搜索的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容 #Wrapper { background-color: #e2e2e2; background-image: url("/static/img/shadow_light.png"), url("//cdn.v2ex.com/assets/bgs/circuit.png"); background-repeat: repeat-x, repeat-x; } #Wrapper.Night { background-color: #1f2e3d; background-image: url("/static/img/shadow.png"), url("//cdn.v2ex.com/assets/bgs/circuit_night.png"); background-repeat: repeat-x, repeat-x; background-size: 20px 20px, 162.5px 162.5px; }
Jack
V2EX    程序员

关于简体繁体搜索的问题

  •  
  •   Jack 2014-12-05 17:16:48 +08:00 4583 次点击
    这是一个创建于 4017 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如何处理同一个词用简体和繁体打出来搜索不同的问题,比如“邪恶”和“邪”完全是两个词,只能先全部转成简体和繁体两个版本然后一起搜么?

    我扫了眼转换的方法,基本都是列出那1万多个不同的字然后去替换,没有更好的办法吗~ 求解
    9 条回复    2014-12-06 11:02:01 +08:00
    yuankui
        1
    yuankui  
       2014-12-05 17:23:33 +08:00
    这个跟英文的大小写是一个道理吧?

    你觉得英文的大小写是怎么处理的??
    233
        2
    233  
       2014-12-05 17:28:34 +08:00
    似乎是的,还有就是类似字但编码不同也要做映射,比如"冈"和""
    bingu
        3
    bingu  
       2014-12-05 17:30:05 +08:00
    你的意思是搜索“软件”,然后就转换为“”,这样。。。
    Jack
        4
    Jack  
    OP
       2014-12-05 17:30:35 +08:00
    @yuankui 英文一个自带函数就处理了,如果你知道php有啥处理繁简中文的函数的话,请一定告诉我。
    staticor
        5
    staticor  
       2014-12-05 18:09:21 +08:00
    如果只是搜索的话, 这2类字就可以理解为 "how fransic 你有 老了啊?" 中英两种文字放在引擎中去查看.


    字对字直接简繁对应的话会出现如 @bingu 说的那样 (恰好 昨天给孩子用一个台湾的程式讲故事,里面说的 "预备" 就是用 "就定位" 来表达的;

    比如 软件在简体字的网页中是关键高频词, 但是

    件 可能在繁字的中就真的不怎出了 (就像你在一在中了 '正太' 一样 假设 这个词还没有漂过内地)

    所以要建立繁体 <->简体的对应关系 (不如只考虑one-one mapping)

    但其实只是把字面值换成对应的value的话就会出现 刚刚的问题. 所以只建立字-字的映射可能是不够的,
    应该要建立一个 词-词 的映射,更准确的说 可以只建立**搜索中会用到的key words的映射**




    附录:


    '''
    繁体 b'\xe7\xb9\x81\xe4\xbd\x93'
    繁 b'\xe7\xb9\x81\xe9\xab\x94'

    软件 b'\xe8\xbd\xaf\xe4\xbb\xb6'
    b'\xe8\xbb\x9f\xe9\xab\x94'
    '''
    Gn
        6
    Gn  
       2014-12-05 19:45:33 +08:00
    要注意简体到繁体是一对多的,汉字简化的时候把许多不同的字合成一个字(多音字?)。
    并不像是英文大小写的转换那么简单!

    例:
    活 干
    只是 一
    一斗米
    寒舍

    https://www.byvoid.com/blog/recommend-rime

    http://zh.wikipedia.org/wiki/%E7%B0%A1%7%B9%81%E8%BD%89%E6%8F%9B%E4%B8%80%E5%B0%8D%E5%A4%9A%E5%88%97%E8%A1%A8
    gqfBzoLVY3Wl4Tng
        7
    gqfBzoLVY3Wl4Tng  
       2014-12-05 20:02:52 +08:00
    我觉得 参考百度就好
    bugeye
        8
    bugeye  
       2014-12-06 10:06:25 +08:00   2
    @Gn 繁体到简体也一样会一对多,比如繁体的沈,到简体就可以是 沈 或 沉。沉是沈没的沈的俗字。简体不知道为什么非要区分这个。中文里同字不同音不同义的字太多了,为什么非要区别这两个,也属于未解之迷。

    另外,你举的“舍”就是繁体,正体。是後来的俗字。儒家经典用的都是舍,没有这么个俗字。
    说文解字注里面:“,也。者,解也。按多舍之。从手舍。冶切。古音在五部。”

    再如,后和後,在古代很多时候都是通用的,比如史记只用“后””,也说不上哪个是所谓的繁体和简体。

    “于”和“於”:诗经一会儿写作“于”,一会儿写作“於”,虽然“于”是俗字,但这个字代替“於”的历史实在太久了,也不好就说“于”就是错的。如果“于”是错的,诗经一半都是错字了。

    对于楼主这个问题,肯定是没有好方法的。事实上,台湾选字和香港用字也是不同的。比如和。这个字简体简得毫无道理,把路程的“里”来代表概念上的“”。

    你可以考虑把所有的字都“简化”成“简体字”,然后再搜索一次,但也会遇到“沈”这样的例子需要先判断这倒底应该转成哪个字。
    Gn
        9
    Gn  
       2014-12-06 11:02:01 +08:00
    @bugeye 谢谢指教,受益匪浅。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1537 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 16:34 PVG 00:34 LAX 08:34 JFK 11:34
    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