Вам не нужно хорошо разбираться в математике, чтобы делать IE, просто понимайте, как работает алгоритм, экспериментируйте со случаями, для которых вам нужна оптимальная результативность, и масштабом, с которым вам нужно достичь целевого уровня точности и работы с этим. Вы в основном работаете с алгоритмами и программированием, а также с аспектами теории CS / AI / Machine learning, а не пишете диссертацию о создании нового алгоритма машинного обучения, в котором вам нужно кого-то убедить с помощью математических принципов, почему алгоритм работает, поэтому я полностью не согласен с это понятие. Существует различие между практикой и теорией - как мы все знаем, математики больше интересуются теорией, чем практичностью алгоритмов для создания работоспособных бизнес-решений. Тем не менее, вам необходимо ознакомиться с обеими книгами в НЛП, а также с журнальными статьями, чтобы узнать, что люди нашли по их результатам. IE является очень специфичным для контекста доменом, поэтому вам необходимо сначала определить, в каком контексте вы пытаетесь извлечь информацию. Как бы вы определили эту информацию? Какая у вас структурированная модель? Предположим, вы извлекаете из полу и неструктурированных наборов данных. Затем вы также захотите оценить, хотите ли вы подходить к своему IE со стандартным человеческим подходом, который включает в себя такие вещи, как регулярные выражения и сопоставление с образцом, или вы хотите сделать это, используя статистические подходы машинного обучения, такие как цепочки Маркова. Вы даже можете посмотреть на гибридные подходы.
Стандартная модель процесса, которой вы можете следовать для извлечения, - это адаптация подхода к интеллектуальному анализу данных / текста:
предварительная обработка - определите и стандартизируйте ваши данные для извлечения из различных или определенных источников, очищая ваши данные
Сегментация / классификация / кластеризация / ассоциация - ваш черный ящик, где будет выполнена большая часть вашей работы по извлечению
постобработка - очистка данных в том месте, где вы хотите их сохранить или представить в виде информации
Кроме того, вам необходимо понимать разницу между тем, что такое данные, и тем, что является информацией. Как вы можете повторно использовать обнаруженную информацию в качестве источников данных для создания дополнительных информационных карт / деревьев / графиков. Это все очень контекстуализировано.
стандартные шаги для: ввода-> процесса-> вывода
Если вы используете Java / C ++, существует множество фреймворков и библиотек, с которыми вы можете работать.
Perl был бы отличным языком для вашей работы по извлечению НЛП, если вы хотите делать много стандартного извлечения текста.
Возможно, вы захотите представить свои данные в виде XML или даже в виде графиков RDF (Semantic Web), и для вашей определенной контекстной модели вы можете построить графики отношений и ассоциаций, которые, скорее всего, будут меняться по мере того, как вы будете делать все больше запросов на извлечение. Разверните его как полноценный сервис, так как вы хотите рассматривать его как ресурс для документов. Вы даже можете связать его с таксономизированными наборами данных и, например, с помощью поиска Solr.
Хорошие источники для чтения:
- Справочник по компьютерной лингвистике и обработке естественного языка
- Основы статистической обработки естественного языка
- Заявки на извлечение информации в проспекте
- Введение в языковую обработку с помощью Perl и Prolog
- Обработка речи и языка (Юрафский)
- Программирование приложений Text Mining
- Справочник по добыче текста
- Укрощение текста
- Алгоритмы Интеллектуальной Сети
- Построение поисковых приложений
- IEEE Journal
Убедитесь, что вы провели тщательную оценку, прежде чем внедрять такие приложения / алгоритмы в производство, поскольку они могут рекурсивно увеличить ваши требования к хранилищу данных. Вы можете использовать AWS / Hadoop для кластеризации, Mahout для крупномасштабной классификации среди других. Храните свои наборы данных в MongoDB или неструктурированные дампы в jackrabbit и т. Д. Попробуйте сначала поэкспериментировать с прототипами. Существуют различные архивы, которые вы можете использовать для обучения, например, Reuters Corpus, Tipster, TREC и т.д.
Создание извлечений из стандартного текста проще, чем, скажем, веб-документ, поэтому представление на этапе предварительной обработки становится еще более важным для определения того, что именно вы пытаетесь извлечь из стандартизированного представления документа.
Стандартные меры включают в себя: точность, отзыв, f1 среди прочих.