基于spark的自然语言处理包集成和测试(命名实体识别)
2016-01-06 21:51
302 查看
做文本分析挖掘肯定离不开自然语言处理,以前就完全掌握过stanford的NLP工具包,里面是非常强大的,特别其支持多语言的自然语言处理,对话题模型、实体关系挖掘都有现成的产品。
看到网上有人做了spark + NLP结合的东东,于是自己也想试验一下。利用stanford nlp 3.6.0最新的进行了测试,对20news的文章进行命名实体抽取实验,这个过程还是非常简单的,其原理就是将每个文档进行句子划分,再对每个句子(RDD)进行句子中的命名实体抽取。
val entities = splitSentences.map({ case (fileName, content) => (fileName, NLPTools.classifier.getEntities(content.map(_.word()).mkString(" ")))})
.flatMap({ case (fileName, list) => list.map(x => (fileName, x))}).groupByKey
这样的话,其实可以将getEntities换成其它的NLP工具都可以实现的。
看到网上有人做了spark + NLP结合的东东,于是自己也想试验一下。利用stanford nlp 3.6.0最新的进行了测试,对20news的文章进行命名实体抽取实验,这个过程还是非常简单的,其原理就是将每个文档进行句子划分,再对每个句子(RDD)进行句子中的命名实体抽取。
val entities = splitSentences.map({ case (fileName, content) => (fileName, NLPTools.classifier.getEntities(content.map(_.word()).mkString(" ")))})
.flatMap({ case (fileName, list) => list.map(x => (fileName, x))}).groupByKey
这样的话,其实可以将getEntities换成其它的NLP工具都可以实现的。
相关文章推荐
- 2015’12杭电校赛1004 Happy Value (最大生成树)
- 【南理oj】71 - 独木舟上的旅行(贪心)
- 如何使用EditPlus批量删除 带有某个字符的一行
- chapte13:学习shell scripts之(4)循环
- Java下载文件的几种方式
- 系统性能调优总结2
- 系统性能调优总结1
- 周易六十四卦——蒙卦
- 不忘初心,方得始终------记我这一年来的收获
- HDOJ 1233 还是畅通工程
- 四、循环控制之计数器
- margin-top無效,深層原因
- 今天自己写了个无聊的测试
- 邮件系统服务器搭建记录(三)(Postfix+Cyrus-sasl+Courier-authlib+Dovecot+ExtMail+MySQL)
- MapReduce map side join实例
- 2015‘12杭电校赛1003 The collector’s puzzle(双指针水题)
- php实现文件上传
- 车辆管理系统之分析信息建表(一)
- makefile--嵌套执行(四)
- ubuntu ns-3编译