频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

搜索引擎之中文分词实现(java版)

来源:CSDN 作者: 出处:巧巧读书 2007-06-18 进入讨论组
下一页 1 2 3 

前几天读到google研究员吴军的数学之美系列篇,颇有感触。而恰好自己前段时间做了个基于统计语言模型的中文切分系统的课程项目,于是乎,帖出来与大家共同学习。

分词技术在搜索引擎,信息提取,机器翻译等领域的重要地位与应用就不敖述了。步入正题:)

 一、  项目概述

本切分系统的统计语料是用我们学校自己开放的那部分,大家可以在 这里 下载,中文字符约184万,当然这都是已切分好了的,可以用此建立一个比较小的语料库。本系统我主要分下面四个步骤完成:

1、  语料预处理

2、  建立 2-gram(统计二元模型)

3、  实现全切分

4、  评估测试

下面我分别对这四个方面一一道来。

 1、  语料预处理

  下载的已切分的语料都是形如“19980131-04-012-001/m  现实/n  的/u  顿悟/vn  却/d  被/p  描/v  出/v  形/Ng  来/v  。/w ” ,有的前面还保留了日期编号,因为这些切分语料的来源是人民日报。预处理主要是按标点符号分句,句子简单定义为( 。?! : ;)这五种标点符号结尾的词串,句子首尾分别添加<BOS>和<EOS>这两个表示句子开始和结束的标记,这在2-gram建模时要用的,后面会提到。处理过程中,忽略词类信息和前面的日期信息,因为我这个切分系统不考虑词类标注。如前面这句预处理后应该为下面形式 “<BOS>现实 的 顿悟 却 被 描 出 形 来 。<EOS>” ,当然切分词之间你可以用你想用的符号标记,而不必是空格。因为考虑到所有的英文字符和数字的ASCII,我用了下面方法实现之:

     out ; //输出流      

in;  //输入流

StringBuffer s1 = new StringBuffer();     //缓冲

char a = in.read();

while (a != -1)             //判断是否已到流的终点

{                 

      if ((a == '。' || a == '?' || a == '!' || a == ':' || a == ';' ))  //一句结束

{            

             String s2 = new String(s1);

             out.write("<BOS>");                //在句子前加 <BOS>

             out.write(s2);

             out.write("<EOS>");                    //在句子末尾加 <EOS>

             out.write('/n');        //换行

             s1 = new StringBuffer();

      }

else if ( a == '/')                         

s1 = s1.append((char)32);   //分词位置空格

      else if (a > 256 )                         

             s1 = s1.append((char)a);      

a = in.read();                                                        

}

out.close(); 

in.close();

 

本文:http://www.qqread.com/java/2007/06/v317390.html 更多文章 更多内容请看SQL Server 索引和查询专题Java环境安装配置Java编程开发手册专题,或进入讨论组讨论。
下一页 1 2 3 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章