『壹』 用java讀取文檔並分詞。
需要commons-io包,或者自己寫讀文件的部分
importjava.io.File;
importjava.io.IOException;
importjava.util.ArrayList;
importjava.util.Collections;
importjava.util.Comparator;
importjava.util.List;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
importorg.apache.commons.io.FileUtils;
publicclassTest20{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Stringstr=null;
try{
str=FileUtils.readFileToString(newFile("e.txt"));
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
Patternp=Pattern.compile("\b[\w-']+\b");
Matcherm=p.matcher(str);
List<Word>words=newArrayList<Word>();
while(m.find()){
add(words,m.group().trim());
}
Collections.sort(words,newComparator<Word>(){
@Override
publicintcompare(Wordo1,Wordo2){
//TODOAuto-generatedmethodstub
returno1.getWord().compareTo(o2.getWord());
}});
System.out.println(words);
}
privatestaticvoidadd(List<Word>words,Stringword){
//TODOAuto-generatedmethodstub
for(Wordtemp:words){
if(temp.getWord().equals(word)){
temp.setCount(temp.getCount()+1);
return;
}
}
Wordw=newWord();
w.setWord(word);
words.add(w);
}
}
classWord{
privateStringword;
privateintcount=1;
publicStringgetWord(){
returnword;
}
publicvoidsetWord(Stringword){
this.word=word;
}
publicintgetCount(){
returncount;
}
publicvoidsetCount(intcount){
this.count=count;
}
@Override
publicStringtoString(){
return"Word[word="+word+",count="+count+"]";
}
}
『貳』 用java怎麼寫出算一段英文單詞總數和每個單詞出現的次數
importjava.util.*;
importjava.util.regex.*;
publicclassYugi{
publicstaticvoidmain(String[]args){
Stringwords="Lookbuddy,,,Icanguaranteethatyouwin.";
Stringreg="[a-zA-Z]+";
Patternp=Pattern.compile(reg);
Matcherm=如州p.matcher(words);
HashMap<String,Integer>map=new配碧HashMap<String,Integer>();
intcount=0;
while(m.find()){
count++;
Stringw=m.group();
if(null==map.get(w)){
map.put(w,1);
渣賣蔽}else{
intx=map.get(w);
map.put(w,x+1);
}
}
System.out.println(count);
System.out.println(map);
}
}
『叄』 用java或c編寫,給定包含所有單詞的英文字典,將一串英文字母分割成句子
這個不鬥模好實現吧,就你那個例子同時它可以分成 "thisis atest".
而且網路翻辯襪譯那些軟體攜銷激,句子的單詞之間也是需要空格隔開的。
『肆』 java word分詞器怎樣安裝在java中
word分詞是一個Java實現的分布式的中文分片語件,提供了多種基於詞典的分詞演算法,並利用ngram模型來消除歧義。
如果需要安裝word分詞器可以參考下面的步驟:
JDK官網:http://www.oracle.com/technetwork/java/javase/downloads/index.html
Eclipse官網:http://www.eclipse.org
打開word分詞器的官方github主頁:https://github.com/ysc/word
導入成功之後就可以在自己的項目中使用word分詞器了。
『伍』 java中文分詞為什麼用「ik」
為什麼呢?因為Lucene自帶的分詞器比較適合英文的分詞,而IK首先是一個中文的分詞器。x0dx0a具體的優點先不細說,單說分詞的結果來看:x0dx0ax0dx0a1 比如說 我愛北京棗兄x0dx0ax0dx0a使用自帶的分詞 我/愛/北/京x0dx0aIK分詞 我/愛/北京x0dx0a2 可以自己擴展詞典x0dx0a有很多分詞器是不能夠進行自己擴展詞典的,有自己的詞典,導致分詞的結果才是自己想凳旁襲要的結果。x0dx0a3 可以自己定義停用詞字典x0dx0a4 和Lucene結合比較高,有很多封裝好啟亂的模塊。用來檢索非常順手。x0dx0a當然,IK自2012年已經不再維護了。後面有出現了很多其他的分詞器。
『陸』 java用什麼分詞器去 標注英文單詞的詞性
可宴悶畝以試試stanford Tagger, 網路搜索下stanford Tagger。
中文晌森罩昌詞性標注可以用hanlp.
『柒』 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 jieba分詞怎麼用
網頁鏈接這個網站
成功了,可喜可賀。
『玖』 誰來推薦一個JAVA的分詞工具
java讀取中文分詞工具:linger
Java開源中文分詞器
1、word分詞器
2、Ansj分詞器
3、Stanford分詞器
4、FudanNLP分詞器
5、Jieba分詞器
6、Jcseg分詞器
7、MMSeg4j分詞器
8、IKAnalyzer分詞器
9、Paoding分詞器
10、smartcn分詞器
『拾』 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();
List<String> result = new ArrayList<String>();
for (int i = 0; i < length - 1; i++)
{
String str = exampleWord.substring(i, i + PARTICIPLE_LENGTH);
result.add(str);
}
System.out.println(result);
}
}
輸出結果:_計, 計算, 算機, 機_