网站首页 > 文章中心 > 其它

java分词器研究代码

作者:小编 更新时间:2023-10-17 18:19:01 浏览量:120人看过

java语言中文分词程序怎么编写

现可以提供两种思路:

①String或是StringBuffer(建议用)

java分词器研究代码-图1

中的indexOf("中华")方法,查找给定的的字符串中是否有给定词表中的词.

先编写一个状态机,用于测试给定字符串中的词是否满足词表中的内容.

写在最后:1)建议使用第一种方法,因为在java

内部实现的查找操作其实

和你想得思路是相同的,不过他的效率会高些.

java编个中文分词的程序

import?java.io.Reader;

import?java.io.StringReader;

import?org.apache.lucene.analysis.*;

java分词器研究代码-图2

import?org.apache.lucene.analysis.cjk.CJKAnalyzer;

import?org.apache.lucene.analysis.cn.ChineseAnalyzer;

import?org.apache.lucene.analysis.standard.StandardAnalyzer;

import?org.mira.lucene.analysis.MIK_CAnalyzer;

public?class?JeAnalyzer?{

public?static?void?testStandard(String?testString)?{

try?{

Analyzer?analyzer?=?new?StandardAnalyzer();

Reader?r?=?new?StringReader(testString);

StopFilter?sf?=?(StopFilter)?analyzer.tokenStream("",?r);

System.err.println("=====standard?analyzer====");

Token?t;

while?((t?=?sf.next())?!=?null)?{

System.out.println(t.termText());

}

}?catch?(Exception?e)?{

e.printStackTrace();

public?static?void?testCJK(String?testString)?{

Analyzer?analyzer?=?new?CJKAnalyzer();

System.err.println("=====cjk?analyzer====");

public?static?void?testChiniese(String?testString)?{

Analyzer?analyzer?=?new?ChineseAnalyzer();

TokenFilter?tf?=?(TokenFilter)?analyzer.tokenStream("",?r);

System.err.println("=====chinese?analyzer====");

while?((t?=?tf.next())?!=?null)?{

String?result?=?"";

Analyzer?analyzer?=?new?MIK_CAnalyzer();

TokenStream?ts?=?(TokenStream)?analyzer.tokenStream("",?r);

while?((t?=?ts.next())?!=?null)?{

java分词器研究代码-图3

result?+=?t.termText()?+?",";

return?result;

public?static?void?main(String[]?args)?{

String?testString?=?"中文分词的方法其实不局限于中文应用,也被应用到英文处理,如手写识别,单词之间的空格就很清楚,中文分词方法可以帮助判别英文单词的边界";

System.out.println("测试的语句?"+testString);

for?(int?i?=?0;?i?sResult.length;?i++)?{

System.out.println(sResult[i]);

jar包?

求高手给我用java编写一个英文单词分词器

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class Danci {

public static void main(String[] args){

String str = new String();

System.out.print("请输入一个英文句子:");

try{

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//获取键盘输入

str = br.readLine();

}catch(IOException e){

String []s = str.split(" ");//转换成数组

System.out.println("你输入的句子共有单词 "+s.length+" 个");//s.length获取数组长度

//此程序只能获取一句话的单词个数.

以上就是土嘎嘎小编为大家整理的java分词器研究代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章