斯坦福自然语言处理(1)——三元组的使用
三元组是斯坦福自然语言解析中比较基础的一部分,主要过程是将每一个句子从文中提取出来以后,将句子中符合三元组(subject+relation+object)的成分提取出来,其中每个triple中有四个成员变量:
1、confidence:表示该三元组符合subject+relation+object程度的置信度
2、subject:三元组中的主体,表示动作的发出者
3、relation:三元组中表示subject和object的联系
4、object:三元组中表示relation动作的承受者
首先对工具入口StanfordCoreNLP进行实例化pipeline,并在管道中添加分析三元组所需要的功能,用Property类来实现。我这里定义了一个TripleBean类,每个三元组类中含有TripleSubject、TripleRelation、以及TripleObject、其中每个类中都包含该单词的词性、命名实体,以一个TripleElement作为例子
package edu.stu.common;public class TripleElement {
private String element;
private String nameentity;
private String partofspeech;public TripleElement(String element ,String nameentity ,String partofspeech)\\实例化一个TripleElement对象
{this.element = element;this.nameentity = nameentity;this.partofspeech = partofspeech;
}public String getElement()\\元素的单词本身
{return this.element;
}public String getPartOfSpeech()\\元素的词性
{return this.partofspeech;
}
public String getNameEntity()\\元素的命名实体识别
{return this.nameentity;
}public String toString()\\输出该对象时,输出对象中的单词
{return this.getElement();
}
}
`
“`
package edu.stanford.nlp.pipeline.tool;public class Triple
{private StanfordCoreNLP pipeline = null; private String content = null;private Annotation doc = null; private Collection<RelationTriple> triples = null;private Collection<TripleBean> triplebeans = null;public Triple(File filename){Properties props = new Properties();props.put("annotators", "tokenize, ssplit, pos, lemma, ner, depparse, natlog, openie"); triplebeans = new ArrayList();this.pipeline = new StanfordCoreNLP(props); this.content = new ReadFile(filename).getContent();this.doc = new Annotation(this.content); // 用字符串初始化一个annotation类型pipeline.annotate(doc);}public Triple(String content){Properties props = new Properties(); //props是一个类似map的结构props.put("annotators", "tokenize, ssplit, pos, lemma, ner, depparse, natlog, openie"); triplebeans = new ArrayList();this.pipeline = new StanfordCoreNLP(props); this.content = content;this.doc = new Annotation(this.content); // 用字符串初始化一个annotation类型pipeline.annotate(doc);convertToTripleBean();}
斯坦福自然语言处理(1)——三元组的使用相关推荐
- 斯坦福自然语言处理习题课1——绪论
对于技术人员来说,如果要问当前最热门的技术是什么?我想大家一定会回答是人工智能技术.而在人工智能技术中,哪个技术方向最火呢?大家肯定会回答是深度学习技术.如果我们要问在深度学习技术中,哪些应用方向最火 ...
- 斯坦福自然语言处理课程笔记 Part 1
资源下载地址: https://download.csdn.net/download/mango_holi/10847688 目录 Week 1 - Course Introduction Week ...
- 教程 | 理解和实现自然语言处理终极指南(附Python代码)
教程 | 理解和实现自然语言处理终极指南(附Python代码) 时间 2017-02-16 14:41:39 机器之心 原文 http://www.jiqizhixin.com/article ...
- 自然语言推理和数据集
自然语言推理和数据集 Natural Language Inference and the Dataset 情绪分析的问题.此任务旨在将单个文本序列分类为预定义的类别,例如一组情感极性.然而,当需要判 ...
- 2022斯坦福AI指数报告出炉!中国霸榜AI顶会,但引用量最低
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨新智元 编辑丨极市平台 导读 2022年人工智能指数报告发布了 ...
- 论坛报名 | 语音与自然语言处理的最新突破和前沿趋势
与6位图灵奖得主和100多位专家 共同探讨人工智能的下一个十年 长按图片或点击阅读原文,内行盛会,首次免费注册 北京智源大会倒计时:5天 2020年6月21-24日,第二届北京智源大会(官网:http ...
- 自然语言处理NLP国内研究方向机构导师
自然语言处理NLP国内研究方向机构导师 文|中文信息协会<中文信息处理发展报告2016>,数据简化DataSimp 文字语言VS数字信息 数字.文字和自然语言一样,都是信息的载体,他们之间 ...
- 斯坦福大学陈丹琦等人解读机器阅读最新进展:超越局部模式匹配
来源:AI 科技评论 不久前,斯坦福大学的计算机科学博士陈丹琦的一篇长达 156 页的毕业论文<Neural Reading Comprehension and Beyond>成为「爆款文 ...
- cs224n上完后会会获得证书吗_斯坦福NLP组-CS224n: NLP与深度学习-2019春全套资料分享...
斯坦福自然语言处理小组2019年的最新课程<CS224n: NLP与深度学习>春季课程已经全部结束了,课程内容囊括了深度学习在各项NLP任务中应用的最新技术,非常值得一看.本文整理本期课程 ...
最新文章
- 读大叔深入理解javascript(2)
- MIT开发的一款最新Chrome插件,功能远超OCR软件,可快速识别和复制图中文字
- java日志切割工具_用 Java 实现的日志切割清理工具
- iOS之WebView的使用总结
- 检查表单元素的值是否为空
- java web分层的思想
- 使用泛型解决之前的问题
- 【POJ - 1741】Tree(树分治,容斥,点分治,模板题)
- mysql查找表shoe table,mysql命令行常用命令
- 不敢穷,不敢病,不敢死……我们是独生子女
- Kubernetes 小白学习笔记(3)--物理机、虚拟化、容器化、云原生
- UVA - 10635 —— Prince and Princess
- 线上多服务管理工具实例剖析
- 男生必学,与女生聊天技巧
- ffmpeg 为取经而来_取经路上的妖魔鬼怪,傻傻分不清楚
- 今天你又丧了吗? | Alfred数据室
- Android应用性能优化系列视图篇——隐藏在资源图片中的内存杀手
- zerotier异地搭建组网
- 手机动态:摩托罗拉edge s pro搭载骁龙870处理器
- Excel中身份证号码验证,那些不得不说的事