网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

分词预处理java代码 java实现中文分词

java编个中文分词的程序

import java.io.Reader;

成都网站制作、成都做网站介绍好的网站是理念、设计和技术的结合。成都创新互联拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。

import java.io.StringReader;

import org.apache.lucene.analysis.*;

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) {

try {

Analyzer analyzer = new CJKAnalyzer();

Reader r = new StringReader(testString);

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

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

Token t;

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

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

}

} catch (Exception e) {

e.printStackTrace();

}

}

public static void testChiniese(String testString) {

try {

Analyzer analyzer = new ChineseAnalyzer();

Reader r = new StringReader(testString);

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

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

Token t;

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

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

}

} catch (Exception e) {

e.printStackTrace();

}

}

public static String transJe(String testString, String c1, String c2) {

String result = "";

try {

Analyzer analyzer = new MIK_CAnalyzer();

Reader r = new StringReader(testString);

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

Token t;

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

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

}

} catch (Exception e) {

e.printStackTrace();

}

return result;

}

public static void main(String[] args) {

try {

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

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

String sResult[] = transJe(testString, "gb2312", "utf-8").split(",");

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

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

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

jar包  

lucene-analyzers-2.4.1.jar

lucene-core-2.4.1.jar

IKAnalyzer2.0.2OBF.jar

java语言编写一个String的分词程序,功能就是计算输入英文句子的单词个数

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){

e.printStackTrace();

}

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

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

}

}

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

java如何分词??

如果你的分词规则是在一个字符串的开头和结尾加上"_",然后两个字符一分的话,代码可以这样写:

import java.util.ArrayList;

import java.util.List;

public class Participle

{

private static final String HEAD_END_STR = "_";

private static final int PARTICIPLE_LENGTH = 2;

public static void main(String[] args)

{

String exampleWord = "计算机";

exampleWord = "_" + exampleWord + "_";

int length = exampleWord.length();

ListString result = new ArrayListString();

for (int i = 0; i length - 1; i++)

{

String str = exampleWord.substring(i, i + PARTICIPLE_LENGTH);

result.add(str);

}

System.out.println(result);

}

}

输出结果:_计, 计算, 算机, 机_

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

现可以提供两种思路:

1.String或是StringBuffer(建议用) 中的indexOf("中华")方法,查找给定的的字符串中是否有给定词表中的词。

2.借鉴编译原理中的状态装换的思想。

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

写在最后:1)建议使用第一种方法,因为在java 内部实现的查找操作其实 和你想得思路是相同的,不过他的效率会高些。

2)如果个人的编程能力比较强或是不考虑效率只是想实现专有的分词算法。可以使用第二种方法。

3)以上的两种方法都可以使用多线程来提高程序的效率。


网站标题:分词预处理java代码 java实现中文分词
转载注明:http://bjjierui.cn/article/docohsc.html

其他资讯