第四讲文本信息检索研究TextProcessing.pptVIP

第四讲文本信息检索研究TextProcessing.ppt

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 说说逆波兰的转换和计算算法。 逆波兰表达式是一种十分有用的表达式,它将复杂表达式转换为可以依靠简单的操作得到计算结果的表达式。例如(a+b)*(c+d)转换为ab+cd+*d+ 它的优势在于只用两种简单操作,入栈和出栈就可以搞定任何普通表达式的运算。其运算方式如下: 如果当前字符为变量或者为数字,则压栈,如果是运算符,则将栈顶两个元素弹出作相应运算,结果再入栈,最后当表达式扫描完后,栈里的就是结果。 将一个普通的中序表达式转换为逆波兰表达式的一般算法是: 1)首先构造一个运算符栈,此运算符在栈内遵循越往栈顶优先级越高的原则。 (2)读入一个用中缀表示的简单算术表达式,为方便起见,设该简单算术表达式的右端多加上了优先级最低的特殊符号“#”。 (3)从左至右扫描该算术表达式,从第一个字符开始判断,如果该字符是数字,则分析到该数字串的结束并将该数字串直接输出。 (4)如果不是数字,该字符则是运算符,此时需比较优先关系。 做法如下:将该字符与运算符栈顶的运算符的优先关系相比较。如果,该字符优先关系高于此运算符栈顶的运算符,则将该运算符入栈。倘若不是的话,则将栈顶的运算符从栈中弹出,直到栈顶运算符的优先级低于当前运算符,将该字符入栈。 (5)重复上述操作(1)-(2)直至扫描完整个简单算术表达式,确定所有字符都得到正确处理,我们便可以将中缀式表示的简单算术表达式转化为逆波兰表示的简单算术表达式。 其中运算符优先级如下: */:4 +-:3 (:2 ):1 逆波兰表达式 Time Limit:1000MS? Memory Limit:65536K Total Submit:954 Accepted:425 Description 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其中运算符包括+ - * /四个。 Input 输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。 Output 输出为一行,表达式的值。 可直接用printf(%f\n, v)输出表达式的值v。 Sample Input * + 11.0 12.0 + 24.0 35.0 Sample Output 1357.000000 Hint 可使用atof(str)把字符串转换为一个double类型的浮点数。atof定义在math.h中。 此题可使用函数递归调用的方法求解。 Source 计算概论05 * * * 文本预处理——stemming算法的争议 很多论文指出,stemming对英文检索系统没有效果。 很多结果表明,stemming对荷兰语、阿拉伯语、斯拉夫语等有很大必要。 不同的论文用同样的stemming工具,针对同样的测试集得出完全相反的结论。 一般认为:Stemming降低了查准率,提高了查全率。 查准率的降低不是stemming本身的问题,而是算法实现的效果不好。 Stemming本身很有必要,关键是要提高stmming的效果。 * 文本预处理——词干还原 中文重叠词还原 汉语的某些形容词有重叠式用法。这些重叠式用法是词典里所没有的,所以必须通过还原算法从重叠式用法变回到基本形式上也可以看成是一种“词干”还原 * 文本预处理 中文重叠词还原 文本框: 双字形容词的重叠用法共有三种:ABAB式,AABB式、A里AB式。请看下表示例: * 文本预处理 中文重叠词还原 单字形容词的重叠用法共有两种:ABB式和ABCD式。请看示例: * 文本预处理 进行词干还原: 好处:减少词典量; 坏处:按词形查不到,词根还原还可能出现错误 不进行词干还原: Stopped sto+ppe+d 好处:支持词形查询; 坏处:增加词典量 * 3 索引和排序 排序就是扫描每篇文档产生的(文档号,单词号,出现位置)三元组按照单词号重新排序,单词号相同的项再按照文档号排序,单词号和文档号都相同的再按照出现位置排序。 排序的过程正好是实现“倒排”的过程 排序以后的结果写入临时索引文件。 * 3 索引和排序 前向索引 直接对文本进行逐篇扫描费时费力,为解决这个问题,考虑将文本预先处理(由前向索引转换成倒排索引)后进行匹配,就能较快地得到结果。 前向索引(Forward index) 将每篇文档表示成Doc ID及其文本内容组成的类向量模式。 * 索引和排序 前向索引实例 * 索引和排序 前向索引的特征 仍然是依次扫描每个文档,但是对于一个字符串的多次出现不需要一一扫描,而且对同一文档内的字符串查找可

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档