python中实现中文分词的第三方库是_python实现的简单中文分词器

作为一个python初学者+自然语言处理初学者,我用python写了一个简单的中文分词器,整个程序 加上注释100行左右,算是一个小练习。

1、数据来源 [1]

数据来自 Bakeoff2005 官方网站:http://sighan.cs.uchicago.edu/bakeoff2005/ 下载其中的 icwb2-data.tar.bz2 解压后取出以下文件:

训练数据:icwb2-data/training/pku_ training.utf8

测试数据:icwb2-data/testing/pku_ test.utf8

正确分词结果:icwb2-data/gold/pku_ test_ gold.utf8

评分工具:icwb2-data/script/socre

2、算法描述

算法是最简单的正向最大匹配(FMM):

用训练数据生成一个字典

对测试数据从左到右扫描,遇到一个最长的词,就切分下来,直到句子结束

注:这是最初的算法,这样做代码可以控制在60行内,后来看测试结果发现没有很好地处理数字问题, 才又增加了对数字的处理。

3、源代码及注释

#! /usr/bin/env python

# -*- coding: utf-8 -*-

# Author: minix

# Date:   2013-03-20

# Email:  minix007@foxmail.com

import codecs

import sys

# 由规则处理的一些特殊符号

numMath = [u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9']

numMath_suffix = [u'.', u'%', u'亿', u'万', u'千', u'百', u'十', u'个']

numCn = [

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值