5.31会议纪实
原因:
项目工期即将结束,一方面为了安抚人员情绪,另一方面对一些其他功能进行细化,为此开会。
会议内容:
1.敲定了二次搜索的具体实现形式
2.确定了中心性的统计方法
3.细化安排了未来几天的工作内容以及必要的进展
中心性统计:
采用了python自带的jieba分词库,对所有的文本语料进行了分词处理统计
import re # 正则表达式库
import collections
from tkinter import font # 词频统计库
import numpy as np # numpy数据处理库
import jieba # 结巴分词
import xlwt
import xlrd
from PIL import Image # 图像处理库
import matplotlib.pyplot as plt # 图像展示库
from wordcloud import WordCloud
import PIL.Image as image
object_list = []
#读取文件
with open('download_nkxch.txt',"r",encoding="utf-8") as f:
lines = f.readlines()
for line in lines:
string_data = str(line)
# 文本预处理
pattern = re.compile(u'\t|\n|\。|,|?|;|\(|\)|\·|“|”|;|!|:') # 定义正则表达式匹配模式
string_data = re.sub(pattern, '', string_data) # 将符合模式的字符去除
# 文本分词
seg_list_exact = jieba.lcut(string_data, cut_all = False) # 精确模式分词
for word in seg_list_exact: # 循环读出每个分词
if word not in remove_words: # 如果不在去除词库中
object_list.append(word) # 分词追加到列表
# 词频统计
word_counts = collections.Counter(object_list) # 对分词做词频统计
names = list(word_counts.keys())
values = list(word_counts.values())
length = len(word_counts)
# print(values)
book = xlwt.Workbook(encoding='utf-8',style_compression = 0)
sheet = book.add_sheet('词频统计',cell_overwrite_ok=True)
for i in range(length):
sheet.write(i,0,names[i])
sheet.write(i,1,values[i])
savepath = 'excels\\aaa.xls'
book.save(savepath)
为了保证数据的可读取性,我们数据库中存放的数据时方便自然人阅读的,存在很多助词、语气词、其他的数字等等不需要的词汇,在这里利用jieba库中的剔除词功能,进行剔除:
remove_words = [u'的', u',',u'和', u'是', u'一作', u'皆', u'对',u'等',u'能',u'都',u'其二',u'四首',u'三首',
u'。',u' ',u'、',u'(',u')',u'以',u'\r',u'\u3000',u'《',u'》',u'他',u'者',u'则',u'非',u'却',u'但',u'/',u'二首',u'其一',
u'中',u'在',u'了',u'曰',u'无',u'之',u'只',u'不',u'与',u'为',u'你',u'其',u'又',u'人',u'于',u'可',u'从',u'如',
u'到',u'一',u'矣',u'亦',u'既',u'乎',u'g',u'10g',u'5g',
u'而',u'也',u'我',u'有'] # 自定义去除词库
注:这里仅展示了部分剔除词。
计算:
通过简单地除法运算得到每一个词的占比,将该数值作为中心性的指标:
import xlrd
import xlwt
import csv
workbook1 = xlrd.open_workbook('excels\\bbb.xls')
sheet= workbook1.sheet_by_index(0)
nrows = sheet.nrows #获取总行数
words=[]
values=[]
thisTotal=[]
total=[]
n1 = sheet.cell_value(0,2)
n2 = sheet.cell_value(0,3)
for i in range(nrows-1):
na = sheet.cell_value(i+1,0)
num = sheet.cell_value(i+1,1)
f1 = num/n1 * 100
f2 = num/n2 * 100
words.append(na)
values.append(num)
thisTotal.append(f1)
total.append(f2)
book = xlwt.Workbook(encoding='utf-8',style_compression = 0)
sheet = book.add_sheet('词频统计',cell_overwrite_ok=True)
length = len(values)
for i in range(length):
sheet.write(i,0,words[i])
sheet.write(i,1,values[i])
sheet.write(i,2,thisTotal[i])
sheet.write(i,3,total[i])
savepath = 'excels\\ccc.xls'
book.save(savepath)