用户工具

站点工具


简繁体转换工具

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
简繁体转换工具 [2024/11/30 21:50] MNBVC项目组简繁体转换工具 [2025/02/21 17:45] (当前版本) – [总结] MNBVC项目组
行 1: 行 1:
-测试对象:open-cczhconv简繁体转换工具+===== 常用简繁转换工具 ===== 
 + 
 +**open-cc**:[[https://github.com/BYVoid/OpenCC]] 
 + 
 +**zhconv**:[[https://github.com/gumblex/zhconv]] 
 +   
 +===== 测试结果 ===== 
 +^转换方式^open-cc准确率^zhconv准确率^   
 +|繁体->体| 0.8883 | 0.8849 |  
 +|简体->繁体| 0.9695 | 0.9814 |   
 + 
 测试字符:王力《古代汉语》附录简繁体对照字表 测试字符:王力《古代汉语》附录简繁体对照字表
-测试结果: +
-(1)繁体-简体准确率:open-cc-0.8883;zhconv-0.8849 +
-(2)简体-繁体准确率:open-cc-0.9695;zhconv-0.9814+
 繁体字以台湾繁体为准。 繁体字以台湾繁体为准。
  
-测试代码示例+测试代码示例: <code> 
 + 
 +    from zhconv import convert 
 + 
 +    id_c_s2t = 0 
 +    id_c_t2s = 0 
 +    id = 0 
 +    with open("characters.txt", "r",encoding='utf-8') as file: 
 +        lines = file.readlines() 
 +        for line in lines: 
 +            id = id + 1 
 +            char_s2t = convert(line.strip()[0],'zh-tw'
 +            if char_s2t == line.strip()[-1] or char_s2t == line.strip()[-2]: 
 +                id_c_s2t = id_c_s2t + 1 
 +            line2 = line[0:3] 
 +            char_t2s = convert(line2.strip()[-1],'zh-cn'
 +            if char_t2s == line2.strip()[0]: 
 +                id_c_t2s = id_c_t2s + 1 
 +            # print(line.strip()[-2]) 
 + 
 + 
 +    pre_s2t = id_c_s2t / id 
 +    print(f'pre_s2t={pre_s2t}\n'
 +    pre_t2s = id_c_t2s / id 
 +    print(f'pre_t2s={pre_t2s}\n'
 +    </code> 
 +     
 +===== 以下Alan调研结果 ===== 
 + 
 +    
 +1.经测试,gb2312中的6762个简体字使用zhconv可以转换为繁体字的个数为2318个(zh-tw)和2301个(zh-hk)。 
 +2.通用字表中简繁体对应表中的数据的抽检测试数据 
 +<code>    print(zhconv.convert("临", 'zh-tw')) # 正常繁体字 
 +    print(zhconv.convert("鸦", 'zh-tw')) # 正常繁体字 
 +    print(zhconv.convert("冒", 'zh-tw')) # nothing,有异体字表,但未转换 
 +    print(zhconv.convert("修", 'zh-tw')) # nothing,有异体字表,但未转换 
 +    print(zhconv.convert("迹", 'zh-tw')) # 异体字 
 +    print(zhconv.convert("洁", 'zh-tw')) # 正常繁体字 
 +    print(zhconv.convert("耻", 'zh-tw')) # 异体字</code> 
 +3.对网上开源数据找到的简繁体对应字表进行测试,有真正简繁体对应关系的个数为1733(https://raw.githubusercontent.com/lqfeng/ChineseCharacters/refs/heads/master/%E4%B8%AD%E6%96%87%E7%B9%81%E7%AE%80%E4%BD%93%E5%AD%97%E7%AC%A6%E5%AF%B9%E7%85%A7%E8%A1%A8.txt) 该数据误差较大,需要想办法修正此字表数据 
 + 
  
-from zhconv import convert+=====总结=======
  
-id_c_s2t = 0 +根据《通用规范汉字表》2013版中的资料得出: 
-id_c_t2s = 0 +当前标准汉字:8105个 
-id = 0 +具有 简、繁、异体三种对应关系的汉字:3120个 
-with open("characters.txt", "r",encoding='utf-8') as file: +规范字对应的繁体字比例为2546:2574 
-    lines = file.readlines() +根据开源数据得到的简繁体对应关系文本个数为:1733
-    for line in lines+
-        id = id + 1 +
-        char_s2t = convert(line.strip()[0],'zh-tw'+
-        if char_s2t == line.strip()[-1] or char_s2t == line.strip()[-2]: +
-            id_c_s2t = id_c_s2t + 1 +
-        line2 = line[0:3] +
-        char_t2s = convert(line2.strip()[-1],'zh-cn'+
-        if char_t2s == line2.strip()[0]: +
-            id_c_t2s = id_c_t2s + 1 +
-        # print(line.strip()[-2])+
  
 +目前的问题是至少有几百个规范字的繁体字无法正确对应:
 +  - 一个规范字有多个繁体字对应的情况,例如 对照表1827中的“须”字所对应两个不同的繁体字。 
 +  - 一个规范字没有繁体字对应,但有多个异体字对应的情况,这些异体字在不同的语料资料中都有可能作为该规范字的繁体字表达。例如1578 “俊” 字所对应的两个不同的异体字
 +  - 一个规范字既有繁体字也有异体字对应的情况。对照表 1770的“艳”字,包含一个繁体字和两个异体字
  
-pre_s2t = id_c_s2t / id + 
-print(f'pre_s2t={pre_s2t}\n'+
-pre_t2s = id_c_t2s / id +
-print(f'pre_t2s={pre_t2s}\n')+
  
简繁体转换工具.1732974613.txt.gz · 最后更改: 2024/11/30 21:50 由 MNBVC项目组