Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于数据挖掘的工程国家标准数据库自适应构建方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

摘要:发明公开了一种基于数据挖掘的工程国家标准数据库自适应构建方法,使用网络爬虫技术与BloomFilter自适应算法相结合,通过选取最优的哈希函数个数,从获取到的国家规范链接数据集standard_URL中,快速判断链接是否已被爬取,找出新增的国家规范链接数据集update_URL。同时在网络爬虫技术的基础上,对非结构化建筑规范数据进行采集,其中包含文本数据集text和“图像”形式的“文本+表格”混合数据集img,然后利用图像识别技术,对混合数据集img中文本数据与表格数据分别处理,得到文本数据集Text与表格数据集table。本发明改变了传统查询国家标准规范的方式,方便审图专家快速查阅相关国家标准规范和建筑强条,可有效减少审图人员的工作量,节约大量时间。

主权项:1.一种基于数据挖掘的工程国家标准数据库自适应构建方法,其特征在于,具体步骤如下:1首先使用网络爬虫技术从预设的初始链接start_URL数据集开始广度遍历,获取与预设的start_URL相关联的建筑标准规范链接数据集standard_URL;具体步骤如下:1.1输入初始链接数据集start_URL,定义headers表示定制的HTTP请求头;1.2在解析链接时添加定制的HTTP头部,headers={'user-agent':'Mozilla5.0WindowsNT10.0;WOW64AppleWebKit537.36KHTML,likeGeckoChrome63.0.3239.26Safari537.36Core1.63.6823.400QQBrowser10.3.3117.400'};1.3定义最长等待时间timeout,表示爬取网站时等待的最长时间,timeout∈N;1.4定义解析网页编码encoding,用于定制解析网页所用的编码格式,encoding=“UTF-8”;1.5定义网站响应状态码status,用于接收网站返回的响应状态码信息;1.6定义计数器count1,令count1=0;1.7若status≠200,表示服务器发生错误,则执行步骤1.8,否则表示服务器响应正常,执行步骤1.10;1.8令count1=count1+1,执行步骤1.9;1.9若count1≥5,则抛出网站访问异常;否则执行步骤1.2;1.10定义解析后的标准列表页链接为standard_list,定义国家标准类别为category,category={category1,category2,categorycn,…,categorycategoryNum},categorycn为category中第cn个类别,categoryNum为数据集categoryNum中类别的总个数,cn∈[1,categoryNum],standard_list,standard_list={standard_list1,standard_list2,standard_listcns,…,standard_liststandard_listNum},standard_listcns为standard_list中第cns个,standard_listNum为数据集standard_list中链接的总个数,cns∈[1,standard_listNum];1.11定义循环变量i1用于遍历standard_list,定义lenstandard_list为standard_list集合的长度,i1∈[1,lenstandard_list],i1赋初值为1;1.12如果i1≤lenstandard_list,则进入步骤1.13,否则进入步骤1.16;1.13由于国家标准在网页上是分不同类别分别存储的,通过广度遍历,standard_list记录下每一个分类下的所有国家标准规范链接;1.14对每个standard_list中的链接进行完整性检查,由于部分网站源代码中的链接用的是相对路径,在浏览器中需要对链接进行拼接为绝对路径,才能正常访问该链接,对不符合HTTP规范的链接standard_listn,将standard_listn进行链接拼接后存入standard_URL数据集中standard_URL={[category1,standard_list1],[category2,standard_list2],…,[categorycategoryNum,standard_liststandard_listNum]};1.15i1=i1+1,进入步骤1.12;1.16初始start_URL数据集解析完毕,得到国家标准信息standard_URL集合;2设已爬取的数据集为visited_URL,通过BloomFilter自适应算法选取最优的哈希函数个数,将数据集standard_URL中的数据与已爬取过的数据集visited_URL进行比对,去除重复的链接,获得待爬取的数据集update_URL;具体步骤如下:2.1通过在发送请求之前判断这个URL是不是之前爬取过,以此来判断该国家标准是否已经获取过,BloomFilter自适应算法可以通过计算来判断某项数据是否存在于集合中,定义BF是一个包含m位的数组,每一位都置为0,BF={BF1,BF2,…,BFm};2.2定义循环变量i2用于遍历standard_URL,定义lenstandard_URL为standard_URL集合的长度,i2∈[1,lenstandard_URL],i2赋初值为1;2.3如果i2≤lenstandard_URL,则进入步骤2.4,否则进入步骤2.20;2.4为了表达standard_URL={[category1,standard_list1],[category2,standard_list2],…,[categorycategoryNum,standard_liststandard_listNum]},standard_URLn为standard_URL中第n个,这样一个n个元素的集合,BloomFilter使用k个相互独立的哈希函数,它们分别将集合中的每个元素映射到{BF1,BF2,…,BFm}的范围中;2.5BloomFilter在判断一个元素是否属于它表示的集合时会有一定的错误率,为了简化公式,用S代替standard_URL集合,用x表示集合S中的元素;2.6当集合S={x1,x2,…,xn}的所有元素都被k个哈希函数映射到m位的数组中时,这个数组中某一位还是0的概率是p,p=1-1mkn≈e-knm其中1m表示任意一个哈希函数选中这一位的概率,上述公式用到了计算e时常用的近似值:;2.7令ρ为数组中0的比例,则ρ的数学期望Eρ=p,在ρ已知的情况下,要求的错误率为:1-ρk≈1-pk≈1-pk;2.8对上述公式进行求导可得,;2.9,令g=kln1−e−knm,g取得最小值时,f也取到最小值;由于p=e-knm,;2.10当p=12,也就是k=ln2m时,g取得最小值;2.11通过爬取的S数据集个数n和预设的数组位数长度m,得出最合适的哈希函数个数k;2.12定义哈希函数为hx,x为所要判定的值,哈希函数的个数为k;2.13定义循环变量j2用于遍历所有哈希函数,j2∈[1,k],j2赋初值为1;2.14如果j2≤k,则进入步骤2.15,否则进入步骤2.17;2.15对任意一个元素BFhn,第i个哈希函数映射的位置hihn就会被置为1,i∈[1,k];如果一个位置多次被置为1,只有第一次会起作用,后面几次将没有作用,执行步骤2.16;2.16j2=j2+1,进入步骤2.14;2.17在判断standard_URLn是否属于这个集合时,对standard_URLn应用了k次哈希函数,如果histandard_URLn的所有位置都是1,则执行步骤2.18;2.18standard_URLn存在于集合visited_URL中,执行步骤2.19,standard_URLn不是visited_URL集合中的元素,将standard_URLn添加到update_URL中,执行步骤2.19;2.19i2=i2+1,进入步骤2.3;2.20通过BloomFilte去重完成,得到待更新数据集update_URL;3对数据集update_URL中的网页进行解析,并分析得到纯文本数据集Text和图像形式的“文本+表格”混合数据集img;具体步骤如下:3.1定义循环变量i3用于遍历update_URL,定义lenupdate_URL为update_URL集合的长度,i3∈[1,lenupdate_URL],i3赋初值为1;3.2如果i3≤lenupdate_URL,则进入步骤3.3,否则进入步骤3.20,i3=i3+1;3.3定义source_code为网站上国家标准的源代码,通过对update_URL数据集中链接的解析获得到源代码source_code;3.4对获取到的source_code进行xpath提取,获得国家标准的标准名standardname、标准编号standardnum、更新日期standarddate以及国家标准每章的链接集合chapter_URL;3.5对每个chapter_URL中的链接进行完整性检查,对不符合HTTP规范的链接进行链接拼接后重新存入chapter_URL数据集中;3.6定义循环变量j3用于遍历chapter_URL,定义lenchapter_URL为chapter_URL集合的长度,j3∈[1,lenchapter_URL],j3赋初值为1;3.7如果j3≤lenchapter_URL,则进入步骤3.8,否则进入步骤3.2,j3=j3+1;3.8通过对chapter_URL集合中链接的解析获得到国家标准每个章下的源代码chapterSC;3.9定义section_URL为每节下的国家标准链接数据集,对获取到的chapterSC进行xpath提取,获得国家标准每节的链接集合section_URL;3.10对每个section_URL中的链接进行完整性检查,对不符合HTTP规范的链接进行链接拼接后重新存入section_URL数据集中;3.11定义循环变量k3用于遍历section_URL,定义lensection_URL为section_URL集合的长度,k3∈[1,lensection],k3赋初值为1;3.12如果k3≤lensection_URL,则进入步骤3.13,否则进入步骤3.7,k3=k3+1;3.13通过对section_URL集合中链接的进行解析获得到国家标准每节的源代码sectionSC,并将该链接加入到已爬取数据集visited_URL中;3.14对源代码sectionSC进行xpath提取,获得每节下的国家标准文本数据Text,以及图片地址imgURL数据集;3.15定义循环变量l3用于遍历imgURL,定义lenimgURL为imgURL集合的长度,l3∈[1,lenimgURL],l3赋初值为1;3.16如果l3≤lenimgURL,则进入步骤3.13,否则进入步骤3.12,l3=l3+1;3.17对获得imgURL中的链接进行判断,若图片格式为jpg格式,则执行步骤3.18,否则执行步骤3.19;3.18爬取imgURL中的图片存入本地文件添加到img数据集中;3.19爬取imgURL中的图片存入本地文件后,将图片格式转换为jpg格式,添加到img数据集中;3.20数据更新完毕,得到纯文本数据集Text和图片数据集img;4对混合数据集img进行识别分析,分别提取出其中的文本数据集text和表格数据集table;具体步骤如下:4.1将得到的图片数据集img先进行灰度化得到灰度化后的图片数据集gray_img;4.2将灰度化后的gray_img是图片数据集进行二值化,得到二值化后的数据集bin_img;4.3纵向腐蚀获取横向线条数据集img_transverse;4.4横向腐蚀获取纵向线条数据集img_vertical;4.5对分别对两次腐蚀后的线条进行加粗,进行膨胀处理,得到纵向腐蚀膨胀后的线条数据集dilate_transverse和横向腐蚀膨胀后线条数据集dilate_vertical;4.6将纵向腐蚀膨胀后的线条和横向腐蚀膨胀后的线条重叠,获取表格的交点数据集points;4.7循环遍历这些交点数据集,判断是否为表格顶点,如果是执行步骤4.8,否则执行4.11;4.8将得到的顶点数据存入顶点数据集peaks={peaks1,peaks2,peaks3,peaks4};4.9定义table为图像中的表格数据集,通过得到的顶点数据坐标,将图片表格部分切割开来,得到表格数据集table;4.10定义text为图像中的文本数据集,去掉表格后剩下的部分利用文字识别提取出文本数据,添加到text中;4.11将步骤(4.8)中peaks之外的数据保存在原有数据集points中,通过points与peaks计算得到每个单元格坐标,还原出表格信息,转化为excel格式;5将text文本数据集按照顺序加入到Text数据集中,得到新的Text数据集,通过正则表达式提取其中的规范条例,存入item_text数据集中;具体步骤如下:5.1将图像中的文本数据集text添加到Text中;5.2对Text数据集中的数据进行预处理,去掉空格和换行符得到预处理后的文本数据集clean_text;5.3定义item_text,用于存放从clean_text提取出来的国家标准的条目;5.4定义循环变量i5用于遍历clean_text,定义lenclean_text为clean_text集合的长度,i5∈[1,lenclean_text],i5赋初值为1;5.5如果i5≤lenclean_text,则进入步骤5.6,否则进入步骤5.7,i5=i5+1;5.6由于国家标准规范编写有特定的规范样式,所以通过一系列的正则表达式,能够快速准确的识别提取出每一节的每一条标准,将提取出的规范条目存入item_text;5.7将得到的item_text数据集,存储到数据库中,生成建筑国家标准规范数据库;6采用数据封装的方式,将用户输入的搜索信息Input和已构建的数据库中的内容进行匹配,得到搜索结果result_container返回给Web服务接口,提供给建筑审图专家以及数字化审图系统使用;具体步骤如下:6.1采用数据封装方式,开放Web服务接口,提供给数字化审图系统;6.2创建线程池ThreadPool;6.3判断线程池ThreadPool中所有子线程是否都结束,如果结束则进入步骤6.9,否则进入步骤6.4;6.4定义Input,用于存放用户通过Web服务接口提交的查询内容;6.5定义子线程ChildThread,获取到用户查询内容Input;6.6定义result_container,用于存放在数据库中查询到有关Input的结果;6.7调用国家标准数据库接口API,得到查询结果数据集result_container;6.8结束该子线程ChildThread,进入步骤6.3;6.9关闭线程池ThreadPool;6.10将查询到的数据集result_container返回给Web接口。

全文数据:

权利要求:

百度查询: 淮阴工学院 一种基于数据挖掘的工程国家标准数据库自适应构建方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。