Python论坛  - 讨论区

标题:[python-chinese] 中文繁简转换

2008年01月11日 星期五 18:34

Xie Yanbo xieyanbo在gmail.com
星期五 一月 11 18:34:31 HKT 2008

最近在开发中文繁简转换的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等包装。但由于最近私人事情比较多,暂时无法继续,先放出来请大家指点,
欢迎各种讨论。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2008年01月11日 星期五 18:43

清风 paradise.qingfeng在gmail.com
星期五 一月 11 18:43:11 HKT 2008

ÊÇ·ñÓÐÓïÒâµÄת»»£¿ÀýÈç¼òÌå½ÐÈí¼þ£¬·±ÌåÓû§¶à½ÐÈíÌå

2008/1/11 Xie Yanbo <xieyanbo在gmail.com>:
> ×î½üÔÚ¿ª·¢ÖÐÎÄ·±¼òת»»µÄ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
> ·¢ÑÔ: python-cn在googlegroups.com
> Í˶©: python-cn-unsubscribe在googlegroups.com
> ά»ù: 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/

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2008年01月11日 星期五 18:47

Xie Yanbo xieyanbo在gmail.com
星期五 一月 11 18:47:59 HKT 2008

On Jan 11, 2008 6:43 PM, 清风 <paradise.qingfeng在gmail.com> wrote:
> 是否有语意的转换?例如简体叫软件,繁体用户多叫软体

没错,可以做这个转换。做这个模块的初衷就是实现类似维基百科的繁简转换
功能,以后还会支持维基百科的-{}-语法。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2008年01月11日 星期五 18:48

Tu Tu tu.tuqiang在gmail.com
星期五 一月 11 18:48:21 HKT 2008

¿´ÁËһϴúÂ룬ÕâÖ»ÊÇÒ»¸öÒ»ÔªÓïÑÔÄ£ÐÍ£¬²»ÄܽøÐÐÓïÒåÏà¹ØµÄת»»¡£
µ«ÊÇ£¬ÎÒ¾õµÃÕâ¸öÄ£ÐÍÒѾ­Äܹ»Âú×ãÒªÇó£¬Ö»Òª´Çµä×㹻ǿ´ó¡£


On 1/11/08, Çå·ç <paradise.qingfeng在gmail.com> wrote:
>
> ÊÇ·ñÓÐÓïÒâµÄת»»£¿ÀýÈç¼òÌå½ÐÈí¼þ£¬·±ÌåÓû§¶à½ÐÈíÌå
>
> 2008/1/11 Xie Yanbo <xieyanbo在gmail.com>:
> > ×î½üÔÚ¿ª·¢ÖÐÎÄ·±¼òת»»µÄ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
> > ·¢ÑÔ: python-cn在googlegroups.com
> > Í˶©: python-cn-unsubscribe在googlegroups.com
> > ά»ù: 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 python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>



-- 
---------------------------------------------------
www.douban.com/people/tutuqiang/
---------------------------------------------------
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20080111/9c79869e/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2008年01月11日 星期五 18:50

Li Qingfeng liqfemail在gmail.com
星期五 一月 11 18:50:08 HKT 2008

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£¬Çå·ç <paradise.qingfeng在gmail.com> дµÀ£º
>
> ÊÇ·ñÓÐÓïÒâµÄת»»£¿ÀýÈç¼òÌå½ÐÈí¼þ£¬·±ÌåÓû§¶à½ÐÈíÌå
>
> 2008/1/11 Xie Yanbo <xieyanbo在gmail.com>:
> > ×î½üÔÚ¿ª·¢ÖÐÎÄ·±¼òת»»µÄ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
> > ·¢ÑÔ: python-cn在googlegroups.com
> > Í˶©: python-cn-unsubscribe在googlegroups.com
> > ά»ù: 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 python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20080111/4165f583/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2008年01月11日 星期五 19:26

清风 paradise.qingfeng在gmail.com
星期五 一月 11 19:26:03 HKT 2008

ºÜºÃ£¬ºÜÇ¿´ó°¢:)£¬ÏÂÔØѧϰһÏÂ

2008/1/11 Li Qingfeng <liqfemail在gmail.com>:
> 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£¬Çå·ç <paradise.qingfeng在gmail.com> дµÀ£º
> >
> >
> >
> > ÊÇ·ñÓÐÓïÒâµÄת»»£¿ÀýÈç¼òÌå½ÐÈí¼þ£¬·±ÌåÓû§¶à½ÐÈíÌå
> >
> > 2008/1/11 Xie Yanbo <xieyanbo在gmail.com>:
> > > ×î½üÔÚ¿ª·¢ÖÐÎÄ·±¼òת»»µÄ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
> > > ·¢ÑÔ: python-cn在googlegroups.com
> > > Í˶©: python-cn-unsubscribe在googlegroups.com
> > > ά»ù: 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 python-chinese在lists.python.cn
> > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>



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

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2008年01月12日 星期六 02:07

Li Qingfeng liqfemail在gmail.com
星期六 一月 12 02:07:19 HKT 2008

Ö±½ÓÓÃÄæÏò×î´óÆ¥Åä·¨±íÊöÆðÀ´±È½Ï¼ò½à°É£¬²»ÐèÒªÒýÈë״̬»úÁË£¬¶øÇÒ¾Ý˵׼ȷÂÊ»¹ÂԸߡ£

ÔÚ08-1-11£¬Xie Yanbo <xieyanbo在gmail.com> дµÀ£º
>
> On Jan 11, 2008 6:43 PM, Çå·ç <paradise.qingfeng在gmail.com> wrote:
> > ÊÇ·ñÓÐÓïÒâµÄת»»£¿ÀýÈç¼òÌå½ÐÈí¼þ£¬·±ÌåÓû§¶à½ÐÈíÌå
>
> û´í£¬¿ÉÒÔ×öÕâ¸öת»»¡£×öÕâ¸öÄ£¿éµÄ³õÖÔ¾ÍÊÇʵÏÖÀàËÆά»ù°Ù¿ÆµÄ·±¼òת»»
> ¹¦ÄÜ£¬ÒÔºó»¹»áÖ§³Öά»ù°Ù¿ÆµÄ-{}-Óï·¨¡£
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20080112/c0542d84/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2008年01月15日 星期二 11:21

Xie Yanbo xieyanbo在gmail.com
星期二 一月 15 11:21:58 HKT 2008

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

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

逆向最大匹配看起来用在分词的场合比较多,分词所用的词典比较大,命中率会相对较高。
但这里是要做繁简转换,所用的词典是部分单个字和少数需要调整的词,词典容量小,如果
也采用逆向最大匹配,感觉运行起来很多时候会是在空转,效率上似乎会有问题。不过这需
要下来具体测试一下才能知道,有时间我会做一下看看。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号