Git Product home page Git Product logo

pyseg's Introduction

PySeg

中文分词库, 词性标注库

Chinese Words Segmentation and Tagger Library via Python

Usage

  • 将项目内pyseg放置于工作目录或者site-packages目录
  • import snailseg
import pyseg

# 默认使用隐马尔可夫模型(HMM)训练的2013年人民日报语料库进行分词
words = pyseg.cut('发言人强调,该法案涉台内容严重违反一个**原则,损害中美关系。')
for w in words:
	  print(w)
    
# 使用二分正向最大匹配模型(BFMM)训练的2013年人民日报语料库进行分词 O(T)= nlog(n)
words = pyseg.cut_fmm('**特色社会主义,***改革开放。')
for w in words:
	  print(w)
    
# 将语料置于pyseg/data内,即可通过文件名进行HMM和BFMM模型的训练参数重载
pyseg.load_corpus("trainCorpus.txt_utf8")

# 12.15日加入词性标注功能,但是由于标注语料缺乏,所以只限于适用!!
# 应用HMM模型进行预处理分词,之后使用LSTM进行词性标注
res5,res5_tag = pyseg.cut_mark('****席来到北京负责燃料工业部的指导建设工作。')
for tag in res5_tag:
    print(tag)
  

Algorithm

  • 默认cut方法使用2013年人民日报语料库训练的隐马尔可夫模型(HMM)进行分词,具体实现参考MCMC模型以及Viterbi算法(DP)
  • cut_fmm算法使用2013年人民日报语料库训练的二分正向最大匹配模型(BFMM)进行分词,具体实现在FMM上进行改进,将逐次缩位改为二分查找最大前缀,具体可以参考博客中分词内容:https://kylinchen.top
  • HMM+Embedding+LSTM进行词性标注,训练语料还较少,目标使用1998年人民日报语料库进行训练

Example

以HMM模型为例

  • Input
res1 = pyseg.cut('这个程序不能准确的分割出喜欢,这也就是概率模型的问题所在。')
res2 = pyseg.cut('**特色社会主义,***改革开放')
res3 = pyseg.cut('发言人强调,该法案涉台内容严重违反一个**原则和中美三个联合公报规定,严重损害中美关系和台海和平稳定。')
res4 = pyseg.cut('通知强调,各地要做好统筹安排,按照国务院关于保障义务教育教师工资待遇的工作部署,加大工作力度。')
res5,tag = pyseg.cut_mark('****席来到北京负责燃料工业部的指导建设工作。')
  • Output
这个\程序\不能\准确\的\分割出\喜欢\,\这\也\就\是\概率\模型\的\问题\所在\。\

**\特色\社会\主义\,\***\改革\开放\

发言人\强调\,\该\法案\涉台\内容\严重\违反\一个\**\原则\和\中美\三个\联合\公报\规定\,\严重\损害\中美\关系\和\台海\和\平\稳定\。\

通知\强调\,\各地\要\做好\统筹\安排\,\按照\国务院\关于\保障\义务\教育\教师\工资待遇\的\工作\部署\,\加大\工作\力度\。\

****席\n    来到\v    北京\ns    负责\v    燃料\n    工业部\n    的\uj    指导\n    建设\vn    工作\vn    。\x 

pyseg's People

Contributors

kylinc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.