Дано предложение вроде:
Complimentary gym access for two for the length of stay ($12 value per person per day)
Какой общий подход я могу использовать для определения слова спортзал или доступ в спортзал?
machine-learning
nlp
text-mining
data-cleaning
Уильям Сокол
источник
источник
Ответы:
Малая N atural л anguage Р rocessing техника может быть использована для извлечения концепции из предложения.
-------------------------------------------
Неглубокие этапы техники НЛП:
1) преобразовать предложение в нижний регистр
2) Удалите стоп-слова (это общие слова, встречающиеся в языке. Такие слова, как for, very, и, of, are и т. Д., Являются общими стоп-словами)
3) Извлечь n-грамм, т. Е. Непрерывную последовательность из n элементов из заданной последовательности текста (просто увеличивая n, модель можно использовать для хранения большего контекста)
4) Назначьте синтаксическую метку (существительное, глагол и т. Д.)
5) Извлечение знаний из текста с помощью семантического / синтаксического анализа, т. Е. Попытаться сохранить слова, которые имеют больший вес, в предложении, таком как существительное / глагол
-------------------------------------------
Давайте рассмотрим результаты применения вышеуказанных шагов к вашему предложению
Complimentary gym access for two for the length of stay ($12 value per person per day)
.1-грамм. Результаты: тренажерный зал, доступ, продолжительность, пребывание, ценность, человек, день
Позволяет увеличить n, чтобы сохранить больше контекста и удалить стоп-слова.
2-граммовые результаты: бесплатный тренажерный зал, посещение тренажерного зала, длительность пребывания, стоимость проживания
Результаты 3 грамма: бесплатный доступ в тренажерный зал, длительность пребывания, человек в день
То, что нужно запомнить:
Инструменты:
Вы можете рассмотреть возможность использования OpenNLP / StanfordNLP для тегов части речи. Большинство языков программирования имеют вспомогательную библиотеку для OpenNLP / StanfordNLP. Вы можете выбрать язык в зависимости от вашего комфорта. Ниже приведен пример кода R, который я использовал для маркировки PoS.
Пример кода R:
Дополнительные чтения по Shallow & Deep NLP:
Обработка мелкой и глубокой НЛП для обучения онтологии: краткий обзор Нажмите здесь
Интеграция Shallow и Deep NLP для извлечения информации Нажмите здесь
источник
Вам необходимо проанализировать структуру предложения и извлечь соответствующие синтаксические категории, представляющие интерес (в этом случае, я думаю, это будет существительное , которое является фразовой категорией ). Подробности см. В соответствующей статье Википедии и главе «Анализ структуры предложений» книги NLTK.
Что касается доступных программных инструментов для реализации вышеупомянутого подхода и выше, я бы предложил рассмотреть либо программное обеспечение NLTK (если вы предпочитаете Python), либо программное обеспечение StanfordNLP (если вы предпочитаете Java). Для многих других платформ NLP, библиотек и поддержки программирования на разных языках, смотрите соответствующие разделы (NLP) в этом превосходном списке .
источник
Если вы пользователь R, есть много полезной практической информации на http://www.rdatamining.com . Посмотрите на их примеры добычи текста.
Кроме того, взгляните на пакет ТМ.
Это также хороший сайт агрегации - http://www.tapor.ca/
источник