Jump to content

Стемминг

В лингвистической морфологии и поиске информации стемминг — это процесс приведения измененных (или иногда производных) слов к их основе , базовой или корневой форме — обычно к письменной форме слова. Основа не обязательно должна быть идентична морфологическому корню слова; обычно достаточно, чтобы родственные слова соответствовали одной и той же основе, даже если эта основа сама по себе не является действительным корнем. Алгоритмы стемминга изучаются в информатике с 1960-х годов. Многие поисковые системы рассматривают слова с одной и той же основой как синонимы , что является своего рода расширением запроса , процессом, называемым объединением.

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

Примеры [ править ]

Стеммер английского языка, работающий с основой cat, должен идентифицировать такие строки как Cats , Catlike и Catty . Алгоритм стеммирования может также свести слова рыбалка , рыбалка и рыбак к стеблю рыба . Основа не обязательно должна быть словом, например, алгоритм Портера сводит аргумент , аргумент , аргументы , спор и argus к основе argu .

История [ править ]

Первый опубликованный стеммер был написан Джули Бет Ловинс в 1968 году. [1] Эта статья была примечательна своей ранней датой и оказала большое влияние на последующие работы в этой области. [ нужна ссылка ] В ее статье упоминаются три более ранние крупные попытки создания алгоритмов: профессор Джон В. Тьюки из Принстонского университета , алгоритм, разработанный в Гарвардском университете Майклом Леском под руководством профессора Джерарда Солтона , и третий алгоритм, разработанный Джеймсом Л. Долби. консультантов по исследованиям и разработкам, Лос-Альтос, Калифорния.

Более поздний стеммер был написан Мартином Портером и опубликован в июльском номере журнала Program за 1980 год . Этот стеммер получил очень широкое распространение и стал де-факто стандартным алгоритмом, используемым для стемминга английского языка. Доктор Портер получил премию Тони Кента Стрикса в 2000 году за свою работу в области стемминга и поиска информации.

Многие реализации алгоритма стемминга Портера были написаны и свободно распространялись; однако многие из этих реализаций содержали небольшие недостатки. В результате эти стеммеры не соответствовали своему потенциалу. Чтобы устранить этот источник ошибок, Мартин Портер выпустил официальную реализацию бесплатного программного обеспечения (в основном под лицензией BSD ). [2] алгоритма примерно в 2000 году. Он продлил эту работу на следующие несколько лет, создав Snowball , фреймворк для написания алгоритмов стемминга, и реализовал улучшенный стеммер английского языка вместе со стеммерами для нескольких других языков.

Стеммер Paice-Husk был разработан Крисом Д. Пейсом из Ланкастерского университета в конце 1980-х годов. Это итеративный стеммер, в котором имеется набор правил стемминга, хранящийся извне. Стандартный набор правил обеспечивает «сильный» стеммер и может предусматривать удаление или замену окончания. Метод замены позволяет избежать необходимости в отдельном этапе процесса перекодирования или обеспечения частичного сопоставления. Пейс также разработал метод прямого измерения для сравнения стеммеров, основанный на подсчете ошибок чрезмерного и недостаточного стембинга.

Алгоритмы [ править ]

Нерешенная задача в информатике :

Существует ли идеальный алгоритм стемминга в английском языке?

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

Простой стеммер ищет измененную форму в справочной таблице . Преимущества этого подхода в том, что он прост, быстр и легко обрабатывает исключения. Недостатком является то, что все изменяемые формы должны быть явно перечислены в таблице: новые или незнакомые слова не обрабатываются, даже если они совершенно правильные (например, кошки ~ кот), а таблица может быть большой. Для языков с простой морфологией, таких как английский, размеры таблиц скромны, но в языках с высокой степенью флексии, таких как турецкий, могут быть сотни потенциальных флективных форм для каждого корня.

Подход поиска может использовать предварительную маркировку частей речи , чтобы избежать чрезмерного разделения слов. [3]

Технология производства [ править ]

Таблица поиска, используемая стеммером, обычно создается полуавтоматически. Например, если слово «бег», то инвертированный алгоритм может автоматически генерировать формы «бег», «бег», «бег» и «бег». Последние две формы являются допустимыми конструкциями, но они маловероятны. [ нужна ссылка ] .

Алгоритмы удаления суффиксов [ править ]

Алгоритмы удаления суффиксов не полагаются на справочную таблицу, состоящую из измененных форм и отношений корневых форм. Вместо этого обычно сохраняется меньший список «правил», который обеспечивает путь для алгоритма, учитывая входную форму слова, для поиска его корневой формы. Некоторые примеры правил включают в себя:

  • если слово заканчивается на «ed», удалите «ed»
  • если слово заканчивается на «ing», удалите «ing»
  • если слово заканчивается на «ly», уберите «ly»

Преимущество подходов удаления суффиксов состоит в том, что их гораздо проще поддерживать, чем алгоритмы грубой силы, при условии, что сопровождающий достаточно хорошо осведомлен в вопросах лингвистики и морфологии, а также в правилах удаления суффиксов кодирования. Алгоритмы удаления суффиксов иногда считаются грубыми из-за низкой производительности при работе с исключительными отношениями (такими как «run» и «run»). Решения, полученные с помощью алгоритмов удаления суффиксов, ограничены теми лексическими категориями , которые имеют хорошо известные суффиксы, за некоторыми исключениями. Однако это проблема, поскольку не для всех частей речи существует такой четко сформулированный набор правил. Лемматизация пытается решить эту проблему.

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

Дополнительные критерии алгоритма [ править ]

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

Может случиться так, что к одному и тому же входному термину применяются два или более правил удаления суффиксов, что создает неопределенность относительно того, какое правило применять. Алгоритм может назначать (человечески или стохастически) приоритет тому или иному правилу. Или алгоритм может отклонить применение одного правила, поскольку оно приводит к несуществующему термину, тогда как другое перекрывающееся правило — нет. Например, учитывая английский термин «Friendlies» , алгоритм может идентифицировать суффикс ies , применить соответствующее правило и получить результат «Friendl» . Френдл, скорее всего, не встречается в лексиконе, поэтому правило отвергается.

Одним из улучшений базового удаления суффиксов является использование замены суффиксов. Подобно правилу удаления, правило замены заменяет суффикс альтернативным суффиксом. Например, может существовать правило, заменяющее ies на y . То, как это влияет на алгоритм, зависит от его конструкции. Для иллюстрации алгоритм может определить, что применяются как правило удаления суффикса ies , так и правило замены суффикса. Поскольку правило удаления приводит к отсутствию термина в словаре, а правило замены — нет, вместо него применяется правило замены. В этом примере товарищеские матчи становятся дружественными вместо дружественных .

Если углубляться в детали, общий метод заключается в циклическом применении правил (рекурсивно, как сказали бы специалисты по информатике). После применения правила замены суффикса в этом примерном сценарии выполняется второй проход для определения правил сопоставления для термина Friendly , где правило удаления ly , скорее всего, будет идентифицировано и принято. Таким образом, товарищеские матчи становятся (через замену) дружественными , которые становятся (через зачистку) друзьями .

Этот пример также помогает проиллюстрировать разницу между подходом, основанным на правилах, и подходом грубой силы. При использовании метода грубой силы алгоритм будет искать дружественные слова в наборе из сотен тысяч изменяемых словоформ и в идеале находить соответствующую корневую форму Friend . В подходе, основанном на правилах, три упомянутых выше правила будут применяться последовательно для достижения одного и того же решения. Скорее всего, метод грубой силы будет медленнее, поскольку алгоритмы поиска имеют прямой доступ к решению, в то время как алгоритмы на основе правил должны пробовать несколько вариантов и их комбинаций, а затем выбирать, какой результат кажется лучшим.

Алгоритмы лемматизации [ править ]

Более сложный подход к проблеме определения основы слова — лемматизация . Этот процесс включает в себя сначала определение части речи слова и применение различных правил нормализации для каждой части речи. Часть речи сначала определяется перед попыткой найти корень, поскольку для некоторых языков правила образования основы меняются в зависимости от части речи слова.

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

Стохастические алгоритмы [ править ]

Стохастические алгоритмы предполагают использование вероятности для определения корневой формы слова. Стохастические алгоритмы обучаются (они «обучаются») на таблице отношений корневой формы к измененной форме для разработки вероятностной модели. Эта модель обычно выражается в форме сложных лингвистических правил, аналогичных по своей природе правилам удаления суффиксов или лемматизации. Стемминг выполняется путем ввода измененной формы в обученную модель, после чего модель создает корневую форму в соответствии со своим внутренним набором правил, что опять-таки аналогично удалению суффиксов и лемматизации, за исключением того, что решения, связанные с применением наиболее подходящего правила или или не останавливать слово и просто возвращать одно и то же слово, или применять два разных правила последовательно, применяются на том основании, что выходное слово будет иметь наибольшую вероятность быть правильным (то есть наименьшую вероятность быть правильным). неверно, как это обычно и измеряется).

Некоторые алгоритмы лемматизации являются стохастическими в том смысле, что для слова, которое может принадлежать нескольким частям речи, каждой возможной части присваивается вероятность. При этом могут учитываться окружающие слова, называемые контекстом, или нет. Контекстно-свободные грамматики не учитывают никакой дополнительной информации. В любом случае после присвоения вероятностей каждой возможной части речи выбирается наиболее вероятная часть речи, и оттуда к входному слову применяются соответствующие правила нормализации для получения нормализованной (корневой) формы.

n- граммный анализ [ править ]

Некоторые методы определения основы используют n-граммный контекст слова для выбора правильной основы слова. [4]

Гибридные подходы [ править ]

Гибридные подходы используют два или более подходов, описанных выше, одновременно. Простым примером является алгоритм суффиксного дерева, который сначала обращается к справочной таблице, используя грубую силу. Однако вместо того, чтобы пытаться сохранить весь набор отношений между словами на данном языке, таблица поиска остается небольшой и используется только для хранения небольшого количества «частых исключений», таких как «run => run». Если слова нет в списке исключений, примените удаление суффиксов или лемматизацию и выведите результат.

Аффикс тюнеров [ править ]

В лингвистике термин «аффикс» относится либо к префиксу , либо к суффиксу . Помимо работы с суффиксами, некоторые подходы также пытаются удалить общие префиксы. Например, учитывая слово indefinitely , определите, что ведущая буква «in» — это префикс, который можно удалить. Применяются многие из тех же подходов, упомянутых ранее, но они называются удалением аффикса . Исследование происхождения аффиксов для нескольких европейских языков можно найти здесь. [5]

Алгоритмы сопоставления [ править ]

Такие алгоритмы используют базу данных основ (например, набор документов, содержащих основы слов). Эти основы, как упоминалось выше, не обязательно сами по себе являются допустимыми словами (а скорее обычными подстроками, такими как «брови» в «просмотр» и «просмотр»). Чтобы образовать основу слова, алгоритм пытается сопоставить его с основами из базы данных, применяя различные ограничения, например, на относительную длину основы-кандидата внутри слова (так, чтобы, например, короткий префикс «be», который является основой таких слов, как «быть», «был» и «бытие», не будет рассматриваться как основа слова «рядом»). [ нужна ссылка ] .

Языковые проблемы

Хотя большая часть ранних академических работ в этой области была сосредоточена на английском языке (со значительным использованием алгоритма Портера Стеммера), были исследованы и многие другие языки. [6] [7] [8] [9] [10]

Иврит и арабский язык по-прежнему считаются трудными для изучения исследовательскими языками. Английские стеммеры довольно тривиальны (с лишь редкими проблемами, такими как «dries» — это форма настоящего времени глагола «dry» от третьего лица единственного числа, «axes» — множественное число от «axe», а также от «axis»); но стеммеры становится сложнее разрабатывать, поскольку морфология, орфография и кодировка символов целевого языка становятся более сложными. Например, итальянский стеммер сложнее английского (из-за большего числа склонений глаголов), русский — сложнее (больше склонений существительных ), еврейский — еще сложнее (из-за неконкатенативной морфологии , система письма без гласных и требование удаления префиксов: основы иврита могут состоять из двух, трех или четырех символов, но не более) и так далее.

Многоязычный стемминг [ править ]

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

Метрики ошибок [ править ]

В алгоритмах стемминга есть два измерения ошибок: завышение и недооценка. Overstemming — это ошибка, при которой два отдельных измененных слова имеют один и тот же корень, хотя этого не должно было быть — ложное срабатывание . Недооценка — это ошибка, при которой два отдельных склоняемых слова должны иметь один и тот же корень, но это не так — ложноотрицательный результат . Алгоритмы стемминга пытаются минимизировать каждый тип ошибок, хотя уменьшение одного типа может привести к увеличению другого.

Например, широко используемый стеммер Портера основан на словах «универсальный», «университет» и «вселенная» на «универсы». Это случай преувеличения: хотя эти три слова этимологически связаны, их современные значения находятся в самых разных областях, поэтому рассмотрение их как синонимов в поисковой системе, вероятно, снизит релевантность результатов поиска.

Примером недооценки в стеммере Портера является «выпускник» → «выпускник», «выпускник» → «выпускник», «выпускник»/«выпускник» → «выпускник». Это английское слово сохраняет латинскую морфологию, поэтому эти почти синонимы не смешиваются.

Приложения [ править ]

Стемминг используется как приблизительный метод группировки слов со схожим основным значением. Например, текст, в котором упоминается «нарциссы», вероятно, тесно связан с текстом, в котором упоминается «нарцисс» (без буквы «s»). Но в некоторых случаях слова с одной и той же морфологической основой имеют идиоматические значения, которые не являются тесно связанными: пользователь, ищущий «маркетинг», не будет удовлетворен большинством документов, в которых упоминаются «рынки», но не «маркетинг».

Поиск информации [ править ]

Стеммеры можно использовать в качестве элементов в системах запросов, таких как в Интернете поисковые системы . Однако вскоре выяснилось, что эффективность стемминга для английских поисковых систем довольно ограничена, и это привело к тому, что первые исследователи информационного поиска сочли стемминг неактуальным в целом. [11] альтернативный подход, основанный на поиске n-грамм Вместо этого можно использовать , а не основ. Кроме того, стеммеры могут принести больше пользы на других языках, чем на английском. [12] [13]

Анализ домена [ править ]

Стемминг используется для определения словарей предметной области при анализе предметной области . [14]

Использование в коммерческих продуктах [ править ]

Многие коммерческие компании используют стемминг, по крайней мере, с 1980-х годов и создали алгоритмические и лексические стеммеры на многих языках. [15] [16]

Стеммеры Snowball сравнивали с коммерческими лексическими стеммерами с разными результатами. [17] [18]

В Google Search в 2003 году была введена система словообразования. [19] Раньше поиск по слову «рыба» не возвращал слово «рыбалка». Другие алгоритмы поиска программного обеспечения различаются по использованию образования слов. Программы, которые просто ищут подстроки, очевидно, найдут слово «рыба» в слове «рыбалка», но при поиске «рыбы» не найдут вхождения слова «рыба».

Анализ текста [ править ]

Стемминг используется как задача предварительной обработки текста перед выполнением анализа текста.

См. также [ править ]

Ссылки [ править ]

  1. ^ Ловинс, Джули Бет (1968). «Разработка алгоритма стемминга» (PDF) . Механический перевод и компьютерная лингвистика . 11 : 22–31.
  2. ^ «Алгоритм Стемминга Портера» .
  3. ^ Yatsko, V. A.; Y-stemmer
  4. ^ МакНэми, Пол (сентябрь 2005 г.). «Изучаем новые языки с помощью HAIRCUT на выставке CLEF 2005» (PDF) . Материалы семинара CEUR . 1171 . Проверено 21 декабря 2017 г.
  5. ^ Джонгежан, Б.; и Далианис Х.; Автоматическое обучение правил лемматизации, которые обрабатывают морфологические изменения в пре-, ин- и суффиксах , в материалах ACL-2009, совместной конференции 47-го ежегодного собрания Ассоциации компьютерной лингвистики и 4-й Международной совместной конференции по естественному языку Обработка Азиатской федерации обработки естественного языка, Сингапур, 2–7 августа 2009 г. , стр. 145–153. [1]
  6. ^ Доламич, Лиляна; и Савой, Жак; Подходы к изучению восточноевропейских языков (CLEF 2007)
  7. ^ Савой, Жак; Подходы Light Stemming для французского, португальского, немецкого и венгерского языков , Симпозиум ACM по прикладным вычислениям, SAC 2006, ISBN   1-59593-108-2
  8. ^ Попович, Мирко; и Уиллетт, Питер (1992); Эффективность стемминга для доступа к словенским текстовым данным на естественном языке , Журнал Американского общества информатики , том 43, выпуск 5 (июнь), стр. 384–390
  9. ^ Стемминг на венгерском языке на CLEF 2005
  10. ^ Виера, AFG и Вирджил, Дж. (2007); Обзор алгоритмов радикализации на португальском языке , Information Research, 12(3), статья 315.
  11. ^ Баеза-Йейтс, Рикардо; и Рибейро-Нето, Бертье (1999); Современный поиск информации , ACM Press/Addison Wesley
  12. ^ Кампс, Яап; Монц, Кристоф; де Рийке, Мартен; и Сигурбьёрнссон, Бёркур (2004); Языкозависимые и языконезависимые подходы к межъязыковому поиску текста , Питерс, К.; Гонсало, Дж.; Брашлер, М.; и Клюк М. (ред.); Сравнительная оценка многоязычных систем доступа к информации , Springer Verlag, стр. 152–165.
  13. ^ Айрио, Эйя (2006); Нормализация слов и разложение слов в моно- и двуязычных МО , информационный поиск 9 : 249–271
  14. ^ Фрейкс, В.; Прието-Диас, Р.; И Фокс, К. (1998). « DARE: среда анализа предметной области и повторного использования », Annals of Software Engineering (5), стр. 125–141.
  15. ^ Пакеты языковых расширений. Архивировано 14 сентября 2011 г. на Wayback Machine , dtSearch.
  16. ^ Создание многоязычных решений с использованием продуктов и технологий Sharepoint. Архивировано 17 января 2008 г. на Wayback Machine , Microsoft Technet.
  17. ^ CLEF 2003: Стивен Томлинсон сравнил стеммеры Snowball с системой лексического стеммирования (лемматизации) Hummingbird.
  18. ^ CLEF 2004: Стивен Томлинсон «Поиск на финском, португальском и русском языках с помощью Hummingbird SearchServer»
  19. ^ Основы поиска Google , Справочный центр веб-поиска, Google Inc.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4ae2f4e9bff37d8377522bc10b743cb0__1705598700
URL1:https://arc.ask3.ru/arc/aa/4a/b0/4ae2f4e9bff37d8377522bc10b743cb0.html
Заголовок, (Title) документа по адресу, URL1:
Stemming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)