2011-12-02 3 views
2

Ищет помощь, чтобы принять окончательное решение. В течение нескольких месяцев я ищу Java API, который помогает мне получить доступ к Википедии и получить содержимое статей. Мой проект заключается в построении таксономии понятий данного домена. Детали:НЛП с использованием Википедии (java-программирования)

  1. У меня есть свод текстов домена, я извлекаю первый набор терминов (который представляет собой домен).
  2. Я ищу в Википедии статьи этих слов, чтобы извлечь их определения. Определение слова помогает мне найти гипероним этого слова. Призыв к Википедии, безусловно, будет выполнен в цикле java.
  3. Я искал определения гиперонимов, найденных на предыдущем шаге, чтобы найти их гиперонимы и т. Д.
  4. Я рисую график, связывающий слова с их гиперонимами.

Моя проблема заключается в том, что для шага 2 я не могу принять окончательное решение.

  1. Я написал код Java для доступа к Википедии онлайн. Это удается, но скорость моей связи определяет, удастся ли выполнение или не дает набор исключений. Иногда казнь дает мне всего 2 или 3 статьи.
  2. Я попытался использовать JWPL для обработки свалок Википедии. Я потерпел неудачу, потому что у меня недостаточно ОЗУ.
  3. Теперь я колеблюсь между набором Java-API.

Пожалуйста, дайте мне ваши точки зрения, если вы уже что-то сделали в этом смысле. Я сделал серьезное расследование, и я нашел следующие ссылки:

  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. http://www.mediawiki.org/wiki/API%3aMain_page
  5. http://jwbf.sourceforge.net/

Я бы признателен за любые предложения.

+0

Не могли бы вы дать формальное описание «определения», которое вы выберете на шаге 2? –

+0

Определение является формальным первым предложением статьи в Википедии. Например, для слова «буровая установка» мне нужно извлечь следующий простой текст: «Буровая установка - это машина, которая создает отверстия (обычно называемые скважинами) или валы в земле». – Lida

+0

Использует DBpedia не вопрос? http://dbpedia.org –

ответ

0

Я сделал что-то подобное, выполняя тезис моего учителя. У меня нет кода, который удобен, но я думаю, что я написал автономную библиотеку python (используя python request) для получения страниц википедии.

Я помню получение исключений изредка. Мое решение состояло в том, чтобы создать поток, чтобы делать выборки, и если поток был неактивным, перезапустите процесс выборки с текущим термином. Скорость соединения не должна иметь значения, страницы Википедии не очень большие. API Википедии я не нашел очень полезным. Тривиально писать сценарий python или ruby, который уничтожает Википедию.

Смежные вопросы