Linux Deepin

国内最好的Linux公司 ...

↑我也要推荐

Python 中文分词:用纯python实现 / FMM 算法 / pymmseg-cpp / smallseg / judou 句读 / BECer-GAE

发布时间:2011-06-19 10:36:19, 关注:+16763, 赞美:+21, 不爽:+14

本文标签: 中文分词 算法 pymmseg-cpp becer gae smallseg 句读 好看薄

用python简单实现中文分词

最近想在google app engine上实现站内的全文检索。于是想写一个纯python实现的中文分词程序。

目标如下:

1,实用,能满足绝大部分网络文章的分词需要。
2,快速,分词过程中不会抛出DeadlineExceededError错误。
3,低内存占用,不会因为内存占用超过限制而每个实例运行一次之后就被强制kill掉。

最初的思路是:将分词词库排序好保存在一个list对象里,然后用bisect库对词库进行快速查找。因为bisect默认是c实现的,所以匹配速度非常快,但是list对象保存的词库过于耗费内存,加载速度非常慢。完全不适合在google app engine上使用。

解决的办法是:把词库中不同长度的词分开存储在不用的str对象中,使用跟bisect库同样的二分法对词库进行匹配。

python 中文分词——FMM 算法

FMM算法的最简单思想是使用贪心算法向前找n个,如果这n个组成的词在词典中出现,就ok,如果没有出现,那么找n-1个...然后继续下去。假如n个词在词典中出现,那么从n+1位置继续找下去,知道句子结束。

pymmseg-cpp

High performance Chinese word segmenting module for Python。

pymmseg-cpp is a Python port of the rmmseg-cpp project. rmmseg-cpp is a MMSEG Chinese word segmenting algorithm implemented in C++ with a Ruby interface.

smallseg - 开源的的轻量级的中文分词工具包

DFA Based Chinese Word Segmentation Library of Python and Java。

特点:可自定义词典、速度快、可在Google App Engine上运行。

judou 句读 - 高性能、高可用性分词系统

开放的中文分词项目,高性能、高可用性分词系统。主要由好看薄的蚂蚁同学维护。

BECer-GAE(google app engine)中文分词和全文搜索模块

BECer是纯python实现,专门为google app engine而开发的中文分词和全文搜索模块,BECer的特点是快速而且低内存占用,每秒处理三万字,词库和分词模块仅占3M内存,完全适用google app engine环境.不必担心google app engine的cpu时间限制和内存限制.

如果你觉得本站对你有帮助,欢迎向本站赞助 :P

使用支付宝捐赠

Copyright© Python4cn(news, jobs) simple-is-better.com, 技术驱动:powered by web.py 空间主机:Webfaction

版权申明:文章转载已注明出处,如有疑问请来信咨询。本站为 python 语言推广公益网站,与 python 官方没有任何关系。

联系/投搞/留言: en.simple.is.better@gmail.com 向本站捐赠