Stanford CoreNLP 提取句子名词

一、环境配置

Stanford CoreNLP 工具包的使用

我的另一篇博客:https://zhuanlan.zhihu.com/p/44180488

二、实例

1.导入已经下载的工具包

from stanfordcorenlp import StanfordCoreNLP
import nltk
from nltk.tree import Tree as nltkTree

nlp = StanfordCoreNLP('./StanfordNLP工具包/stanford-corenlp-full-2018-02-27') 

2.句子的词性标注

sentence = 'person removes plate out of cabinet' #输入句子

sen_tag = nlp.pos_tag(sentence)  #词性标注
print(sen_tag)

结果:

NN 为名词,保留标注为‘NN’ 的单词到列表中。

noun_word = []
for i in range(len(sen_tag)):
    if sen_tag[i][1] == 'NN':
        noun_word.append(sen_tag[i][0])
print(noun_word)

结果:

Stanford CoreNLP是一个强大的自然语言处理工具包,由斯坦福大学开发,它包含了一系列用于中文文本分析的模块,包括分词、命名实体识别、依存句法分析等。在Java使用CoreNLP进行中文语义解析,你可以按照以下步骤操作: 1. **下载和配置**:首先从官方GitHub仓库(https://github.com/stanfordnlp/CoreNLP)下载最新版本的CoreNLP,并根据需要配置Java环境。 2. **添加依赖**:将CoreNLP库加入到你的项目,通常会通过Maven或Gradle的dependency管理添加。 3. **初始化模型**:创建`Properties`对象来加载配置文件,设置所需的处理器(如`ChineseSegmenter`、`ChineseAnalyzer`等),然后实例化`StanfordCoreNLP`对象。 4. **处理文本**:对输入的中文文本进行预处理,比如拆分成词语(`tokenize()`),然后使用`StanfordCoreNLP`进行分析,获取词汇、词标注、依存关系等信息。 ```java Properties props = new Properties(); props.setProperty("annotators", "tokenize,ssplit,pos,lemma,depparse"); StanfordCoreNLP pipeline = new StanfordCoreNLP(props); Annotation annotation = new Annotation(text); pipeline.annotate(annotation); List<CoreMap> sentences = annotation.get(CoreAnnotations.SentencesAnnotation.class); for (CoreMap sentence : sentences) { // 获取各个成分的信息 } ``` 5. **结果解读**:遍历`CoreMap`的元素,可以提取名词短语、动宾结构等关键信息,进一步进行语义分析。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值