company_banner

Морфология и компьютерная лингвистика для самых маленьких

    На Хабре уже был пост о Технопарке, и даже рассказы о курсах (1, 2), которые в нем проходят. Сегодня мы публикуем первую часть мастер-класса, который для студентов Технопарка провел Андрей Андрианов из ABBYY.

    Для начала не лишним будет вспомнить, что такое морфология, а также какое отношение она имеет к лингвистике. За этим предлагаю пройти под кат к содержимому первого поста серии.

    Многим из вас со школы знакомо предложение «Глокая куздра штеко будланула бокра и курдячит бокрёнка». Хотя мы не знаем, что скрывается за всеми словами этого предложения (за исключением союза «и»), мы можем предположить, что главное действующее лицо здесь куздра. Причем это не какая-то обычная куздра, а глокая. Что она сделала? Будланула. Как она это сделала? Штеко. Кого она будланула? Бокра. Кроме того, она совершает какие-то действия над бокрёнком.

    Эту фразу придумал академик Лев Щерба, а академик Александр Потебня на примере этой фразы демонстрировал своим студентам, как определенную часть семантики мы можем извлечь из морфологии слова, из его словоизменения, из окончаний. Мы не знаем лексического значения слов — не понимаем, какие объекты названы — но мы можем уловить их грамматическое значение. Именно о грамматических значениях я бы хотел рассказать в этой статье.

    Морфология – это раздел лингвистики, который изучает 4 вещи

    Части речи

    Как только вы прочитали предложение: «Глокая куздра штеко будланула бокра и курдячит бокрёнка», вы сразу выловили подлежащее и два сказуемых — «будланула» и «курдячит». Разные части речи в разных языках могут по-разному образовывать предложения.

    Словоизменение

    Увидев слово «будланула», даже не зная, что оно означает, вы уже можете его просклонять, проспрягать. Вам понятно, что инфинитив этого слова — «будлануть». Можно изменить род (будланул, будлануло), а можно поменять время (будланёт, будланёшь). То, как слова изменяются, в каких формах определяют то или иное грамматическое значение, изучает второй подраздел морфологии — словоизменение.

    Словообразование


    Встретив бокра и бокрёнка в одном предложении, вы сразу же себе представили, что бокрёнок – это детеныш бокра, как слонёнок и слон. Может быть, это просто мелкая копия большого бокра — ну, не выдался персонаж, например, ростом.

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

    Грамматическое значение

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

    Ещё со школьной парты мы представляем грамматическое значение в виде набора граммем. Родительный падеж, прошедшее время, единственное число – все это разные граммемы. Граммемы можно сгруппировать по категориям. Именительный, родительный, дательный, винительный и предложный – это категория падежа. Одна и та же форма не может иметь две граммемы одной категории. Если мы говорим «будланула», то мы имеем в виду только граммему единственное число. В одной и той же форме «будланула» мы не можем зашифровать одновременно две формы глагола. Не может быть существительного одновременно и в именительном и в дательном падеже. Формы могут совпадать, как они часто совпадают у именительного и винительного падежа, однако их нужно различать. Это еще одна из задач морфологии.

    Прикладные задачи лингвистики

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

    Области применения компьютерной лингвистики:
    • Обработка естественного языка
      1. Словари и автоматический перевод
      2. Извлечение фактов из текста и автореферирование
      3. Системы управления знаниями, экспертные системы
      4. Вопросно-ответные системы
    • Распознавание текста (OCR)
    • Распознавание речи (ASR)
    • Синтез речи

    Обработка естественного языка

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

    Распознавание текста (OCR)

    При распознавании текста применяются другие технологии. А в данном случае нас интересует, является слово словарным или нет. Когда распознается текст, мы часто имеем дело с нечеткостью изображения, и алгоритмы бинаризации, которая происходит перед распознаванием текста, не могут дать результат 100%. В связи с этим генерируется масса гипотез о том, что же там все-таки написано. Иногда невозможно отличить букву «н» от «м» или «н» от «к», и тогда в дело вступает компьютерная лингвистика, а если точнее – морфология. Морфология подсказывает, есть такое слово в языке или нет.

    Распознавание речи (ASR)

    Распознавание речи работает схожим образом. Из набора звуков строятся гипотезы относительно конкретных букв, которые произносит человек. Возьмем слово «корова». Мы говорим «карова», а пишем «корова». Здесь важно понять, есть ли в русском языке слово «карова» или нет.

    Синтез речи

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

    На этом вводная часть закончена. В следующем посте поговорим о роли морфологии в компьютерной лингвистике.
    Mail.Ru Group 726,08
    Строим Интернет
    Поделиться публикацией
    Похожие публикации
    Комментарии 20
      –3
      Я почему-то стал читать с «Грамматическое значение».
        +2
        Встретив бокра и бокрёнка в одном предложении, вы сразу же себе представили, что бокрёнок – это детеныш бокра, как слонёнок и слон.
        Ну да, а бочонок — это бочкин сын.

        Впечатление о том, что бокрёнок — это детёныш, а не маленький предмет, создаётся винительным падежом («и курдячит бокрёнка», а не «и курдячит бокрёнок»)

        Ну и вдобавок, у десятков слов невозможно определить часть речи по их внешнему виду. («волк и семеро (что делают?) козлят»)
          +2
          Нет, не винительным падежом, а именно самим словом, а точнее окончанием «ёнок». Во фразе «и катит бочонок» ощущения что это детёныш нет. Такое ощущение могло бы возникнуть, если бы было известно слово «боч», но так как мы знаем что его нет, а есть «бочка», => бочонок — не детёныш. Для слова «бочка» — детёныш «бочконёнок».
          По внешнему виду не возможно, а по контексту можно. Например: «Капуки и семеры козлят бочконёнка». Во фразе «волк и семеро козлят» часть рече идентифицируется так же по контексту. «семеро» не похоже на существительное (разве что это населённый пункт).
            0
            Собирательные числительные тоже могут быть подлежащими в предложении («Трое в лодке не считают собаку»).
              0
              Но тут срабатывает правило, по которому фильтруются фразы «Дети и пятеро играли во дворе», по которому собирательные числительные выглядят странно, когда идут в перечеслении.
                0
                Да вы шутите.
                seance.ru/blog/globus_odessa — «Двое и глобус»
                ru.wikipedia.org/wiki/Трое_и_Снежинка
                www.vokrugsveta.ru/vs/article/4302/ — «Четверо и полюс»
                Продолжать?
                  0
                  Это названия. Приведите пожалуйста пример из текстов. И если примеров мало, а контрпремеров много, то, мозг всё равно выберет то, что более вероятно.
                    0
                    Напомню вам, что речь шла о названии «Волк и семеро козлят».
                      0
                      Во всех ваших примерах вначале идёт числительное, а потом существительное. Приведите заголовок, где в перечислении вначале идёт существительное а потом числительное, после которого идёт глагол и наступает конец предложения.
                        0
                        «Духовный лидер мусульман и еще пятеро погибли» — под все ваши критерии подходит?
                          0
                          Да, но согласитесь, что это намного более редкий случай, чем обычное существительное. Поэтому в незнакомой ситуации мозг выберет наиболее вероятное (и для большинства случаев будет прав).
                  0
                  Логично :). Только, наверное, не во всяком перечислении, а в одном ряду с существительными. «Двое и пятеро играли во дворе» кажется вполне допустимым.

                  А что это за правило, на которое вы ссылаетесь? Это какое-то формальное правило в компьютерной лингвистике или просто эмпирическое наблюдение?
                    0
                    Наблюдение, которым я бы воспользовался для отсечения собирательных числительных в случае необходимости написать классификатор детёныш / недетёныш :)
            +5
            1) во фразе «и катит бочонка» — ощущения нет?

            2) цыплёнок — тоже не детёныш, потому что нет слова «цыпл»? а детёныш курицы — курицёнок?

            3) «семеро» похоже на числительное. Семеро одного не ждут, семеро одного козлят. Разве неправдоподобный контекст?
              0
              1) Во фразе «и катит бочонка» — ощущение есть, но это уже вымышленное слово, которое скорее всего и будет обозночать детёныша. Сочетания «катит бочонка» в русском вроде нет.
              2) Конечно же правил намного больше, и подсознательно мы знаем их все. Так же мы знаем и исключения, но, даже такое исключение не сильны выбивается из общей картины. В слове «цыплёнок» окончание вполне соответствует, да и слово «курицёнок» или «куричёнок» звучит весьма правдоподобно.
              3) Ответил в ветке выше.
                0
                Это какое слово вымышленное, «катит» или «бочонка»?
                  0
                  Прошу прощения, не вымышленное. Но слово бочонок лишь подтверждает правило, только смысл немного меняется, в данном случае оно означает не детёныша бочки, а маленькую бочку (исходя из нашего знания о том, что бочка — неодушевлённый предмет (и тут я понял что был не прав, парой коментов выше о том, что для бочонок родитель боч, родителем с таким же успехом является и бочка).
                  Возможно, разница между тем, является ли это детёнышем или является ли это маленьким предметом определяется исходя из вероятностей употребления данных окончаний к одушевлённым и неодушевлённым предметам. Для любого незнакомого мне существительного с окончанием «ёнок», мой внутренний классификатор говорит что это, скорее, детёныш, нежели маленький предмет. Примеры: хабрёнок, пырнёнок, вилёнок, пыщонок, ололёнок.
                  0
                  Нет, не винительным падежом, а именно самим словом, а точнее окончанием «ёнок» [создается впечатление о том, что бокрёнок — это детёныш, а не маленький предмет].

                  Во фразе «и катит бочонок» ощущения что это детёныш нет.

                  Во фразе «и катит бочонка» — ощущение есть, но это уже вымышленное слово, которое скорее всего и будет обозночать детёныша.


                  Выходит, впечатление все же создается именно винительным падежом (точнее формой слова в винительном падеже).
                    0
                    Да, похоже на то, что винительный падеж всё же вносит вес в классификатор, но не меньше чем словоформа.
                +1
                В моём морфологическом анализаторе один из омонимов слова «куздра» — это краткое прилагательное от «куздрый» (какова? Куздра ).
                А борьба с омонимами — это другая обширная проблема

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое