论文部分内容阅读
近年来随着互联网,尤其是移动互联网的广泛发展,电子地图的使用越来越广泛,而电子地图搜索引擎应运而生。电子地图提高服务质量,一方面需要更为精准、更为庞大、更为细致、更为时效的数据点信息,同时另一方面还需要可以理解用户需求,结果更为精准的搜索引擎。查询分析是搜索引擎中的重要环节,其与用户首先接触,理解用户意图,指导后续的信息召回与排序。通过核心词提取系统,提取用户搜索串的核心词,是优化查询分析结果的重要途径。本文以当前搜索引擎的发展为基础,自然语言处理技术为背景,分析了当前搜索引擎中基于查询日志,利用自然语言处理技术对搜索串进行处理的现状,与当前电子地图搜索引擎的业务需求相结合,给出了核心词提取系统的需求分析。同时从技术角度采用朴素贝叶斯模型与双字耦合度,提高基于统计的机器学习的准确性。本文给出了重要度与紧密度的定义与计算方法,前者根据重要度计算公式,通过朴素贝叶斯模型找到与原文本相近的文本,并通过语素在相近文本出现的概率求得其在原文本中的重要度。后者利用近似双字耦合度的方式,通过用两个语素连续出现频率与两个语素同时出现频率之商计算两个语素间的紧密度。本文使用C++语言、Python语言以及MapReduce平台,对核心词提取系统进行开发。从设计上分为两大部分,离线挖掘与在线处理。离线挖掘部分包括重要度挖掘模块和紧密度挖掘模块。根据重要度与紧密度的计算公式,利用MapReduce平台,实现了大数据的分布式处理,在保证计算准确性的同时,提高了数据挖掘的效率。在线使用部分包括核心词提取模块。其利用离线挖掘的重要度与紧密度词表,与实体词、黑、白名单、搜索串成分规则等策略相结合,实现了对于搜索串的核心词提取。同时本文通过增加语料库的数量和调整融合参数,对重要度与紧密度的离线挖掘结果进行优化。通过增加调整提取策略,对核心词提取模块的准确性进行提高。最终实现了核心词提取系统的优化。本文通过将基于统计的机器学习与人工制定的规则相结合,设计并实现了核心词提取系统,并不断优化核心词提取的结果。在最终评测中,新版系统与老版完全基于人工规则的系统相比,最终效果提高30.9%,提高效果明显。该系统已成功上线使用,为广大用户提供服务。