zoukankan      html  css  js  c++  java
  • 词项邻近 & 停用词 & 词干还原

    词项邻近

      邻近操作符(proximity)用于指定查询中的两个词项应该在文档中互相靠近,靠近程度通常采用两者之间的词的个数或者是否同在某个结构单元(如句 子或段落)中出现来衡量。

    停用词

      一些常见词在文档和用户需求进行匹配时价值并不大, 需要彻底从词汇表中去除。这些词称为停用词(stop word)。一个常用的生成停用词表的方法就是将词项按照文档集频率(collection frequency,每个词项在文档集中出现的频率)从高到低排列,然后手工选择些语义内容与文档主题关系不大的高频词作为停用词。停用词表中的每个词将在索引过程中被忽略。图 2-5 给出了一个停用词表的片段。使用停用词表可以大大减小系统所需要存储的倒排记录表的数目,具体的统计数字可以参见表 5-1。不对停用词建立索引一般情况下不会对系统造成太大的影响,比如搜索时采用 the 或 by 进行查询似乎没有什么意义。但是,对于短语查询来说情况并非如此,比如短语查询 President of the United States 中包含两个停用词,但是它比查询President AND “United States”更精确。如果忽略掉 to,那么 flights to London 的意义将会丢失。搜索 Vannevar Bush 的那篇经典文章 As we may think 时,如果将前 3 个单词都看作停用词,那么搜索将会很困难,因为系统只返回包含 think 的文章。更为严重的是,一些特定的查询类型会受到更大的影响。比如一些歌名或者著名的诗歌片段可能全部由常用的停用词组成(如 To be or not to be,Let It Be,I don’t want to be 等)

      

      在信息检索系统不断发展的历程中,有从大停用词表(200~300 个词)到小停用词表(7~12个词)最后到不用停用词的趋势Web 搜索引擎通常都不用停用词表。一些现代 IR 系统更关注如何利用语言的统计特性来更好地处理常见词问题。对于现代 IR 系统来说,不论是对于索引大小还是查询处理的时间而言,不去除停用词所增加的开销并没有那么大。  

    词干还原

      出于语法上的要求,文档中常常会使用词的不同形态,比如 organize、organizes 和 organizing。另外,语言中也存在大量意义相近的同源词,比如 democracy、democratic 和 democratization。在很多情况下,如果输入其中一个词能返回包含其同源词的文档,那么这样的搜索似乎非常有用。

      词干还原和词形归并的目的都是为了减少屈折变化的形式,并且有时会将派生词转化为基本形式。比如:am, are, is ⇒ be ,  car, cars, car’s, cars’ ⇒ car 利用上述方式对文本进行映射处理,可以得到类似如下的结果:

      The boy’s cars are different colors ⇒ the boy car be differ color

      然而,词干还原(stemming)词形归并(lemmatization)这两个术语所代表的意义是不同的。前者通常指的是一个很粗略的去除单词两端词缀的启发式过程, 这个过程也常常包括去除派生词缀。而词形归并通常指利用词汇表和词形分析来去除屈折词缀,从而返回词的原形或词典中的词的过程,返回的结果称为词元(lemma) 假如给定词条 saw。词干还原过程可能仅返回 s, 而词形归并过程将返回 see 或者 saw,当然具体返回哪个词取决于在当前上下文中 saw 到底是动词还是名词。

  • 相关阅读:
    Mysql优化
    RabbitMQ教程
    手把手Centos7 安装jenkins详细教程
    FreeMarker学习系列之一
    Vue学习之Vue模拟后台数据
    vuejs学习之新的components组件挂载
    vuejs学习之项目结构解读
    VueJS学习之Vue-cli项目模板
    菜鸟手把手学Shiro之shiro授权流程
    js基石之---es7的decorator修饰器
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3309022.html
Copyright © 2011-2022 走看看