开发记录2

上次完成了功能描述(1)将数据导入到数据库

所以这一次,我准备开始第二个功能:将手册涉及的热词自动分类展示,将每个热词自 动创建关键字、模糊检索两个字段便于检索

起初老师建议的是用spark完成,由于一直在windows没配置好spark环境,在Ubuntu中又太卡,所以我决定用python实现此功能

今天就先提取关键字:

1.首先我在清华大学的一个网站上下载了一个词典,词典中都是关于IT行业的术语,所以分词时以词典内容为基础分词,这样就排除了很多没有必要的词如“的”,“2016年12月1日”等与信息行业无关的词语,使得关键字的提取更加准确。

2.在提取关键字的时候为了防止关键字提取过多而造成关键字不够严格和包容,所以我只提取了关键字出现较多的前20个(当然你也可以修改提取的个数)

3.基于上面的步骤,下面就是python代码

#encoding=utf-8
import jieba
import jieba.analyse
import pymysql
#全模式
jieba.load_userdict("it.txt")# 下载的词典,以词典为基础提取关键字
jieba.analyse.set_stop_words('except.txt')# 该文件中可以写入你不需要的关键自
db = pymysql.connect(host='localhost', user='root', passwd='root', db='dazuoye', port=3306, charset='utf8')
conn = db.cursor()  # 获取指针以操作数据库
conn.execute('set names utf8')
conn.execute("select * from info_tech")
result=conn.fetchall()
for data in result:
  text = data[4]
#精确模式
  keywords = jieba.analyse.extract_tags(text, topK=20, withWeight=True, allowPOS=('n', 'nr', 'ns'))# 取关键字频率最高的前20个
  seg_list = jieba.cut(text, cut_all=False)
  # 获取关键词
  tags = jieba.analyse.extract_tags(text,topK=20)
  print(u"关键词:")
  keyw=""
  for item in keywords:
    print(item[0], item[1])
    keyw=keyw+item[0]+" "
  t=(keyw,int(data[0]))
  sql = "update info_tech set keyword = '%s' where `index` = %d" % t     # 将关键字写入数据库,以空格划分存入一列中
  print(sql)
  conn.execute(sql)
  db.commit()

写入数据:如图示

 

转载于:https://www.cnblogs.com/lovema1210/p/10646247.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值