首页 > 编程知识 正文

基于jieba的中文分词实战,jieba中文分词算法

时间:2023-05-05 17:46:55 阅读:232824 作者:332

jieba提供很好的中文分词,但是并没有提供N-Gram;sklearn的CountVectorizer能提供很好的N-Gram分词,但却没有jieba那么对切词灵活,下面就介绍基于jieba分词进行N-Gram。

#coding=utf-8'''Created on 2018-2-6'''# 这里的_word_ngrams方法其实就是sklearn中CountVectorizer函数中用于N-Gram的方法,位置在D:Python27Libsite-packagessklearnfeature_extractiontext.pydef _word_ngrams(tokens, stop_words=None,ngram_range=(1,1)): """Turn tokens into a sequence of n-grams after stop words filtering""" # handle stop words if stop_words is not None: tokens = [w for w in tokens if w not in stop_words] # handle token n-grams min_n, max_n = ngram_range if max_n != 1: original_tokens = tokens tokens = [] n_original_tokens = len(original_tokens) for n in xrange(min_n, min(max_n + 1, n_original_tokens + 1)): for i in xrange(n_original_tokens - n + 1): tokens.append(" ".join(original_tokens[i: i + n])) return tokenstext = "我去云南旅游,不仅去了玉龙雪山,还去丽江古城,很喜欢丽江古城"import jiebacut = jieba.cut(text)listcut = list(cut)n_gramWords = _word_ngrams(tokens = listcut,ngram_range=(2,2))print n_gramWordsfor n_gramWord in n_gramWords: print n_gramWord# 我 去# 去 云南旅游# 云南旅游 ,# , 不仅# 不仅 去# 去 了# 了 玉龙雪山# 玉龙雪山 ,# , 还# 还 去# 去 丽江# 丽江 古城# 古城 ,# , 很# 很 喜欢# 喜欢 丽江# 丽江 古城

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。