浏览:2,284

  说完了Python中的__call__函数,我们继续来完善segment.py,首先将Pw函数删除: 阅读全文

浏览:2,633

  上一节我们已经解读了Pdist类中的__init__函数,这一节重点关注一下Python类中的__call__函数。首先简单的回顾一下上一节提到的一段话:缺省的情况,对于未知的单词,其概率均为1/N,但是对于每一个实例,Pdist均提供一个函数重载这个缺省值。为了避免过长 的单词拥有过高的概率,我们从概率10/N出发,对于候选单词的每一个字母都除以10。 阅读全文

浏览:2,389

  自然语言处理和脚本语言的关系还是很密切的,我一直比较喜欢用Perl,不过因为NLTK的缘故,我学习了一下Python,也立即被Python的严谨所征服。印象《Learning Python》中提到了Perl和Python的一段八卦:Perl的发明者是语言学家,而Python的发明者则是数学科班出身,因此前者崇尚自由,而后者推崇严谨。大意如此,但是对于Perl和Python,我同样受用,该用哪个时就用哪个,没必要比较。 阅读全文

浏览:3,720

  对于Pw函数,这里稍微多做一点说。首先我们从一元语言模型的文件里读取单词及其计数,如果一个单词在语料库中出现,它的概率就是Count(word)/N,这里N是语料库的单词数目的规模。事实上,相对于使用完整的1千3百万单词(词型)的一元语言模型,Peter Norvig大牛对这个一元语言模型进行了简化:(a) 创建了一个更通用的词汇表,并且其中的单词是大小写不敏感(不区分)的,故“the”,”The”以及“THE”的计数是加在一起作为“the”的计数的;(b)只有由字母(letter)组合的单词才被计入其中,而对于其他包含数字或者标点的“单词”则被过滤,故“+170.002”以及“can’t”都不会被计入;(c)只列出其中最常用的1百万单词中的前1/3,也就是333333个单词。 阅读全文

浏览:2,232

  本节我们进入《Beautiful Data》中分词的编码阶段,完整的程序及数据大家可以在“Natural Language Corpus Data: Beautiful Data”上下载ngrams.zip,我这里主要做一些解读。程序由python实现,无论在Linux或者Windows平台下,只要安装了相应的python版本,程序均可以通过测试,不过我所使用的是python2.6,注意,在python3.0上会有一些问题。 阅读全文

浏览:3,722

  在进入正题之前,还是先说两句篇外话,上一篇《中文分词入门之篇外》中说到了solol提供了Java版的mmseg,相似的,python版mmseg的作者fakechris也在这里留了言:

你好,我是pychseg的作者,一直没时间加上download,大家check out源代码就可以用了。。。

阅读全文

浏览:2,050

  这篇不是计划内的“中文分词入门系列”,所以称之为篇外。上一篇《中文分词入门之最大匹配法扩展1》提到了MMSEG国内的一些情况:

  不过国内也有该文的简介文章:《MMSeg分词算法简述》,原文似乎出自“www.solol.org”,但是我一直没打开这个网站,因为Java版的mmesg也是其提供的,不知道是已经关闭了还是被“墙”了。另外,leeing也翻译了全文《MMSEG 中文分词算法》,我粗略的读了一下,感觉翻译的不错。

阅读全文

浏览:4,402

  nlpers上有几篇“Getting Started in X”,其中X分别是nlp(自然语言处理),summarization及sequence labeling,觉得写得不错,尤其是对初学者有一定借鉴意义,计划在这里分别结合自己的理解来介绍这几篇文章。本期介绍的是“如何学习自然语言处理(Getting Started in NLP)”,不过可惜nlpers目前仍不能访问,大家可以通过网页快照或者代理访问。 阅读全文



订阅52nlp:

Add to Google Reader or Homepage



Switch to our mobile site