海量文本高效搜索引擎在手机App中的应用研究文献综述

 2022-08-12 11:23:33

一、海量文本高效搜索引擎在手机App中的应用研究

随着互联网的飞速发展,各种各样的数据在上面不停传播,体量越来越庞大。根据市场研究公司IDC发布最新的《数字宇宙研究报告》预测,2020年的全球数据总量将达到40ZB,即40万亿GB,并且以每两年翻一番的速度[1]。此外,国际调研机构 Forrest Research的统计资料表明,只有 大约17%的结构化数据存储在各种类型的结构化数据库(MySQL、Oracle等)中,剩余的83%则来自于互联网的各种组织形式及外部环境中[2]。在这样庞大的数据下,“Data Rich, Information Poor”问题自然而然就出现了。从庞大数据中找出所需要的信息,这亟需一项可以在海量文本下快速并且准确地完成文本分词并进行搜索的技术[3]

(一)国内外研究现状

中文分词是中文文本处理的一个基础步骤,也是中文环境下人机自然语言交互的基础模块。中文分词最早由北京航空航天大学的梁南元教授于1984年提出“查字典”(基于字典的分词)的方法,设计了CDWS分词系统,将句子双向扫描,扫描的字词与字典进行匹配分词速度约为 5-10字/秒。1991年,北京航空航天大学设计的CASS分词系统采用变形的匹配方法将分词速度提升到200字/秒[4]。此后陆续有其他分词系统,速度和准确率都有所提升,但是遇到二义性词汇,即有多重意思的语句时候,还是容易出现错误。例如短语“发展中国家”应该分为“发展-中-国家”,但是如果使用基于字典的分词的方法从左向右方法则会分成“发展-中国-家”。到上个世纪九十年代,清华大学的郭进博士使用统计语言模型成功解决二义性词汇问题,也逐渐成为主流的中文分词方法[5]。除了这两种方法外,基于理解的分词方法,这些方法在现市面上常用的分词组件中都有体现,其中比较常用有中科院的NLPIR分词、IK分词、ansj分词等等。

在过去的二十年中,国外市场领先的搜索引擎(例如Google)都投入了大量的精力去研发高效的算法来解决搜索的效率问题。他们最常用的策略之一是数据去中心化,给数据库增加了一个外部层来提高搜索质量并加快访问速度,即索引[6]。大多数数据库都提供了自己的建立索引以提高搜索效率的方法,其中比较有代表性为Oracle数据库的索引,在数据量庞大的时候比其他数据库表现更加优异。初次之外,最常见的数据库外部搜索引擎是Apache Lucene搜索引擎框架,基于Lucene开发出了其他搜索引擎框架,例如Elasticsearch (上述IK常用于Elasticsearch)和 Solr[1]

(二)研究主要成果

基于字典的分词方法包括最大匹配、最少分词等等,但是由于无法解决二义性的问题,歧义词识别容易出错。基于理解的分词方法需要对语句的结构和句法进行分析,导致了算法的时间复杂度较高而且鲁棒性较差。基于统计学习分词使用统计语言模型,利用语料中相邻共现汉字的组合频度如词频、互信息熵等特征进行分词。统计语言模型给出了这一类问题的一个基本解决框架。其中最常用的则是N-gram模型。这里对N-gram模型进行简单的说明[7]

对一段语句可以表示为以下:

它的概率可以表示为:

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。