欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2020107936234
申请人: 淮阴工学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于文本卷积和相似度算法的图审专家组合推荐方法,其特征在于,具体步骤如下:(1)设建筑图纸审查问题数据集为Data,对问题数据进行去重和专业分类数据预处理后得到处理后的审查问题集ProblemData,处理后的问题标签数据集为LabelData;

(2)对审查问题集ProblemData运用TextRank算法进行关键词抽取得到审查关键词问题集ImpProblemData,对应的问题标签数据集为ImpLabelData;

(3)搭建文本卷积神经网络用以训练网络进行问题所属专业分类;

(4)设用户问题为Problem,用户传入的项目属性集合为ProjectProperties,将Problem传入文本卷积分类神经网络后得到问题所属专业Profession,通过相似度算法比较用户传入的项目属性集合与原始项目属性集合OralProperties的相似度;

(5)设通过上一步比较后得到的相似度集合为Similarities,排序取相似的项目得到相似项目集合SimiProjects,利用Eclat频繁项集抽取算法寻找频繁出现的专家并比较其专业与Profession是否一致;

(6)开放图审专家推荐知识图谱使用接口根据用户输入的专业问题及项目属性推荐适合的专家集合Experts并通过Web返回给用户;

所述步骤(2)中得到审查关键词问题集ImpProblemData和对应的问题标签数据集ImpLabelData的具体步骤如下:(2.1) 定义循环变量i2遍历ProblemData,i2赋初值0;

(2.2) 如果i2

(2.3) 运用jieba分词算法将遍历到的ProblemDatai2进行分词和词性标注处理,得到分词后的词数据集VacList{vac1,vac2,…,vacVn},其中Vn为词数量;

(2.4) 定义TextRank窗口范围为4,定义tempHashMap用以存储边集,定义循环变量i3遍历词数据集VacList,i3赋初值0;

(2.5) 如果i3

(2.6) 定义循环变量i4遍历当前词vaci3及之后的词语,i4赋初值0;

(2.7) 如果i4<4,则进入步骤(2.8),否则进入步骤(2.10),其中,len()是返回数据集长度值的函数;

(2.8) 将当前词语vaci3及vaci4组成集合{vaci3,vaci4}存储tempHashMap,若先前存在此集合则将存储值加一;

(2.9) 对i4执行加1操作;

(2.10) 对i3执行加1操作;

(2.11) 对i2执行加1操作;

(2.12) 根据tempHashMap中每一个集合的存储值进行排序,取出对应原数据集ProblemData中每一句存储值最大的三个关键词vac1,vac2,vac3;

(2.13)  将上一步取得的关键词组成集合{vac1,vac2,vac3}加入到集合ImpProblemData中,将该句对应的标签加入到集合ImpLabelData中;

所述步骤(3)中搭建文本卷积神经网络用以训练网络进行问题所属专业分类的具体步骤如下:(3.1) 根据训练需要将关键词问题数据集ImpProblemData划分,分别定义训练集比例为TrainRate、验证集比例为ValidRate和测试集比例为TestRate;

(3.2) 定义按照TrainRate: ValidRate: TestRate =8:1:1的比例划分已标注的关键词问题数据集ImpProblemData为训练数据集ImpPro_Train、测试数据集ImpPro_Test和验证数据集ImpPro_Valid;

(3.3) 设定网络层数net_layers、 每层单元数batch_size、训练轮次epoch、最大训练次数MaxTime、训练优化器optimizer和每次训练的数据长度data_length用以网格搜索最优化参数,定义循环变量TrainFlag判断训练轮次;

(3.4) 若TrainFlag≤MaxTime,则进入步骤(3.5),否则进入步骤(3.18);

(3.5) 定义ImpDataNum为关键词问题数据集ImpProblemData中数据的个数,对关键词问题数据进行Embedding;

(3.6) 定义循环变量i5用以遍历ImpProblemData,i5赋初值为0;

(3.7) 如果i5

(3.8) 建立word2vec词典,给予每个字id,并通过当前句子所有字的id平均值将句子转换成词向量,定义每条数据的最大序列长度为MaxLength;

(3.9) 对i5执行加1操作;

(3.10) 将训练集ImpPro_Train的数据特征输入预测网络,定义变量MinLoss 用于保存模型参数的最低loss值,定义计数器flags,令flags初始值为1; 每经过一个epoch利用验证集ImpPro_Valid进行参数调整,更新最低loss值;

(3.11) 如果flags≤epoch,则进入步骤(3.12),否则进入步骤(3.17);

(3.12) 如果loss≥MinLoss,则进入步骤(3.13),否则进入步骤(3.15);

(3.13) 利用梯度下降法将误差反向传播回网络,对预测网络的参数net_layers、batch_size、optimizer和data_length进行修正调参;

(3.14) 更新net_layers、batch_size、optimizer和data_length的参数值;

(3.15) 更新MinLoss;

(3.16) 对flags执行加1操作;

(3.17) 选取在验证集上loss值最低的即MinLoss的模型参数并保存模型Model,对TrainFlag执行加1操作;

(3.18) 训练完成,得到最优参数的图审问题专业分类文本卷积神经网络模型Model;

所述步骤(5)中利用Eclat频繁项集抽取算法寻找频繁出现的专家并比较其专业与Profession是否一致的具体步骤如下:(5.1) 通过将上一步得到的相似度集合Similarities从水平数据格式转变为垂直数据格式,新的相似度集合定义为VerticalSimilarities;

(5.2) 定义循环变量i7用以遍历相似度集合VerticalSimilarities,i7赋初值为0,定义哈希表ExpertHashMap用以存储频繁出现的专家;

(5.3) 如果i7

(5.4) 定义设当前遍历到的垂直相似度集合元素为Experti7,将其与其他专家进行并集处理,设该专家Experti7在相似度项目集合中出现次数为ExpertTime;

(5.5) 如果ExpertTime>3,则进入步骤(5.6),否则进入步骤(5.7);

(5.6) 定义将该专家加入到频繁出现专家哈希表ExpertHashMap,若该专家已存在则做覆盖处理,不会同时存储两个相同专家;

(5.7) 对i7执行加1操作;

(5.8) 定义循环变量i8遍历ExpertHashMap,i8赋初值0,定义哈希表simiHashMap用以存储专家及专家对应相似项目数量;

(5.9) 如果i8

(5.10) 运用jieba分词算法将遍历到的Experti8参加过的项目进行分词和词性标注处理,得到分词后的词数据集ExpertVacList{expvac1,expvac2,…,expvaceVn},其中eVn为词数量;

(5.11) 定义窗口范围为4,定义tempExpertHashMap用以存储边集,定义循环变量i9遍历专家项目词数据集ExpertList,i9赋初值0;

(5.12) 如果i9

(5.13) 定义循环变量i10遍历当前词expvaci9及之后的词语,i10赋初值0;

(5.14) 如果i10<4,则进入步骤(5.15),否则进入步骤(5.17);

(5.15) 将当前词语expvaci9及expvaci10组成集合{expvaci9,expvaci10}存储tempExpertHashMap,若先前存在此集合则将存储值加一;

(5.16) 对i10执行加1操作;

(5.17) 对i9执行加1操作;

(5.18) 对i8执行加1操作;

(5.19) 根据tempExpertHashMap中每一个集合的存储值进行排序,取出对应原数据集ExpertHashMap中每一句存储值最大的三个关键词expvac1,expvac2,expvac3;

(5.20) 将上一步取得的关键词组成集合{expvac1,expvac2,expvac3}传入到先前训练的专业分类文本卷积神经网络模型Model中;

(5.21) 比较模型输出的预测专业ExpertProfession与先前预测的用户所需要的专家专业Profession,若一致则存入simiHashMap;

(5.22) 将simiHashMap按照相似项目数量进行排序推荐给用户进行选择。

2.根据权利要求1所述的一种基于文本卷积和相似度算法的图审专家组合推荐方法,其特征在于,所述步骤(1)中得到处理后的问题标签数据集LabelData的具体步骤如下:(1.1)设建筑图纸审查问题数据集为Data={data1,data2,…,dataN},其中N为建筑图纸审查问题数据集大小;

(1.2)声明哈希表ProblemHashMap用于对问题数据进行去重;

(1.3)定义循环变量i1遍历数据集Data,i1赋初值0,对哈希表ProblemHashMap赋初值为空;

(1.4)如果i1

(1.5)对i1执行加1操作;

(1.6)设当前遍历到的问题数据为datai1Oral,去除datai1Oral中含有的标点符号如“,”,”。”,“!”得到数据datai1Sign;

(1.7)对数据datai1Sign,根据停用词表去除无实际意义的停用词得到数据ProblemDatai1;

(1.8) 将ProblemDatai1与问题对应的专业LabelDatai1组合存入哈希表ProbelmHashMap,哈希表会对原先存在的相同数据进行覆盖处理;

(1.9) 取出ProblemHashMap中存储的数据取得审查问题集ProblemData,问题标签数据集LabelData。

3.根据权利要求1所述的一种基于文本卷积和相似度算法的图审专家组合推荐方法,其特征在于,所述步骤(4)中通过相似度算法比较用户传入的项目属性集合与原始项目属性集合OralProperties的相似度的具体步骤如下:(4.1) 通过先前训练的文本卷积神经网络模型Model对用户输入问题语句进行专业分类获取对应专业Profession;

(4.2) 定义循环变量i6遍历用户输入的项目属性集合ProjectProperties;

(4.3) 如果i6

  (4.4) 计算用户输入的项目属性集合ProjectProperties与原始项目集合OralProperties之间的皮尔逊相似度,记为perSimi;

(4.5) 计算用户输入的项目属性集合ProjectProperties与原始项目集合OralProperties之间的切比雪夫相似度,记为chebySimi;

(4.6) 计算用户输入的项目属性集合ProjectProperties与原始项目集合OralProperties之间的余弦相似度,记为cosSimi;

(4.7) 计算用户输入的项目属性集合ProjectProperties与原始项目集合OralProperties之间的曼哈顿相似度,记为manhamSimi;

(4.8) 将上述计算出的相似度组合成集合{perSimi,chebySimi,cosSimi,manhamSimi},比较其离散程度,取离散程度最高即区分度最好的相似度算法算出的相似度作为相似度集合Similarities;

(4.9) 对i6执行加1操作;

(4.10)相似度计算结束。

4.根据权利要求1所述的一种基于文本卷积和相似度算法的图审专家组合推荐方法,其特征在于,所述步骤(6)中开放图审专家推荐知识图谱使用接口根据用户输入的专业问题及项目属性推荐适合的专家集合Experts并通过Web返回给用户的具体步骤如下:(6.1) 开放专家组合推荐知识图谱使用接口;

(6.2) 用户登录,创建线程池ThreadPool;

(6.3) 检测ThreadPool是否还有任务存在,若有则进入步骤(6.4),否则进入步骤(6.9);

(6.4) 用户通过Web平台输入项目当前存在的问题及项目的一系列属性;

(6.5) 子线程ChildThread获取任务处理;

(6.6) 通过文本卷积算法获取项目问题所属专业,并通过一系列属性计算该项 目与当前库中其他项目的相似度;

(6.7) 按照相似程度得到专家推荐数据集Expert={expert1,expert2,…,expertn};

(6.8) 结束该子线程;

(6.9) 关闭线程池ThreadPool;

(6.10) 写入日志文件DateLog;

(6.11) 将符合要求的专家推荐数据集Expert通过Web返回给用户。