package edu.fudan.example.nlp;
import java.util.ArrayList;
import edu.fudan.ml.types.Dictionary;
import edu.fudan.nlp.cn.tag.CWSTagger;
/**
* 分词使用示例
* @author xpqiu
*
*/
public class ChineseWordSegmentation {
/**
* 主程序
* @param args
* @throws IOException
* @throws
*/
public static void main(String[] args) throws Exception {
//创建文件模型,CWTagger from AbstractTagger--为 Linear cl 赋值;
//Linear 为线性分类器
CWSTagger tag = new CWSTagger("./models/seg.m");
System.out.println("不使用词典的分词:");
String str = " 媒体计算研究所成立了, 高级数据挖掘(data mining)很难。 ";
String s = tag.tag(str);
System.out.println(s);
//设置英文预处理
tag.setEnFilter(true);
s = tag.tag(str);
System.out.println(s);
tag.setEnFilter(false);
//注:词典里只能有中文字符,英文与数字不支持
System.out.println("\n设置临时词典:");
ArrayList<String> al = new ArrayList<String>();
al.add("数据挖掘");
// al.add("媒体计算研究所");
Dictionary dict = new Dictionary(false);
dict.addSegDict(al);
tag.setDictionary(dict);
s = tag.tag(str);
System.out.println(s);
CWSTagger tag2 = new CWSTagger("./models/seg.m", new Dictionary("./models/dict.txt"));
System.out.println("\n使用词典的分词:");
String str2 = "媒体计算研究所成立了, 高级数据挖掘很难";
String s2 = tag2.tag(str2);
System.out.println(s2);
//使用不严格的词典
CWSTagger tag3 = new CWS
FudanNLP学习实例——中文分词部分
最新推荐文章于 2024-03-07 11:40:11 发布