SOLR и разбор естественного языка - могу ли я его использовать? - PullRequest
12 голосов
/ 02 июня 2010

Требования

Частотный алгоритм для обработки естественного языка

Использование Solr

Хотя ответ на этот вопрос отличный, мне было интересно, смогу ли я использовать все время, потраченное на знакомство с SOLR для своего НЛП.

Я думал о SOLR, потому что:

  1. У него куча токенизаторов и много НЛП.
  2. Полезно использовать из коробки.
  3. Это спокойное распределенное приложение, так что его легко подключить
  4. Я провел с ним некоторое время, поэтому использование может сэкономить мне время.

Могу ли я использовать Solr?

Хотя приведенные выше причины веские, я плохо знаю SOLR THAT, поэтому мне нужно знать, будет ли это соответствовать моим требованиям.

Идеальное использование

В идеале я хотел бы настроить SOLR, а затем иметь возможность отправлять SOLR некоторый текст и извлекать проиндексированный тонканизированный контент.

Контекст

Я работаю над небольшим компонентом двигателя рекомендаций большего размера.

Ответы [ 4 ]

10 голосов
/ 02 июня 2010

Полагаю, вы можете использовать Solr и комбинировать его с другими инструментами. С помощью Solr из коробки выводятся токенизация, удаление стоп-слов, основа и даже синонимы. Если вам требуется распознавание именованной сущности или извлечение базовой именной фразы, вам необходимо использовать OpenNLP или эквивалентный инструмент в качестве этапа предварительной обработки. Вероятно, вам понадобятся векторы терминов для поиска. Интеграция Apache Mahout с Apache Lucene и Solr может быть полезна, поскольку в ней обсуждается интеграция Lucene и Solr с механизмом машинного обучения (включая рекомендации). Кроме того, не стесняйтесь задавать более конкретные вопросы.

6 голосов
/ 22 ноября 2011

В действительности вы можете настроить Solr на использование алгоритмов NLP как при индексации документов, так и во время поиска. Первый этап (время индексации) можно выполнить с помощью / написания плагинов Solr UpdateRequestProcessor для анализа текстов полей, а второй этап можно реализовать, написав собственный QParserPlugin, который анализирует запрос пользователя. Я представил подход для реализации поиска на естественном языке в Solr на Lucene Eurocon 2011, который использует преимущества Apache UIMA для запуска алгоритмов (с открытым исходным кодом) NLP. Вы можете взглянуть на слайды и видео выступления. Надеюсь это поможет. Томмазо

3 голосов
/ 19 сентября 2012

Существует специальный обработчик запросов, разработанный для применения анализа для фильтрации наших менее релевантных результатов поиска. Он основан на машинном обучении деревьев разбора избирательных округов, полученных OpenNLP.

Пожалуйста, смотрите блог http://search -engineering.blogspot.com

и бумага http://dx.doi.org/10.1016/j.datak.2012.07.003

Этот обработчик поисковых запросов SOLR будет доступен как часть компонента сходства OpenNLP

2 голосов
/ 09 ноября 2012

В этом проекте Google Code

http://code.google.com/p/relevance-based-on-parse-trees

вы можете использовать лингвистический обработчик запросов в пакете opennlp.tools.simility.apps.solr открытый класс SyntGenRequestHandler расширяет SearchHandler

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

...