StanfordCoreNLP: 英文句子词性还原、词干标注工具包简单使用(Java)
一、说明
StanfordCoreNLP是Stanford开发的关于自然语言处理的工具包,其包括分词、词性还原以及词性标注等很多功能。具体可参考官网:https://stanfordnlp.github.io/CoreNLP/。 这里主要是将其词性还原功能的简单使用。
二、下载和使用
1、下载地址:https://stanfordnlp.github.io/CoreNLP/,下载界面如下图:
2、下载好之后解压,从解压后的文件中找到以下6个jar包,添加到java项目中:
3、接下来就可以使用代码直接调用了。
三、代码
import edu.stanford.nlp.ling.CoreAnnotations;
import edu.stanford.nlp.ling.CoreLabel;
import edu.stanford.nlp.pipeline.Annotation;
import edu.stanford.nlp.pipeline.StanfordCoreNLP;
import edu.stanford.nlp.util.CoreMap;import java.util.List;
import java.util.Properties;/*** 代码功能:词性还原、词干提取* jar包下载地址:https://stanfordnlp.github.io/CoreNLP/* 工具包API地址:https://stanfordnlp.github.io/CoreNLP/api.html*/
public class StemmerTest {public static void main(String[] args){Properties props = new Properties(); // set up pipeline propertiesprops.put("annotators", "tokenize, ssplit, pos, lemma"); //分词、分句、词性标注和次元信息。StanfordCoreNLP pipeline = new StanfordCoreNLP(props);String txtWords = "Franklin said, If a man empties his purse into his head,no man can take it away from him,an investment in knowledge always pays the best interest."; // 待处理文本Annotation document = new Annotation(txtWords);pipeline.annotate(document);List<CoreMap> words = document.get(CoreAnnotations.SentencesAnnotation.class);for(CoreMap word_temp: words) {for (CoreLabel token: word_temp.get(CoreAnnotations.TokensAnnotation.class)) {String word = token.get(CoreAnnotations.TextAnnotation.class); // 获取单词信息String lema = token.get(CoreAnnotations.LemmaAnnotation.class); // 获取对应上面word的词元信息,即我所需要的词形还原后的单词System.out.println(word + " " + lema);}}}
}
输出结果如下:
Franklin Franklin
said say
, ,
If if
a a
man man
empties empty
his he
purse purse
into into
his he
head head
, ,
no no
man man
can can
take take
it it
away away
from from
him he
, ,
an a
investment investment
in in
knowledge knowledge
always always
pays pay
the the
best best
interest interest
. .
附:
关于词性标注等功能请详见官网API文档:https://stanfordnlp.github.io/CoreNLP/api.html
参考文献:
https://blog.csdn.net/cuixianpeng/article/details/12999537
https://blog.csdn.net/hksskh/article/details/49183175
StanfordCoreNLP: 英文句子词性还原、词干标注工具包简单使用(Java)相关推荐
- java 分词获取词性,英文分词的关键:词性还原和词干提取
人工智能时代,能让计算机自动化进行文字语义理解非常重要,因此,进行语义理解的第一步--如何正确地根据语义完成词语切分(即分词)就是一个非常具有挑战性的任务,一旦切词发生失误,会导致后续的文本处理产生连 ...
- java 对英文句子进行 分词、去除停用词、提取词干
下面 词干提取算法 用到的jar包 lucene-analyzers-smartcn-7.6.0.jar (包含 中英 词干提取) 百度网盘链接:https://pan.baidu.com/s/15D ...
- NLTK使用英文词性还原
安装NLTK的方法请参考:https://blog.csdn.net/weixin_35757704/article/details/115629297 词性还原 Lemmatization from ...
- 自然语言处理(NLP)之英文单词词性还原
词形还原(Lemmatization)是文本预处理中的重要部分,与词干提取(stemming)很相似. 简单说来,词形还原就是去掉单词的词缀,提取单词的主干部分,通常提取后的单词会是字典中的单词,不同 ...
- 【NLP】英文数据预处理___词干/词元处理
目录 简介 异同 相同点 不同点 代码 词形还原 词干提取 Gensim_词形还原 说明 简介 词形还原(Lemmatization):把一个任何形式的语言词汇还原为基本形式(能表达完整语义): 词干 ...
- python输入一个英文句子、翻转句子中单词的顺序_ODOA(1) 翻转句子中单词的顺序(C语言实现)...
动动手才发现自己现在的在C/C++方向的几个问题: 对自己的入门语言C语言变得非常陌生 编程的思维固定在找既有的方法,主要原因是python写多了,基本上所有常见的问题,都有现成的方法,让自己变得懒惰 ...
- 输入一个英文句子,翻转句子中单词的顺序 例如输入“I am a student.”,则输出“student. a am I”。
package com.atguigu.java; //输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.句子中单词以空格符隔开. //为简单起见,标点符号和普通字母一样处理. //例如 ...
- C语言反序输出英文句子,C++实现英文句子中的单词逆序输出的方法
本文实例讲述了C++实现英文句子中的单词逆序输出的方法.分享给大家供大家参考,具体如下: #include "stdafx.h" #include #include #includ ...
- 编写一个函数,该函数能判断一个英文句子str(带空格)中是否含有某个单词w,如“How old are you?”含有“old”。在main函数中输入一个英文句子,再输入一个单词,如果英文句子中含有那
题目要求: 编写一个C程序,实现以下功能: 编写一个函数,该函数能判断一个英文句子str(带空格(升级版))中是否含有某个单词w,如"How old are you?"含有&quo ...
最新文章
- 洛谷P1119 灾后重建
- 技术人员职业生涯的红色警报
- java streamhandler_java中的Lamdba表达式和Stream
- Python re 模块深入探索
- python爬取腾讯vip_用Python批量爬取付费vip数据,竟然如此简单
- 【语义分割】Smoothed Dilated Convolutions for Improved Dense Prediction阅读笔记
- 谷歌关闭中国音乐搜索服务--有点可惜
- Java逐行读取fasta文件
- Matlab裁剪图像
- DOS命令导出文件夹内所有文件的名称和全路径
- PMP 考点 第三章 项目经理的角色
- 甘肃省计算机二级考试试题,2013甘肃省计算机等级考试二级理论考试试题及答案...
- iwr6843-ROS构建
- C++探索之旅 | 第一部分第二课:C++编程的必要软件
- git拉取远程分支代码到本地并关联分支
- 家乡的IT行业现状——温水煮青蛙
- 浅析快消品企业营销费用管理之道
- php云人才系统 怎么整合ucenter,phpcms如何整合UCenter
- VBA基础学习之1.2输入框(InputBox)
- springboot druid连接池配置