Многие чуда техники как правильно
Разновидности грамматических ошибок
Вопрос о классификации ошибок в речи школьников продолжает оставаться одной из болевых точек преподавания русского языка в школе. Данная проблема является болезненной не только для учителей, методистов, специалистов по культуре речи, она актуальна и для всех людей, пишущих и читающих по-русски.
Грамматические ошибки — это нарушение грамматических норм образования языковых единиц и их структуры.
Анализ грамматических ошибок помогает учителю определить, какими нормами языка (словообразовательными, морфологическими, синтаксическими) не владеет ученик.
Разновидности грамматических ошибок
Словообразовательные
Искажение слов
разночинская интеллигенция; полность изображения; благородность души; взятничество; упорность; надсмешка; скупидомка; скучание; ихние слова; завсегдатели трактира; жаждает.
Неправильное формообразование, нарушение системных свойств формообразовательной системы у разных частей речи
Ошибочное образование формы прилагательного
Базаров не может побороть чувство любви, охватывающую его;
По обоим сторонам дороги тянулись холмы; браконьерам, нарушающих закон;
Базаров говорит Аркадию, что твой отец — человек отставной.
он показан человеком сильной воли, богатого умом, крепкого здоровьем;
особое внимание было уделено на составление плана; следует отметить о том, что в доме Ноздрева все имело хаотический вид; ему характерны многие отрицательные черты; уверен в будущее, Соня жалела и переживала за Раскольникова; жажда к славе;
Ошибки в структуре простого предложения:
нарушение связи между подлежащим и сказуемым,
Нарушение границы предложения
Собаки напали на след зайца. И стали гонять его по вырубке. Когда герой опомнился. Было уже поздно.
Манилов попросил Павла Ивановича пройти в его кабинет.
Собакевич потребовал у Чичикова написать себе расписку.
Обычно молодежь является носителями передовых идей.
Произошло еще ряд событий.
Чтобы приносить пользу Родине, нужно смелость, знания, чёткость (вместо:….нужны смелость, знания, честность);
Порфирий был любимцем с детства матери.
Она уговорила отдать подводы для раненых, на которых уже были уложены вещи.
Хорошо было бы, если бы на картине стояла бы подпись художника; отрыв частиц от того компонента предложения, к которому она относится (обычно частицы ставятся перед теми членами предложения, которые они должны выделять, но эта закономерность часто нарушалась в сочинениях):
В тексте всего раскрываются две проблемы, (ограничительная частица “всего” должна стоять перед подлежащим: “…всего две проблемы”.
Разрушение ряда однородных членов
Настоящий учитель верен своему делу и никогда не отступать от своих принципов. Почти все вещи в доме большие: шкафы, двери, а еще грузовик и комбайн.
Ошибки в построении предложения с деепричастным оборотом
Местоименное дублирование одного из членов предложения, чаще подлежащего.
Пропуски необходимых слов.
Владик прибил доску и побежал в волейбол.
Ошибки в структуре сложного предложения:
смешение сочинительной и подчинительной связи.
Эта книга научила меня ценить и уважать друзей, которую я прочитал ещё в детстве. Человеку показалось то, что это сон. Когда ветер усиливается, и кроны деревьев шумят под его порывами.
Многие чуда техники как правильно
Различают следующие виды ошибок в русском языке [1, 2]:
Бедность и однообразие синтаксических конструкций: Мужчина был одет в прожженный ватник. Он был грубо заштопан. Сапоги были почти новые. Носки изъедены молью. – Мужчина был одет в грубо заштопанный прожженный ватник, хотя сапоги были почти новые, носки оказались изъедены молью.
Расстояние Левенштейна
Расстояние Левенштейна, или расстояние редактирования между двумя строками – это минимальное количество операций вставки, удаления и замены символа на другой, необходимых для превращения одной строки в другую [3].
Пусть S1 и S2 – две строки длиной M и N соответственно. Тогда расстояние Левенштейна d(S1, S2) можно рассчитать по следующей рекуррентной формуле (первый элемент строки имеет номер 1):
Методы автоматического поиска и исправления ошибок в предложении
Поиск слова в словаре
Выполняется поиск проверяемого слова в словаре, и если слово не найдено, то оно подчеркивается. Кандидаты на замену слова с ошибкой (ССО) определяются как слова из словаря, наиболее близкие к ССО. Близость устанавливается по расстоянию Левенштейна [4].
Достоинством метода является его простота.
Пример: Microsoft Word. Приложение не исправляет слово с ошибкой, но предлагает выбор для его замены.
Прямой подход
Каждому слову русского языка сопоставляются всевозможные варианты ошибочных написаний, а также им присваиваются вероятности их появления (существуют наборы данных реальных ошибок пользователей и частота их появлений). Введенное слово с ошибкой исправляется на наиболее вероятное корректное слово.
Достоинством метода является простота использования.
Наивный подход
Вычисляются расстояния Левенштейна от слова с ошибкой до каждого слова словаря, а затем для замены из словаря выбирается слово с минимальным расстоянием Левенштейна. При обнаружении нескольких вариантов замен используются дополнительные критерии выбора. Этот способ правки необычайно дорог [5].
Стратегия промаха (Near-Miss Strategy). Подход Питера Норвига
Если слово не найдено в словаре, то генерируются все возможные комбинации слова с заданным расстоянием редактирования (операции удаления, перестановки, замены и вставки) и выполняется их поиск в словаре [6]. Если эти шаги приводят к слову, содержащемуся в словаре, то оценивается расстояние до исходного слова. Чтобы измерить близость слов, используется расстояние Левенштейна или одна из его модификаций [7]. Из числа найденных слов для замены выбирается слово с наименьшим расстоянием Левенштейна.
Метод весьма ресурсоемок. Так, для слова длины n, размера алфавита a, расстояния редактирования d = 1, будут выполнены n удалений букв, n – 1 перестановок, a * n изменений и a * (n + 1) вставок. В общей сложности число получаемых модификаций исходного слова равно 2n + 2an + a – 1. Число модификаций будет еще больше, если добавить операцию вставки пробела.
Этот способ хоть и лучше наивного подхода, однако все же весьма дорогостоящий по времени поиска и зависит от языка. Так для n = 9, a = 36, d = 2 получается 114 324 комбинации. Алфавит используется для генерации комбинаций, и он может быть очень большим. Так, в китайском языке а = 70’000 Unicode Han-символов.
Достоинство алгоритма: использование расстояния Левенштейна, что повышает точность ответов.
Пример: Спеллчекер Питера Норвига.
Орфографическая коррекция на основе симметричного удаления
где n – длина слова, d – расстояние редактирования.
Так, при n = 9, d = 2 получим x = 36, что на несколько порядков меньше аналогичного показателя стратегии промаха для тех же значений n и d: x = 114’324.
Обобщая вышесказанное, можно утверждать, что стоимость данного подхода заключается лишь во времени предварительного расчета и объеме хранилища для всех удалений каждого слова в словаре.
Таким образом, например, для максимального расстояния редактирования 2 и средней длины слова в 5, и 100 000 записей в словаре необходимо дополнительно сохранить 1’500’000 «удалений».
Система исправления ошибок, использующая рассматриваемый подход, включает следующие таблицы:
— словарь с правильными написаниями слов;
— таблицу всех модификаций слов словаря.
Таблица модификаций исходных слов формируется по следующему алгоритму:
Замечание. В алгоритме учтено, что разные слова в словаре могут приводить к одной и той же модификации.
В рассматриваемом подходе список кандидатов на замену слова с ошибкой формируется по следующему алгоритму:
В качестве исправления исходного слова, используется первое слово в отсортированном списке кандидатов.
Ускорение поиска в таблице модификаций и в словаре достигается за счет их индексирования. Для выбора замены из списка кандидатов можно использовать частоту встречаемости слов, которую можно хранить в словаре.
Приведенный алгоритм формирования списка слов-кандидатов является достаточно быстрым, о чем говорят следующие факторы:
Если индекс основан на таблице хэшей, поиск по которой занимает константное О(1) время, то алгоритм SymSpell имеет вычислительную сложность О(1), в то время как, например, алгоритм, основанный на BK-деревьях имеет вычислительную сложность О(log(размер_словаря)) [4, 8].
Использование правил (rule-based подход)
Является модификацией стратегии промаха. Описываются всевозможные правила согласования слов русского языка, с учетом их морфологических признаков. Среди кандидатов на исправление опечаток выбирается тот, который наилучшим образом подходит описанным правилам.
Достоинство: учет контекста.
Недостаток: сложность (почти невозможность) реализации.
Использование модели языка (модифицированная стратегия промаха)
Модель языка умеет отвечать на вопрос, с какой вероятностью данное предложение может встретится в языке. На сегодняшний день в основном используются два подхода: модели на основе N-грамм [9] и применение искусственного интеллекта на основе нейросетей [10].
Вероятность каждой n-граммы определяется через количество обнаружений n-граммы по отношению к количеству нахождений такой же n-граммы, но без последнего слова:
На практике в чистом виде такую модель не используют, так как у неё есть следующая проблема. Если какая-то n-грамма не встречалась в обучающем тексте, то всё предложение сразу же получит нулевую вероятность. Для решения этой проблемы используют один из вариантов сглаживания. В простом виде – это добавление единицы к частоте встречаемости всех n-грамм, в более сложном – использование n-грамм более низкого порядка при отсутствии n-граммы высокого порядка.
Самая популярная техника сглаживания – Kneser–Ney smoothing [11]. Однако она требует для каждой n-граммы хранить дополнительную информацию, а выигрыш по сравнению с более простым сглаживанием получается незначительным (по крайней мере в экспериментах с небольшими моделями, до 50 миллионов n-грамм). Для простоты в качестве сглаживания будем считать вероятность каждой n-граммы как произведение n-грамм всех порядков, например, для триграмм:
Теперь, имея модель языка, будем выбирать среди кандидатов на исправление опечаток того, для которого модель языка с учетом контекста будет выдавать наилучшую оценку. Кроме того, добавим к оценке небольшой штраф за изменение исходного слова, чтобы избежать большого числа ложных срабатываний. Изменение данного штрафа позволяет регулировать процент ложных срабатываний: например, в текстовом редакторе можно оставить процент ложных срабатываний выше, а для автоматического исправления текстов ниже.
Достоинство алгоритма: учет контекста.
б) Модель на основе ИИ.
Для учета контекста можно использовать нейросеть типа LSTM (Long Short Term Memory) – нейросеть с короткой и длинной памятью [12]. Суть LSTM в том, что нейроны этой сети имеют определенный параметр, который запоминает, о чем идет речь в том или ином предложении [13, 14]. Важным аспектом является то, какие слова в предложении значимы, а какие нет. Для этого используется NLP (Natural Language Processing) – обработка естественного языка. Техника NLP позволяет определить интонацию предложения, понять, о чем идет речь, и выделить ключевые слова.
Достоинство: учет контекста.
Недостаток: сложность реализации.
Примеры: Spell-Checker [15], Яндекс.Спеллер – использует машинное обучение и библиотеку машинного обучения CatBoost [16].
Фонетический алгоритм
Алгоритм пригоден для исправления орфографических ошибок. Все буквы можно разбить на классы эквивалентности по принципу фонетической близости звуков, которым они соответствуют. В границах каждого класса существует некоторая не очень маленькая вероятность того, что на месте одной буквы класса пользователь, совершив ошибку, напишет другую. Выбрав из каждого класса одного представителя и заменив все буквы в слове на представителя их класса, получаем фонетическую метку [17].
Здесь и далее фонетические метки на любой стадии обработки будут заключаться в угловые скобки. Ошибочное написание слов будет предваряться знаком *.
Правила компиляции фонетической метки:
1. Слитно, раздельно, через дефис.
Большой класс орфографических ошибок – написание раздельно/слитно/через дефис. Поэтому при компиляции фонетической метки все символы, кроме русских букв, удаляются. Этот пункт применим к словарным записям, представляющих собой устойчивые группы из нескольких слов, например, «потому что»; «в течение»; «за границу».
Например:
Рис. 1. Тепловая карта букв «я» и «ё» и их ошибочных написаний
Фонетически буква «Ё» может передавать два звука «ЙОТ»-«О». И если посмотреть по статистике пользовательских ошибок, то пара «Ё»-«О» является наиболее вероятной. Но на практике, если ваш словарь не содержит буквы Ё или пользователи не используют Ё при вводе, то лучше сводить «Ё» к «И»-классу (ы, и, е, э).
Буква Я, по аналогии, может передавать два звука «ЙОТ»-«А». Но по статистике люди чаще, совершая ошибку, пишут «Е» или «И» вместо «Я» (*премая, *кипеток, *выпримлять). Так что отнесение «Я» к «И»-классу (ы, и, е, э) однозначно будет более выгодным.
Если уточнить, то после шипящих и Ц более вероятной будет как раз ошибка А-Я. (Наоборот быть не может – в русской орфографии после этого класса согласных (шипящие и Ц) Я никогда не пишется.) Это правило можно встроить в алгоритм.
Буквы, предшествующие обозначенным на тепловой карте парам эталон-ошибка, показаны на рис. 2.
Рис. 2. Тепловая карта пар эталон-ошибка и предшествующим им буквам
Примеры: Soundex, Metaphone, Double Metaphone.
Использование префиксных деревьев
Структура дерева имеет следующий вид: каждый узел представляет собою пару «ключ, значение». В ключе записываются буквы слов, а значениями являются элементы дерева [18].
Пары «ключ, значение» формируются следующим образом: берётся первый символ слова, записываем в ключ узла, далее получаем ссылку на соответствующее поддерево (при необходимости оно тут же и создаётся). Рекурсивно записываем остаток строки в это поддерево. Когда строка исчерпана, к последнему узлу добавляется «знак остановки» – ключ ‘$’ с пустым поддеревом.
Если представить дерево как некую многократно разветвляющуюся дорогу, то функция поиска слова – путник, идущий по этой дороге. Путнику дан маршрут (искомое слово), и в соответствии с ним он переходит от узла к узлу, зачеркивая пройденные буквы маршрута. Если буквы кончились, остаётся проверить, виден ли «знак остановки».
Теперь представим, что клоны путника одновременно отправляются во все стороны сразу. Каждый из его клонов на каждой развилке действует по одной схеме, и так до тех пор, пока в каждую из конечных остановок (то есть листьев дерева) кто-нибудь не придёт. Общее количество клонов путника равно количеству слов, записанных в дерево, и каждый из них пройдёт по индивидуальному пути.
Пусть всем им изначально задано одно и то же слово-маршрут. При каждом переходе каждый путник, как и раньше, зачеркивает по одной букве в своей копии маршрута. Но если реальное направление перехода не совпадает с зачёркнутой буквой, путник получает штраф. В результате в конце пути у каждого будет накоплена некоторая задолженность. Выстроим всех в ряд, отсортировав по возрастанию этой величины.
Если искомое слово присутствует в словаре, то один путник пройдёт весь путь без штрафов – в отсортированном списке он будет первым. Если слово в словаре отсутствует, то лидировать будет тот, кто прошёл путь с минимальным количеством нарушений.
Смысл в том, что путь, пройденный лидером, будет ближайшим исправлением заданного слова (или самим этим словом, если опечаток нет), а количество нарушений (отклонений от заданного маршрута) – количеством опечаток. Таким образом осуществляется нечеткий поиск.
Достоинства алгоритма:
Использование векторного представления слов
В [19] проектируется нейронная сеть, находящее слово по его левому контексту. В системах проверки правописания это слово может быть использовано для пополнения списка кандидатов на замещение слова с ошибкой. Предварительно по технологии word2vec в [19] создается словарь с векторным представлением слов. Далее проектируется и обучается нейронная сеть, принимающая на входе левый контекст слова и выдающая на выходе слово, с наибольшей вероятностью отвечающее этому контексту. После этого в word2vec-словаре находятся слова, семантически близкие в полученному от нейронной сети слову. Из этих слов предлагается выбрать слово, продолжающее полученный на входе нейронной сети левый контекст. Глубина левого контекста, взятая в [19], равна 1 (на вход сети подается одно слово).
Типичные ошибки в русском языке: грамматические, речевые и орфографические
Самые распространенные ошибки в ЕГЭ по русскому языку:
Классификация ошибок по ФИПИ
Грамматические ошибки
Грамматическая ошибка – это ошибка в структуре языковой единицы: в структуре слова, словосочетания или предложения; это нарушение какой-либо грамматической нормы: словообразовательной, морфологической, синтаксической.
В отличие от грамматических, речевые ошибки – это ошибки не в построении, не в структуре языковой единицы, а в ее использовании, чаще всего в употреблении слова. По преимуществу это нарушения лексических норм, например:
Речевую ошибку можно заметить только в контексте, в этом ее отличие от ошибки грамматической, для обнаружения которой контекст не нужен.
Ниже приводятся общепринятые классификаторы грамматических и речевых ошибок.
Виды грамматических ошибок:
Речевые ошибки
Виды речевых ошибок:
Это ошибки, связанные с употреблением глагола, глагольных форм, наречий, частиц:
Эти ошибки связаны обычно с нарушением закономерностей и правил грамматики и возникают под влиянием просторечия и диалектов.
К типичным можно отнести и грамматико-синтаксические ошибки:
Типичные речевые ошибки (К10)
Это нарушения, связанные с неразвитостью речи: плеоназм, тавтология, речевые штампы; немотивированное использование просторечной лексики, диалектизмов, жаргонизмов; неудачное использование экспрессивных средств, канцелярит, неразличение (смешение) паронимов; ошибки в употреблении омонимов, антонимов, синонимов; не устраненная контекстом многозначность.
К наиболее частотным речевым ошибкам относятся:
Логические ошибки
Логические ошибки связаны с нарушением логической правильности речи. Они возникают в результате нарушения законов логики, допущенного как в пределах одного предложения, суждения, так и на уровне целого текста.
Композиционно-текстовые ошибки
Фактические ошибки
Орфографические, пунктуационные, графические ошибки
При проверке грамотности (К7-К8) учитываются ошибки
Необходимо учитывать также повторяемость и однотипность ошибок. Если ошибка повторяется в одном и том же слове или в корне однокоренных слов, то она считается за одну ошибку.
Графические ошибки – различные приемы сокращения слов, использование пробелов между словами, различных подчеркиваний и шрифтовых выделений. К ним относятся: различные описки и опечатки, вызванные невнимательностью пишущего или поспешностью написания.
Распространенные графические ошибки: