Python开发数据科学家大数据 爬虫Python AI Sql

中文分词

2017-03-22  本文已影响87人  诺馨

最近接触了下数据方面的东西,先是爬了大量的数据,进而作数据分析。比如就某一字段,某个关键词在其中出现的频数做个统计。一开始,运用sql like操作符即可实现,但这种匹配查询挺耗费时间的。

在网上搜索了下,了解到中文分词技术,其中有个叫jieba分词的。结巴分词是国内程序员用Python开发的一个中文分词模块,它的源码下载地址:https://github.com/fxsjy/jieba

它的特点:
安装jieba

推荐使用pip安装jieba组件

pip install jieba
代码示例
# encoding=utf-8
import jieba

sentence  = "大数据分析师,分析数据的时候。"
# 精确模式
words = jieba.cut(sentence, cut_all=False)  
print ("|".join(words))

#全局模式
words = jieba.cut(sentence, cut_all=True)

#搜索引擎模式
words = jieba.cut_for_search(sentence)  
输出结果
全模式:
大数|数据|数据分析|分析|分析师|||分析|数据|的|时候||
精确模式:
大|数据|分析师|,|分析|数据|的|时候|。
搜索引擎模式:
大|数据|分析|分析师|,|分析|数据|的|时候|。
python操作mysql数据库

MySQLdb是Python用以连接Mysql数据库的模块,首先要确定已经安装了MySQLdb 模块。在mac下安装使用pip install mysql-python。创建好数据库users、user表和自定义的词典dict.txt。

词典格式:一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。

# encoding=utf-8

import MySQLdb
import jieba

# 打开数据库连接
db = MySQLdb.connect('localhost',"root","123123","users")
cursor = db.cursor()

# SQL查询语句
sql = "select uname from user"

# 载入事先写好的自定义的词典
jieba.load_userdict("dict.txt")

try:
    cursor.execute(sql)   # 执行SQL语句
    results = cursor.fetchall()    # 获取所有记录
    for row in results:
        name = row[1]
        seglist = jieba.cut(name. cut_all=False)
        for seg in seglist:
            print seg
except:
    pass
finally:
    db.close()   # 关闭数据库连接
上一篇 下一篇

猜你喜欢

热点阅读