分詞預(yù)處理java代碼 java實現(xiàn)中文分詞

java編個中文分詞的程序

import?java.io.Reader;

成都網(wǎng)站制作、成都做網(wǎng)站介紹好的網(wǎng)站是理念、設(shè)計和技術(shù)的結(jié)合。成都創(chuàng)新互聯(lián)擁有的網(wǎng)站設(shè)計理念、多方位的設(shè)計風(fēng)格、經(jīng)驗豐富的設(shè)計團(tuán)隊。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營銷思維進(jìn)行網(wǎng)站設(shè)計、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。

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?=?"中文分詞的方法其實不局限于中文應(yīng)用,也被應(yīng)用到英文處理,如手寫識別,單詞之間的空格就很清楚,中文分詞方法可以幫助判別英文單詞的邊界";

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的分詞程序,功能就是計算輸入英文句子的單詞個數(shù)

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(" ");//轉(zhuǎn)換成數(shù)組

System.out.println("你輸入的句子共有單詞 "+s.length+" 個");//s.length獲取數(shù)組長度

}

}

//此程序只能獲取一句話的單詞個數(shù).

java如何分詞??

如果你的分詞規(guī)則是在一個字符串的開頭和結(jié)尾加上"_",然后兩個字符一分的話,代碼可以這樣寫:

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 = "計算機(jī)";

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

}

}

輸出結(jié)果:_計, 計算, 算機(jī), 機(jī)_

java語言中文分詞程序怎么編寫分詞程序正

現(xiàn)可以提供兩種思路:

1.String或是StringBuffer(建議用) 中的indexOf("中華")方法,查找給定的的字符串中是否有給定詞表中的詞。

2.借鑒編譯原理中的狀態(tài)裝換的思想。

先編寫一個狀態(tài)機(jī),用于測試給定字符串中的詞是否滿足詞表中的內(nèi)容。

寫在最后:1)建議使用第一種方法,因為在java 內(nèi)部實現(xiàn)的查找操作其實 和你想得思路是相同的,不過他的效率會高些。

2)如果個人的編程能力比較強(qiáng)或是不考慮效率只是想實現(xiàn)專有的分詞算法??梢允褂玫诙N方法。

3)以上的兩種方法都可以使用多線程來提高程序的效率。

網(wǎng)站標(biāo)題:分詞預(yù)處理java代碼 java實現(xiàn)中文分詞
分享地址:http://muchs.cn/article32/docohsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司移動網(wǎng)站建設(shè)、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)