中文分词算法
来源:互联网 发布:linux 安装ping命令 编辑:程序博客网 时间:2024/05/01 09:41
中文分词一向是搜索引擎中的难点,总结了一个简单的算法,由此可以推出逆向最大匹配,当然还有最大概率匹配
import java.lang.*;
import java.io.*;
import java.util.*;
public class FMMSegment
{
Dictionary dic;
public FMMSegment()
{
}
public FMMSegment(Dictionary newDic)
{
dic = newDic;
}
public int wordSegment(String Sentence)
{
int senLen = Sentence.length();
int i=0, j=0;
int M=12;
String word;
boolean bFind = false;
while(i < senLen)
{
int N= i+M<senLen ? i+M : senLen+1;
bFind=false;
for(j=N-1; j>i; j--)
{
word = Sentence.substring(i, j);
if(dic.Find(word))
{
System.out.print(word + " ");
bFind=true;
i=j;
break;
}
}
if(bFind == false)
{
word = Sentence.substring(i, i+1);
System.out.print(word + " ");
i=j+1;
}
}
System.out.println();
return 1;
}
public void fileSegment(String fileName)
{
try
{
BufferedReader in = new BufferedReader(
new FileReader(fileName) );
String s;
while((s = in.readLine()) != null)
{
wordSegment(s);
}
}
catch (IOException e)
{
System.out.println(e);
}
}
}
import java.lang.*;
import java.io.*;
import java.util.*;
public class FMMSegment
{
Dictionary dic;
public FMMSegment()
{
}
public FMMSegment(Dictionary newDic)
{
dic = newDic;
}
public int wordSegment(String Sentence)
{
int senLen = Sentence.length();
int i=0, j=0;
int M=12;
String word;
boolean bFind = false;
while(i < senLen)
{
int N= i+M<senLen ? i+M : senLen+1;
bFind=false;
for(j=N-1; j>i; j--)
{
word = Sentence.substring(i, j);
if(dic.Find(word))
{
System.out.print(word + " ");
bFind=true;
i=j;
break;
}
}
if(bFind == false)
{
word = Sentence.substring(i, i+1);
System.out.print(word + " ");
i=j+1;
}
}
System.out.println();
return 1;
}
public void fileSegment(String fileName)
{
try
{
BufferedReader in = new BufferedReader(
new FileReader(fileName) );
String s;
while((s = in.readLine()) != null)
{
wordSegment(s);
}
}
catch (IOException e)
{
System.out.println(e);
}
}
}
- 中文分词算法
- 中文机械分词算法
- 中文分词算法
- 中文分词算法
- 中文分词算法总结
- 中文分词算法
- 中文分词常用算法
- 中文分词算法
- 中文分词算法
- 中文分词算法
- 漫话中文分词算法
- 漫话中文分词算法
- 中文分词算法经典
- 中文分词算法总结
- 中文分词算法笔记
- 漫话中文分词算法
- MMSEG 中文分词算法
- 百度中文分词算法
- winxp 系统Server Application Unavailable 错误
- iPhone视频播放器例子
- sql删除重复记录效率比较
- 一篇论文
- 近日想做个小功能,想用access来做,想放到相对目录中,但还从来没有用java连接过access,于是又长了回经验.
- 中文分词算法
- collection系列
- 未能加载文件或程序集“System.Web.Extensions, Version=1.0.61025.0, Culture=neutral
- 利用java的keytool创建keystore和certificate的简单命令
- 控制div位置和创建QQ临时对话
- 龙芯购买MIPS指令集的授权
- 最短编辑距离算法
- 使用ifstream和getline读取文件内容[c++]
- 因为单元格处于编辑状态,OFFICE控件报IO异常 之 变通解决之道