You are currently viewing Введение в Stemming

Введение в Stemming

Происхождение-это процесс создания морфологических вариантов корневого/базового слова. Программы-стеммеры обычно называют алгоритмами-стеммерами или стеммерами. Алгоритм вывода сокращает слова “шоколад”, “шоколадный”, “шоколад” до корневого слова “шоколад”, а “извлечение”, “извлечено”, “извлекает” сводится к основному “извлекать”. Вывод является важной частью процесса конвейеризации при обработке естественного языка. Ввод в стеммер-это маркированные слова. Как мы получаем эти маркированные слова? Ну, токенизация предполагает разбиение документа на разные слова. Чтобы подробно узнать о токенизации и ее работе, обратитесь к статье:

https://programbox.ru/2021/12/24/nlp-как-работает-маркировка-текста-пред/

 Some more example of stemming for root word "like" include:
->"likes"
->"liked"
->"likely"
->"liking"

Ошибки в выводе: 
В основном существуют две ошибки в выводе:

  • чрезмерный рост
  • недоучет

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

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

Применение стволовых клеток : 
 

  1. Стемминг используется в информационно-поисковых системах, таких как поисковые системы.
  2. Он используется для определения словарей доменов в анализе доменов.

Забавный факт: поиск в Google принял слово, происходящее из 2003 года. Ранее поиск “рыбы” не вернул бы “рыбалку” или “рыбу”.

Некоторые алгоритмы стемминга таковы:
 

  • Алгоритм Стеммера Портера 
    Это один из самых популярных методов стемминга, предложенных в 1980 году. Он основан на идее, что суффиксы в английском языке состоят из комбинации меньших и более простых суффиксов. Этот стеммер известен своей скоростью и простотой. Основные области применения Porter Stemmer включают интеллектуальный анализ данных и поиск информации. Однако его применение ограничено только английскими словами. Кроме того, группа стеблей сопоставляется с одним и тем же стеблем, и выходной стебель не обязательно является значимым словом. Алгоритмы довольно длительны по своей природе и, как известно, являются самыми старыми.
    Пример: EED -> EE означает “если в слове есть хотя бы одна гласная и согласная плюс окончание EED, измените окончание на EE”, поскольку «согласовано» становится «согласен».
Преимущество: Он быстр и обрабатывает неправильные множественные числа, такие как "зубы", " зуб " и т. д. 
Ограничение: Это отнимает много времени и часто не позволяет сформировать слова из основы.
  • Стеммер Доусона

Это расширение стеммера Ловинса, в котором суффиксы хранятся в обратном порядке, индексируемом по их длине и последней букве.

Преимущество: Он быстр в исполнении и охватывает больше возможностей.
Ограничение: Это очень сложно реализовать.
  • Кровец Стеммер

Это было предложено в 1993 году Робертом Кровецом. Ниже приведены шаги:
1) Преобразуйте форму множественного числа слова в его единственную форму.
2) Преобразуйте прошедшее время слова в его настоящее время и удалите суффикс «ing».
Пример: ‘дети’ -> ‘ребенок’

Преимущество: Он легкий по своей природе и может использоваться в качестве предварительного стебля для других стеблей. 
Ограничение: Это неэффективно в случае больших документов.
  • Пример стержня Xerox:
    • ‘дети’ -> ‘ребенок’
    • ‘понял’ -> ‘понял’
    • ‘кто’ -> ‘кто’
    • ‘лучший’ -> ‘хороший’
  • Основа N-грамма 
    N-грамм-это набор из n последовательных символов, извлеченных из слова, в котором похожие слова будут иметь высокую долю n-граммов общего.
    Пример: ‘ВВЕДЕНИЕ’ для n=2 становится : *I, IN, NT, TR, RO, OD, DU, UC, CT, TI, IO, ON, NS, S*
Преимущество: Он основан на сравнении строк и зависит от языка. 
Ограничение: Для создания и индексирования n-граммов требуется место, и это не экономит время.
  • Стебель снежного кома:

По сравнению со стеммером Портера, Стеммер Снежка также может отображать неанглийские слова. Поскольку он поддерживает другие языки, стеммеры Snowball можно назвать многоязычным стеммером. Стеммеры Snowball также импортируются из пакета nltk. Этот стеммер основан на языке программирования под названием «Снежок», который обрабатывает небольшие строки и является наиболее широко используемым стеммером. Стеммер Снежка намного более агрессивен, чем Стеммер Портера, и также называется Стеммером Портера 2. Из-за улучшений, добавленных по сравнению со стеммером Porter, стеммер Snowball обладает большей вычислительной скоростью.

  • Ланкастер Стеммер:

Стеммеры Ланкастера более агрессивны и динамичны по сравнению с двумя другими стеммерами. Стеммер действительно быстрее, но алгоритм действительно сбивает с толку при работе с маленькими словами. Но они не так эффективны, как стебли Снежного кома. Стеммеры Ланкастера сохраняют правила извне и в основном используют итерационный алгоритм.