Платформы анализа текста открытого исходного кода Java [закрываются]

12
задан Justin 19 September 2011 в 12:20
поделиться

7 ответов

Возможно, вы уже знаете о GATE: http://gate.ac.uk/

... но это то, что мы использовали (на моей повседневной работе) для множества различных задач интеллектуального анализа текста. Он довольно гибкий и открытый.

2
ответ дан 2 December 2019 в 19:54
поделиться

Однажды я построил распознаватель именованных сущностей с максимальной энтропией для данных CoNLL, используя OpenNLP MaxEnt http://sourceforge.net/projects/maxent/ для курсовой.

Потребовалось много предварительной обработки данных с помощью пользовательских скриптов perl, чтобы получить все признаки, извлеченные в красивые аккуратные числовые векторы.

1
ответ дан 2 December 2019 в 19:54
поделиться

Мы используем lucene для обработки прямых трансляций из интернета. У него есть собственный java api.

http://lucene.apache.org/java/docs/

Затем вы можете использовать mahout, который представляет собой набор алгоритмов машинного обучения, работающих поверх lucene.

http://lucene.apache.org/mahout/

0
ответ дан 2 December 2019 в 19:54
поделиться

Единственный способ связи с кодом, запущенным на странице в Chrome, - это DOM, поэтому вам придется использовать взлом, такой как вставка < скрипта > тэгов с кодом. Обратите внимание, что это может оказаться ошибочным, если сценарий должен выполняться раньше всего на странице.

EDIT: Вот как расширение Nice Alert делает это:

function main () {
  // ...
  window.alert = function() {/* ... */};
  // ...
}

var script = document.createElement('script');
script.appendChild(document.createTextNode('('+ main +')();'));
(document.body || document.head || document.documentElement).appendChild(script);
-121--1222578-

Дополнение nines в базовой 10 определяется вычитанием каждой цифры из 9.

Так 45 (=... 000045) становится 54 (=... 999954).

Дополнение Тена - это только дополнение девяток плюс 1. Так... 000045 становится (... 999954 + 1) =... 999955.

Дополнительная информация в Википедии .

-121--4195898-

Хотя Weka не является специализированной структурой интеллектуального анализа текста, он имеет ряд классификаторов, обычно используемых в задачах интеллектуального анализа текста, таких как: SVM, kNN, multinomial NaiveBayes, среди прочих.

Он также имеет несколько фильтров для работы с текстовыми данными, такими как фильтр StringToWordVector , который может выполнять преобразование TF/IDF.

Для получения дополнительной информации посетите веб-сайт Weka wiki .

4
ответ дан 2 December 2019 в 19:54
поделиться

Может быть, взгляните на Java Open Source NLP and Text Mining tools .

2
ответ дан 2 December 2019 в 19:54
поделиться

Я использовал LingPipe -- набор Java-библиотек для лингвистического анализа человеческого языка -- для задач текстового анализа (и других смежных задач).

Это очень хорошо документированный программный пакет, и на сайте есть несколько руководств, которые подробно объясняют, как выполнить определенную задачу с помощью LingPipe, например, распознавание именованных сущностей. Есть также группа новостей, где вы можете задать любой вопрос о программном обеспечении (или задачах, связанных с НЛП) и получить быстрый ответ от самих авторов пакета; и, конечно же, блог.

Исходный код также очень прост в использовании и хорошо документирован, что для меня всегда является большим плюсом.

Что касается алгоритмов машинного обучения, то их достаточно много, от Naïve Bayes до Conditional Random Field. С другой стороны, для алгоритмов подбора словарей есть ExactDicitonaryChunker, который является реализацией алгоритма Ахо-Корасича (очень, очень, очень быстрый алгоритм для этой задачи).

В целом, я думаю, что это один из лучших программных пакетов NLP для Java (я не использовал все существующие пакеты, поэтому не могу сказать, что он лучший), и я определенно рекомендую его для решения поставленной вами задачи.

2
ответ дан 2 December 2019 в 19:54
поделиться

Я искренне считаю, что несколько представленных здесь ответов очень хороши. Однако для выполнения своих требований я решил использовать Apache UIMA с ClearTK . Он поддерживает несколько методов машинного обучения, и у меня нет проблем с лицензиями. Кроме того, я могу создавать оболочки для других методологий машинного обучения и пользоваться преимуществами инфраструктуры UIMA, которая очень хорошо организована и работает быстро.

Спасибо всем за интересные ответы.

С уважением, украина

6
ответ дан 2 December 2019 в 19:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: