基于领域知识库的信息推荐系统-智能文本篇章分析(编辑修改稿)内容摘要:
{ foreach (string a1 in Class)//遍历 所有关键词 { p = 1。 if (a1 != 顶层关键词编号 ) { child = a1。 Temp_child =a1。 do{ 以 Temp_child为孩子节点查找公共知识库中它的父节点; p = p * 上条关键词之间的 p值 Temp_child = Temp_father。 }while(father!=顶层关键词编号 amp。 amp。 father不包含在个人关键词中 )。 InsertPersonalWord_Relation(father,child,p)。 //插入新的词条之间的关系 } } } father child p 11 此算法能够很好地建立用户个人每个词之间的包含关系, 用户个人知识点之间的包含关系虽然是动态生成的,但其依然是基于静态的公共知识库知识点之间的关系生成的。 在此,我们默认公共知识库是具有专家级别的涉及所有知识点的根本来源,它收集包含了目前所有词能产生的包含相似关系。 12 第 四 章 智能 文本篇章 分析和信息推荐 领域知识库 本系统所涉及体育、读书、游戏、娱乐和汽车五个基本领域。 领域知识库的建立是一项非常重要而艰巨的任务,我们需要把所有现实世界中隶属于上述领域的事物具体化为一个词条 , 由于每个领域包罗万象,因此 工作量相当大,对建立者的 知识面 也有 非常高的要求,而且建立的结果难免有些疏漏,需要长时间地更新维护,最终走向全面化。 系统领域知识库的建立方案在江伟华同学的毕业论文中有详细的介绍,此处只作简要公共知识库和个人知识库的一些实例,方便本文论述的需要。 公共知识库 实例 本文 简单地 以体 育领域 作为研究对象,并列举出如图 41所示的 树形 结构层次关系,其中箭头的方向表示主概念包含子概念, 箭头上的数值表示人为设定的词条之间具体的包含度,椭圆框图表示该词没有子概念。 图 41 公共知识库实例 体育 篮球 网球 NBA专题 中国足球 德甲 足球 CBA专题 国际足球 法甲 西甲 意甲 英超 巴塞罗那 梅西 13 个人知识库 实例 正 如第三 章 中讲,公共知识库是静态的,个人知识库是动态的,个人知识库是建立在公共知识库之上的。 形象地说, 个人知识库可以看 成 公共知识库树形结构中抽取出来的一棵 子树。 在此,如图 42 所示,列举一个简单地用户知识库实例。 图 42 个人知识库实例 将图 42与图 41作比较,我们可以看出用户知识库 是公共知识库的一棵子树。 而且个人知识库中体育和 NBA 专题产生了直接的联系,其关系值的计算方法为:*=。 同理,国际足球和梅西产生直接关系值得计算方法为: **=。 这就是第三章 节 用户兴趣知识库的建立及算法实现的核心思路。 自动搜索关键词提取有效网页地址算法 自动搜索关键词 产生推荐信息要 解决的首要问题就是 如何从搜索引擎提供的搜索结果中提取有效的网页链接。 常规的思路是 首先获取 搜索结果页面的网页 源文件即 HTML代码, 然后对一些无效的网页标签,如 head、 div、 link、 script、 table等,最后提取出 herf=” ******” 格式的网页地址。 该方法虽然简单易行,但是提取出来的效果很不好,得到的网页地址比较粗糙,无法识别那些图片、论坛、视频等网页的地址特征。 在此, 本系统的 后 台分析程序采 用的方法是 正则表达式匹配算法。 体育 NBA专题 网球 足球 国际足球 英超 梅西 14 正则表达式 的概念 正则表 达式 [3]是 对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个 “规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 给定一个正则表达式和另一个字符串,我们可以达到如下的目的: 1) 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”); 2) 可以通过正则表达式,从字符串中获取我们想要的特定部分。 正则表达式的特点是: 1) 灵活性、逻辑性和功能性非常的强; 2) 可以迅速地用极简单的方式达到字符串的复杂控制; 3) 对于刚接触的人来说,比较晦涩难懂。 提取有效网页地址算法 后 台分析程序获取网页 HTML 源文件后,通过给定的正则表达式来匹配 获取有效网页地址的算法 [7]如算法 41 所示: 算法 41 提取有效网页地址算法 string htmlCode。 //搜索结果的网页 HTML代码 ArrayList arrayList。 //存放有效的网页地址的动态数组 String strRegex = @ ./?%amp。 =]*)?。 //匹配有效网页地址特征的正则表达式 Regex regex = new Regex(strRegex, )。 MatchCollection matchCollection = (htmlCode)。 for (int i = 0。 i = 1。 i++) { bool rep = false。 string strNew = matchCollection[i].ToString()。 foreach (string str in arrayList) { if (strNew == str) { rep = true。 break。 } } if (!rep amp。 amp。 strNew != amp。 amp。 strNew != 15 { if ((.htm) || (.html) || (.shtml)) (strNew)。 } } return arrayList。 网页文本提取 思路及 算法 网页文本 提取 的主要 思路: 后 台分析程序 自动 访问 上一节中提取出来的 有效的 网页地址 , 抓取 网页 HTML 源码,这里要实现自动判断网页编码 的问题 ,否则有可能 发生乱码 现象。 一般 应答的 头的 charset 都有声明网页的编码 , 常见的编码有“ GB2312”、“ GBK”、“ UTF8”和“ ISO88591”,为方便处理和存储,本系统将编码统一转为“ GB2312”。 但 由于 Inter 上的网页数以亿记,网页的格式未严格达到统一的标准,比如有些 应答的头里的 charset 和网页的 meta 里声明的 charset 就 不一致, 这就导致 程序无法识别而产生乱码现象。 由于此类 不符合标准的网也 只占少数,故处理过程中会当作无意义的网页而剔除掉。 编码问题解决后, 首先,从 HTML 文件中提取文章的标题,此处利用正则表达 式41[8]实现精确匹配。 strReg = @title(?title[^]*)/title (式 41) 文章标题提取完后, 把网页分割成几大块 ,取出 网页里的 div 块, td 块文字块儿 ,对取出 的文字块 排序之前把超链接文字数量和汉字数量比例超过百分之 50 的 div 去掉,因为这些都是相关链接或者文字广告 , 再 把汉字少于 200 的文本块去除 , 因为 一般少于200 字的文本块不会是正文, 而且 即便是正文,一般来说也不会有太多的价值。 由于 div支持嵌套,所以剩下的文本块,有可能是重复的,一个是另一个的父节点,所以要把最里层的文本块找出来,最里层的文本块是汉字最多的,而其它 文本较 少的,所以要计算出剩余文 本块中汉字占所有字符比例最高的文本块,基本上它就是正文的文本块。 当然有的网页正文里也可能还有 div 的文本块,这时候可能会判断错误,但只要正文嵌套的 16 div 文本块的汉字少于 200 字, 本系统 的 算法还是能准确提取正文文本块的。 紧接着是细节问题的处理, 把 pbr等标签替换成特殊占位符 [p][br]等,因为最终的正文需要保留段落和回车换行等格式, 这一步用正则 表达式 实现。 把最后剩下的文本块的 html 标签去掉, 用正则 表达式 过 滤 [9]。 至 此,正文提取完毕。 具体的实现算法见算法 42: 算法 42 网页文本提取 string input。 //网页 HTML源文件 string reg1 = @(p|br)[^]*。 string reg2 = @(\[([^=]*)(=[^\]]*)?\][\s\S]*?\[/\1\])|(?lj(?=[^\u4E00\u9FA5\uFE30\uFFA0,.)。 ])a\s+[^]*[^]{2,}/a(?=[^\u4E00\u9FA5\uFE30\uFFA0,.)。 ]))|(?Stylestyle[\s\S]+?/style)|(?selectselect[\s\S]+?/select)|(?Scriptscript[\s\S]*?/script)|(?Explein\!\\[\s\S]*?\\)|(?lili(\s+[^]+)?[\s\S]*?/li)|(?Html/?\s*[^ ]+(\s*[^=]+?=[39。 ]?[^39。 ]+?[39。 ]?)*?[^\[]*)|(?Otheramp。 [azAZ]+。 )|(?Other2\[az09]{6})|(?Space\s+)|(\amp。 \\d+\。 )。 //获取网页的所有 div标签 Liststring list = GetTags(input, div)。 //去除汉字少于 200字的 div Liststring needToRemove = new Liststring()。 foreach (string s in list) { Regex r = new Regex([\u4e00\u9fa5])。 if ((s).Count 200) { (s)。 } } foreach (string s in needToRemove) { (s)。 } //把剩下的 div按汉字比例多少倒序排列 , (CompareDinosByChineseLength)。 if ( 1) {return。 } input = list[ 1]。 //把 p和 br替换成特殊的占位符 [p][br] input = new Regex(reg1, | ).Replace(input, [$1])。 //去掉 HTML标签,保留汉字 input = new Regex(reg2, | ).Replace(input, )。 //把特殊占维护替换成回车和换行 17 input = new Regex(\\[p], | ).Replace(input, \r\n )。 input = new Regex(\\[br], | ).Replace(input, \r\n)。 return input。 文章 自动 分词 技术。基于领域知识库的信息推荐系统-智能文本篇章分析(编辑修改稿)
相关推荐
用发票,从小规模纳税人取得普通发票 只要小规模纳税人给出的折让率(与一般纳税人的单价相比) %,则选择从小规模纳税人处进货比较有利。 筹划2 :关于供货人类型的选择 二、筹划原理 同理:当从一般纳税人采购取得 17%的增值税专用发票,从小规模纳税人取得税务机关代开的 3%的增值税专用发票时 Y= 折让率 =( YX) /Y =% 筹划2 :关于供货人类型的选择 二、筹划原理
流入施工区,保持施工面排水顺畅。 ( 2)施工供电 根据本标段工程特点和现场条件,施工用电将以自行发电为主,计划采用 2 台 60kw 和 3 台20KW 发电机。 其中 1 台 60KW 用于营地设施及砼预制块制作场,另一台 60KW 备用; 2 12 台 20KW 发电机随砂浆拌和机移动, 1 台备用。 生产区内发电设施占地面积为 80 m2。 在施工区及生产、生活设施区合理布置照明设施
he foreign teachers should respect his / her colleagues and Chinese culture, vice versa. 3) The foreign teachers should be patient and careful to answer the students’ questions related to study and
用了第三种方案。 我首先在万用板上焊接 16 个光电管作为测试,接着利用单片机控制译码器,轮流地开关锁存器的使能端口,八个一组地读取光电管的信号。 经过测试和实际调整,基本能够实现我的要求。 然后是指示灯的电路设计。 在我的设想之中,装置进行取盘操作的随后对应光碟的位置的 LED指示灯会亮起来, 因为 装置对 LED指示灯 的 即时性 要求不是 很高,小何哥哥提议利用单片机的 SPI
,适用于中档住宅区。 易家三代:配电箱集中安装式家庭控制产品。 国内各大软、硬件机构正在积极的研制、开发更为符合市场的智能化家居设备,以解决当前智能化产品实用性差、使用复杂及产品价格昂贵等缺点,而技术创新性也逐步向国际先进水平靠拢,这样的未来值得期待。 本 课题研究的目的和意义 根据前面提到的一些调查结果及数据可以看出,虽然目前智能家居系统有了一定的发展,并且市场上也开始出现相应的产品
环境和开发技术 系统介绍 本设计所实现的基于本体和 Lucene 的网络教育资源检索系统主要用于研究在Lucene 全文检索系统中,如何利用本体中的概念和术语及其之间的关系进行推理,提高搜索的质量。 本系统分为数据库模块(实体模块, facade 模块), Lucene 模块(索引模块,搜索模块),本体模块, Web 模块(模型模块、 Servlet 模块、 ManagedBean模块)四个模块