`
fuhao_987
  • 浏览: 61753 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

openNLP(1)_分词

    博客分类:
  • NLP
阅读更多
前端时间看了一下openNLP,用了一下,把自己的体会写下来。。
首先,openNLP是关于自然语言处理的开源项目,可以用eclipse作为第三方插件,去它的官方网站http://incubator.apache.org/opennlp/index.html下载需要的包,或者直接去http://sourceforge.net/projects/opennlp/ 下载。导入三个包:maxent-3.0.0.jar,jwnl-1.3.3.jar,opennlp-tools-1.5.0.jar

下面说一下分词:
openNLP使用了不同的模型实现诸如分词,分句,标注。所以在使用之前需要下载对应的模型http://opennlp.sourceforge.net/models-1.5/
包括了六种语言。分词上我下的英文:en-token.bin加到项目中就可以了
分词的代码:
import java.io.*;
import opennlp.tools.tokenize.Tokenizer;
import opennlp.tools.tokenize.TokenizerME;
import opennlp.tools.tokenize.TokenizerModel;
/*
*输入:需要分词的字符串
*输出:字符串数组
*/
public String[] Token(String str){
try{
InputStream modelIn = new FileInputStream("en-token.bin");
TokenizerModel model = null;
try {
  model = new TokenizerModel(modelIn);
}
catch (IOException e) {
  e.printStackTrace();
}
finally {
  if (modelIn != null) {
    try {
      modelIn.close();
    }
    catch (IOException e) {
    }
  }
}
Tokenizer tokenizer = new TokenizerME(model);
String tokens[] = tokenizer.tokenize(str);
return tokens;
}
catch(FileNotFoundException e){return null;}
}
-----------------------------------------------------------------------------
了解的不深入,希望多多指教
0
0
分享到:
评论
3 楼 hr10108 2012-12-21  
你好!我刚开始涉及OpenNLP,现在我想自己生成一个标记名字的modle,但生成一个new-bin之后却发现精确度太低了,是不是培养的数据太少了?(我培养了10万条,觉得应该够了啊!)
另外,我还试着培养一个有关商品的modle(如从亚马逊的商品介绍标题中提取关键字,主要为商品名)结果精确度更低,是不是这些title的词性排序太杂乱了,影响精度?
2 楼 fuhao_987 2011-03-24  
stonechao 写道
你好,我也在用opennlp,想请教你一个问题,我现在有很多单词,不一定是原型,想把提取出它们的原形,能提供点建议么?


用词性标注?我翻译过openNLP词性标注参照的penn treebank tags。http://fuhao-987.iteye.com/blog/891698
1 楼 stonechao 2011-03-23  
你好,我也在用opennlp,想请教你一个问题,我现在有很多单词,不一定是原型,想把提取出它们的原形,能提供点建议么?

相关推荐

    openNLP初步学习

    初学openNLP分词,代码初步实现了opennlp的相关方法

    OpenNLP:驾驭文本,分词那些事

    OpenNLP效率和使用便捷度较好。另外其针对Java开发提供开源的API。维基百科:ApacheOpenNLP库是一个基于机器学习的自然语言文本处理的开发工具包,它支持自然语言处理中一些共有的任务,例如:标记化、句子分割、...

    北大语言学 自然语言处理课程 NLP系列课程 5_汉语分词 共34页.pptx

    1_自然语言处理概论 共48页.pdf 2_机器学习与自然语言处理 共33页.pdf 3_n元模型 共33页.pdf 4_数据平滑技术 共39页.pdf 5_汉语分词 共34页.pdf 6_隐马尔科夫模型 共40页.pdf 7_词类标注 共32页.pdf 8_ME&CRF 共48页...

    基于朴素贝叶斯分类器实现石油相关论文的智能分析问答系统程序源代码说明 基于OpenNLP + Neo4j + Spark朴素贝

    基于OpenNLP + Neo4j + Spark朴素贝叶斯分类器实现石油相关论文的智能分析问答系统.zip 底层功能实现是操作cypher语句,前台的业务: 1.汉语分词器HanLP将原始语句分词 2.语句抽象化(提高匹配问题模板标签准确率...

    基于NLP技术实现的中文分词插件,准确度比常用的分词器高太多,同时提供ElasticSearch和OpenSearch插件

    ideaseg 是 Indexea 推出的一个基于最新的 HanLP 自然语言处理工具包实现的中文分词器, 包含了最新的模型数据,同时移除了 HanLP 所包含的非商业友好许可的 NeuralNetworkParser 相关代码和数据。

    几乎最全的中文NLP资源库.zip

    语料/数据集、变量命名神器、分词语料库+代码、任务型对话英文数据集、ASR 语音数据集 + 基于深度学习的中文语音识别系统、笑声检测器、Microsoft多语言数字/单位/如日期时间识别包、中华新华字典数据库及api(包括...

    NLP:基于自然语言处理医学知识源码.zip

    基于自然语言处理医学知识 软件架构 1.医学辞典构建 2.医学分词 3.医学新词发现 4.医学词向量构建 5.医学命名体识别 6.医学语句分类 7.医学句子关系抽取

    python同义词替换的实现(jieba分词)

    TihuanWords.txt文档格式 注意:同一行的词用单个空格隔开,每行第一个词为同行词的替换词。 年休假 年假 年休 ... for line in open(TihuanWords.txt, r, encoding='utf-8'): seperate_word = line.str

    ideaseg-master.zip

    ideaseg 是一个基于NLP 技术实现的中文分词插件,准确度比常用的分词器高太多,同时提供 ElasticSearch 和 OpenSearch 插件。

    NLP课程

    NLP课程文本预处理语言模型n元语法时序数据的采样循环神经网络从零开始实现循环神经网络 文本预处理 文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括...

    分享一下GPT入门指南

    GPT全称为Generative Pre-trained Transformer,是一种基于Transformer架构的神经网络模型,由OpenAI开发。GPT是自然语言处理(NLP)领域的一种语言生成模型,可用于生成文本、回答问题、摘要生成、翻译等应用。 ...

    Sentence-transformers 的 Rust 端口(https://github.com/UKPLab/sentence-transformers)

    锈蚀使用rust-bert和tch-rs的句子转换器的 Rust ...您可以使用使用不同分词器的不同版本的模型:// To use Hugging Face tokenizerlet sbert_model= SBertHF::new (home.to_str ().unwrap ());// To use Rust-tokenizer

    aitextgen - 使用GPT-2进行基于文本的AI训练和生成的强大Python工具-python

    它是 textgenrnn 和 gpt-2-simple 的继承者,充分利用了这两个软件包的优点:在 OpenAI 的预训练 124M GPT-2 模型上进行微调……或者创建您自己的 GPT-2 模型 + 分词器并从头开始训练! 生成文本比 gpt-2-simple ...

    chop:适用于Python的中文Tokenizer模块

    chopPython 中文分词工具包欢迎GitHub: Pypi:依赖Python3使用说明代码对 Python 3 兼容全自动安装: easy_install chop 或者 pip install chop / pip3 install chop接口from chop.hmm import Tokenizer as ...

    ltp:语言技术平台

    LTP(Language Technology Platform) 提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。 If you use any source codes included in this toolkit in ...

    ltp:语言技术平台

    LTP(语言技术平台)提供了多种中文自然语言处理工具,用户可以使用这些工具针对中文文本进行分词,词性标注,句法分析等等工作。 如果您在工作中使用此工具包中包含的任何源代码,请引用以下文章。 下面列出了...

Global site tag (gtag.js) - Google Analytics