这是一个最小的工作示例,演示了OpenNLP Maxent API的用法.

它包括以下内容:

>从文件中存储的数据训练maxent模型.

>将经过训练的模型存储到文件中.

>从文件中加载经过训练的模型.

>使用模型进行分类.

>注意:结果是每个训练样本中的第一要素

>注意:这些值可以是任意字符串,例如xyz = s0methIng

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.zip.GZIPInputStream;

import opennlp.maxent.GIS;

import opennlp.maxent.io.GISModelReader;

import opennlp.maxent.io.SuffixSensitiveGISModelWriter;

import opennlp.model.AbstractModel;

import opennlp.model.AbstractModelWriter;

import opennlp.model.DataIndexer;

import opennlp.model.DataReader;

import opennlp.model.FileEventStream;

import opennlp.model.MaxentModel;

import opennlp.model.OnePassDataIndexer;

import opennlp.model.PlainTextFileDataReader;

...

String trainingFileName = "training-file.txt";

String modelFileName = "trained-model.maxent.gz";

// Training a model from data stored in a file.

// The training file contains one training sample per line.

// Outcome (result) is the first element on each line.

// Example:

// result=1 a=1 b=1

// result=0 a=0 b=1

// ...

DataIndexer indexer = new OnePassDataIndexer( new FileEventStream(trainingFileName));

MaxentModel trainedMaxentModel = GIS.trainModel(100, indexer); // 100 iterations

// Storing the trained model into a file for later use (gzipped)

File outFile = new File(modelFileName);

AbstractModelWriter writer = new SuffixSensitiveGISModelWriter((AbstractModel) trainedMaxentModel, outFile);

writer.persist();

// Loading the gzipped model from a file

FileInputStream inputStream = new FileInputStream(modelFileName);

InputStream decodedInputStream = new GZIPInputStream(inputStream);

DataReader modelReader = new PlainTextFileDataReader(decodedInputStream);

MaxentModel loadedMaxentModel = new GISModelReader(modelReader).getModel();

// Now predicting the outcome using the loaded model

String[] context = {"a=1", "b=0"};

double[] outcomeProbs = loadedMaxentModel.eval(context);

String outcome = loadedMaxentModel.getBestOutcome(outcomeProbs);

java opennlp_java-使用openNLP maxent的训练模型相关推荐

  1. 如何使用 Java 调取 Python、R 的训练模型?

    在工业界,我们经常会使用 Python 或 R 来训练离线模型, 使用 Java 来做在线 Web 开发应用--这就涉及到了使用 Java 跨语言来调用 Python 或 R 训练的模型. PMML ...

  2. [转载] 机器学习 - 如何使用 Java 调取 Python、R 的训练模型?

    参考链接: 用Python创建一个简单的机器学习模型 在工业界,我们经常会使用 Python 或 R 来训练离线模型, 使用 Java 来做在线 Web 开发应用--这就涉及到了使用 Java 跨语言 ...

  3. java opennlp_使用opennlp进行文档分类

    序 本文主要研究下如何使用opennlp进行文档分类 DoccatModel 要对文档进行分类,需要一个最大熵模型(Maximum Entropy Model),在opennlp中对应DoccatMo ...

  4. java opennlp_OpenNLP中语言检测模型训练和模型的使用

    因为项目的原因,需要使用到NLP的相关技术.语言检测模型cld3是python要与项目集成也不太方便,后来找到OpenNLP,发现它相对来说,对于亚洲的语言有一些支持. 下面是OpenNLP的训练相关 ...

  5. R+openNLP︱openNLP的六大可实现功能及其在R语言中的应用

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- openNLP是NLP中比较好的开源工具,R语 ...

  6. java五子棋代码详解_代码详解:Java和Valohai的深度学习之旅

    全文共10735字,预计学习时长22分钟或更长 有一款生命周期管理工具(也称云服务)叫做Valohai,它有着友好的用户界面和简洁的布局设计. 许多有关Valohai的案例和文档都是基于Python和 ...

  7. 中文分词软件包的使用

    中文分词 (Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词.分词就是将连续的字序列按照一定的规范重新组合成词序列的过程.我们知道,在英文的行文中,单词 ...

  8. 自然语言处理(NLP)常用开源工具总结----不定期更新

    学习自然语言这一段时间以来接触和听说了好多开源的自然语言处理工具,在这里做一下汇总方便自己以后学习,其中有自己使用过的也有了解不是很多的,对于不甚了解的工具以后学习熟悉了会做更新的. 1.IKAnal ...

  9. 【自然语言处理】中文开源工具汇总(7种)

    本博客主要是对网络上的一些关于中文自然语言处理开源工具的博客进行整理.汇总,如果有涉及到您的知识产品等,请联系本人已进行修改,也欢迎广大读者进行指正以及补充. 本博客将尽量从工具的使用语言.功能等方面 ...

  10. Spark Machine Learning 03 Spark上数据的获取、处理与准备

    Chap 03 Spark上数据的获取处理 Spark上数据的获取.处理与准备 MovieStream,数据包括网站提供的电影数据.用户的服务信息数据以及行为数据. 这些数据涉及电影和相关内容(比如标 ...

最新文章

  1. mfc倾斜文本输入_文本检测知识梳理(持续更新)
  2. python使用什么注释语句和运算-Python3 注释和运算符
  3. SGU 269. Rooks(DP)
  4. 2018最新java面试题(含答案)
  5. 全国计算机等级考试题库二级C操作题100套(第31套)
  6. Java变量(静态变量/成员变量/局部变量)初始化的问题
  7. SpringBoot(六):SpringBoot整合Redis
  8. Vue3 slot插槽——(默认插槽、具名插槽、作用域插槽)
  9. 云服务器的发展历程,盘点微软Azure云服务器的发展历程
  10. mysql添加约束之前不满足_MySQL:添加约束(如果不存在)
  11. STM32-RTC实时时钟
  12. 力扣1716.计算力扣银行的钱
  13. Java 数字签名原理及产生
  14. Scala学习(一、环境配置和基础)
  15. 17.2融合关键词的文本增强
  16. 神马?写了3年代码,连分布式缓存都没用过~
  17. Redraiment的走法
  18. 小学计算机教案 插入艺术字,小学信息技术《在幻灯片中插入艺术字》说课及反思...
  19. 占位智能家居市场,施耐德电气仅靠一个Wiser系统?
  20. 360度不停旋转动画demo效果示例(整理)

热门文章

  1. 教师对php作品评语通用,教师批改作业100例精彩评语,太有用了!
  2. FS2711代替松翰2711国产单片机
  3. Android 汇率换算对比小工具
  4. 智能DNS解析过程详解
  5. 高可用架构篇:【2】ActiveMQ高可用+负载均衡集群的安装、配置、高可用(多节点)
  6. RPG游戏《黑暗之光》流程介绍与代码分析之(九):技能系统的实现
  7. 多因子融合的实体识别与链指消歧
  8. 机器人定位误差标定模型
  9. 多制式射频信号发生器 信号源
  10. 如何算计算机主机地址,如何计算IP地址及CIDR -电脑资料