中文分词资源

在学习nlp自然语言处理的过程中,免不了要使用中文分词资源作为分词依据或前期调研。所以想研究中文分词,第一步需要解决的就是资源问题。

作为中文信息处理的壁垒,中文分词在国内的关注度似乎远远超过了自然语言处理的其他研究领域。在中文分词中,资源的重要性又不言而喻,最大匹配法(正向、逆向)等需要一个好的词表,而基于字标注的中文分词方法又需要人工加工好的分词语料库,这里大概总结出入门级别的资源文件出处。

在学习过程中“LDC上免费的中文信息处理资源”,其中包括一个有频率统计的词表,共计4.5W+条,就可以作为一个不错的中文分词词表使用。而一个好的人工分词语料库,需要很大的人力物力投入,所以无论研究还是商用往往需要一定的费用购买,好在SIGHAN Bakeoff为我们提供了一个非商业使用(non-commercial)的免费获取途径,以下将介绍SIGHAN Bakeoff及相关的中文分词入门资源。
  SIGHAN是国际计算语言学会(ACL)中文语言处理小组的简称,其英文全称为“Special Interest Group for Chinese Language Processing of the Association for Computational Linguistics”,又可以理解为“SIG汉“或“SIG漢“。而Bakeoff则是SIGHAN所主办的国际中文语言处理竞赛,第一届于2003年在日本札幌举行(Bakeoff 2003),第二届于2005年在韩国济州岛举行(Bakeoff 2005), 而2006年在悉尼举行的第三届(Bakeoff 2006)则在前两届的基础上加入了中文命名实体识别评测。目前SIGHAN Bakeoff已成功举办了6届,其中Bakeoff 2005的数据和结果在其主页上是完全免费和公开的,但是请注意使用的前提是非商业使用(non-commercial):

  在Bakeoff 2005的主页上,我们可以找到如下一行:“The complete training, testing, and gold-standard data sets, as well as the scoring script, are available for research use”,在这一行下面提供了三个版本的icwb2-data。下载解压后,通过README就可以很清楚的了解到它包含哪些中文分词资源,特别需要说明的是这些中文分词语料库分别由台湾中央研究院(Academia Sinica)、香港城市大学(City University of Hong Kong)、北京大学(Peking University)及微软亚洲研究院(Microsoft Research)提供,其中前二者是繁体中文,后二者是简体中文,以下按照README简要介绍icwb2-data:

1) 介绍(Introduction):
  本目录包含了训练集、测试集及测试集的(黄金)标准切分,同时也包括了一个用于评分的脚本和一个可以作为基线测试的简单中文分词器。(This dirzectory contains the training, test, and gold-standard data used in the 2nd International Chinese Word Segmentation Bakeoff. Also included is the script used to score the results submitted by the bakeoff participants and the simple segmenter used to generate the baseline and topline data.)

2) 文件列表(File List)
  在gold目录里包含了测试集标准切分及从训练集中抽取的词表(Contains the gold standard segmentation of the test data along with the training data word lists.)
  在scripts目录里包含了评分脚本和简单中文分词器(Contains the scoring script and simple segmenter.)
  在testing目录里包含了未切分的测试数据(Contains the unsegmented test data.)
  在training目录里包含了已经切分好的标准训练数据(Contains the segmented training data.)
  在doc目录里包括了bakeoff的一些指南(Contains the instructions used in the bakeoff.)

3) 编码(Encoding Issues)
  文件包括扩展名”.utf8”则其编码为UTF-8(Files with the extension “.utf8” are encoded in UTF-8 Unicode.)
  文件包括扩展名”.txt”则其编码分别为(Files with the extension “.txt” are encoded as follows):
  前缀为as_,代表的是台湾中央研究院提供,编码为Big Five (CP950);
  前缀为hk_,代表的是香港城市大学提供,编码为Big Five/HKSCS;
  前缀为msr_,代表的是微软亚洲研究院提供,编码为 EUC-CN (CP936);
  前缀为pku_,代表的北京大学提供,编码为EUC-CN (CP936);
  EUC-CN即是GB2312(EUC-CN is often called “GB” or “GB2312” encoding, though technically GB2312 is a character set, not a character encoding.)

4) 评分(Scoring)
  评分脚本“score”是用来比较两个分词文件的,需要三个参数(The script ‘score’ is used to generate compare two segmentations. The script takes three arguments):
  1. 训练集词表(The training set word list)
  2. “黄金”标准分词文件(The gold standard segmentation)
  3. 测试集的切分文件(The segmented test file)
 
  以下利用其自带的中文分词工具进行说明。在scripts目录里包含一个基于最大匹配法的中文分词器mwseg.pl,以北京大学提供的人民日报语料库为例,用法如下:
  ./mwseg.pl ../gold/pku_training_words.txt < ../testing/pku_test.txt > pku_test_seg.txt
  其中第一个参数需提供一个词表文件pku_training_word.txt,输入为pku_test.txt,输出为pku_test_seg.txt。
  利用score评分的命令如下:
  ./score ../gold/pku_training_words.txt ../gold/pku_test_gold.txt pku_test_seg.txt > score.txt
  其中前三个参数已介绍,而score.txt则包含了详细的评分结果,不仅有总的评分结果,还包括每一句的对比结果。这里只看最后的总评结果:


= SUMMARY:
=== TOTAL INSERTIONS: 9274
=== TOTAL DELETIONS: 1365
=== TOTAL SUBSTITUTIONS: 8377
=== TOTAL NCHANGE: 19016
=== TOTAL TRUE WORD COUNT: 104372
=== TOTAL TEST WORD COUNT: 112281
=== TOTAL TRUE WORDS RECALL: 0.907
=== TOTAL TEST WORDS PRECISION: 0.843
=== F MEASURE: 0.874
=== OOV Rate: 0.058
=== OOV Recall Rate: 0.069
=== IV Recall Rate: 0.958
### pku_test_seg.txt 9274 1365 8377 19016 104372 112281 0.907 0.843 0.874 0.058 0.069 0.958

  说明这个中文分词器在北大提供的语料库上的测试结果是:召回率为90.7%,准确率为84.3%,F值为87.4%等。
  SIGHAN Bakeoff公开资源的一个重要意义在于这里提供了一个完全公平的平台,任何人都可以拿自己研究的中文分词工具进行测评,并且可以和其公布的比赛结果对比,是驴子是马也就一目了然了。

原文出处:www.52nlp.cn

时间: 2024-08-27 10:40:43

中文分词资源的相关文章

隐含马尔可夫模型HMM的中文分词器 入门-1

<pre name="code" class="sql">http://sighan.cs.uchicago.edu/bakeoff2005/ http://www.52nlp.cn/中文分词入门之资源 中文分词入门之资源 作为中文信息处理的"桥头堡",中文分词在国内的关注度似乎远远超过了自然语言处理的其他研究领域.在中文分词中,资源的重要性又不言而喻,最大匹配法等需要一个好的词表,而基于字标注的中文分词方法又需要人工加工好的分词语料

转:从头开始编写基于隐含马尔可夫模型HMM的中文分词器

http://blog.csdn.net/guixunlong/article/details/8925990 从头开始编写基于隐含马尔可夫模型HMM的中文分词器之一 - 资源篇 首先感谢52nlp的系列博文(http://www.52nlp.cn/),提供了自然语言处理的系列学习文章,让我学习到了如何实现一个基于隐含马尔可夫模型HMM的中文分词器. 在编写一个中文分词器前,第一步是需要找到一些基础的词典库等资源,用以训练模型参数,并进行后续的结果评测,这里直接转述52nlp介绍的"中文分词入门

在Hadoop上运行基于RMM中文分词算法的MapReduce程序

原文:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-count-on-hadoop/ 在Hadoop上运行基于RMM中文分词算法的MapReduce程序 23条回复 我知道这个文章标题很“学术”化,很俗,让人看起来是一篇很牛B或者很装逼的论文!其实不然,只是一份普通的实验报告,同时本文也不对RMM中文分词算法进行研究.这个实验报告是我做高性能计算课程的实验里提交的.所以,下面的内容是从我的实验报告里摘录出来的,当作是我学

模式识别之中文分词---简介

Lucene系列介绍 Lucene:分词器和索引文件 目录 分词器 索引文件结构 常用的中文分词器 1.分词器 分词器,对文本资源进行切分,将字符文本串按照一定的规则切分为一个个可以进行索引的最小单位(关键词),以便检索时使用. 建立索引和进行检索时都要用到分词器.为了保证能正确的检索到结果,在建立索引与进行检索时使用的分词器应是同一个. 2.索引文件结构 索引库是一组索引文件的集合. 索引文件的检索:索引表规模相对较小,文档集合规模较大.进行检索时,先从检索索引表开始,然后找到相对应的文档.如

模式识别之中文分词

概率论只不过是把常识用数学公式表达了出来. ——拉普拉斯 记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时:有一次,在书店看到一本书,名叫贝叶斯方法.当时数学系的课程还没有学到概率统计.我心想,一个方法能够专门写出一本书来,肯定很牛逼.后来,我发现当初的那个朴素归纳推理成立了——这果然是个牛逼的方法. ——题记 0. 前言 这是一篇关于贝叶斯方法的科普文,我会尽量少用公式,多用平白的语言叙述,多举实际例子.更严格的公式和计算我会在相应的地方注明参考资料.贝叶斯方法被证明是

深入浅出Hadoop Mahout数据挖掘实战(算法分析、项目实战、中文分词技术)

Mahout简介 Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目, 提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序 Mahout相关资源 ?Mahout主页:http://mahout.apache.org/ ?Mahout 最新版本0.8下载: http://mirrors.hust.edu.cn/apache/mahout/0.8/ 使用mahout-distribution-0.8.tar.g

深度解析中文分词器算法(最大正向/逆向匹配)

中文分词算法概述: 1:非基于词典的分词(人工智能领域) 相当于人工智能领域计算.一般用于机器学习,特定领域等方法,这种在特定领域的分词可以让计算机在现有的规则模型中, 推理如何分词.在某个领域(垂直领域)分词精度较高.但是实现比较复杂. 例:比较流行的语义网:基于本体的语义检索. 大致实现:用protege工具构建一个本体(在哲学中也叫概念,在80年代开始被人工智能),通过jena的推理机制和实现方法. 实现对Ontology的语义检索. Ontology语义检索这块自己和一朋友也还在琢磨,目

Solr配置中文分词器mmseg4j详解

针对solr的分词器比较多,其中最常用的的两个是mmseg4j和ik-analyzer,至于他们的区别可以网上查找比较下,这两个分词器都挺好用.我搭建的solr环境(上一篇)是4.10.3的最新版本,以下将详细说下mmseg4j的配置. 1.首先下载对应的jar包. 版本号一定要对应上否则可能会报错,下载地址为:http://code.google.com/p/mmseg4j/ 但是这个网址好像需要翻墙,所以大家可以到我的上传资源下载:http://download.csdn.net/downl

隐马尔可夫模型(HMM)中文分词

1. 马尔可夫模型 如果一个系统有n个有限状态$S=\{s_{1} , s_{2} ,\dots s_{n}\}$,随着时间推移,该系统将从某一状态转移到另一状态,$Q=\{q_{1},q_{2},\dots q_{n}\}$位一个随机变量序列,该序列中的变量取值为状态集S中的某个状态,其中$q_{t}$表示系统在时间t的状态.那么:系统在时间t处于状态$s_{j}$的概率取决于其在时间1,2, $\dots$  t-1的状态,该概率为: $$P(q_{t} = s_{j} | q_{t-1}