Python实现中英文分词

2016-09-13 董付国 Python小屋 Python小屋

首先给出昨天文章里最后的小思考题的答案,原文链接为:

Python从序列中选择k个不重复元素

既然选择的是不重复的元素,那么试图在[1,100]这样的区间里选择500个元素,当然是不可能的,但是机器不知道这事,就一直尝试,没有精力做别的事了。


今天的话题是分词:Python扩展库jiebasnownlp很好地支持了中文分词,可以使用pip命令进行安装。在自然语言处理领域经常需要对文字进行分词,分词的准确度直接影响了后续文本处理和挖掘算法的最终效果。

>>> import jieba                     #导入jieba模块

>>> x = '分词的准确度直接影响了后续文本处理和挖掘算法的最终效果。'

>>> jieba.cut(x)                      #使用默认词库进行分词

<generator object Tokenizer.cut at 0x000000000342C990>

>>> list(_)

['分词', '的', '准确度', '直接', '影响', '了', '后续', '文本处理', '和', '挖掘', '算法', '的', '最终', '效果', '。']

>>> list(jieba.cut('纸杯'))

['纸杯']

>>> list(jieba.cut('花纸杯'))

['花', '纸杯']

>>> jieba.add_word('花纸杯')         #增加新词条

>>> list(jieba.cut('花纸杯'))             #使用新题库进行分词

['花纸杯']


>>> import snownlp                       导入snownlp模块

>>> snownlp.SnowNLP('学而时习之,不亦说乎').words

['学而', '时习', '之', ',', '不亦', '说乎']

>>> snownlp.SnowNLP(x).words

['分词', '的', '准确度', '直接', '影响', '了', '后续', '文本', '处理', '和', '挖掘', '算法', '的', '最终', '效果', '。']



如果有一本Python书,像下面图中所展示的写作风格,大家会不会很喜欢呢,至少我是会的。