自然语言处理学习3:中文分句re.split(),jieba分词和词频统计FreqDist

1. 使用re.split() 分句,re.split(delimiter, text)

import jieba
import re

# 输入一个段落,分成句子,可使用split函数来实现
paragraph = "生活对我们任何人来说都不容易!我们必须努力,最重要的是我们必须相信自己。 \
我们必须相信,我们每个人都能够做得很好,而且,当我们发现这是什么时,我们必须努力工作,直到我们成功。"

sentences = re.split('(。|!|\!|\.|?|\?)',paragraph)         # 保留分割符

new_sents = []
for i in range(int(len(sentences)/2)):
    sent = sentences[2*i] + sentences[2*i+1]
    new_sents.append(sent)


保留分割符:delimiter加上圆括号


不保留分割符:delimiter不加圆括号


2. jieba分词

(1)jieba.cut(sentence)返回可迭代对象


(2) jieba.lcut(sentence)以列表形式返回分词结果


(3) 获取不同句子的分词结果


3. 获取词频: 同样可以使用nltk中的FreqDist

import nltk
import numpy as np
#统计词频
#nltk.FreqDist返回一个词典,key是不同的词,value是词出现的次数
freq_dist = nltk.FreqDist(words_list)
freq_list = []
num_words = len(freq_dist.values())
for i in range(num_words):
    freq_list.append([list(freq_dist.keys())[i],list(freq_dist.values())[i]])
freqArr = np.array(freq_list)

猜你喜欢

转载自blog.csdn.net/zhuzuwei/article/details/80487032
今日推荐