from mmseg import seg_txt
for i in seg_txt("最主要的更动是:张无忌最后没有选定自己的配偶。"):
print i
最主要
的
更动
是
:
张无忌
最后
没
有
选定
自己
的
配偶
。
是在
pymmseg-cpp
by pluskid
http://code.google.com/p/pymmseg-cpp/
的基础上做了一些小改动
然后加了一个easy_install的安装包
On Sun, Jun 14, 2009 at 12:22, 张沈鹏<zsp...@gmail.com> wrote:赞哪!!这是自制搜索引擎的关系部件哪,,,
> http://pypi.python.org/pypi/mmseg/
> 访问这个链接吧 有时候我会更新一下
>
--
http://zoomquiet.org
'''过程改进乃是催生可促生靠谱的人的组织!'''
Free as in Freedom! 哲思自由软件社区:http://zeuux.org
我觉得觉得以字分词效果会更好
但是
缺少一个标注好的的 适宜web2.0网站和时代潮流的 训练语料
所有 现在的想法是
先用一个词库分词
然后用这个来标注
再拿去训练最大熵的以字分词
不过很忙加上很懒
不知道什么时候才才有空去做了:)
如果是
全文检索
最好对
/mmseg/mmseg/data
下的
__init__.py chars.dic test.py words.dic
words.dic
做一些处理
最简单的规则就是 把包含下面字符 大于3字长度的词去掉
不然 很可能有会有检索问题
2381820 种
2404595 被
2413798 行
2415306 动
2419132 把
2438147 语
2469046 头
2482602 又
2515758 吗
2537022 些
2540902 因
2574753 作
2604378 候
2618353 理
2636829 主
2637097 给
2639943 死
2683804 当
2693005 男
2696888 文
2716546 定
2723024 呢
2723741 问
2726007 水
2728143 怎
2740535 做
2768016 于
2784837 别
2801842 她
2845027 其
2850496 手
2867643 呵
2871553 方
2921241 前
2924721 吃
2988565 果
2993309 回
3022416 比
3049579 所
3053684 日
3060722 之
3067578 本
3115939 老
3150869 经
3158385 分
3188867 见
3190690 开
3219217 而
3237482 次
3250228 国
3257263 同
3271752 知
3279798 成
3314822 太
3321450 但
3353768 无
3368031 面
3403956 起
3464769 实
3506846 感
3569181 如
3591263 事
3621069 明
3626999 话
3684823 意
3694708 欢
3724097 只
3783819 最
3888514 女
3971028 己
3982749 喜
3991399 地
4069021 情
4147964 发
4164870 年
4202305 学
4217510 道
4270707 用
4296297 觉
4305601 现
4335666 真
4394688 着
4394903 样
4447965 爱
4498555 然
4524159 墙
4558695 点
4774657 里
4813381 后
4833535 心
4958172 出
4986061 家
4988080 对
5050338 吧
5123828 什
5207780 中
5753758 下
5754726 生
6477603 能
6525968 自
6535904 和
6685016 时
6698773 为
6781735 小
6790537 想
6798831 多
6933711 天
7228676 会
7229790 子
7237753 去
7353757 得
7543457 可
7608938 们
7614516 过
7732628 以
8443669 他
8496721 到
8634324 那
8950034 很
9113334 都
9132602 没
9196238 说
9206613 大
9260025 还
9608350 上
10114150 也
10124478 看
10193922 要
10950024 来
11980444 么
12816019 就
13072276 好
13212017 哈
13264256 这
14460126 在
14721492 啊
15393596 个
19396613 你
20558694 有
20895101 人
25453406 一
30533630 了
32397716 不
36882033 是
40199819 我
67946136 的
另外一种比较保险的做法 最分出来的词 如果长度大于等于3 在两元分词一下
这样总数词数也的很有限的 而且可以避免检索不到
因为c代码中都是对char进行处理,所以必须是一种str编码
不过你可以自己包一层,判定一下类型
下面两种做法选一种就 可以了
倾向于第二种
因为第一种那种比较暴力的做法有不少问题 而比较细致的办法 又比较麻烦 我有空回来处理一下这个词库
1.
> 最简单的规则就是 把包含下面字符 大于3字长度的词去掉
> 不然 很可能有会有检索问题
>
2.
比如你搜索 偷袭
被偷袭 这个就会找不到了
-------
六大 门派 围攻 光明顶
比如你搜索 光明
光明顶 就会找不到了
对于不懂电脑的普通用户
他们会很困惑
分词可以提高搜索的准确率
但是还需要靠 两元分词 保障 全查率
对于切出来的比较多的 连续单字 也最好 两元分词 并索引一下
此外 在有了分词的情况下 可以减少很多 不必要的 二元分词 带来的 空间浪费
你可以对 词进行两元分词啊
这样可以省不少空间
比如
张无忌 在 光明顶
忌在
在光
这两个都可以忽视掉
还有有个办法就是粘词,在索引的时候发现出现单字的情况,经常是因为辞典里面缺少这个词,比如没有"上谷歌"就会切成"上""谷" "歌",这种情况可
以把它跟前后粘一下,"上谷""谷歌",牺牲正确律增加查全律。
On 6月14日, 下午1时23分, YoungKing <yanc...@gmail.com> wrote:
> 其实我想,对搜索和查询都用同一个分词算法应该没什么问题吧
> 下面的表现结果就比较一致,没有出现分词不同的情况
>
> >>> for i in seg_txt("企业如何进行项目管理?"):print
>
> i
> ...
> 企业
> 如何进行
> 项目管理>>> for i in seg_txt("如何进行"):print i
>
> ...
> 如何进行>>> for i in seg_txt("项目管理"):print i
>
> ...
> 项目管理
>
> 2009/6/14 张沈鹏 <zsp...@gmail.com>
>
>
>
> > 2009/6/14 张沈鹏 <zsp...@gmail.com>:
> > > 2009/6/14 YoungKing <yanc...@gmail.com>:
On 6月15日, 下午2时15分, Alex Dong <alex.d...@gmail.com> wrote:
> 插一句:为什么不去做"基于语义的排除奇异呢?"
>
> 如果文章关于it,或者互联网,谷歌的概率(基于贝页斯)就会更大一些,不是
> 吗?
>
> Email: alex.d...@gmail.com
更新一下
上一个版本有个比较严重的bug
http://pypi.python.org/pypi/mmseg/1.1.9
现在可以换了:)
Zues:zuroc ~/dev:python -m mmseg.search
----------
哈尔罗杰历险记(套)
哈尔
罗杰
历险
历险记
----------
卡拉马佐夫兄弟
卡拉
马
佐夫
兄弟
----------
银河英雄传说
银河
英雄
传说
银河英雄传说
----------
张无忌在光明顶
无忌
张无忌
光明
光明顶
----------
韦帅望的江湖(Ⅲ众望所归)
韦帅
帅望
韦帅望
江湖
众望
望所
所归
众望所归
----------
少年韦帅望之童年结束了
少年
韦帅
帅望
望之
韦帅望之
童年
结束
----------
晋江文学网站驻站作家,已出版多部作品。
晋江
文学
网站
文学网站
驻站
作家
出版
多部
作品
--
====================
句读:开放的中文分词项目
====================
主要链接
=======
* 句读首页:http://judou.org
使用
====
* 讨论请发邮件到ju...@googlegroups.com
* 查看更多到http://groups.google.com/group/judou
* 想退订发邮件到judou+un...@googlegroups.com