中文分词的实现思路

来源:百度文库 编辑:神马文学网 时间:2024/05/01 22:27:07
现在的搜索引擎技术主要包括四个环节,网页抓取、超链分析、网页检索和搜索服务。分词就是把一句完整的话分成几个词,搜索引擎找出其中的关键词进行检索。中文分词是搜索服务的入口点,是中文搜索引擎的基础所在。有了良好的分词技术,才能真正让搜索引擎了解用户所需要的信息是什么。
写写中文分词的PHP实现思路(因为最近正在写个项目,暂时不能提供源代码,不过难度不大),虽然在各方面都还有待完善,但是整个流程还是比较完整的。
首先有关分词的基础知识:
分词技术研究报告
http://www.lw86.com/lunwen/computer/ai/3818.html
中文搜索引擎技术揭密:中文分词
http://www.shi8.com/286.html
推荐看些课件(北大中文系研究生的课程):
http://ccl.pku.edu.cn/doubtfire/Course/Chinese%20Information%20Processing/2002_2003_1.htm
http://ccl.pku.edu.cn/doubtfire/Course/Chinese%20Information%20Processing/contents/Chapter_07_1.ppt
第二. 语料库的准备
可以选用《人民日报》语料库,是北京大学计算语言学研究所与富士通公司(Fujitsu)合作的产品,加工2700万字的《人民日报》语料库,加工项目包括词语切分、词性标注、专有名词(专有名词短语)标注。在网上可以下载,不过不清楚是否免费,请自行搜索。
语料库要加工为词典,供PHP程序使用。
第三. 分词算法原理
最常用的是最大匹配法和最大概率法,为了加强精确度,避免歧义,可以结合多种算法。多种算法结合会导致速度下降,视项目要求采用。
第四. 分词的PHP实现
原理见上面推荐的PPT幻灯片,只不过是用PHP加载词典文件,再实现字符串的搜索而已。目前来看,效果还是不错的,但是效率不太高。没有办法,像PHP这种脚本语言,要求不能太高。接下来试试先用C写分词部份,再用PHP调用,测试一下效率。