-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Home
ansjsun edited this page Sep 7, 2012
·
14 revisions
Welcome to the ansj_seg wiki!
上面是系统打的呵呵..欢迎使用ansj分词
我不废话了..直接上干货吧.演示下分词的调用方式,当然用他之前强烈建议你吧内存调大(不是让你买内存去).不得不说.他是个内存消耗大户.
不会调内存????其实我也不会.呵呵 在eclipse中Run As--> Run Configurations--> Arguments 找到个框框 VM Arguments写上:-Xms1024m -Xmx1024m
如果你空闲内存连1G都木有.有两个办法.1.买内存or换机器 2.删除用户词典(强烈不建议)
1.这是一个标注的调用方式
import org.ansj.domain.Term;
import org.ansj.splitWord.Analysis;
import org.ansj.splitWord.analysis.ToAnalysis;
/**
* 标注的分词方式,这里面的流你可以传入任何流.除了流氓
* @author ansj
*/
public class Demo {
public static void main(String[] args) throws IOException {
Analysis udf = new ToAnalysis(new StringReader("Ansj中文分词是一个真正的ict的实现.并且加入了自己的一些数据结构和算法的分词.实现了高效率和高准确率的完美结合!"));
Term term = null ;
while((term=udf.next())!=null){
System.out.print(term.getName()+" ");
}
}
}
2.这是一个简易的调用方式
import org.ansj.domain.Term;
import org.ansj.splitWord.Analysis;
import org.ansj.splitWord.analysis.ToAnalysis;
/**
* 最最最简单的分词调用方式
* @author ansj
*
*/
public class SimpleDemo {
public static void main(String[] args) throws IOException {
List paser = ToAnalysis.paser("Ansj中文分词是一个真正的ict的实现.并且加入了自己的一些数据结构和算法的分词.实现了高效率和高准确率的完美结合!");
System.out.println(paser);
}
}
3.如何做词性标注,词性标注是需要在分词结果后调用词性标注.下面写一个简单的方式.有针对文件的词性标注特殊的处理办法.不要着急
import org.ansj.domain.Term;
import org.ansj.splitWord.analysis.ToAnalysis;
import org.ansj.util.recognition.NatureRecognition;
/**
* 词性标注
* @author ansj
*/
public class NatureDemo {
public static void main(String[] args) throws IOException {
List terms = ToAnalysis.paser("Ansj中文分词是一个真正的ict的实现.并且加入了自己的一些数据结构和算法的分词.实现了高效率和高准确率的完美结合!");
new NatureRecognition(terms).recogntion() ;
System.out.println(terms);
}
}
以上这些结果你会看到
[ansj/en, 中文/nz, 分/q, 词/n, 是/v, 一个/m, 真正/d, 的/uj, ict/en, 的/uj, 实现/v, ./m, 并且/c, 加入/v, 了/ul, 自己/r, 的/uj, 一些/m, 数据结构/userDefine, 和/c, 算法/n, 的/uj, 分词/n, ./m, 实现/v, 了/ul, 高/a, 效率/n, 和/c, 高/a, 准确率/n, 的/uj, 完美/a, 结合/v, !/null]
完毕收工.