服务器之家

服务器之家 > 正文

Python实现简繁体转换

时间:2021-11-25 12:03     来源/作者:一天一篇Python库

简体繁体转换

如今,世界上存在两种中文,一种是中文简体,一种是中文繁体。如果要完全掌握中文语言的自然语言处理,那么简繁都不可避免。所以,掌握了简体与繁体的转换,往往能够事半功倍。

而hanlp也提供了简繁转换的类:chartable,用它来执行字符正规化。比如简体转换繁体,全角转换半角,大写转换小写,都可以使用该类来实现。

使用chartable进行简繁体转换

下面,我们来直接使用chartable进行一段诗词的繁体到简单的转换。具体代码如下所示:

?
1
2
3
if __name__ == "__main__":
    chartable=jclass('com.hankcs.hanlp.dictionary.other.chartable')
    print(chartable.convert('空山新雨後,天氣晚來秋。明月松間照,清泉石上流。 竹喧歸浣女,蓮動下漁舟。隨意春芳歇,王孫自可留。'))

运行之后,效果如下:

Python实现简繁体转换

不过,繁体发展并不是仅仅只有一种。汉语历史悠久,发展至今在字符级别存在着“一简对多个繁体”和“一繁对多简”的现象。为此,hanlp实现了“简体”、“繁体”、“台湾繁体”、“香港繁体”间的互相转换功能,力图将简繁转换做到极致。

hanlp中文分类如下:

  • 简体s
  • 繁体t
  • 台湾繁体tw
  • 香港繁体hk

多种繁简之间的转换

尽然有这种多繁体,那么转换起来也肯定有很多种。下面,我们来分别实现这些字体之间的互相转换。完整代码如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if __name__ == "__main__":
    text_tw="空山新雨後,天氣晚來秋。明月鬆間照,清泉石上流。 竹喧歸浣女,蓮動下漁舟。隨意春芳歇,王孫自可留。"
    text_sc = "空山新雨后,天气晚来秋。明月松间照,清泉石上流。 竹喧归浣女,莲动下渔舟。随意春芳歇,王孙自可留。"
    text_hk="空山新雨後,天氣晚來秋。明月鬆間照,清泉石上流。 竹喧歸浣女,蓮動下漁舟。隨意春芳歇,王孫自可留。"
    text_st="空山新雨後,天氣晚來秋。明月鬆間照,清泉石上流。 竹喧歸浣女,蓮動下漁舟。隨意春芳歇,王孫自可留。"
    #简体转台湾繁体
    print(hanlp.s2tw(text_sc))
    #台湾繁体转简体
    print(hanlp.tw2s(text_tw))
    #简体转香港繁体
    print(hanlp.s2hk(text_sc))
    #香港繁体转简体
    print(hanlp.hk2s(text_hk))
    #香港繁体转台湾繁体
    print(hanlp.hk2tw(text_hk))
    # 台湾繁体转香港繁体
    print(hanlp.tw2hk(text_tw))
    #香港台湾繁体转标准繁体转换
    print(hanlp.tw2t(text_tw))
    print(hanlp.hk2t(text_hk))
    # 标准繁体转换转香港台湾繁体
    print(hanlp.t2tw(text_st))
    print(hanlp.t2hk(text_st))

运行之后,效果如下:

Python实现简繁体转换

到此这篇关于python实现简繁体转换的文章就介绍到这了,更多相关python 简繁体转换内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://liyuanjinglyj.blog.csdn.net/article/details/115026199

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部