1、首先需要构建自然语言处理的LTP的框架

(1)需要下载LTP的源码包即c++程序(https://github.com/HIT-SCIR/ltp)下载完解压缩之后的文件为ltp-master

(2)需要下载LTP4j的封装包(https://github.com/HIT-SCIR/ltp4j),下载完解压缩之后的文件为ltp4j-master

(3)需要下载cmake并且安装

(4)需要下载ant用来编译LTP4j,将LTP4j文件编译成ltp.jar文件,最后在myeclipse中引用它

2、首先编译ltp4j-master

直接进入ltp4j-master的文件夹中,运行ant命令,然后就会生成一个

output的文件夹,里边是

jar包就在jar文件夹下。

3、编译ltp-master的c++文件源码

这个不会编译实在太复杂了,所以直接上网找了个编译好的,下了下来。大家可以上以下这个地址中去找去,下载64位已经编译好的动态链接库

http://download.csdn.net/index.php/mobile/source/download/sv2008337/9471357

4、构建java项目,然后进行分词测试

构建的java项目如上图所示,ltp4j.jar文件就是第2步中编译出来的jar包。

edu.hit.ir.ltp4j是从ltp4j-master文件夹中直接拷过来的。

ltp_data文件是分词的词库,据我们经理说现在都是用字典分词来着,所以肯定要有词库的,这个词库在这里是从下边这里拷进来的。

好吧是我从网上下的,这里骗了大家了。

下面来说卡了我时间最长的一步,就是通过jni来调用dlll动态链接库,因为这需要引入动态链接库的library

就是下边这样,在这里配置你的dlll文件库在哪里,在我的电脑中是在,下下张图上边

上面这张图也就是我从第3步中从网上下下来的dlll库,直接在java文件中配置就可以了

5、分词测试

  经过了上面的准备工作我们就真的可以开始进行分词测试了

(1)分词功能测试

/**
* 1,分词功能测试
*/
@Test
public void test1(){
if(Segmentor.create("ltp_data/cws.model")<0){
System.err.println("load failed");
return;
} String sent = "我是中国人";
List<String> words = new ArrayList<String>();
int size = Segmentor.segment(sent,words); for(int i = 0; i<size; i++) {
System.out.print(words.get(i));
if(i==size-1) {
System.out.println();
} else{
System.out.print("\t");
}
}
Segmentor.release();
}

结果如下所示:

(2)词性标注功能测试

/**
* 词性标注功能测试
*/
@Test
public void testPosTag(){
if(Postagger.create("ltp_data//pos.model")<0){
System.err.println("加载失败!");
return;
}
List<String> words = new ArrayList<String>();
words.add("我");
words.add("从事");
words.add("自然");
words.add("语言");
words.add("处理");
words.add("方面");
words.add("的");
words.add("工作");
words.add("!");
List<String> postags = new ArrayList<String>();
int size = Postagger.postag(words, postags);
for (int i = 0; i < size; i++) {
System.out.println(words.get(i)+"_"+postags.get(i));
if(i==size-1){
System.out.println();
}else{
System.out.println("|");
}
}
Postagger.release();
}

结果如下所示:

43、哈工大NLP自然语言处理,LTP4j的测试+还是测试的更多相关文章

  1. NLP 自然语言处理实战

    前言 自然语言处理 ( Natural Language Processing, NLP) 是计算机科学领域与人工智能领域中的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和 ...

  2. flask 第六章 人工智能 百度语音合成 识别 NLP自然语言处理+simnet短文本相似度 图灵机器人

    百度智能云文档链接 : https://cloud.baidu.com/doc/SPEECH/index.html 1.百度语音合成 概念: 顾名思义,就是将你输入的文字合成语音,例如: from a ...

  3. APP敏捷测试,测试和开发并行!

    测试和开发具有同等重要的作用,从一开始,测试和开发就是相向而行的.测试是开发团队的一支独立的.重要的支柱力量. 测试要具备独立性,独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具 ...

  4. 软件测试 -- 和用户共同测试(UAT测试)的注意点有哪些

    软件产品在投产前,通常都会进行用户验收测试.如果用户验收测试没有通过,直接结果就是那不到“Money”,间接影响是损害了公司的形象,而后者的影响往往更严重.根据作者的经验,用户验收测试一定要让用户满意 ...

  5. 衣联网络-亿能测试 安全测试沙龙 PPT资料免费下载

    衣联网络-亿能测试 安全测试沙龙 PPT资料免费下载http://automationqa.com/forum.php?mod=viewthread&tid=2304&fromuid= ...

  6. 冒烟测试、α测试、Beta测试、性能测试

    “冒烟测试”(也可称为showcase)这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程. 冒烟测试(smoke test)在测试中发现问题,找到了一个Bug,然后开发人员会 ...

  7. Apache JMeter开源压力测试/负载测试工具 2.12 官方最新版

    软件介绍   Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用. 如何学 ...

  8. JUit——(三)JUnit核心对象(测试、测试类、Suit和Runner)

    JUnit的核心对象:测试.测试类.测试集(Suite).测试运行器 1. 测试: @Test注释的.公共的.不带有任何参数.并且返回void类型的方法 2. 测试类: 公共的,包含对应类的测试方法的 ...

  9. app测试--稳定性测试

    稳定性测试的概念有2种, 一, 稳定性测试,对应于异常性测试,即发生异常情况时,系统如何反应的测试.包含: 1 交互性测试,被打扰的情况,如来电,短信,低电量等.这些其实在上章的功能测试中有提到. 2 ...

随机推荐

  1. MSSQL-实用小工具

    1.创建查询辅助表 create table nums (n int not null) alter table nums add constraint PK_NUMS primary key clu ...

  2. pt-table-checksum 检查主从数据一致性

    http://www.cnblogs.com/xiaoyanger/p/5584554.html http://www.cnblogs.com/gomysql/p/3662264.html https ...

  3. ubuntu安装php5.3

    sudo -i wget http://in1.php.net/distributions/php-5.3.29.tar.bz2 .tar.bz2 cd php- apt-get install li ...

  4. jquery 操作select 资料

    每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"></select&g ...

  5. highchart 中数据千分位显示为空格而不是逗号的解决方案

    thousandsSep: String   一千的分隔符 在highcharts.js 中找到  thousandsSep位置,把"" 改为  ","

  6. 代码安装apk文件

    Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); Uri uri = Uri.fromFile(file); in ...

  7. python调用外部子进程,通过管道实现异步标准输入和输出的交互

    我们通常会遇到这样的需求:通过C++或其他较底层的语言实现了一个复杂的功能模块,需要搭建一个基于Web的Demo,方法查询数据.由于Python语言的强大和简洁,其用来搭建Demo非常合适,Flask ...

  8. LSOF 安装与使用

    linux上安装: tar zxvf lsof_4.76.tar.gz cd lsof_4.76 ls 00.README.FIRST_4.76 lsof_4.76_src.tar.gz README ...

  9. java异常笔记

    1:<java核心技术卷一>473页提到:如果在子类中覆盖了超类的一个方法,子类方法中声明的已检查异常不能超过超类方法中声明的异常范围. 显然,如果子类中抛出的异常范围比超类还大.多态将无 ...

  10. WindowsFormsHost使用问题

    WindowsFormsHost使用问题 WPF WindowsFormsHost 类 允许在 WPF 页面上承载 Windows Forms控件的元素. 命名空间:  System.Windows. ...