花旗队分词技术
徐亚渤
1、 什么是分词技术?
分词技术就是 SE 针对用户提交查询的关键串进行的查询处理后根据用户的关键词串用
各种匹配方法进行的一种技术。
2、 介绍分词技术之前,有必要对搜索引擎技术做一下简单的介绍:
搜索引擎,搜,就是大量信息的抓取,抓取回来后的信息进行智能提取,排重,质量分
析等处理。索,就是大量处理后信息的存储,信息排序,快速查询等。引擎,就是指系
统不但能够存储亿级数据,而且还能够有巨大的并发处理能力。这样的系统才有资格叫
做引擎。搜的工作主要是爬虫程序的设计,这项工作是王正迪和周轩轾做的,索的工作
我们借助的是开源的中文检索引擎,
coreseek,
其中包含了排序算法,
中文分词等技术。
我所做的工作就是将用户输入的需要查询的信息进行分词, coreseek 的基础之上做进
在
一步的优化。
搜索引擎所涉及的关键技术有:
1、 网络爬虫
2、 中英文分词语言处理
3、 排序算法
4、 查询/存储技术
网络爬虫是一个自动提取网页的程序,它为搜索引擎从因特网上下载网页。网络爬虫能
抓取静态网页,动态网页,特殊内容,文件对象等,采用多线程的方式。分词顾名思义
就是将用户的输入分为一个个词,通过词来建立索引进行查询,所以分词是查询存储技
术的前提。
对于英文来讲,
我们可以简单的通过空格和标点符号,
便可成功地进行分词,
但是对于以汉语为代表的东亚语系,分词便没有那么简单了。或许我们会想到将一段汉
语的每一个字都分为一个词,但是显然这种分词方法的搜索结果不会令人满意。因此找
到一种合适的中分分词方法是我们此次花旗杯我的主要任务。而且对于搜索引擎而言,
分词速度比分词准确率要更重要。分词的话我们就需要词库,词库的建立还需要依赖于
经管院的专业人士,艾迪。排序算法决定了各个网页、图片、mp3 等数据的重要性排列
顺序。这项工作交给王正迪,其实 coreseek 就能完成的,这是他负责的。最后一项查询
存储,这当然还是 coreseek 的工作。主要包括系统如何去存储上百亿的网页数据,如何
科学高效的提供搜索结果。数据存储部分则主要包括两部分,一个是网页数据。另一个
是词库索引数据,它包括中文词库,英文单词,每个字词对应网页编号队列。
这样的话,呈现在我面前的搜索引擎技术就相当简单了吧,其实我只需要看的是上图中
的右半部分,
在我跟前有一个数据库 Index,
这个数据库是一个词——网页 索引数据库,
而用户输入的不是词,可能是一个句子,因而如果我们想索引到特定的网页,就必须先
分词,我当然也可以利用左半部分中的中文词库,英文词库等数据库来为我的分词算法
提供支持。至于 Index 数据库是如何构建的,这虽然是搜索引擎中最重要的部分,但是
与我无关,我研究的是分词(其实这个数据库的构建前面也讲了,主要是爬虫爬网页等
对象,然后通过内容提取等技术,来构建该数据库)
,另外我还要注意排序算法和词库
的更新,只是注意,因为这两块主要由王正迪和艾迪负责。
下面是搜索“屈波搜索引擎”的简要图解:先分词,然后
在 Index 数据库中找到各个词的索引队列之后,再做逻辑运算:
最后得出的网页序列便是搜索结果。
3、 分词算法
中文分词的基本操作:
1、 把用户提交的字符串没有超过 3 个的中文字,就会直接到数据库索引词汇。超过 4
个中文字的,
首先用分隔符比如空格,
标点符号,
将查询串分割成若干子查询串。
2、
然后再看用户提供的这个词有没有重复词汇。如果有的话,会丢弃掉,默认为一个
词汇。接下来检查用户提交的字符串,有没有字母和数字。如果有的话,就把字母
和数字认为一个词。
一般通过三种方式进行中文分词:
1、 字符串匹配法
2、 词义分析法
3、 统计分词法
由于字符串匹配法比较成熟,所以我们会采取该种方法来进行中文分词。可能会结合统
计分词法。由于词义分析法目前还不成熟,因而我们可能不会用到此种方法。
其中,字符串匹配法又可分为:
1、 正向最大匹配法
2、 反向最大匹配法
3、 最短路径法
在这里我还会系统学习一个 MMSeg 分词法,它是 coreseek 采用的中文分词方法。我问
了一下浣熊,他说他们当时采取的是在 MMSeg 分词法的基础上做了一点点改变。目前
我正在联系做分词那块的人,由于他总是不上 gtalk,所以目前还没联系的上。= = 。不
过现在需要学习的很多,那方面还不太急。
MMSeg 分词算法很好实现,网上也有很多的实现。而且我现在的能力很难做到创造一
种新算法,比 MMSeg 算法的分词速度,准确度更高,毕竟它是多名学者不断努力的结
果,尽管它是开源的。因而我准备接下来以 MMSeg 分词算法为根基,基本目标是用
python 实现,满足我们的基本需求。当然,我一定会尽力看更多的文章,看能不能找到
更好的基于 MMSeg 分词算法的分词思想,对 MMSeg 分词算法做进一步的改进。
先写到这吧。该期中考试了。。 T
。。T
Reference:
漫话中文分词 http://www.matrix67.com/blog/archives/4212
MMSeg 分词算法探究 http://www.0ssifrage.com/blog/archives/78
漫话语义分析 http://www.matrix67.com/blog/archives/4870