如何进行中英文分句以及对中英文进行分词

中英文分词简介

中英文分词是进行机器学习文本处理方面必须进行的一步,就类似于机器学习中图像处理的降噪,英文分词主要是将标点符号与英文单词进行分隔,中文分词就是讲每个词组进行分隔,ex:‘我是一只程序猿’------>‘我’、‘是’、‘一只’、‘程序猿’,分词是文本处理中数据预处理的必做工作。

英文分词

英文分词我们使用nltk中提供的WordPunctTokenizer来进行分词,nltk库还是很好用的,详细的代码请看中文分词~
额,重新说明一下,使用WordPunctTokenizer来进行分词的话它是按照标点符号进行分词的,也就是说如果有数据: 22.13% 他会给你分成  22  .  13  %,这样的效果,我们要的效果应该是 22.13  %。
nltk还提供一个分词函数:
import nltk
sentences='hello world , what is your name? the number of  the money is 22.13 % '
words=nltk.word_tokenize(sentences)
print(words)

中文分词

中文分词我们要感谢哈工大自然语言处理平台ltp,提供了pyltp模块来进行分词以及分句的处理,话不多说,这是使用说明以及下载说明
直接上中英文分词的详细代码:

#!/usr/bin/env python 
# -*- coding:utf-8 -*-

import os

from nltk.tokenize import WordPunctTokenizer as WPT
from pyltp import Segmentor

LTP_DATA_DIR = 'ltp-models/ltp_data'      #ltp模型路径
cws_model_path = os.path.join(LTP_DATA_DIR,'cws.model')  #分词模型路径

def fenci():
    with open('分句/all_en.en','r',encoding='utf-8') as f:
        sentence_en=f.readlines()
        count=0
        for i in range(len(sentence_en)):
            words_en=WPT().tokenize(sentence_en[i])
            fen_en_sentence=' '.join(words_en)
            save_data(fen_en_sentence,count)
    with open('分句/all.zh','r',encoding=
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值