43、哈工大NLP自然语言处理,LTP4j的测试+还是测试

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();
    }

结果如下所示:

时间: 2024-08-10 05:57:28

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

NLP | 自然语言处理 - 语法解析(Parsing, and Context-Free Grammars)

什么是语法解析? 在自然语言学习过程中,每个人一定都学过语法,例如句子可以用主语.谓语.宾语来表示.在自然语言的处理过程中,有许多应用场景都需要考虑句子的语法,因此研究语法解析变得非常重要. 语法解析有两个主要的问题,其一是句子语法在计算机中的表达与存储方法,以及语料数据集:其二是语法解析的算法. 对于第一个问题,我们可以用树状结构图来表示,如下图所示,S表示句子:NP.VP.PP是名词.动词.介词短语(短语级别):N.V.P分别是名词.动词.介词. 实际存储的时候上述的树可以表示为(S (NP

NLP | 自然语言处理 - 标注问题与隐马尔科夫模型(Tagging Problems, and Hidden Markov Models)

什么是标注? 在自然语言处理中有一个常见的任务,即标注.常见的有:1)词性标注(Part-Of-Speech Tagging),将句子中的每个词标注词性,例如名词.动词等:2)实体标注(Name Entity Tagging),将句子中的特殊词标注,例如地址.日期.人物姓名等. 下图所示的是词性标注的案例,当输入一个句子时,计算机自动标注出每个词的词性. 下图所示的是实体标注的案例,当输入一个句子时,计算机自动标注出特殊词的实体类别. 粗略看来,这并不是一个简单问题.首先每个词都可能有多个含义,

前端测试代码测试

一:前端测试的背景.为什么做测试 1.测试分类 (1).TDD(Test-Driven Development) 测试驱动开发(2).BDD(Behavior Drive Development) 行为驱动开发 它通过用自然语言书写非程序员可读的测试用例扩展了测试驱动开发方法 这让开发者得以把精力集中在代码应该怎么写,而不是技术细节上 - 伪代码(3).DDD(Domain Drive Design) 领域驱动开发 各个层次之间的调用问题 DDD是告诉我们如何做好业务层!并以领域驱动设计思想来选

Android Day02-Android中单元测试(junit测试)&monkey测试

Android中junit测试有2种实现方式 第1种:一般Android工程的实现方式 1.在清单文件中添加2项内容 首先在AndroidManifest.xml中加入下面红色代码: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.itcast.action" android:versionCode="1"  android:v

【转】测试思考——测试人员需要具备哪些素质?

之前写的文章,今天分享出来 测试人员需要具备哪些素质? 测试人员需要具备哪些技能? 软件测试知识:测试计划.测试方案.编写用例.提交bug.跟踪bug,编写测试报告 测试工具的使用 操作系统 编写代码的能力 数据库知识 业务知识.网络知识. 除了这些必备的技能,我们还需要什么样的素质呢? 一.主动沟通    过去我是做传统ERP软件的测试,因为ERP软件已经很成熟,所以他的需求文档一般也都很完善,很细致,需求变更也不会太多.所以我们完全可以按照需求文档进行测试,与开发电话沟通就OK,只要我们bu

沧海一声笑,移动应用的CRASH原因我找到! --记最新款数字化测试“星云测试“的使用攻略

沧海一声笑,移动应用的CRASH原因我找到! --记最新款数字化测试"星云测试"的使用攻略 世界进步那么快,很多新鲜的点子层出不穷,于是我们创业,我们做最酷的手机应用,做最轰炸的应用推广.不加国际友人,仅咱泱泱大中华14亿人口,智能手机用户目前就已经超过5亿人,并还在继续疯长中!据说到2015年1月,仅我们中国的主要应用商店APP应用累计超过400万个.感觉像我们一样优秀的IT天才们的春天已经到来!就凭咱的脑子和实力,从各种大众脸的App应用中脱颖而出那是必然的!我们肯定是笑到最后的那

使用编码的 UI 测试来测试 Windows 应用商店应用

自从Win8应运而生以来,Windows应用商店便立马成为开发者展示的舞台,而这短短的几年里应用的数量就可数以万计,这也不可避免地出现了良莠不齐的局面.我们都知道Visual Studio是目前最流行的Windows平台应用程序的集成开发环境.VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等.所写的目标代码适用于微软支持的所有平台,我们也可以使用它来开发Win8应用.另一方面,Visual Studio也可以用来

应用测试中的弱网络模拟测试-微信测试工程师手把手教程

应用测试中的弱网络模拟测试-微信测试工程师手把手教程 优测小优有话说: app研发不同于实验室里做研究,哪里有"理想环境".理想里,用户用着性能卓越的手机,连着畅通无阻的wifi网络.现实是,他们可能正用着你闻所未闻的机型,穿梭于地铁.公交.火车.乡间.大山-.. 信号"若隐若现,扑朔迷离""我去!又crash了!""唉,怎么又连不上网了,其他app好好的啊."这大概就是理想与现实之间的差距吧. 机型碎片化的问题,腾讯优测通过

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

软件介绍 Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用. 如何学好Jmeter: 如果你用Jmeter去对Web进行功能测试,或者性能测试. 你必须熟练HTTP协议,才能学好Jmeter. 否则你很难理解Jmeter中得概念. Jmeter运行: 解压后, 运行  “bin/jmeter.bat” Jmeter 是支持中文的, 启动Jmeter 后, 点击 Opti