голосование
BASH
PHP
Javascript
HTML
Программы
Firebird
Майнинг
PostgreSQL
Хостинг
Железо
Ресурсы
GIT
SEO
Oracle
Python
Мобильные технологии
Ремонт
Mercurial
Заработок на сайте
Docker
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Подходы лемматизации с примерами на Python

Поговорим о такой теме как лемматизация. Существуют хитрые библиотеки которые могут срезать часть строки и вы получите существительное в единственном числе. Схема такая «Caring» -> Лемматизация -> «Care». Лемматизация — это процесс преобразования слова в его базовую форму. Помимо лемматизации существует и стемминг (stemming). Стеминг просто срезает часть слова. Чаще всего срезается окончание. Стеминг часто приводит к орфографическим ошибкам. Примеры которые я вам покажу будут с английскими словами.

Когда применяется лемматизация? При парсинге сайтов можно использовать лемматизацию. Допустим, есть список со словами во множественном числе и вы обрабатываете каждое слово. Тут лемматизация отработает хорошо. Бывает задача на разбивку всего текста по пробелу. В этом случае у вас появляется список со словами и предлогами. Вы можете очистить текст от предлогов и все слова в тексте привести к единственному числу. Тут работа для лемматизации. Подробнее о лемматизации читайте на странице подходы лемматизации с примерами на Python.

Для того чтобы воспользоваться лемматизацией нужно скачать любой из пакетов Python и попробовать в деле. Если у вас нет такого пакета, то установите пакет при помощи pip. Например, pip install TextBlob.

  • Spacy Lemmatizer
  • TextBlob
  • Gensim Lemmatizer
  • Wordnet Lemmatizer
  • TreeTagger
  • CLiPS Pattern
  • Stanford CoreNLP

Были времена я на PHP писал код который изменяет слово в зависимости от падежа. Это неблагодарная работа. Мало кто из нас хорошо знает английский язык. Надо обратить внимание на тот момент, что английский язык имеет мощную синонимию. Один предмет или явление может по-разному писаться, но обозначать одно и тоже понятие.

Теперь для наглядности продемонстрирую пример. Подключим пакет nltk. Нужно создать экземпляр WordNetLemmatizer() и вызвать функцию lemmatize() для обработки одного слова.


# вводим в консоли python3
# подключаем библиотеку nltk
import nltk
from nltk.stem import WordNetLemmatizer 
# Init the Wordnet Lemmatizer
lemmatizer = WordNetLemmatizer()
# Lemmatize Single Word
print(lemmatizer.lemmatize("bats"))
#> bat
print(lemmatizer.lemmatize("are"))
#> are
print(lemmatizer.lemmatize("feet"))
#> foot
просмотры: 897, уровень: лёгкий уровень, рейтинг: 0, дата: 2019-01-29 21:00:31
проголосовать:

Комментарии:






поиск
реклама
банеры
домен RU всего за 99 рублей
http://trainingweb.ru/redirect/domains домен RU домен RU всего за 99 рублей
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://trainingweb.ru/redirect/pingadmin мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP