首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Wikipedia的NLP (java编程)

使用Wikipedia的NLP (java编程)
EN

Stack Overflow用户
提问于 2011-12-01 16:07:34
回答 1查看 697关注 0票数 2

寻求帮助以便做出明确的决定。几个月以来,我一直在寻找一个Java,它可以帮助我访问Wikipedia并获取文章的内容。我的项目是构建给定域概念的分类。详细信息:

  1. 我有一个领域文本的语料库,我提取第一组术语(代表领域)。
  2. 我在维基百科上搜索这些词的文章,以提取它们的定义。这个词的定义帮助我找到这个词的同义词。对Wikipedia的调用肯定会在java循环中完成。
  3. 我搜索前一步中发现的同义词的定义,以找到它们的同义词,等等。
  4. 我画了一个图表,把这些词和它们的同义词联系起来。

我的问题是,对于第二步,我不能作出明确的决定。

  1. 我编写了Java代码来在线访问维基百科。它成功了,但是我连接的速度决定了执行是成功还是失败,给出了一组异常。有时,执行只给我2到3篇文章。
  2. 我试着用JWPL来处理维基百科的转储。我失败是因为我没有足够的内存。
  3. 我现在在一组Java之间犹豫不决。

如果你已经在这个意义上做了什么,请给我你的观点。我进行了认真的调查,发现了以下链接:

  1. http://wdm.cs.waikato.ac.nz:8080/wiki/Wiki.jsp?page=Installing%20the%20Java%20API
  2. http://jwikiapi.sourceforge.net/index.html
  3. http://code.google.com/p/gwtwiki/
  4. 页面
  5. http://jwbf.sourceforge.net/

如有任何建议,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2011-12-05 21:17:55

我在做硕士论文的时候也做了类似的事情。我没有方便的代码,但我想我编写了一个独立的python库(使用python请求)来获取维基百科页面。

我记得偶尔也会有例外。我的解决方案是派生一个线程来执行获取,如果该线程不活动,则使用当前术语重新启动提取进程。连接速度不重要,维基百科页面并不大。我觉得维基百科的API没有多大帮助。编写一个python或ruby脚本来抓取维基百科是很简单的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8350155

复制
相关文章
Wikipedia的方言版本
闽东话版本: http://cdo.wikipedia.org/wiki/ 闽南话版本: http://zh-min-nan.wikipedia.org/wiki/ 客家话版本: http://hak.wikipedia.org/wiki/ 赣语版本: http://gan.wikipedia.org/wiki/ 吴语版本: http://wuu.wikipedia.org/wiki/ 文言版本: http://zh-classical.wikipedia.org/wiki/ 粤语版本: http://zh-yue.wikipedia.org/wiki/
ruanyf
2018/09/21
1.5K0
Wikipedia pageview数据获取(bigquery)
维基百科pageview数据是Wikimedia技术团队所维护的访问量数据集。该数据集自2015年五月启用,其具体的pageview定义为对某个网页内容的请求,会对爬虫和人类的访问量进行区分,粒度为小时级别,如下图:
千灵域
2022/06/17
2.7K0
Wikipedia pageview数据获取(bigquery)
Wikipedia创始人访谈
2001年,当他决定创办维基百科的时候,所有人都感到太疯狂了。办一个网上的百科全书,访问者可以自由编辑,连注册也不需要,你想怎么写就怎么写,目标是整理和呈现人类所有的知识。这怎么可能呢?!......
ruanyf
2018/09/21
1.1K0
Java并发编程:线程池的使用
Java并发编程:线程池的使用   在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:   如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。   那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?   在Java中可以通过线程池来达到这样的效果。今天我们就来详细讲解一下Java的线程池,首先我们从最核心的ThreadPo
Ryan-Miao
2018/03/13
1.1K0
【编程基础】Java Comparator接口的使用
在实际编程中我们经常会用到集合或者数组,有的时候你需要对这个集合中的元素就行排序,那这个时候就用到了Comparator接口,先看一下接口的原型: public interface Comparator<T> { /** * Compares the two specified objects to determine their relative ordering. The ordering * implied by the return value of this method for all po
程序员互动联盟
2018/03/14
7830
10分钟拥有自己的Wikipedia
谁是花和尚? 花和尚是一个定居西雅图的程序员,拥有多年系统设计和开发经验。喜欢研究和总结System Design, 并传授给大家。花和尚在MITBBS一篇 "我的System Design总结" 文章获得超过8万访问量,并被多家网站和博客转载。 引子 相信你一定用过Wikipedia。它简单明了的页面使内容容易查找和阅读。但你有没有想过自己也可以轻松获得一个专属Wikipedia? 背景 小编从一毕业进入某电商公司,就在公司开始使用一款与Wikipedia类似的内部网站。写team wiki,项目requ
包子面试培训
2018/04/20
4.1K0
10分钟拥有自己的Wikipedia
Flink实战:消费Wikipedia实时消息
https://blog.csdn.net/boling_cavalry/article/details/85205622
程序员欣宸
2019/06/02
8380
Flink实战:消费Wikipedia实时消息
写给NLP研究者的编程指南
作者 | 赤乐君,日本某大手研发部门的NLP工程师。关注关系抽取与知识图谱的相关研究。
AI科技大本营
2019/05/06
5510
写给NLP研究者的编程指南
Java并发编程之join方法的使用
在多线程编程中,有时候一个线程的执行可能要依赖于另外一个线程的执行结果才能执行,JDK提供了join方法来实现这种功能。
布禾
2021/03/15
5400
Java-GUI编程之ImageIO的使用
在实际生活中,很多软件都支持打开本地磁盘已经存在的图片,然后进行编辑,编辑完毕后,再重新保存到本地磁盘。如果使用AWT要完成这样的功能,那么需要使用到ImageIO这个类,可以操作本地磁盘的图片文件。
愷龍
2022/09/26
4240
Java-GUI编程之ImageIO的使用
java并发编程(4)--线程池的使用
转载:http://www.cnblogs.com/dolphin0520/p/3932921.html 一. java中的ThreadPoolExecutor类 java.util.concurrent.ThreadPoolExecutor类时线程池中最核心的一个类,因此如果要透彻的了解java中线程池,必须先了解这个类。下面看ThreadPoolExecutor类的具体实现源码: 在ThreadPoolExecutor类中提供了四个构造方法: public class ThreadPoolExecuto
Ryan-Miao
2018/03/13
7660
Java 并发编程:volatile的使用及其原理
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁、偏向锁) Java 并发编程:线程间的协作(wait/notify/sleep/yield/join) Java 并发编程:volatile的使用及其原理 一、volatile的作用   在《Java并发编程:核心理论》一文中,我们已经提到过可见性、有序性及原子性问题,通常情况下我们可以通过Synchro
用户2140019
2018/05/18
7230
Java 并发编程:volatile的使用及其原理
一、volatile的作用   在《Java并发编程:核心理论》一文中,我们已经提到过可见性、有序性及原子性问题,通常情况下我们可以通过Synchronized关键字来解决这些个问题,不过如果对Synchronized原理有了解的话,应该知道Synchronized是一个比较重量级的操作,对系统的性能有比较大的影响,所以,如果有其他解决方案,我们通常都避免使用Synchronized来解决问题。而volatile关键字就是Java中提供的另一种解决可见性和有序性问题的方案。对于原子性,需要强调一点,
用户2140019
2018/06/25
4570
自然语言处理(NLP)入门指南
授权转载自数据派THU ID:DatapiTHU 作者:Melanie Tosik 翻译:闵黎 校对:丁楠雅 Melanie Tosik目前就职于旅游搜索公司WayBlazer,她的工作内容是通过
大数据文摘
2018/05/24
1.4K0
【超全资源】自然语言处理(NLP)入门学习资源清单(部分资料下载)
Melanie Tosik目前就职于旅游搜索公司WayBlazer,她的工作内容是通过自然语言请求来生产个性化旅游推荐路线。回顾她的学习历程,她为期望入门自然语言处理的初学者列出了一份学习资源清单。
新智元
2018/03/27
3K0
【超全资源】自然语言处理(NLP)入门学习资源清单(部分资料下载)
Lombok 使用详解,简化Java编程
在 Java 应用程序中存在许多重复相似的、生成之后几乎不对其做更改的代码,但是我们还不得不花费很多精力编写它们来满足 Java 的编译需求
用户4172423
2019/11/28
5640
使用Java实现面向对象编程
使用Java实现面向对象编程 源码展示: 1 package cdjj.s2t075.com; 2 import java.util.Scanner; 3 public class Door { 4 /* 5 * Door为门类 6 * 它包括:开门和关门的操作 7 * 然而,因为要通过记录Person输入的信息,交由 8 * Computer计算机类进行处理,之后,再交由Door门类 9 * 进行处理所以Person要继承于Com
用户1112962
2018/07/04
1.1K0
使用Java实现面向对象编程
第一章-对象和封装 上机练习1-5答案略 简答题4 public class Student1 { String name; //姓名 private int age; //年龄 public int getAge() { return age; } public void setAge(int age) { if (age>=16) { this.age = age; }
星辰xc
2022/04/09
8390
使用Java实现面向对象编程
Lombok 使用详解,简化Java编程
在 Java 应用程序中存在许多重复相似的、生成之后几乎不对其做更改的代码,但是我们还不得不花费很多精力编写它们来满足 Java 的编译需求
码农小胖哥
2019/12/10
6420
Lombok 使用详解,简化Java编程
【独家】自然语言处理(NLP)入门指南
致谢 钟崇光博士参与了数据派THU于6月5日、THU数据派于6月8日发布的《循序渐进提升Kaggle竞赛模型精确度,以美国好事达保险公司理赔为例》一文的校对工作,并且给出了许多有建设性的意见,在此数据派翻译组对钟博士表达诚挚的感谢! 作者:Melanie Tosik 翻译:闵黎 校对:丁楠雅 本文长度为1100字,建议阅读3分钟 Melanie Tosik目前就职于旅游搜索公司WayBlazer,她的工作内容是通过自然语言请求来生产个性化旅游推荐路线。回顾她的学习历程,她为期望入门自然语言处理的初学者
数据派THU
2018/01/29
2K0
【独家】自然语言处理(NLP)入门指南

相似问题

使用PHP的NLP编程工具?

33

java中的Wikipedia Api

11

使用Pythons Wikipedia提取多个Wikipedia页面

11

Java中的简单NLP

11

如何使用Java处理Selenium中的Wikipedia下拉列表

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文