5.2问题二模型的建立与求解

本题要求针对热点问题进行挖掘,主要目的是从群众留言中挖掘出热点问题。也就是给每一条留言都量化一个热度指数。并且根据热度指数进行排序,从而获取热度较高的评价问题。对于问题热度指数的量化,我们主要从问题关注数量,以及留言具体内容两个方面来考虑。
我们给出了问题二的解题思路流程如下:

图11 热点问题挖掘的解题思路流程
5.2.1 留言关注度量化分析
对于热度指数的量化,我们通过对附件三数据可以发现问题点赞数与反对数可以在一定程度上反应这个问题的关注度情况。因此问题点赞数与反对数也是衡量问题热度的一个重要指标。比如问题点赞数量越多,就越说明这个问题反应人民群众的心声。
我们首先针对所有留言进行一些统计分析,主要是针对留言关注数进行统计分析。我们将一条留言所有的点赞数和反对数相加作为一个留言关注度量化评分。最终我们对附件三所有留言进行留言关注度计算,并且根据关注度指标进行量化排序。最终我们筛选出来关注度排名前20的留言。具体关注度排序可视化条形图如下:

图12 关注度排名前20的留言
根据上图,我们可以清楚得到哪些留言的关注度比较高。根据上图,我们可以清楚的得到排名前六的关注度留言与其他群众留言关注人数相差较大。说明这些问题更受到广大人名群众的关心。
为了进一步针对各个留言的具体内容来量化留言的热度指数,我们需要从留言的内容出发,进一步建立一个留言热度指数量化模型来获取最终的热点问题。
5.2.2 基于相关性聚类模型的留言热度指数计算
本文进一步构建一个留言热度指数量化模型,考虑从留言具体内容的角度来研究留言热度。首先对文本数据进行预处理,同样包括正则字符处理,jieba分词,然后针对预处理之后留言文本进行词频统计分析。进一步根据词频共现算法来获取关键词指数。根据关键词指数量化文本之间的相关关系,然后根据文本相关系数进行聚类。从而将距离聚类中心簇较远的留言视为热点问题。文本热度指数可以根据留言到中心簇的距离公式来量化,再综合考虑点赞数与反对数指标,从而加权归一化得到整体的留言热度指数。进一步排序获取最终的结果。
我们首先利用词频共现算法来获取一篇论文的关键词与论文之间的相关指数。相关指数的求解。我们通过计算词和留言之间的共线统计结果,可以按照以下公式来量化关联系数:

然后利用每条留言的关键词指数量化文本之间的相关关系。根据数据得到相关系数矩阵,计算它们的相关系数矩阵:

其中表示是原变量与的相关系数,并且。相关系数的计算公式为:

利用上述相关性矩阵,我们可以建立一个K-Means聚类模型来获取热点问题。由于大部分问题都是非热点问题。因此我们可以统计远离聚类中心簇的问题作为热点问题。并且结合热点问题到中心簇距离来量化热点问题的文本热度指数。对于利用相关性矩阵进行聚类,我们可以考虑一些常用的聚类算法。
具体的常用聚类算法见下图:

图13 常用聚类算法
考虑到我们的主要目的是按照相关系数划分文本,从而获取热点问题,因此我们采用基于划分的聚类算法。
本文采用K-means算法作为本题事件分类的基础,该算法的基本原理如下:
(均值)算法接受一个参数用以决定结果中簇的数目。算法开始时,要在数据集中随机选择个数据对象,用来当做个簇的初始中心。
考虑到我们的主要目的是按照州来划分加拿大的空间温度分布等级,因此我们选择基于划分的算法K-means。
本文采用K-means算法作为本题事件分类的基础,该算法的基本原理如下:
K-means(均值)算法接受一个参数用以决定结果中簇的数目。算法开始时,要在数据集中随机选择个数据对象,用来当做个簇的初始中心。
通过计算剩下的各个点与每个簇类中心的距离,并将其分配至距离最近的簇中;计算每个簇中数据的平均值,并将其作为新的质心;重复上述步骤,直到目标函数收敛。
本文的目标函数选用均方差函数,其公式定义如下:

J:数据集中所有数据点和其簇中心的均方差的综合
D:数据对象
Ci:簇中数据的平均值
聚类迭代停止的条件为均方差达到最小或者不变。
在确定好预期的聚类簇的k个中心之后,k代表每个簇的种子;确定了初始的种子之后,每个簇都为空;然后计算每个点与种子之间的距离,并将其放入距离最近的簇中。在聚类方法中,常用的距离度量有欧几里得距离,余弦相似度等,它们之间的区别如下图所示:

图14 欧几里得距离和余弦相似度
衡量数据点之间的距离较常用的是欧氏距离,本文采用欧氏距离来衡量两变量之间的相似性,公式定义如下:

经过一次聚类后,需要重新计算簇中心,然后计算距离重新划分数据点所属簇,过程中可能会出现原不属于该簇的数据被划分到了簇中,此次聚类可以看作对上一次聚类结果的校正,使得数据点划分到更合理的簇中,从而达到簇内数据点之间的距离最小,而簇之间的距离最大。
K-Means算法的基本过程如下:

图15 聚类示意图
K-means是经典的聚类算法之一,简单,分类速度快,可伸缩性优。对于大量的数据集,在保证分类效果的情况下,具有较高的效率。
考虑到本文中所用到的数据集较大和K-means的明显的优势,本文采用K-means算法实现聚类分析。
首先,对数据集进行初步的变量筛选和特征提取,从而降低聚类数据集的维度,从而减小计算复杂度。本文采用主成分分析(PCA)降维,进而对降维后的特征变量进行聚类分析。
K-means算法步骤如下:
输入:的数据集,聚类结果k个簇,依据肘部法则确定最优分类数k,随着k值增大,畸变程度(该类中心与其内部数据点距离的平方和)下降幅度最大对应的k值即肘部。
输出:满足准则函数的k个类。
聚类迭代过程如下:
1:在数据集里随机选择个簇心,将每个质心代表初始聚类的中心;
2:将剩下的数据点划分到和其距离最近的簇心所在簇中;
3:计算每个簇的均值得到新的簇心;
4:重复2和3,直到目标函数收敛或每个簇中数据不再发生变化。
最终的聚类实现算法流程如下:

图16 K-Means聚类算法实现流程
根据上述的算法流程,我们首先利用PCA算法对原来的文本相关性矩阵进行压缩降维。得到降维碎石图如下:

图17 PCA降维碎石图
根据上述碎石图,我们最终选取了两维特征变量进行聚类建模。然后根据两维特征变量,利用K-Means聚类算法,根据肘部法则确定出合理的k值为4。得到最终的聚类效果图如下:

图18 K-Means聚类可视化效果图
根据上述的聚类模型,我们最终可以获取文本热度指数,然后经过文本热度指数排序,最终可以得到排名前20的文本热点留言。最终可以得到排名前20的文本热点留言如下:

图19 文本热度指数
而对于留言的最终热度指数量化,我们主要是利用加权评估量化法来计算:

根据上述公式,我们可以最终得到所有留言的热度指数量化结果,最终筛选了排名前五的热点问题表结果表如下:

表3 前五的热点问题结果表
热度排名 问题ID 热度指数 时间范围 地点/人群 问题描述
1 1 0.93 2019-08-19 11:34:04 A市A5区汇金路 A市A5区汇金路五矿万境K9县存在一系列问题
2 2 0.87 2019-02-25 09:58:37 几十位58车贷受害者 严惩A市58车贷特大集资诈骗案保护伞
3 3 0.81 2019-04-11 21:02:44 金毛湾2800户业主 反映A市金毛湾配套入学的问题
4 4 0.73 2019-02-21 18:45:14 A市A4区 请书记关注A市A4区58车贷案
5 5 0.69 2019-03-01 22:12:30 58车贷案 承办A市58车贷案警官应跟进关注留言
为了更加清晰的分析结果,我们给出了排名前五的留言热度指数条形图:

图20 排名前五的留言热度指数
根据上图,我们可以得到最终的留言热度指数和文本热度以及留言关注数都有着强相关性。这主要是因为排名前五的留言热度指数也都出现在文本热度以及留言关注数排名前10的结果中。
为了验证上述结论,我们给出了部分量化指标的相关热力图。相关热力图如下:

图21 问题二建模量化指标的相关热力图
根据上图,我们显然可以得到影响留言热度指数的指标主要是点赞数,关注数,以及文本热度。

5.3 问题三模型的建立与求解
本题要求根据部门对于留言的答复意见给出一套意见的质量评价。我们尝试从各种角度来评估答复意见的质量,主要包括从相关性,完整性以及可解释性等角度。
我们给出了本题构建熵权评价模型计算答复意见质量评分的解题思路流程如下:

图 22 熵权评价流程
根据上图解题流程,我们通过量化各种评价指标来进一步量化答复意见评分水平。

5.3.1 各种指标量化数据的计算
对于答复意见的相关性质量,我们考虑利用文本相似度计算来衡量,通过利用前文的关键词抽取算法,抽取出留言的关键词文本和答复意见文本计算余弦相似度或者是莱文斯坦相似度。
其中,莱文斯坦相似度描述的是两端文本之间的形体相似性。最终利用上述相似度计算结果归一化获取答复意见与问题的相关性系数。利用前文的TFIDF算法抽取文本关键词,然后利用留言内容文本与答复意见文本抽取词计算文本相似度。为了更加准确的计算出文本相似度,我们针对文本分词,同样采用逆向最大匹配BMM结合jieba智能分词来完成。预处理分词之后,利用词嵌入加权获取文本嵌入,然后根据余弦相似度计算公式来获取留言文本和答复意见文本的相似度。

量化的文本相似度就可以看作是答复意见的相关性质量指标。对于答复意见的完整性指标量化衡量,我们考虑利用前文的文本分词算法,通过文本词长度统计来衡量,一般来说文本含有的词语越多,回复意见越完整。也就是利用答复意见的文本分词数量作为完整性量化指标。
而对于答复意见的可解释性评估,主要考虑利用字符串匹配来获取,主要是统计答复意见中高频词出现在问题中高频词的次数进行统计。根据上述量化公式,我们最终可以得到针对答复意见的三个量化结果。分别是相关性质量,完整性质量以及可解释评估性质量。
最终量化出三个评价指标,然后建立熵权综合评价模型,最终给出每个答复意见的质量评价得分。
5.3.2 熵权评估模型的建立
对于一个多指标的综合评价问题,首先就要确定各个指标在综合评价过程中的权重系数,而主观赋权法存在主观性较强的缺陷,往往使得计算结果的有效性、科学性降低。因此我们需要在专家经验基础上选择模型所需的指标后,用更客观的方法进行权重的分配,避免人为因素造成的误差,充分做到让数据说话。考虑到客观权重求解的简便性以及准确性,本文采用熵权法来进行权重的确定。
按照信息熵的思想,根据熵的特性,我们可以通过计算熵值来判断一个事件的随机性及无序程度,也可以用熵值来判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大。根据上述的解题思路流程,我们进行具体的权重计算。
本文主要采用的数据标准化方法是标准化方法,一般来说没这种方法较为简便,而且标准化效果也较好。这种方法基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。将A的原始值x使用标准化到x’。标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况:

其中,软件默认的标准化方法就是标准化。

计算第 项指标的熵值。

其中,。
计算第 项指标的差异系数。对第 项指标,指标值的差异越大,对方案评价的左右就越大,熵值就越小,定义差异系数:。式中:
,,
最后一步就是求解选取的几个特征指标的熵权大小如下:

根据上述熵权算法流程,我们利用三个数据集中销量最高的产品,研究产品熵权重随着时间的变化趋势。
根据上述模型,我们最终可以计算得到针对每一条回复意见的熵权评分。
我们给出了排名前10的留言答复意见,如下表:
表4 问题三最终的留言答复意见表
留言编号 留言用户 相关性质量 完整性质量(分词数) 可解释评估性 意见质量
3704 UU0081480 0.84 15 6 1.63
4192 UU008524 0.88 17 4 1.61
4394 UU0082398 0.76 26 8 1.54
96283 UU0082127 0.91 13 3 1.53
107063 UU0086 0.81 19 2 1.51
94611 UU0081251 0.73 29 4 1.43
90081 UU008411 0.59 38 5 1.41
179601 UU008609 0.87 17 4 1.38
159027 A00052336 0.64 27 7 1.27
139942 UU008419 0.82 11 5 1.24
根据上表,我们进一步针对上表数据进行可视化,得到分析结果图如下:

图23 回复质量评估可视化
根据以上图和表我们可以得到利用熵权法对指标进行综合评估可以很好的确定出各个留言的评分状况。答复意见的评估质量水平量化得分和相关性,完整性以及可解释性等都有较强的关联关系。
六、模型的优缺点与改进
6.1模型的优缺点
6.1.1模型的优点
1、fastText在保持高精度的情况下加快了训练速度和测试速度;
2、fastText不需要预训练好的词向量,fastText会自己训练词向量;
3、fastText两个重要的优化:Hierarchical Softmax、N-gram。
6.1.2模型的缺点
1、对问题二的问题归类,没有做到较好的自动化归类,需要一定的人工评估;
2、对问题三的可解释性评估量化,我们利用词频统计,很难做到较好的量化。
6.2模型的改进
对于聚类分析算法我们可以提出以下改进方案,具体的方案实现,这里不再进行讨论。
本文针对聚类算法对初始值的选取依赖性极大以及算法常陷入局部极小解得缺陷提出该种聚类算法的改进方案。
聚类算法首先随机地选取个点作为初始聚类中心,再利用迭代的重定位技术寻找最优聚类中心,直到算法收敛。因此初始值的不同可能导致算法聚类效果的不稳定。聚类算法对初始聚类中心有严重的依赖性。
目前对于聚类中心的选取由以下几种方法:
1、任意的选择 k 个样本作为初始聚类中心,Forgy 最早提出了这种方法所以也有文献把随机选择初始聚类中心的方法称为 FA(ForgyApproach);
2、凭经验选取有代表性的点作为初始聚类种子。根据个体性质,考察数据结构,筛选出比较合适的点;
3、把全部混合样本直观地分成k类,计算各均值作为初始聚类中心;
除了以上的选取方法意外,另外还有一种扩展的聚类中心选取方法。这中选取方与上述方法有一个很大的区别,即由原点的点延伸到一条线段,这种选取方法在类之间有干扰点时效果较好。

部分源码如下:

1.1问题1无监督分类实现
'''提取关键词脚本,最大相似度匹配'''
from jieba import analyse
import math
import jieba
import pandas as pd
import sys,codecs
import re
from nltk.tokenize import word_tokenize
from utils import data_utils
from collections import defaultdict as ddclass zh_process_func:def split_func(x):return jieba.lcut(x) # list(x)def merge_func(x):return ''.join(x)def pre_process(x):return x.strip().lower()'''利用词表分词的中文分词模块'''
class tokenizer:def __init__(self, dic, process_func):self.dic = dicself.split_func = process_func.split_funcself.merge_func = process_func.merge_funcself.pre_process = process_func.pre_processself.max_len = max([len(x) for x in self.dic])def tokenize_greedy(self, text, max_len=None, oov=False):'''Locally longest word first, also good when doing from backward to frontward'''if max_len is None:max_len = self.max_lentext = self.pre_process(text)text = self.split_func(text)inds = []now = ""for w in text:inds.append(len(now))now = self.merge_func([now, w])text = text[::-1]inds = inds[::-1]words = []L = len(text)i = 0while i < L:flag = -1for j in range(min(L, i + max_len), i, -1):if self.merge_func(text[i:j][::-1]) in self.dic:flag = jbreakif flag != -1:words.append((self.merge_func(text[i:flag][::-1]), inds[flag-1]))i = flagelse:if oov: words.append((text[i], inds[i]))i += 1return words[::-1]## 数据预处理操作,正则去除一些符号
def precess_feature(name):   name = str(name).strip().lower()
#     name = re.sub('[!“”"#$%&\'()*+,-./::《》();<=>?@[\\]^_`{|}~—~’]+',' ', name)name = re.sub('[^\u4E00-\u9FFF]',' ', name)name = re.sub( r'\s{2,}', ' ', name).strip()return name## 利用词表分词,去停用词,保留长度大于2的词
def dataPrepos(text, stopkey):l = []zh_tokenizer = tokenizer({'油烟污染','环境保护','环境污染','江东路','污染物','无人施工','蓝波旺酒店','人体细胞','脂肪氧化物','劳动和社会保障','城乡建设','教育文体','卫生计生','交通运输','商贸旅游','环境保护'}, zh_process_func)word_split = zh_tokenizer.tokenize_greedy(text,oov=True)word_ = list([word[0] for word in word_split if len(word[0])>=2])for i in word_:if i not in stopkey:  # 去停用词 l.append(i)return l## 文本预处理函数
def prepro_data(data):stopkey = [w.strip() for w in codecs.open('data/stop_word.txt', 'r').readlines()]data['特征'] = data.loc[:,'留言主题']+' '+data.loc[:,'留言详情'].map(lambda x:x.strip().lower())data=data.dropna()    #去空行处理idList, titleList, abstractList,label = data['留言编号'], data['留言主题'], data['特征'],data['一级分类']corpus = {} # 将所有文档输出到一个list中,一行就是一个文档for index in range(len(idList)):if idList[index] == 100611:print(titleList[index],label[index])text = '%s。%s。%s' % (titleList[index], abstractList[index],label[index]) # 拼接标题和摘要text = precess_feature(text)text = dataPrepos(text,stopkey) # 文本预处理text = " ".join(text) # 连接成字符串,空格分隔corpus[idList[index]] = text return corpus'''计算逆文档频率idf = log(总文档数量/包含这个词的文档数量+1)'''
def idf_count(data_content):idf_dic = {}doc_count  = len(data_content) # 总共有多少条文本记录for i in data_content:new_content = data_content[i].split(' ')for word in set(new_content):if len(word) > 1:idf_dic[word] = idf_dic.get(word, 0.0) + 1.0# 此时idf_dic的v值:有多少篇文档有这个词for k,v in idf_dic.items():w = kp = '%.10f' % (math.log(doc_count / (1.0 + v))) # 结合上面的tf-idf算法公式if w > u'\u4e00' and w<=u'\u9fa5':idf_dic[w] = pdata_utils.dump_data(idf_dic, 'data', "feature_idf.pkl")'''计算tf-idf提取出关键词:tf-idf = (词频/文档中词的个数)*idf'''
def tf_idf_count(data,top=10):idf_dic =  data_utils.load_data( 'data', "feature_idf.pkl")result = {}for i,doc in enumerate(data):word_split = data[doc].split(' ')counter = dd(int)for word in word_split:if len(word)>1:counter[word]+=1tf_idf ={}for word in counter:
#             if tf_idf[word] is None:tf_idf[word] = float(((counter[word])/len(word_split)))*float(idf_dic[word])tfidf_result =  sorted(tf_idf.items(),key=lambda e:e[1],reverse = True)[0:top]
#         print(doc,tfidf_result)result[doc] = tfidf_resultprint(result[100611])data_utils.dump_data(result, 'keyword_result', "keyword_tfidf.pkl")if __name__ == '__main__':  # 读取数据集data = pd.read_excel('data/附件2.xlsx',encoding = 'utf_8')corpus = prepro_data(data)print(corpus[100611]) ##打印其中一段文本分词结果idf_count(corpus)print(len(corpus))tf_idf_count(corpus,10)1.2问题1 fasttext有监督分类器训练
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.model_selection import StratifiedShuffleSplit
from sklearn.preprocessing import OneHotEncoder
import random
import jieba
import re
import fasttextdef strip_str(df):df = df.strip().lower()return dfdef writeData(sentences,fileName):out=open(fileName,'w',encoding='utf-8')for sentence in sentences:out.write(sentence+"\n")def stopwordslist(filepath):  stopwords = [line.strip() for line in open(filepath, 'r', encoding='utf-8').readlines()]  return stopwords  def precess_feature(name):   name = str(name).strip().lower()
#     name = re.sub('[!“”"#$%&\'()*+,-./::《》();<=>?@[\\]^_`{|}~—~’]+',' ', name)name = re.sub('[^\u4E00-\u9FFF]',' ', name)name = re.sub( r'\s{2,}', ' ', name).strip()return namedef pre_data_process(df,filename):df=df.dropna()    #去空行处理langue=df['特征'].values.tolist()intent=df['一级分类'].values.tolist()#分割语句  这个里面你可以用stopwords 进行停用词的处理stopwords = stopwordslist('data/stop_word.txt')  # 这里加载停用词的路径 sentences=[]for i,j in zip(langue,intent):segs=jieba.lcut(precess_feature(i)) #分词
#         segs = [word for word in segs if word not in stopwords]segs = [word for word in segs if word not in stopwords and len(word)>1 ]
#         segs = list(set(segs))sentences.append(" ".join(segs) + "\t" + "__label__" +j)random.shuffle(sentences) #乱序处理 writeData(sentences,'data/{}.txt'.format(filename))'''读取数据'''
data = pd.read_excel('data/附件2.xlsx',encoding = 'utf_8')
# print(data.columns)
# print(data.loc[0,'留言详情'].strip())
# print(len(data))
# print(data['一级分类'].value_counts()/len(data))
data['特征'] = data.loc[:,'留言主题']+' '+data.loc[:,'留言详情'].map(lambda x:x.strip().lower())
# data.head()'''划分训练集和测试集'''
s_data = StratifiedShuffleSplit(n_splits=1, test_size=0.2, train_size=0.8, random_state=5)
for train_index, test_index in s_data.split(data, data['一级分类']):data_train = data.loc[train_index]data_test = data.loc[test_index]
print(len(data_train))
print(data_train['一级分类'].value_counts()/len(data_train))pre_data_process(data_train,'train_data')
pre_data_process(data_test,'test_data')if __name__ == '__main__':model = fasttext.train_supervised('data/train_data.txt', lr=0.1, dim=100, epoch=2000, word_ngrams=2)model.save_model("data/classifier.bin")# 加载已经训练好的文本分类器classifier = fasttext.load_model("data/classifier.bin")# pre_data_process(data_test)# 使用测试数据集评估模型,数据格式与训练数据集一样result = classifier.test("data/test_data.txt",k = 1)  print('F1得分为:%0.2f'%(2*result[1]*result[2]/(result[1]+result[2])))

3.源码分享

附上2020年泰迪杯数据挖掘挑战赛C题全部源码,链接如下:

2020年泰迪杯C题全部源码

2020年泰迪杯C题智慧政务中的文本数据挖掘应用--论文+全部源码分享相关推荐

  1. 【第十一届泰迪杯B题产品订单的数据分析与需求预测产品订单的数据分析与需求预测 】第二大问代码分享+解题思路(EDA数据再探索+LightGBM模型)

    [第十一届泰迪杯B题产品订单的数据分析与需求预测]第二大问代码分享+解题思路(EDA数据再探索+LightGBM模型) 写在前面: ​ 拖了这么长时间,一方面是我在找实习面试准备.另一方面是在做第二问 ...

  2. 【第十一届“泰迪杯”数据挖掘挑战赛】泰迪杯c题爬虫采集数据(源码+数据)

    ["第十一届"泰迪杯"数据挖掘挑战赛-- C 题:泰迪内推平台招聘与求职双向推荐系统构建(采集数据)] 问题: 数据详情: 根据工作id获取详细数据(1571条).csv ...

  3. 泰迪杯C题第三问[文本有效性分析] (1)

    导入库 import re # 正则表达式库 import collections # 词频统计库 import numpy as np # numpy数据处理库 import jieba # 中文分 ...

  4. 2020第八届“泰迪杯”特等奖(基于 BERT 深度语言模型的“智慧政务”文本挖掘应用)

    目录 1绪论 1.1"智慧政务"文本挖掘的意义 1.2"智慧政务"文本挖掘的目标 1.3语言智能的里程碑技术:BERT 深度语言模型介绍 1.4本文的总体框架 ...

  5. 第十一届泰迪杯B题:产品订单的数据分析与需求预测

    赛题描述 一.问题背景 近年来企业外部环境越来越不确定,复杂多变的外部环境,让企业供应链面临较多难题.需求预测作为企业供应链的第一道防线,重要程度不言而喻,然而需求预测受多种因素的影响,导致预测准确率 ...

  6. 2020年“泰迪杯”数据分析职业技能大赛B题疫情数据分析

    一.背景 2020年1月新型冠状病毒(以下简称新冠)肺炎在极短时间内就在全球范围内大规模流行,据美国约翰斯·霍普金斯大学11月8日发布的新冠疫情最新统计数据显示,截至美国东部时间11月8日11时24分 ...

  7. 2020泰迪杯C题解题流程

    注:本文为赛前所写,仅队内提供大致思路,和实际的解题流程有一定出入,仅供参考,有一些错误,笔者并没有更正(主要是没空),如想深入交流请私信. 1.对留言进行分类 1.1对数据进行分析. 观察数据集规模 ...

  8. 第8届泰迪杯C题问题总结

    文章目录 写作模板问题 从网上下载了一个牛逼哄哄的模板,用 Winedit 打开时,却跳出错误弹出.我顿时懵逼了!!! 编译模板时,跳出 Improper alphabetic constant 错误 ...

  9. 智能阅读模型的构建(第六届泰迪杯C题)

    项目描述: 构建智能阅读模型主要通过两个方法来实现,第一个是TF-IDF的变种--TFC-ICF,TFC-ICF较于TF-IDF是将一个问题的所有答案看成一个整体,类比于TF-IDF文本分类的文件夹, ...

最新文章

  1. Oracle EBS R12 客户表结构
  2. (三十一)java版spring cloud+spring boot+redis多租户社交电子商务平台-spring-cloud-config...
  3. 如何修改新浪微博对其他应用的授权
  4. LPTHW 笨方法学习python 16章
  5. linux chromium安装falsh插件
  6. 7-5 删除字符串中的子串 (20 分)
  7. python工具包: pandas
  8. UIImageView的内容模式以及ImageNamed和imageWithContentsOfFile的区别
  9. 写一个简单的运用键盘监听创建的Java文件
  10. 数学建模学习:蒙特卡洛模拟
  11. matlab求解非线性方程数值解,[转载]MATLAB求解非线性方程(转)
  12. matlab光学原理仿真应用衍射,基于Matlab的光学衍射实验仿真
  13. 测试工程师-压力测试之jmeter脚本
  14. tomcat连接oracle报错,跪求解决在eclipse中开oracle数据库库TOMCAT报错
  15. 物理内存管理-ucore操作系统的PADDR宏
  16. 西安三本计算机专业可报院校,西安三本大学前十名, 西北大学现代学院仅第四...
  17. 信息收集之基础端口扫描《诸神之眼——Nmap网络安全审计技术揭秘》总结一
  18. Python ord函数
  19. TD源链:让区块链臻于完美
  20. 一维量子行走及其拓扑结构

热门文章

  1. 基本算法的设计与实现-史莱姆通话
  2. Android P 正式到来
  3. 6月份鸿蒙升级名单,华为鸿蒙系统6月升级名单机型有哪些
  4. IIS发生意外错误0x8ffe2740 IIS不…
  5. 华为mate40pro有没有鸿蒙,mate40pro不能升级鸿蒙吗?我啥也不懂,完蛋了
  6. Kaggle数据集之电信客户流失数据分析(一)
  7. 2022第十一届PMO大会(线上会议)成功召开
  8. 最长可重叠的重复子串(2)
  9. 天天自习软件测试计划
  10. 查询python答案的app_2020知到APP大数据分析的python基础最新免费答案查询