阅读更多

1顶
0踩

开源软件

Genius

Genius是一个开源的python中文分词组件,采用 CRF(Conditional Random Field)条件随机场算法。

Feature

  • 支持python2.x、python3.x以及pypy2.x。
  • 支持简单的pinyin分词
  • 支持用户自定义break
  • 支持用户自定义合并词典
  • 支持词性标注

Source Install

  • 安装git: 1) ubuntu or debian apt-get install git 2) fedora or redhat yum install git
  • 下载代码:git clone https://github.com/duanhongyi/genius.git
  • 安装代码:python setup.py install

Pypi Install

  • 执行命令:easy_install genius或者pip install genius

Algorithm

  • 采用trie树进行合并词典查找
  • 基于wapiti实现条件随机场分词
  • 可以通过genius.loader.ResourceLoader来重载默认的字典

功能 1):分词genius.seg_text方法

  • genius.seg_text函数接受5个参数:
  • text第一个参数为需要分词的字符
  • use_break代表对分词结构进行打断处理
  • use_combine代表是否使用字典进行词合并
  • use_tagging代表是否进行词性标注
  • use_pinyin_segment代表是否对拼音进行分词处理

代码示例( 全功能分词 )  

#encoding=utf-8
import genius
text = u"""昨天,我和施瓦布先生一起与部分企业家进行了交流,大家对中国经济当前、未来发展的态势、走势都十分关心。"""
seg_list = genius.seg_text(
    text,
    use_combine=True,
    use_pinyin_segment=True,
    use_tagging=True,
    use_break=True
)
print('\n'.join(['%s\t%s' % (word.text, word.tagging) for word in seg_list]))

 

功能 2):面向索引分词

  • genius.seg_keywords方法专门为搜索引擎索引准备,保留歧义分割。
  • text第一个参数为需要分词的字符
  • use_break代表对分词结构进行打断处理
  • use_tagging代表是否进行词性标注
  • use_pinyin_segment代表是否对拼音进行分词处理
  • 由于合并操作与此方法有意义上的冲突,此方法并不提供合并功能;并且如果采用此方法做索引时候,检索时不推荐genius.seg_text使用use_combine=True参数。

代码示例

#encoding=utf-8
import genius

seg_list = genius.seg_keywords(u'南京市长江大桥')
print('\n'.join([word.text for word in seg_list]))

其他说明 3):

  • 目前分词语料出自人民日报1998年1月份,所以对于新闻类文章分词较为准确。
  • CRF分词效果很大程度上依赖于训练语料的类别以及覆盖度,若解决语料问题分词和标注效果还有很大的提升空间。
1
0
评论 共 7 条 请登录后发表评论
7 楼 hity 2013-10-08 11:30
方世玉 写道
请问一下语料库如何增加,怎么通过训练增加准确度



library.zip文件下crf_seg_model.txt这个是训练后的分词model,自己训练一个覆盖即可。

训练方法可以使用crf工具,如wapiti或者是crf++,训练pattern在template文件夹里面可以找到。
6 楼 方世玉 2013-10-08 11:01
请问一下语料库如何增加,怎么通过训练增加准确度
5 楼 hity 2013-09-27 14:29
ansjsun 写道
额又一个分词。。。


哈哈,分词元年。
4 楼 ansjsun 2013-09-27 12:40
额又一个分词。。。
3 楼 IT技术观察员 2013-09-26 11:35
好吧!我没有恶意,随便说说!我一开始很兴奋,以为终于又有被翻译过来的新东西了
hity 写道
IT技术观察员 写道
唉!直接从github上抄来的,还发啥?我以为是翻译过来的呢!

不应该算抄吧?反正那个也是我写的,只是想跟大家分享一下自己的开源项目。

2 楼 hity 2013-09-26 11:01
IT技术观察员 写道
唉!直接从github上抄来的,还发啥?我以为是翻译过来的呢!

不应该算抄吧?反正那个也是我写的,只是想跟大家分享一下自己的开源项目。
1 楼 IT技术观察员 2013-09-26 10:36
唉!直接从github上抄来的,还发啥?我以为是翻译过来的呢!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Python-genius基于条件随机域的中文断词库

    Genius是一个开源的python中文分词组件,采用 CRF(Conditional Random Field)条件随机场算法。

  • 条件随机场python实现_Genius:基于条件随机场算法的python分词组件

    Python-genius基于条件随机域的中文断词库Genius是一个开源的python中文分词组件,采用 CRF(Conditional Random Field)条件随机场算法。【中文分词】条件随机场CRF之前介绍的MMEM存在着label bias问题,因此Lafferty...

  • Python中文分词工具大合集:安装、使用和测试

    转自:AINLP这篇文章事实上整合了之前文章的相关介绍,同时添加一些其他的Python中文分词相关资源,甚至非Python的中文分词工具,仅供参考。首先介绍之前测试过的8...

  • 玩转Python必备:史上最全的Python库,【值得收藏,事半功倍】

    库名称 简介 Chardet字符编码探测器,可以自动检测文本、网页、xml的编码。...difflib,[Python]标准库,计算文本差异 Levenshtein,快速计算字符串相似度。 fuzzywuzzy,字符串模糊匹配。 esmre,正则表达式...

  • python文本分析的开源工具_共有11款Python 中文分词库开源软件

    "哑哈"中文分词,更快或更准确,由你来定义。通过简单定制,让分词模块更适用于你的需求。 "Yaha" You can custom your Chinese Word Segmentation ... 更多Yaha信息jieba "结巴"中文分词:做最好的Python中文...

  • Python库详解。python有那些库你都知道了嘛?

    difflib,[Python]标准库,计算文本差异Levenshtein,快速计算字符串相似度。 fuzzywuzzy 字符串模糊匹配。 esmre 正则表达式的加速器。 shortuuid 一组简洁URL/UUID函数库。 ftfy,Unicode文本工具7 unidecode,...

  • Python常用库汇总

    Python常用的库简单介绍一下 fuzzywuzzy ,字符串模糊匹配。 esmre ,正则表达式的加速器。 colorama 主要用来给文本添加各种颜色,并且非常简单易用。 Prettytable 主要用于在终端或浏览器端构建格式...

  • genius-master

    Genius是一个开源的python中文分词组件,采用 CRF(Conditional Random Field)条件随机场算法。

  • NLP(2) | 中文分词分词的概念分词方法分类CRFHMM分词

    NLP(1) | 词向量one hot编码词向量编码思想 分词的概念 简单来说就是把词进行分开,分词的难点: 1.如何避免歧义,如:“白开水不如果汁甜”。如何让机器避免将“如果”分到一起。 2....基于...

  • jieba分词并做分析

    安装、简述和示例 pip install genius genius 是一款开源中文分词器,其基于条件随机场(CRF)算法的。 (这部分下次再写) import re from collections import Counter import jieba def cut_word(datapath): with...

  • NLP中几种分词库的简单使用(Python)

    几种分词方法的简单使用: ... pip install jieba,jieba分词的语料是基于人民日报。 分词示例 1 import jieba 2 3 str1 ='江州市长江大桥' 4 word_object = jieba.cut(str1) # 生成一个生成器对象 5 f...

  • python:库文件整理

    python库文件 库名称 简介 Chardet 字符编码探测器,可以自动检测文本、网页、xml的编码。 colorama 主要用来给文本添加各种颜色,并且非常简单易用。 Prettytable 主要用于在终端或浏览器端构建格式化...

  • 常用的中文分词框架

    首先介绍之前测试过的8款中文分词工具,这几款工具可以直接在AINLP公众号后台在线测试,严格的说,它们不完全是纯粹的中文分词工具,例如SnowNLP, Thulac, HanLP,LTP,CoreNLP都是很全面的(中文)自然语言处理工具...

  • 【Python】所有常用Python库和功能查询表

    所有常用Python库和功能查询表

  • 1000+常用Python库一览

    ‍‍来源:法纳斯特这次给大家总结整理了1000+常用Python库,主要分为以下部分????文本处理、文件处理、图像处理、游戏和多媒体、大数据和科学计算、人工智能和机器学习、系统与命令行、...

  • 转载:Python库

    库名称简介 Chardet 字符编码探测器,可以自动检测文本、网页、xml的编码...difflib,[Python]标准库,计算文本差异Levenshtein,快速计算字符串相似度。 fuzzywuzzy 字符串模糊匹配。 esmre 正则表达式的加速器...

  • 所有的Python库,我都整理在这里了

    加班加点整理出来的Python库,希望看到此篇文章的各位小伙伴,都可以学好Python~

  • go 生成基于 graphql 服务器库.zip

    格奇尔根 首页 > 文件 > gqlgen是什么?gqlgen是一个 Go 库,用于轻松构建 GraphQL 服务器。gqlgen 基于 Schema 优先方法— 您可以使用 GraphQL Schema 定义语言来定义您的 API 。gqlgen 优先考虑类型安全— 您永远不应该看到map[string]interface{}这里。gqlgen 启用 Codegen — 我们生成无聊的部分,以便您可以专注于快速构建您的应用程序。还不太确定如何使用gqlgen?将gqlgen与其他 Go graphql实现进行比较快速启动初始化一个新的 go 模块mkdir examplecd examplego mod init example添加github.com/99designs/gqlgen到项目的 tools.goprintf '//go:build tools\npackage tools\nimport (_ "github.com/99designs/gqlgen"\n _ "github.com/99designs/gqlgen

  • 基于JAVA+SpringBoot+Vue+MySQL的社区物资交易互助平台 源码+数据库+论文(高分毕业设计).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:maven 数据库工具:navicat

  • 法研杯2021类案检索赛道三等奖方案源码+项目说明+数据.zip

    法研杯2021类案检索赛道三等奖方案源码+项目说明+数据.zip是一个专为计算机相关专业(如计科、信息安全、数据科学与大数据技术等)学生设计的宝贵学习资源。该压缩包包含了完整的项目源码、详细的项目说明文档以及用于训练和测试的数据集,旨在帮助参赛者深入理解并掌握类案检索的相关技术和方法。该项目通过实际案例,展示了如何运用自然语言处理和机器学习技术对法律案件进行智能检索和匹配。项目内容涵盖了从数据预处理、特征提取到模型训练和评估的全过程,为学习和研究类案检索技术提供了全面的参考。本项目不仅适合作为课程设计、期末大作业或毕设项目的参考,也是企业员工提升技能、进行实践操作的优质学习资料。通过实际操作和学习该项目,用户可以加深对类案检索技术的理解,并在实践中不断提升自己的技能水平。请注意,由于该资源包含完整的项目源码和数据集,下载和使用时请确保遵守相关法律法规和道德规范,尊重知识产权和隐私权。同时,建议用户在使用前仔细阅读项目说明文档,了解项目的整体架构和使用方法,以便更好地利用该资源进行学习和研究。

Global site tag (gtag.js) - Google Analytics