【摘要】:文本信息是搜索引擎主要处理的内容。自然语言处理,严格来说包括自然语言理解与自然语言生成两部分,这里我们只涉及自然语言理解部分。1)中文关键词提取在自然语言处理中,关键词提取是至关重要的一环。TF是词频Term Frequency的简称,IDF是逆文档频率指数Inverse Document Frequency的简称。2)中文自动摘要减少原文的长度而保留文章的主题意思叫做“摘要”。语义搜索引擎进行推理及知识积累的基础与关键是知识库,而Ontology(本体)是知识库的基础。
文本信息是搜索引擎主要处理的内容。自然语言处理(Natural Language Processing),严格来说包括自然语言理解与自然语言生成两部分,这里我们只涉及自然语言理解部分。
1)中文关键词提取
在自然语言处理中,关键词提取是至关重要的一环。关键词提取的基本方法如下:
(1)首先建立关键词提取训练库,包括训练文件(x.txt)和对应的关键词文件(x.key)。
(2)去除停用词StopWords。
(3)利用TF*IDF公式,计算每个可能的关键词的TF*IDF:统计词频和词在所有文档中出现的总次数。TF是词频Term Frequency的简称,IDF是逆文档频率指数Inverse Document Frequency的简称。比如“的”在100篇文档的50篇中出现过,则DF(Document Frequency)是50,IDF是1/50。“的”在第一篇文档中出现了15次,TF*IDF(的)=15*1/50。
(4)利用位置信息,开始和结束位置的词往往更可能是关键词。标题中出现的词比内容中的词更重要。
(5)利用词性信息,关键词往往是名词或者是名词结尾的词,而介词、副词、动词结尾的词一般不能组成词组。
(6)利用词或者字的互信息:I(x,y)=log2(P(x,y)/(P(x)P(y)))。
(7)标点词《》和“”之间的文字更有可能是关键词。例如“汉芯一号”造假案。
2)中文自动摘要
减少原文的长度而保留文章的主题意思叫做“摘要”。摘要有各种形式:和搜索关键词相关的叫做动态摘要;只要和文本内容相关的就叫做静态摘要。搜索引擎中显示的搜索结果就是关键词相关的摘要例子。按照信息来源不同分为来源于单个文档的摘要和合并多个相关文档意思的摘要。单文档摘要精简一篇文章的主要意思,多文档摘要同时可以过滤掉出现在多篇文档中的重复内容。
摘要的实现有摘取性和概括性的。摘取性的方法相对容易实现,通常是摘取文章中的主要句子。Sourceforge.net中的Classifier4J项目就是通过统计高频词和句子分析来实现抽取指定文本中的重要句子形成摘要。
参考Classifier4J的实现方法,中文自动摘要的基本实现方法包含如下五个步骤:
(1)通过中文分词,统计词频和词性等信息,抽取出关键词。
(2)把文章划分成一个个的句子。
(3)通过各句子中关键词出现情况定义出句子的重要度。
(4)确定前K个最重要的句子为文摘句。
(5)把文摘句按照在原文中出现的顺序输出成摘要。
3)自动分类
自动分类是把一个未见过的文档分成已知类别中的一个或多个。分成一个类别叫做“单类分类”,分成多个类别叫做“多类分类”。一个典型的自动分类程序框架如图2-5所示。
常见的分类方法有支持向量机(SVM)、K个最近邻(KNN)和贝叶斯(Bayers)等。一般常用SVM实现文本分类。
可以按词性过滤,只选择某些词性作为分类特征。比如说,只选择名词和动词作为分类特征词。文本分类的精度随分类特征词的个数持续提高,一般可达到2 000词。
特征选择方法有CHI指数和IG(Information Gain)信息增益方法等。下面简要介绍下CHI方法。
CHI方法衡量单词term和类别class之间的依赖关系。如果term和class是互相独立的,则该值接近于0。一个单词的CHI统计通过表计算:
图2-5 自动分类程序框架图
表2-1 CHI统计表
其中,a:term和class共同出现的次数;b:不属于class,term出现的次数;
c:没有term时,属于类别class的次数;d:没有term时,也不属于类别class的次数;
n:文档总数。
表中的一个单词term的CHI统计公式如下:
4)语义搜索
当我们在百度或谷歌等搜索引擎上搜索“西红柿牛腩”,会出现“番茄炖牛腩”的词条,像这种按搜索词义返回结果可以看成是语义搜索。
所谓语义搜索,是指搜索引擎透过所输入请求的语句的字面本身,准确捕捉到输入语句后面的真正意图,以此进行搜索,从而更准确地向用户返回最符合其需求的搜索结果。
语义搜索引擎进行推理及知识积累的基础与关键是知识库,而Ontology(本体)是知识库的基础。一般说来,本体提供一组术语和概念来描述某个领域,知识库则使用这些术语来表达某个领域真实或虚拟世界的正确知识。因此,建设知识库的第一步就是对该领域进行有效的Ontology分析。通过本体支持语义,支持人机间的交流,从而实现机器智能,为Web的发展带来了新契机。而本体在搜索引擎中的应用,必将对搜索引擎的易用性和效率产生极大的改进,从而使得Web用户能够更好地在浩如烟海的信息海洋中遨游。
当一组词大量出现在同一个文档中时,这些词之间就被认为是语义相关。举例来说,当用户输入“计算机”查询时,就会出现“电脑”、“微机”这两个常用词汇,这三者常被人们在文档中经常混用,在大量网页中也同时出现,因而搜索引擎会认为这三个词是极为语义相关的。
值得注意的是,潜在语义索引并不依赖于语言,比如“苹果”和“香蕉”这两个词会大量出现在相同的文档中,不过紧密度低于同义词。搜索引擎是否使用潜在语义索引,至今仍没有定论,但这种语义分析技术可以给我们在搜索引擎优化(SEO)上一些提示。
相关推荐