中文繁简转换

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

中文繁简转换

Xie Yanbo
最近在开发中文繁简转换的python模块,已经初步完成了一个纯python的原型[1],
可以实现unicode字符串转换成简体或繁体的功能。繁简映射表来自于维基百科的
mediawiki代码。

[1] http://pyswim.googlecode.com/files/langconv-0.0.1dev.tgz

一个使用的例子:
>>> from langconv import *
>>> c=Converter('zh-hant')
>>> c.convert(u'汉字')
u'\u6f22\u5b57'
>>> print c.convert(u'汉字')
漢字
>>> print c.convert(u'中文繁简转换')
中文繁簡轉換
>>> print Converter('zh-hans').convert(u'中文繁簡轉換')
中文繁简转换

代码核心是一个状态机,基于最大长度匹配的算法。

可以优化的地方还有很多,项目目标是能提供一个c语言的lib,以及对应的python、
php等包装。但由于最近私人事情比较多,暂时无法继续,先放出来请大家指点,
欢迎各种讨论。
_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG:38184] 中文繁简转换

Qing Feng
是否有语意的转换?例如简体叫软件,繁体用户多叫软体

2008/1/11 Xie Yanbo <[hidden email]>:

> 最近在开发中文繁简转换的python模块,已经初步完成了一个纯python的原型[1],
> 可以实现unicode字符串转换成简体或繁体的功能。繁简映射表来自于维基百科的
> mediawiki代码。
>
> [1] http://pyswim.googlecode.com/files/langconv-0.0.1dev.tgz
>
> 一个使用的例子:
> >>> from langconv import *
> >>> c=Converter('zh-hant')
> >>> c.convert(u'汉字')
> u'\u6f22\u5b57'
> >>> print c.convert(u'汉字')
> �h字
> >>> print c.convert(u'中文繁简转换')
> 中文繁��D�Q
> >>> print Converter('zh-hans').convert(u'中文繁��D�Q')
> 中文繁简转换
>
> 代码核心是一个状态机,基于最大长度匹配的算法。
>
> 可以优化的地方还有很多,项目目标是能提供一个c语言的lib,以及对应的python、
> php等包装。但由于最近私人事情比较多,暂时无法继续,先放出来请大家指点,
> 欢迎各种讨论。
>
> --~--~---------~--~----~------------~-------~--~----~
> '''邮件来自Groups "python-cn"--China Py User Group
> 详情: http://groups-beta.google.com/group/python-cn
> 发言: [hidden email]
> 退订: [hidden email]
> 维基: http://wiki.woodpecker.org.cn/moin/CPUG
> 珠江事务: http://groups.google.com/group/zpug
> 东南事务: http://groups.google.com/group/cpug-eastchina
> 北京事务: http://groups.google.com/group/bpug
> 中国事务: http://groups.google.com/group/CPUG
> 同质列表: http://python.cn/mailman/listinfo/python-chinese
> '''
> -~----------~----~----~----~------~----~------~--~---
>
>


--
http://qingfeng.ushared.com/blog/

_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG:38186] Re: 中文繁简转换

Xie Yanbo
On Jan 11, 2008 6:43 PM, 清风 <[hidden email]> wrote:
> 是否有语意的转换?例如简体叫软件,繁体用户多叫软体

没错,可以做这个转换。做这个模块的初衷就是实现类似维基百科的繁简转换
功能,以后还会支持维基百科的-{}-语法。
_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG:38184] 中文繁简转换

Anthony-106
In reply to this post by Qing Feng
看了一下代码,这只是一个一元语言模型,不能进行语义相关的转换。
但是,我觉得这个模型已经能够满足要求,只要辞典足够强大。

 
On 1/11/08, 清风 <[hidden email]> wrote:
是否有语意的转换?例如简体叫软件,繁体用户多叫软体

2008/1/11 Xie Yanbo <[hidden email]>:

> 最近在开发中文繁简转换的python模块,已经初步完成了一个纯python的原型[1],
> 可以实现unicode字符串转换成简体或繁体的功能。繁简映射表来自于维基百科的
> mediawiki代码。
>
> [1] http://pyswim.googlecode.com/files/langconv-0.0.1dev.tgz
>
> 一个使用的例子:
> >>> from langconv import *
> >>> c=Converter('zh-hant')
> >>> c.convert(u'汉字')
> u'\u6f22\u5b57'
> >>> print c.convert(u'汉字')
> �h字
> >>> print c.convert(u'中文繁简转换')
> 中文繁��D�Q
> >>> print Converter('zh-hans').convert(u'中文繁��D�Q')
> 中文繁简转换
>
> 代码核心是一个状态机,基于最大长度匹配的算法。
>
> 可以优化的地方还有很多,项目目标是能提供一个c语言的lib,以及对应的python、
> php等包装。但由于最近私人事情比较多,暂时无法继续,先放出来请大家指点,
> 欢迎各种讨论。
>
> --~--~---------~--~----~------------~-------~--~----~
> '''邮件来自Groups "python-cn"--China Py User Group
> 详情: http://groups-beta.google.com/group/python-cn
> 发言: [hidden email]
> 退订: [hidden email]
> 维基: http://wiki.woodpecker.org.cn/moin/CPUG
> 珠江事务: http://groups.google.com/group/zpug
> 东南事务: http://groups.google.com/group/cpug-eastchina
> 北京事务: http://groups.google.com/group/bpug
> 中国事务: http://groups.google.com/group/CPUG
> 同质列表: http://python.cn/mailman/listinfo/python-chinese
> '''
> -~----------~----~----~----~------~----~------~--~---
>
>



--
http://qingfeng.ushared.com/blog/

_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese



--
---------------------------------------------------
www.douban.com/people/tutuqiang/
---------------------------------------------------
_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG:38184] 中文繁简转换

Li Qingfeng
In reply to this post by Qing Feng
u"二极管": u"二�O�w",
u"二�O管": u"二�O�w",
u"三极管": u"三�O�w",
u"三�O管": u"三�O�w",
u"软件": u"��w",
u"�件": u"��w",
u"网络": u"�W路",
u"�W�j": u"�W路",

看到该词表里面有这个,应该可以的。

在08-1-11,清风 <[hidden email]> 写道:
是否有语意的转换?例如简体叫软件,繁体用户多叫软体

2008/1/11 Xie Yanbo <[hidden email]>:

> 最近在开发中文繁简转换的python模块,已经初步完成了一个纯python的原型[1],
> 可以实现unicode字符串转换成简体或繁体的功能。繁简映射表来自于维基百科的
> mediawiki代码。
>
> [1] http://pyswim.googlecode.com/files/langconv-0.0.1dev.tgz
>
> 一个使用的例子:
> >>> from langconv import *
> >>> c=Converter('zh-hant')
> >>> c.convert(u'汉字')
> u'\u6f22\u5b57'
> >>> print c.convert(u'汉字')
> �h字
> >>> print c.convert(u'中文繁简转换')
> 中文繁��D�Q
> >>> print Converter('zh-hans').convert(u'中文繁��D�Q')
> 中文繁简转换
>
> 代码核心是一个状态机,基于最大长度匹配的算法。
>
> 可以优化的地方还有很多,项目目标是能提供一个c语言的lib,以及对应的python、
> php等包装。但由于最近私人事情比较多,暂时无法继续,先放出来请大家指点,
> 欢迎各种讨论。
>
> --~--~---------~--~----~------------~-------~--~----~
> '''邮件来自Groups "python-cn"--China Py User Group
> 详情: http://groups-beta.google.com/group/python-cn
> 发言: [hidden email]
> 退订: [hidden email]
> 维基: http://wiki.woodpecker.org.cn/moin/CPUG
> 珠江事务: http://groups.google.com/group/zpug
> 东南事务: http://groups.google.com/group/cpug-eastchina
> 北京事务: http://groups.google.com/group/bpug
> 中国事务: http://groups.google.com/group/CPUG
> 同质列表: http://python.cn/mailman/listinfo/python-chinese
> '''
> -~----------~----~----~----~------~----~------~--~---
>
>



--
http://qingfeng.ushared.com/blog/

_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese


_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG:38184] 中文繁简转换

Qing Feng
很好,很强大阿:),下载学习一下

2008/1/11 Li Qingfeng <[hidden email]>:

> u"二极管": u"二�O�w",
> u"二�O管": u"二�O�w",
> u"三极管": u"三�O�w",
> u"三�O管": u"三�O�w",
> u"软件": u"��w",
> u"�件": u"��w",
> u"网络": u"�W路",
> u"�W�j": u"�W路",
>
> 看到该词表里面有这个,应该可以的。
>
> 在08-1-11,清风 <[hidden email]> 写道:
> >
> >
> >
> > 是否有语意的转换?例如简体叫软件,繁体用户多叫软体
> >
> > 2008/1/11 Xie Yanbo <[hidden email]>:
> > > 最近在开发中文繁简转换的python模块,已经初步完成了一个纯python的原型[1],
> > > 可以实现unicode字符串转换成简体或繁体的功能。繁简映射表来自于维基百科的
> > > mediawiki代码。
> > >
> > > [1] http://pyswim.googlecode.com/files/langconv-0.0.1dev.tgz
> > >
> > > 一个使用的例子:
> > > >>> from langconv import *
> > > >>> c=Converter('zh-hant')
> > > >>> c.convert(u'汉字')
> > > u'\u6f22\u5b57'
> > > >>> print c.convert(u'汉字')
> > > �h字
> > > >>> print c.convert(u'中文繁简转换')
> > > 中文繁��D�Q
> > > >>> print Converter('zh-hans').convert(u'中文繁��D�Q')
> > > 中文繁简转换
> > >
> > > 代码核心是一个状态机,基于最大长度匹配的算法。
> > >
> > > 可以优化的地方还有很多,项目目标是能提供一个c语言的lib,以及对应的python、
> > > php等包装。但由于最近私人事情比较多,暂时无法继续,先放出来请大家指点,
> > > 欢迎各种讨论。
> > >
> > > --~--~---------~--~----~------------~-------~--~----~
> > > '''邮件来自Groups "python-cn"--China Py User Group
> > > 详情: http://groups-beta.google.com/group/python-cn
> > > 发言: [hidden email]
> > > 退订: [hidden email]
> > > 维基: http://wiki.woodpecker.org.cn/moin/CPUG
> > > 珠江事务: http://groups.google.com/group/zpug
> > > 东南事务: http://groups.google.com/group/cpug-eastchina
> > > 北京事务: http://groups.google.com/group/bpug
> > > 中国事务: http://groups.google.com/group/CPUG
> > > 同质列表: http://python.cn/mailman/listinfo/python-chinese
> > > '''
> > > -~----------~----~----~----~------~----~------~--~---
> > >
> > >
> >
> >
> >
> > --
> > http://qingfeng.ushared.com/blog/
> >
> >
> > _______________________________________________
> > python-chinese
> > Post: send [hidden email]
> > Subscribe: send subscribe to [hidden email]
> > Unsubscribe: send unsubscribe to  [hidden email]
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
>
>
> _______________________________________________
> python-chinese
> Post: send [hidden email]
> Subscribe: send subscribe to [hidden email]
> Unsubscribe: send unsubscribe to  [hidden email]
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>


--
http://qingfeng.ushared.com/blog/

_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG:38186] Re: 中文繁简转换

Li Qingfeng
In reply to this post by Xie Yanbo
直接用逆向最大匹配法表述起来比较简洁吧,不需要引入状态机了,而且据说准确率还略高。

在08-1-11,Xie Yanbo <[hidden email]> 写道:
On Jan 11, 2008 6:43 PM, 清风 <[hidden email]> wrote:
> 是否有语意的转换?例如简体叫软件,繁体用户多叫软体

没错,可以做这个转换。做这个模块的初衷就是实现类似维基百科的繁简转换
功能,以后还会支持维基百科的-{}-语法。
_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese


_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese
Reply | Threaded
Open this post in threaded view
|

Re: [CPyUG:38186] Re: 中文繁简转换

Xie Yanbo
2008/1/12 Li Qingfeng <[hidden email]>:
> 直接用逆向最大匹配法表述起来比较简洁吧,不需要引入状态机了,而且据说准确率还略高。

谢谢你的建议!最近下班之后就没有网络,所以不能及时回复,抱歉。

逆向最大匹配看起来用在分词的场合比较多,分词所用的词典比较大,命中率会相对较高。
但这里是要做繁简转换,所用的词典是部分单个字和少数需要调整的词,词典容量小,如果
也采用逆向最大匹配,感觉运行起来很多时候会是在空转,效率上似乎会有问题。不过这需
要下来具体测试一下才能知道,有时间我会做一下看看。
_______________________________________________
python-chinese
Post: send [hidden email]
Subscribe: send subscribe to [hidden email]
Unsubscribe: send unsubscribe to  [hidden email]
Detail Info: http://python.cn/mailman/listinfo/python-chinese