Вам не нужно хорошо разбираться в математике, чтобы работать с IE, просто поймите, как работает алгоритм, поэкспериментируйте со случаями, для которых вам нужен оптимальный результат, производительность и масштаб, с которым вам нужно достичь целевого уровня точности, и работайте с этим. Вы в основном работаете с алгоритмами и программированием и аспектами теории CS / AI / машинного обучения, а не пишете докторскую работу о создании нового алгоритма машинного обучения, где вам нужно убедить кого-то с помощью математических принципов, почему алгоритм работает, поэтому я категорически не согласен с этим понятием. Есть разница между практикой и теорией — как мы все знаем, математики больше зациклены на теории, чем на практической реализации алгоритмов для создания работоспособных бизнес-решений. Тем не менее, вам нужно будет предварительно прочитать как книги по НЛП, так и журнальные статьи, чтобы выяснить, что люди нашли в своих результатах. IE — это очень контекстно-зависимый домен, поэтому вам нужно сначала определить, в каком контексте вы пытаетесь извлечь информацию. Как бы вы определили эту информацию? Какова ваша структурированная модель? Предположим, вы извлекаете данные из полу- и неструктурированных наборов данных. Затем вы также захотите взвесить, хотите ли вы подойти к своему IE со стандартным человеческим подходом, который включает такие вещи, как регулярные выражения и сопоставление с образцом, или вы хотите сделать это, используя подходы статистического машинного обучения, такие как цепи Маркова. Вы даже можете взглянуть на гибридные подходы.
Стандартная модель процесса, которой вы можете следовать при извлечении, заключается в адаптации подхода интеллектуального анализа данных/текста:
предварительная обработка - определите и стандартизируйте свои данные для извлечения из различных или определенных источников, очищая ваши данные
сегментация/классификация/кластеризация/ассоциация — ваш черный ящик, в котором будет выполняться большая часть вашей работы по извлечению
постобработка — очистка ваших данных до того места, где вы хотите их сохранить или представить в виде информации
Кроме того, вам необходимо понимать разницу между тем, что является данными, и тем, что является информацией. Поскольку вы можете повторно использовать обнаруженную информацию в качестве источников данных для создания дополнительных информационных карт/деревьев/графиков. Все очень контекстуально.
стандартные шаги для: ввод-›процесс-›вывод
Если вы используете Java/C++, существует множество фреймворков и библиотек, с которыми вы можете работать.
Perl был бы отличным языком для выполнения работы по извлечению NLP, если вы хотите выполнять стандартное извлечение большого количества текста.
Вы можете захотеть представить свои данные в виде XML или даже в виде графиков RDF (Semantic Web), а для определенной вами контекстной модели вы можете построить графики взаимосвязей и ассоциаций, которые, скорее всего, будут меняться по мере того, как вы будете делать все больше и больше запросов на извлечение. Разверните его как службу отдыха, поскольку вы хотите рассматривать его как ресурс для документов. Вы даже можете связать его с таксономизированными наборами данных и фасетным поиском, скажем, с помощью Solr.
Хорошие источники для чтения:
- Справочник по вычислительной лингвистике и обработке естественного языка
- Основы статистической обработки естественного языка
- Приложения для извлечения информации в Prospect
- Введение в языковую обработку с помощью Perl и Prolog
- Обработка речи и языка (Юрафски)
- Программирование приложений для интеллектуального анализа текста
- Справочник по интеллектуальному анализу текста
- Приручение текста
- Алгоритмы интеллектуальной сети
- Создание поисковых приложений
- Журнал IEEE
Убедитесь, что вы провели тщательную оценку перед развертыванием таких приложений/алгоритмов в рабочей среде, поскольку они могут рекурсивно увеличить ваши требования к хранилищу данных. Вы можете использовать AWS/Hadoop для кластеризации, Mahout для крупномасштабной классификации среди прочего. Храните свои наборы данных в MongoDB или неструктурированные дампы в jackrabbit и т. д. Попробуйте сначала поэкспериментировать с прототипами. Существуют различные архивы, которые вы можете использовать, чтобы основывать свое обучение, например, на корпусе Reuters, типстере, TREC и т. д. Вы даже можете проверить алхимический API, GATE, UIMA, OpenNLP и т. д.
Создание извлечений из стандартного текста проще, чем, скажем, веб-документа, поэтому представление на этапе предварительной обработки становится еще более важным для определения того, что именно вы пытаетесь извлечь из стандартизированного представления документа.
Стандартные показатели включают точность, полноту, показатель f1 и другие.
person
meme
schedule
29.05.2011