https://github.com/zamgi/lingvo--postagger-ru
Определение частей речи / Нормализация текста: приведение всех слов к словарной форме в тексте на русском языке
https://github.com/zamgi/lingvo--postagger-ru
linguistics lingvo morphological-analysis morphologies morphology natural-language-processing nlp nlp-machine-learning part-of-speech-tagging pos-tagger pos-tagging
Last synced: about 1 year ago
JSON representation
Определение частей речи / Нормализация текста: приведение всех слов к словарной форме в тексте на русском языке
- Host: GitHub
- URL: https://github.com/zamgi/lingvo--postagger-ru
- Owner: zamgi
- License: mit
- Created: 2017-02-17T23:07:42.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-03-06T18:42:18.000Z (over 1 year ago)
- Last Synced: 2025-03-22T03:31:44.443Z (about 1 year ago)
- Topics: linguistics, lingvo, morphological-analysis, morphologies, morphology, natural-language-processing, nlp, nlp-machine-learning, part-of-speech-tagging, pos-tagger, pos-tagging
- Language: C#
- Homepage:
- Size: 18.3 MB
- Stars: 6
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# lingvo--PosTagger-ru
Нормализацией текста называется приведение всех слов текста к словарной форме: к именительному падежу, единственному числу (если таковое есть) или инфинитиву для глаголов.
Нормализация нужна, например, для быстрого поиска слова в словарях, синтаксического и семантического разбора текста.
Эта процедура особенно актуальна для языков грамматической группы как, например, русский или финский, у которых богатая морфология (сильные словоизменения в следствии грамматической вариативности).
Нормализация бывает как со снятием омонимии, так и без нее.
(Омонимия – совпадение слов, семантические значения которых не связаны: например,
слово «(в) коме» - нормализуется в два разных слова: «ком» и «кома»,
«начала» - глагол «начать» и существительное «начало»,
имя «Путине» (местный падеж) может иметь три формы «Путин», «Путина» и «путина», и т.д.).
Снятие омонимии означает, что определенным алгоритмом выбирается одно слово из множества предлагаемых морфословарем.
Снятие омонимии – дело трудоемкое и дорогостоящее по времени и ресурсам.
Поэтому ее не так часто используют в системах обработки текста, а обходятся «стеммингом» - приведением слова к нормальной форме по его окончанию.
В таком случае выбор нормальной формы из множества происходит случайным образом.
Омонимия не столь редкое явление, как кажется.
И иногда отсутствие процедуры снятия омонимии может серьезно испортить репутацию системы
(например, достаточно частотное местоимение «мой» может нормализоваться в глагол «мыть», предлог "после" - в существительное "посла",
а существительное, имя собственное «маша» - в глагол «махать»).
В целом, практически каждое слово за исключением наречий и междометий может иметь тот или иной вид омонимии
(лексическую, грамматическую, графическую), поэтому снятие омонимии – важный этап для качественной обработки текста.
Методы снятия омонимии различны. Основой большинства из них служит морфологический и частиречный анализ каждого слова с последующим наложением правил согласования и управления.
Особенностью данной системы является то, что в нем задействована вся последовательность лингвистической обработки текста:
- - текст разбивается на предложения;
- - определяются части речи всех слов текста (так называемый PoS-tagging - Part-of-Speech tagging);
- - находятся морфохарактеристики всех слов;
- - снимается омонимия;
Конечное качество определяется всеми этапами обработки и определяется как морфологическими словарями, так и статистическими моделями.
Это позволяет достичь хороших результатов нормализации по соотношению скорость / качество.
Скорость обработки текста данной системой составляет порядка 350 кБайт/сек.