mmseg 1.2.5 : Python Package Index
2012-03-21 09:01
381 查看
mmseg 1.2.5 : Python Package Index
Downloads ↓
mmseg 1.2.5
MMseg中文分词 Chinese Segment On MMSeg AlgorithmDownloads ↓
MMseg中文分词 Chinese Segment On MMSeg Algorithm ------------------------------- original edition pymmseg-cpp by pluskid http://code.google.com/p/pymmseg-cpp/ This package is Chinese Segment , I think only chinese need it, so the description is chinese . If you have interesting , have a look a the original edition ------------------------------- 全文索引用,配合 xapian ( http://xapian.org/ ) 可以很方便的做全文索引 ~:python -m mmseg.search ---------- 哈尔罗杰历险记(套) 哈尔 罗杰 历险 历险记 ---------- 卡拉马佐夫兄弟 卡拉 马 佐夫 兄弟 ---------- 银河英雄传说 银河 英雄 传说 银河英雄传说 ---------- 张无忌在光明顶 无忌 张无忌 光明 光明顶 ---------- 韦帅望的江湖(Ⅲ众望所归) 韦帅 帅望 韦帅望 江湖 众望 望所 所归 众望所归 ---------- 少年韦帅望之童年结束了 少年 韦帅 帅望 望之 韦帅望之 童年 结束 ---------- 晋江文学网站驻站作家,已出版多部作品。 晋江 文学 网站 文学网站 驻站 作家 出版 多部 作品 ------------------------------- 分词用,适用于聚类等等 from mmseg import seg_txt for i in seg_txt("最主要的更动是:张无忌最后没有选定自己的配偶。"): print i ------------------------------- 配合xapian做索引 #coding:utf-8 #!/usr/bin/env python import xapian import sys import string from collections import defaultdict from mmseg.search import seg_txt_search,seg_txt_2_dict import xapian SEARCH_DB = xapian.WritableDatabase(DBPATH, xapian.DB_CREATE_OR_OPEN) SEARCH_ENQUIRE = xapian.Enquire(SEARCH_DB) def index_txt(id, txt): doc = xapian.Document() for word, value in seg_txt_2_dict(txt).iteritems(): doc.add_term(word, value) key = ":%s"%id doc.add_term(key) SEARCH_DB.replace_document(key, doc) def flush_db(): SEARCH_DB.flush() if __name__ == "__main__": txt = """ 治安署地最高长官站在街头,皱眉看着一队近卫军飞快地走过,他心中满是疑惑,立刻回到了治安署里地办公室,然后喊来了自己地一个部下,让他立刻去军方统帅部请示一下. """ index_txt(1, txt) flush_db() ------------------------------- 配合xapian做搜索 #coding:utf-8 from mmseg.search import seg_txt_search,seg_txt_2_dict import xapian SEARCH_DB = xapian.WritableDatabase(DBPATH, xapian.DB_CREATE_OR_OPEN) SEARCH_ENQUIRE = xapian.Enquire(SEARCH_DB) def search(keywords, offset=0, limit=35, enquire=SEARCH_ENQUIRE): query_list = [] for word, value in seg_txt_2_dict(keywords).iteritems(): query = xapian.Query(word, value) query_list.append(query) if len(query_list) != 1: query = xapian.Query(xapian.Query.OP_AND, query_list) else: query = query_list[0] enquire.set_query(query) matches = enquire.get_mset(offset, limit, None) return matches if __name__ == "__main__": matches = search( "治安") # Display the results. print "%i results found." % matches.get_matches_estimated() print "Results 1-%i:" % matches.size() for m in matches: print "%i: %i%% docid=%i [%s]" % (m.rank + 1, m.percent, m.docid, m.document.get_data()) ------------------------------- 张沈鹏(zsp007@gmail.com) 修改版 rmmseg-cpp
相关文章推荐
- jenkinsapi 0.2.29 : Python Package Index
- bottle-session 0.3 : Python Package Index
- tox 1.4.2 : Python Package Index
- suds 0.4 : Python Package Index
- blinker 1.2 : Python Package Index
- pyrailgun 0.24 : Python Package Index
- django-spaghetti-and-meatballs 0.2.0 : Python Package Index
- retools 0.1 : Python Package Index
- Ghost.py 0.1b3 : Python Package Index
- autumn 0.5.1 : Python Package Index
- 搭建本地Python Package Index(pypi)源
- suds 0.4 : Python Package Index
- colorama 0.2.4 : Python Package Index
- APScheduler 2.0.3 : Python Package Index
- graphterm 0.40.1 : Python Package Index
- Orchid 1.1 : Python Package Index
- spider.py 0.5 : Python Package Index
- tox 1.4.2 : Python Package Index
- qrcode 4.0.4 : Python Package Index
- django-sentry 1.13.5 : Python Package Index