Giter Club home page Giter Club logo

zamgi / lingvo--postagger-ru Goto Github PK

View Code? Open in Web Editor NEW
5.0 4.0 4.0 18.75 MB

Определение частей речи / Нормализация текста: приведение всех слов к словарной форме в тексте на русском языке

License: MIT License

C# 96.14% HTML 1.55% CSS 1.06% JavaScript 1.23% Batchfile 0.02%
pos-tagger pos-tagging lingvo linguistics natural-language-processing nlp nlp-machine-learning morphology morphological-analysis morphologies part-of-speech-tagging

lingvo--postagger-ru's Introduction

lingvo--PosTagger-ru

[ live demo ]

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

Особенностью данной системы является то, что в нем задействована вся последовательность лингвистической обработки текста:

  • - текст разбивается на предложения;
  • - определяются части речи всех слов текста (так называемый PoS-tagging - Part-of-Speech tagging);
  • - находятся морфохарактеристики всех слов;
  • - снимается омонимия;

Конечное качество определяется всеми этапами обработки и определяется как морфологическими словарями, так и статистическими моделями. Это позволяет достичь хороших результатов нормализации по соотношению скорость / качество.

Скорость обработки текста данной системой составляет порядка 350 кБайт/сек.

lingvo--postagger-ru's People

Contributors

zamgi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

lingvo--postagger-ru's Issues

Предложение по архитектуре

Можно ли добавить в решение консольное приложение или юнит-тест, а набор словарей вынести в отдельный проект? Из веб-проекта не совсем понятно как передать текст и вернуть последовательность токенов.

Добавьте wiki

В вашей системе очень трудно разобраться.
Будьте добры добавьте примеры работы.

License issues

Hi,

Can you add or set a License to your projects?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.