海量分词研究版java接口

海量分词研究版java接口
import java.io.*;
import java.util.*;

public class fc {
 //初始化海量分词系统,加载分词用数据。
 public static synchronized native boolean HLSplitInit();

 //卸载海量自动分词系统,释放分词系统所占资源
 public static synchronized native void HLFreeSplit();

 //分词:用到的接口有:
 //HANDLE HLOpenSplit()  创建自动中文分词结果句柄。
 //bool HLSplitWord(HANDLE hHandle , LPCTSTR lpText , int iExtraCalcFlag=0)  对一段字符串分词
 //int HLGetWordCnt(HANDLE hHandle)  获得分词结果的个数
 //SHLSegWord* HLGetWordAt(HANDLE hHandle , int nIndex)  获得指定的分词结果
 //void HLCloseSplit(HANDLE hHandle) 关闭海量分词句柄
 public synchronized native String seg(byte[] text, int nWordPos,
   int nKeyWords, int nFinger, int nForSearcher);

 //0=====>没有附加计算的分词结果 int nWordPos == 0
 //1=====>结果加注词性 int nWordPos == 1
 //2=====>显示关键词的相关信息 int nKeyWords == 1
 //3=====>显示语义指纹  int nFinger == 1
 //4=====>面向检索的分词结果  int nForSearcher == 1

 //装载用户自定义词典
 public static synchronized native boolean HLOpenUsrDict(byte[] fileName);

 //卸载用户自定义词典
 public static synchronized native void HLFreeUsrDict();

 public fc() {
  fc.HLSplitInit();
 }

 public static void main(String[] args) throws IOException {
  fc fcinstance = new fc();
  String s = "", segstr = "";

  try {
   FileReader fr = new FileReader("1001.txt");
   BufferedReader br = new BufferedReader(fr);
   while ((s = br.readLine()) != null) {
    segstr += s + "/n";
   }
   fr.close();
   br.close();
  } catch (IOException ex) {
   ex.printStackTrace();
  }

  //System.out.println("result:"+fc.HLSplitInit());

  long start = System.currentTimeMillis();

  String result = fcinstance.seg(segstr.getBytes(), 1, 1, 1, 0);
  
  String[] counts = fcinstance.seg(segstr.getBytes(),0,0,0,0).split(" ");
  
  int pp = 0;
  for(int i = 0; i<counts.length; i++){
   if(counts[i].equalsIgnoreCase("人工智能"))
    pp++;
  }
  System.out.println(pp);

  long end = System.currentTimeMillis();

  fcinstance.HLFreeSplit();

  System.out.println("/n用时:" +(end - start)+"ms/n"+ result);
 }

 static {
  System.loadLibrary("fc");
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值