Создание системы автоматической разметки типов ошибок для Русского Учебного Корпуса

Характеристика Русского Учебного Корпуса. Типы ошибок в русском учебном корпусе, совместная встречаемость тегов, алгоритм классификации. Проблема несбалансированности выборки. Результаты классификации, вклад признаков в различные классификаторы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 30.06.2017
Размер файла 51,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Оглавление

  • Введение
  • Основная часть
    • Формальная постановка задачи
    • О Русском Учебном Корпусе
    • Типы ошибок в русском учебном корпусе
    • Совместная встречаемость тегов
    • Алгоритм классификации
    • Использованные признаки
    • Проблема несбалансированности выборки
    • Результаты классификации
    • Вклад признаков в различные классификаторы
  • Заключение
  • Литература

Введение

учебный корпус тег классификатор

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

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

Первым типом ошибок, на который обратили внимание исследователи, были ошибки, вызванные влиянием родного языка говорящего на изучаемый язык. В 70-е годы была популярна методика сравнительного анализа: предпринимались попытки объяснить совершаемые ошибки влиянием родного языка пишущего и предсказать типы ошибок в речи изучающих язык исходя из данных их родного языка. Например, в работе "An error in error analysis" ([Schachter 1974]) показано, что лингвистический анализ японского и китайского языка позволяет предсказать наличие ошибок у носителей этих языков в использовании относительных предложений в английском языке. В статье [Kellerman 1984] автор также показывает, что ошибки в изучаемом языке указывают на влияние родного языка изучающего.

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

Например, различие между языками не всегда ведет к ошибкам при усвоении языка. В исследовании [Helmut Zobl 1980] обсуждается, что различие в порядке слов в предложениях, где прямое дополнение выражено местоимением, вызывает ошибки у носителей английского, изучающих французский, но не наоборот. Напротив, иногда изучающие испытывают трудности с категориями, которые присутствуют в их родном языке. Так, в работе [Hyltenstam, 1977] было показано что носители турецкого языка могут иметь проблемы с усвоением постглагольного отрицания в шведском языке несмотря на то что в турецком отрицание тоже выражается после глагола.

Более того, полученные в ряде подобных исследований данные указывали на то, что ошибки в речи могут быть результатом не только различий, но и сходств между языками. Носители языка, в котором присутствует определенная категория, пытаются выражать ее в изучаемом языке, используя «похожие» средства. Так, например, носители кечуа пытаются выражать эвиденциальность в испанском с помощью категории прошедшего времени. Категория эвиденциальности является обязательной в кечуа, иными словами говорящий обязан выразить в речи источник информации - прямую или косвенную засвидительствованность. Эта категория отсутствует в испанском, однако при использовании испанского носители кечуа пробуют выражать ее с помощью выбора глагольного времени, используя плюсквамперфект для выражения косвенной засвидительствованности и простое прошедшее время и имперфект для выражения прямой засвидительствованности. [Klee, Ocampo 1995]. Этот принцип был назван “Transfer to somewhere” [Andersen 1983].

Другим типом ошибок, на который обратили внимание исследователи второго языка, были ошибки, возникающие также и при усвоении первого языка: это грамматические ошибки генерализации грамматики. К таким ошибкам относится, например, построение регулярных форм для неправильных глаголов английского языка. Примером из русского может послужить форма *рисовай вместо рисуй. Эти ошибки были объяснены тем что усвоение языка (как первого, так и второго) обязательно проходит через определенные стадии, и одна из них - генерализация грамматики, а теория получила название interlanguage theory [Selinker 1972].

Новый этап в изучении несовершенной речи наступил с появлением в 80-х годах прошлого века компьютерных технологий. Именно тогда была поставлена задача автоматического исправления грамматических ошибок в текстах.

Первые программы для проверки грамматики, такие как Unix Writer's Workbench [MacDonald 1982] проверяли текст путем сравнения с известным набором строк, то есть не имели большого отношения к лингвистике. Более поздние системы (CorrectText и Grammatik) осуществляли по крайней мере какой-то лингвистический анализ, а такие программы как IBM's Epistle [Heidorn et al. 1982] и Critique [Richardson, Braden-Harder 1988] осуществляли полный лингвистический анализ, используя синтаксический препарсинг и встроенные грамматики. Например, Grammar Checker for Norwegian [Johannessen et al. 2002] и шведский проект Grammatifix [Arppe 2000] построены с использованием грамматики ограничений [Karlsson et al. 1995] и могут обнаружить и исправить большинство грамматических ошибок. Эта тенденция продолжается до настоящего времени: все современные программы для проверки грамматики в какой-то степени используют встроенную грамматику или правила, написанные лингвистами.

Однако в 90-х годах прошлого века правиловые системы проверки грамматики стали уступать статистическим, то есть обученным на данных. Первые классификаторы в этой области, такие как система, описанная в статье [Golding, Roth 1996], в основном выполняли задачу автоматической коррекции орфографии, то есть покрывали очень маленький подкласс ошибок, совершаемых изучающими язык. В то же время для коррекции текста, полученного в результате машинного перевода, был разработан анализатор [Knight, Chander 1994], способный распознавать и исправлять ошибки в употреблении артиклей в английском языке. До настоящего времени подобные системы широко применяются для коррекции употребления артиклей и предлогов, то есть закрытых классов слов, когда для употребления каждого слова из класса можно построить модель. Подобные системы можно применять и в других областях, однако для многих классов ошибок обычно они требуют для обучения большого объема данных, размеченных вручную.

Поэтому современные системы автоматической коррекции текста как правило являются гибридными, то есть сочетают в себе элементы правилового и статистического подходов, а также часто опираются на n-граммы - последовательности из n слов, встречающиеся в “правильных” текстах. Большинство существующих систем работает с английским языком, однако существуют и системы для других языков, например, системы для шведского и норвежского, описанные выше. Однако подобных программ для морфологически богатых языков типа русского до сих пор не существует.

Другим важным последствием появления компьютерных технологий в этой области является возникновение корпусов эритажных текстов (heritage corpora) и текстов, написанных изучающими язык (learner corpora). Несмотря на то что корпусная лингвистика зародилась еще в 50-х годах прошлого века, первые корпуса ошибок появились только в 90-х годах. Два первых подобных корпуса для английского языка - Longman Learners' Corpus [Longman Corpus Network 2003] и the International Corpus of Learner English (ICLE) [Granger et al. 2002]. В целом такие корпуса похожи на обычные лингвистические корпуса, однако обладают рядом особенностей - как правило в метаразметке текстов присутствует тип задания, которое выполнял человек, породивший текст (эссе, ответ на вопрос, пересказ, и т. д.), родной язык автора текста и, главное, в корпусе есть аннотация ошибок. Часть ошибок для английского языка может быть аннотирована автоматически, однако аннотация корпусов всё равно в большой степени осуществляется вручную.

Наличие корпусов ошибок вызвало новую волну в изучении усвоения второго языка. Методика сравнительного анализа нашла широкое применение в корпусных исследованиях, использование корпуса позволяет сравнить язык носителей и изучающих язык, а также речь изучающих с разными родными языками [Granger 2002]. Ошибки, совершаемые иностранцами, обращают внимание лингвистов на «проблемные места» и нерегулярности языка, то есть помогают понять его структуру.

Изучение несовершенных текстов - довольно молодая область лингвистики, однако в ней уже были достигнуты интересные результаты. Исследования в этой области помогают лучше понять устройство языка в целом и могут иметь практическое значение для преподавания иностранного языка. Например, в статье [Рахилина 2016] показано, что эффекты интерференции с доминантным языком в русском языке могут послужить материалом для уточнения грамматического описания русского языка: ошибки помогают обратить внимание на существующие правила. В работе [Zarifyan et al. 2016] корпусные данные о лексических ошибках, совершаемых иностранцами, изучающими русский язык, были использованы для создания онлайн-тренажеров на выбор подходящего к контексту слова из ряда синонимов.

Практически все находящиеся в свободном доступе корпуса ошибок являются корпусами английского языка, однако для русского языка такие ресурсы тоже существуют. Например, Корпус несовершенных переводов http://rus-ltc.org/about_ru.html содержит переводы с английского на русский язык, выполненные студентами и аннотацию допущенных ими ошибок. Другим ресурсом, содержащим “тексты с ошибками” является Русский Учебный Корпус [Rakhilina et al. 2016]. Качественные инструменты для автоматической аннотации и исправления грамматических ошибок для русского языка отсутствуют, поэтому корпус аннотирован полностью вручную.

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

Создание системы автоматического исправления ошибок для такого морфологически богатого языка, как русский - колоссальная задача, которая еще не была решена. Отдельные типы ошибок тем не менее могут быть исправлены. Мне известно о двух попытках создания подобных систем, предпринятых студентами Школы Лингвистики НИУ ВШЭ. Евгения Мещерякова и Светлана Пужаева пробовали создать систему автоматического исправления ошибок в глагольном управлении, однако позже ограничились орфографическими ошибками https://www.hse.ru/ma/ling/st-projects. Елена Клячко попробовала использовать для исправления ошибок n-граммную модель, построенную на гугл n-граммах, однако тренировочных данных оказалось недостаточно для качественного определения ошибочных n-грамм в текстах.

Большинство типов грамматических ошибок всё же очень сложно исправить автоматически. Статистические модели требуют огромных объемов размеченных данных, а правиловые системы и системы, использующие встроенные грамматики, требуют полного лингвистического анализа текста, включая морфологический и синтаксический анализ предложений с ошибками. Синтаксический парсинг даже нормальных текстов на русском языке - не вполне решенная задача. Хотя современные модели автоматического парсинга, натренированные на размеченных вручную текстах, достигают качества порядка 80-90 % [Droganova 2015], разработка парсера, способного работать с языком с ошибками - отдельная тяжелая задача.

Кроме того, некоторые ошибки, вероятно, в принципе не могут быть исправлены автоматически. Речь идет о некоторых лексических ошибках, ошибках в употреблении идиом и конструкций. Граница между “носитель русского языка так не скажет” и “плохо звучит” размыта, а задачей разметчиков является исправление ошибок, а не литературная коррекция текста. Промежуточные случаи могут быть размечены по-разному, иногда разметчик может принять решение не вносить исправление, так как оно повлечет за собой необходимость исправлять согласование других слов в предложении или полного переписывания предложения. Например, предложение “Чем больше страна находится в кризисном состоянии, тем больше нужен козёл отпущения” звучит по-русски не очень естественно, но в него не были внесены никакие исправления, так как неясно, каким образом его исправить, не переписывая полностью. Более того, как правило не существует однозначного способа исправления лексической ошибки - одну и ту же мысль можно выразить разными способами - и разметчик, внося исправление, в некоторым смысле самостоятельно выступает как автор. Например, слова важная и проблема в предложении “Любовь - самая важная проблема на земле” в корпусе размечены как неверные словоупотребления и заменены на слова большая и трудность соответственно. Но с тем же успехом можно было бы заменить важная на сложная, а проблема не менять совсем, или не исправлять оба слова. Таким образом, исправление многих ошибок (а лексические ошибки и ошибки в употреблении конструкций являются одними из самых частых типов ошибок в корпусе) является творческой задачей, однозначного решения которой нельзя ожидать даже от человека и тем более от автоматической системы.

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

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

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

Формальная постановка задачи

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

О Русском Учебном Корпусе

Русский Учебный Корпус - уникальный ресурс, позволяющий изучать особенности русской речи нестандартных говорящих, то есть людей с другим доминантным языком. Как было сказано выше, корпус размечен полностью вручную. Как правило, ручная разметка может считаться “эталонной” и использоваться в качестве данных при создании и тестировании статистических моделей в области автоматической обработки естественного языка, однако корпус ошибок - особый случай. По описанным в предыдущем разделе причинам часто не существует однозначного варианта исправления ошибки и разметчик выступает как “автор” исправления. Кроме того, разметку корпуса в качестве летней практики выполняют студенты, многие из которых заинтересованы закончить работу как можно быстрее и выполняют разметку небрежно. Существующие инструкции по разметке также не очень подробные. В силу всех этих причин уровень согласия между разметчиками (inter annotator agreement) в корпусе очень мал. В [Rakhilina et al. 2016] приводятся два наилучших значения (0.317 для синтаксических ошибок и 0.249 для орфографических ошибок) и наихудшее значение (0.185 для ошибок в употреблении конструкций) коэффициента согласия.

Другим следствием небрежной разметки является наличие нескольких разных тегов для одного типа ошибок (например, del и miss для обозначения пропуска слова или его части), опечатки в тегах (например, orpho вместо ortho), наличие в корпусе тегов с неясным значением, которые отсутствуют в инструкции разметчикам (например, argstr). На этапе предобработки данных опечатки в тегах были исправлены, теги с одинаковым значением объединены, а примеры с тегами, отсутствующими в инструкции разметчику, удалены, если они встречались меньше десяти раз.

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

Некачественные данные не могут не оказать отрицательного влияния на результат классификации.

Типы ошибок в русском учебном корпусе

Далее приведен список использованных в работе типов ошибок (по классификации РУК, упорядочены по частотности), частота встречаемости каждого в использованной для классификации базе данных и краткое описание:

1) ortho (встретился 4277 раз) - орфографическая ошибка, не попадающая под определение орфографических ошибок, обозначаемых другими тегами

2) lex (встретился 4075 раз) - неверное словоупотребление

3) constr (встретился 2155 раз) - ошибка в употреблении конструкции

4) del (встретился 1842 раз) - пропуск буквы, морфемы или слова, должен встречаться только в сочетании с другими типами ошибок

5) gov (встретился 1412 раз) - ошибка в управлении

6) subst (встретился 1146 раз) - замена буквы, морфемы или слова, должен встречаться только в сочетании с другими типами ошибок

7) insert (встретился 1104 раз) - вставка лишней буквы, морфемы или слова, должен встречаться только в сочетании с другими типами ошибок

8) agrcase (встретился 986 раз) - ошибка в согласовании по падежу

9) transfer (встретился 874 раз) - интерференция с доминантным языком автора

10) asp (встретился 783 раз) - неверная видовая форма

11) conj (встретился 713 раз) - ошибка в употреблении союза

12) wo (встретился 649 раз) - ошибка в порядке слов

13) syntax (встретился 638 раз) - синтаксическая ошибка, не попадающая под определение синтаксических ошибок, обозначаемых другими тегами

14) not-clear (встретился 624 раз) - по контексту невозможно установить смысл фразы и исправить ошибку

15) ref (встретился 493 раз) - ошибки в употреблении местоимений

16) space (встретился 486 раз) - ошибка в употреблении пробела

17) agrgender (встретился 478 раз) - ошибка в согласовании по роду

18) agrnum (встретился 457 раз) - ошибка в согласовании по числу

19) num (встретился 449 раз) - употребление слова в неверной числовой форме

20) infl (встретился 369 раз) - использование окончания, которое отсутствует в парадигме данного слова

21) morph (встретился 309 раз) - морфологическая ошибка, не попадающая под определение морфологических ошибок, обозначаемых другими тегами

22) prep (встретился 301 раз) - ошибка в употреблении предлога. Этот тег является новым и множество употреблений предлогов по прежнему размечены как “gov”, ошибка управления

23) misspell (встретился 287 раз) - комплексная орфографическая ошибка, затрагивающая написание некоторых букв

24) tense (встретился 274 раз) - ошибка выбора временной формы. Этот тег отсутствует в инструкции для разметчиков, но присутствует в среде разметки.

25) deriv (встретился 265 раз) - создание несуществующего слова

26) hyphen (встретился 212 раз) - ошибка в употреблении дефиса

27) graph (встретился 174 раз) - смешение алфавитов

28) par (встретился 169 раз) - паронимия

29) brev (встретился 141 раз) - ошибка в выборе формы прилагательного или причастия (краткая или полная)

30) idiom (встретился 138 раз) - ошибка в употреблении устойчивого словосочетания

31) refl (встретился 134 раз) - неверное употребление возвратных глаголов

32) transp (встретился 94 раз) - перестановка двух соседних элементов (буквы, морфемы или слова)

33) coord (встретился 93 раз) - тег с неясным значением, отсутствующий в инструкции разметчику и среде разметки, но встречается в корпусе

34) cs (встретился 89 раз) - code-switching (использование иноязычного слова, написанного латиницей или кириллицей)

35) aux (встретился 86 раз) - неверное употребление глагола “быть”

36) typo (встретился 74 раз) - предполагаемая опечатка человека, который заносил текст в базу данных. Этот тег отсутствует в инструкции разметчику и среде разметки, но встречается в корпусе

37) phon (встретился 66 раз) - орфографическая ошибка, связанная с фонетической (а не фонологической) записью слова. Этот тег отсутствует в инструкции разметчику и среде разметки, но встречается в корпусе

38) punc (встретился 63 раз) - пунктуационная ошибка. Этот тег отсутствует в инструкции разметчику и среде разметки, но встречается в корпусе

39) agrpers (встретился 60 раз) - ошибка согласования по лицу

40) passive (встретился 55 раз) - неверное использование пассива

41) translit (встретился 54 раз) - неверная транслитерация имени собственного

42) neg (встретился 39 раз) - ошибка в употреблении отрицания

43) agrgerund (встретился 11 раз) - ошибка в согласовании деепричастия

Теги coord, typo, phon, punc по-видимому являются устаревшими и больше не используются, но сохраняются в корпусе.

Тег prep, напротив, является новым и часто не размечен. Поэтому в базу данных добавлен новый тег prep+gov и для него тоже построена модель.

Теги, выделенные курсивом, (del, subst, insert, transfer, transp) должны встречаться только в сочетании с другими тегами, но в реальности часто встречаются и в отсутствие других тегов - del 335 раз, subst 111 раз, insert 300 раз, transfer 61 раз и transp 28 раз.

Использование некоторых тегов кажется непоследовательным.

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

Тег transp (перестановка двух соседних элементов - слов, морфем или букв) естественно ожидать в сочетании с тегом wo (неверный порядок слов), когда ошибка состоит в том, что два слова перепутаны местами. И, действительно, это сочетание встречается, но всего 6 раз, тогда как упомянутая ошибка (два слова перепутаны местами) встречается 108 раз.

Непоследовательное употребление тегов не может не оказать отрицательного влияния на качество классификации.

Совместная встречаемость тегов

Теги ошибок часто встречаются вместе, когда в одном слове или словосочетании допущено несколько ошибок или один из тегов является дополняющим. Вероятно, появление нескольких тегов вместе не является случайным. Чтобы посмотреть, как появление одного из тегов может повлиять на появление другого тега, была посчитана таблица условных вероятностей. Условная вероятность была посчитана по формуле Байеса:

Полученная таблица Полная версия таблицы находится по ссылке https://github.com/tanya-ling/error-recognition-for-R/blob/master/cond_prib_3.csv показала, что теги действительно взаимосвязаны и встречаются вместе не случайно.

Таблица 1Условная вероятность появления одного тега ошибки при наличии другого, фрагмент

условие v

ortho

misspell

transfer

gov

conj

syntax

constr

lex

insert

subst

del

summ

transfer

0,03

0,01

1,00

0,03

0,12

0,12

0,40

0,36

0,07

0,03

0,06

2,17

conj

0,00

0,00

0,14

0,01

1,00

0,02

0,28

0,49

0,08

0,05

0,10

2,09

syntax

0,03

0,00

0,16

0,05

0,03

1,00

0,34

0,16

0,05

0,01

0,19

1,97

constr

0,02

0,00

0,16

0,03

0,09

0,10

1,00

0,27

0,05

0,02

0,14

1,83

del

0,28

0,02

0,03

0,04

0,04

0,07

0,17

0,17

0,01

0,02

1,00

1,82

subst

0,49

0,03

0,02

0,02

0,03

0,00

0,05

0,12

0,02

1,00

0,02

1,79

lex

0,03

0,00

0,08

0,02

0,09

0,03

0,14

1,00

0,04

0,03

0,08

1,49

misspell

0,10

1,00

0,02

0,02

0,00

0,00

0,00

0,02

0,05

0,11

0,12

1,40

ortho

1,00

0,01

0,01

0,01

0,00

0,01

0,01

0,03

0,05

0,13

0,12

1,32

prep

0,03

0,00

0,12

0,10

0,00

0,12

0,16

0,10

0,08

0,08

0,23

0,94

neg

0,05

0,00

0,18

0,00

0,00

0,08

0,23

0,13

0,10

0,03

0,15

0,85

idiom

0,04

0,00

0,16

0,03

0,00

0,01

0,13

0,30

0,04

0,01

0,12

0,78

ref

0,01

0,00

0,07

0,03

0,00

0,04

0,08

0,17

0,09

0,06

0,24

0,70

not-clear

0,03

0,01

0,01

0,02

0,05

0,02

0,10

0,38

0,03

0,01

0,05

0,69

passive

0,04

0,00

0,07

0,04

0,00

0,02

0,20

0,26

0,03

0,00

0,04

0,65

phon

0,62

0,00

0,00

0,02

0,00

0,00

0,00

0,02

0,00

0,00

0,00

0,65

transp

0,44

0,11

0,00

0,01

0,00

0,00

0,02

0,02

0,01

0,01

0,04

0,65

insert

0,19

0,01

0,05

0,02

0,05

0,03

0,09

0,15

1,00

0,02

0,02

0,63

aux

0,01

0,00

0,05

0,00

0,00

0,01

0,12

0,17

0,22

0,01

0,23

0,61

graph

0,44

0,02

0,00

0,02

0,00

0,00

0,00

0,01

0,03

0,06

0,02

0,58

agrgerund

0,00

0,00

0,00

0,00

0,00

0,00

0,36

0,09

0,00

0,00

0,00

0,46

hyphen

0,10

0,01

0,00

0,01

0,00

0,01

0,01

0,03

0,13

0,02

0,22

0,40

par

0,04

0,01

0,03

0,02

0,01

0,01

0,02

0,23

0,01

0,02

0,01

0,40

wo

0,02

0,00

0,09

0,01

0,01

0,02

0,13

0,08

0,02

0,01

0,04

0,40

refl

0,06

0,02

0,03

0,01

0,00

0,00

0,06

0,12

0,02

0,03

0,07

0,39

infl

0,14

0,01

0,00

0,02

0,00

0,00

0,00

0,02

0,02

0,14

0,03

0,38

translit

0,19

0,00

0,00

0,02

0,00

0,00

0,04

0,06

0,04

0,02

0,06

0,37

typo

0,28

0,00

0,00

0,00

0,00

0,03

0,01

0,04

0,00

0,00

0,00

0,37

space

0,10

0,01

0,01

0,01

0,03

0,00

0,01

0,04

0,24

0,01

0,11

0,33

morph

0,14

0,00

0,02

0,00

0,00

0,01

0,02

0,04

0,01

0,01

0,01

0,26

coord

0,15

0,00

0,00

0,04

0,00

0,04

0,00

0,02

0,00

0,00

0,00

0,25

Например, тег transfer (интерференция с доминантным языком), своим появлением сильно увеличивает вероятность появления других тегов.

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

При условии наличия тега transfer велика вероятность лексической ошибки (36 %), ошибки в употреблении конструкций (40 %), синтаксической ошибки (12 %), ошибки в употреблении союза (12 %).

Другим тегом, наличие которого означает высокую вероятность появления другого, является conj - с вероятностью 49 % при условии наличия conj появляется тег lex. Причина этого в том, что многие разметчики воспринимают ошибку в выборе союза как частный случай неверного словоупотребления и тег conj в таком случае является подтипом тега lex. Ничего лингвистически неверного в такой трактовке нет, однако проблема заключается в том, что разные разметчики следуют разным принципам и в результате тег lex либо не проставлен в огромном числе случаев (хотя должен быть), либо, наоборот, является лишним всякий раз, когда сочетается с тегом conj (а это 349 случаев). При условии наличия тега conj также с большой вероятностью (28 %) появляется тег constr - так размечены ошибки конструкций с союзами, и с вероятностью 14 % тег transfer.

Другими примерами, когда один тег (по мнению части разметчиков) включается в другой тег и из-за этого вероятность наличия одного при условии наличия другого очень высока являются пары phon > ortho (62 %), graph > ortho (44 %), typo> ortho (28 %), translit > ortho (19 %), space > ortho (10 %) и misspell > ortho (10 %). Выходит, что в целом разметчики не знают, нужно ли ставить тег ortho при любой орфографической ошибке или только при “прочих орфографических ошибках”, что написано по крайней мере в последней версии инструкции.

Та же самая ситуация в меньших масштабах присутствует с тегом syntax. Тег, предназначенный для “прочих синтаксических ошибок” (примечательно, что ни одного примера “прочей” синтаксической ошибки в инструкции разметчику не приведено) часто применяется при условии наличия тегов prep (12 %) и constr (10 %).

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

Алгоритм классификации

Так как одна ошибка может быть помечена несколькими тегами, при использовании каждого уникального набора тегов как отдельного класса количество классов сильно увеличится (а их и так было 43) и для большинства классов будет очень мало данных. Чтобы избежать этой проблемы в работе использован метод multi-label classification, то есть для каждого тега ошибки построен отдельный классификатор.

Как уже упоминалось, наличие некоторых типов ошибок влияет на наличие других (например, при условии наличия тега ошибки согласования деепричастия agrgerund вероятность наличия тега ошибки в употреблении конструкции constr составляет 34 %). Для увеличения качества классификации был подобран порядок применения классификаторов в соответствии с их условными вероятностями. Для этого теги были упорядочены по сумме условных вероятностей (условная вероятность была рассчитана по формуле Байеса) появления другого тега при их наличии.

Так, первым запускается классификатор для тега transfer, затем conj и далее в порядке syntax, neg, phon, aux, prep, del, constr, subst, idiom, ref, insert, transp, not-clear, passive, lex, misspell, graph, hyphen, space, translit, tense, infl, deriv, refl, typo, agrpers, par, wo, ortho, num, cs, agrgerund, morph, gov+prep, gov, asp, agrgender, agrcase, brev, agrnum, coord, punc. Результаты работы каждого классификатора использовались в качестве признака для следующего классификатора, однако затем признаки, не оказывающие влияния на качество классификации были отброшены.

Для классификации использовались деревья решений. Возможно, леса деревьев давали бы более высокие результаты при решении данной задачи, однако тренировка и подбор параметров классификаторов для 44 моделей и так очень времязатратный процесс, а использование леса деревьев очень сильно увеличило бы время обучения.

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

Использованные признаки

Далее приведен общий набор признаков (не все из них были использованы в каждом классификаторе, список использованных признаков для каждого классификатора и их значимость можно найти в разделе “вклад признаков”).

1) расстояние Левенштейна между текстом ошибки и текстом исправления

2) расстояние Левенштейна без учета гласных между текстом ошибки и текстом исправления. Этот метод иногда используется для поиска фонологически близких слов как простой метод избежать лингвистически некорректных выравниваний [Heeringa et al. 2006].

3) длина ошибки в словах

4) длина исправления в словах

5) совпадает ли лемма ошибки и исправления

6) совпадает ли морфологический разбор ошибки и исправления

7) совпадает ли основа ошибки и исправления

8) содержит ли ошибка несуществующее в русском языке слово

9) содержит ли текст слово каждой части речи (существительное, прилагательное, глагол, местоимение, числительное, частица, предлог, союз, часть сложного слова) - 9 признаков для текста ошибки и 9 признаков для текста исправления

10) содержится ли дефис в ошибке или исправлении

11) содержится ли глагол “быть” в тексте ошибки или исправления

12) содержится ли частица “не” или частица “ни” в тексте ошибки или исправления

13) содержится ли слово в страдательном залоге в тексте ошибки или исправления

14) содержится ли латинские буквы в тексте ошибки

15) содержатся ли кириллические буквы в тексте ошибки

16) есть ли в в тексте ошибки и исправления слова совпадающие по роду, числу, краткости, залогу, лицу - 5 признаков

Большинство признаков бинарные, первые четыре признака принимают целочисленные значения, признаки 5-7 могут принимать три значения - совпадает, не совпадает, невозможно сравнить, так как ошибка или исправление содержат несколько слов.

Очевидно, что этих признаков недостаточно для определения некоторых типов ошибок. Например, чтобы правильно выделять ошибку “transfer” - интерференция с доминантным языком, необходимо обладать какими-то знаниями о грамматике и лексике этого доминантного языка. Это очень заметно по частоте тега transfer в корпусе. Частота на миллион словоформ этого тега в текстах, написанных людьми с родным английским, французским и немецким языком составляет 1301, а в текстах, написанных носителями других языков - всего 593, то есть более, чем в два раза меньше. Значит ли это, что английский, немецкий и французский вызывают интерференцию сильнее, чем другие языки? Вряд ли. Скорее всего причина в том, что разметчики замечают интерференцию со знакомыми им языками и не замечают с незнакомыми. Для автоматического выделения этого тега необходима некая база конструкций для многих языков и информация о лексических особенностях слов в этих языках; создание такой базы представляется очень сложной задачей.

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

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

Наконец, для определения типа ошибки может быть необходима лексическая информация. Для определения значимых слов для каждого типа ошибок были выделены слова с высоким tf-idf (за один документ принимались все строки, содержащие ошибки каждого типа). В качестве признаков были взяты 20 слов с самым высоким показателем tf-idf, посчитанным по текстам ошибок, и 20 слов с самым высоким показателем tf-idf, посчитанным по текстам исправлений, для каждого типа ошибки, всего 1235 слов списки значимых слов для теста ошибок и теста исправлений находятся в файлах https://github.com/tanya-ling/error-recognition-for-R/blob/master/обработка%20данных%20и%20проставление%20признаков/tf-idr-correction.txt и https://github.com/tanya-ling/error-recognition-for-R/blob/master/обработка%20данных%20и%20проставление%20признаков/tf-idr-error.txt.

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

Проблема несбалансированности выборки

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

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

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

Результаты классификации

Далее приводится оценка классификаторов - полнота и точность класса “есть ошибка” (класс “нет ошибки” для всех типов ошибок имеет полноту и точность порядка 95 - 100 %).

Таблица 2Качество работы классификаторов для каждого тега

tag

precision

recall

абсолютная частота тега

brev

1,00

0,02

141

deriv

1,00

0,01

265

morph

0,86

0,05

309

space

0,82

0,67

486

conj

0,80

0,55

713

num

0,80

0,03

449

hyphen

0,78

0,67

212

refl

0,78

0,46

134

ortho

0,75

0,67

4277

gov_w_prep

0,70

0,01

1682

insert

0,65

0,37

1104

lex

0,64

0,54

4075

not-clear

0,62

0,29

624

infl

0,57

0,04

369

asp

0,57

0,27

783

punc

0,55

0,35

63

ref

0,53

0,23

493

constr

0,51

0,43

2155

agrnum

0,50

0,01

457

syntax

0,50

0,03

638

wo

0,50

0,34

649

del

0,49

0,20

1842

agrgender

0,46

0,12

478

gov

0,38

0,01

1412

subst

0,36

0,01

1146

misspell

0,33

0,01

287

transfer

0,33

0,02

874

agrcase

0,31

0,01

986

graph

0,20

0,02

174

par

0,17

0,04

169

prep

0,17

0,02

301

tense

0,13

0,02

274

agrgerund

0,00

0,00

11

agrpers

0,00

0,00

60

aux

0,00

0,00

86

coord

0,00

0,00

93

cs

0,00

0,00

89

idiom

0,00

0,00

138

neg

0,00

0,00

39

passive

0,00

0,00

55

phon

0,00

0,00

66

translit

0,00

0,00

54

transp

0,00

0,00

94

typo

0,00

0,00

74

К сожалению, для большинства типов ошибок качество работы классификаторов оставляет желать лучшего. В чем причина?

Для большинства тегов, вероятно, было недостаточно обучающей выборки. Теги syntax, subst, prep, tense, coord, transp и typo проставлены в корпусе непоследовательно (не везде), поэтому низкие результаты для них не удивительны. Для правильной разметки ошибок согласования (теги agrnum, agrcase, agrpers, agrgender, agrgerund) и управления (gov), видимо, всё-таки необходима информация о синтаксическом контексте. Для разметки ошибок в употреблении устойчивых выражений (idiom) и определения наличия интерференции (transfer) необходимо привлечение дополнительных данных.

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

Результаты можно считать удовлетворительными для ошибок, обозначаемых тегами space, conj, hyphen, refl, ortho, insert, lex, not-clear, asp, ref и constr. В следующем разделе будет рассмотрено, какие признаки оказывают наибольшее влияние на выбор классификатора для каждого из этих тегов.

Вклад признаков в различные классификаторы

Таблица вклада признаков в различные классификаторы находится по адресу https://github.com/tanya-ling/error-recognition-for-R/blob/master/feat_imp.csvSpace

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

Conj

Наиболее важными признаками для определения ошибки в использовании союза оказались наличие союза и наречия в тексте исправления и ошибки, наличие в тексте ошибки слов “так” и “что”, длина ошибки и исправления в словах и расстояние Левенштейна.

Hyphen

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

Refl

Наиболее важными признаками для определения ошибки в использовании возвратных глаголов является совпадение леммы и совпадение основы ошибки и исправления, наличие глагола и местоимения в тексте ошибки, расстояние Левенштейна, совпадение грамматического анализа ошибки и исправления.

Ortho

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

Insert

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

Lex

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

Not-clear

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

Asp

Для определения ошибок, связанных с неправильным выбором видовой формы глагола, наиболее значимыми признаками являются наличие глагола в тексте ошибки, совпадение основы и совпадение леммы ошибки и исправления, расстояние Левенштейна и длина ошибки и исправления в словах.

Ref

Для ошибок, связанных с неправильным выбором местоимения, наиболее важными признаками являются наличие местоимения в тексте ошибки и в тексте исправления, расстояние Левенштейна, длина ошибки и исправления в словах, а также наличие слов “его” и “это” в тексте ошибки.

Constr

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

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

Другим примером может послужить описание тега asp: исправление и ошибка являются глаголами с несовпадающей леммой, но совпадающей основой.

Как видно, несмотря на то что лексическая информация была использована, она практически нигде не оказалась значимой. Информация о результатах работы классификатора на других типах ошибок оказалась значимой для тегов lex и ortho.

Заключение

В этой работе была создана система автоматической разметки типов ошибок для Русского Учебного Корпуса. Система пробует угадать тип ошибки после ее исправления разметчиком с помощью алгоритмов машинного обучения. Система весь код и данные находятся в репозитории по адресу https://github.com/tanya-ling/error-recognition-for-R/ состоит из программы, осуществляющей аннотацию текста ошибки и текста исправления, а также классификаторов для каждого типа ошибки, которые применяются в определенном порядке. Время работы системы ограничено временем работы морфологического анализатора, который применяется для определения значений признаков для классификатора, однако не должно замедлять разметчика при условии что оригинальные тексты были размечены заранее.

Система справляется хорошо не со всеми типами ошибок, однако может помочь при разметке таких ошибок как space, conj, hyphen, refl, ortho, insert, lex, not-clear, asp, ref и constr.

При тренировке моделей отдавалось предпочтение точности, а не полноте, поэтому ее ошибки как правило выражаются в отсутствии предложения, а не в предложении неправильного тега, и ее применение не должно “мешать” разметчику, но может послужить подсказкой при разметке.

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

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

Полученные результаты позволяют уже сейчас убыстрить разметку Русского Учебного Корпуса.

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

Литература

Arppe 2000 - Arppe, Antti. "Developing a grammar checker for Swedish." Proceedings of NODALIDA. Vol. 99. 2000.

Corder 1967 - Corder, Stephen Pit. "The significance of learner's errors." IRAL-International Review of Applied Linguistics in Language Teaching 5.1-4 (1967): 161-170.

Droganova 2015 - Droganova, Kira. "Building a Dependency Parsing Model for Russian with MaltParser and MyStem Tagset." International Workshop on Treebanks and Linguistic Theories (TLT14). 2015.

Golding, Roth 1999 - Golding, Andrew R., and Dan Roth. "A winnow-based approach to context-sensitive spelling correction." Machine learning 34.1-3 (1999): 107-130.

Granger 2002 - Granger, Sylviane. "A bird's-eye view of learner corpus research." Computer learner corpora, second language acquisition and foreign language teaching (2002): 3-33.

Granger et al. 2002 - Granger, Sylviane, et al., eds. International corpus of learner English. Presses universitaires de Louvain, 2002.

Heeringa et al. 2006 - Heeringa, Wilbert, et al. "Evaluation of string distance algorithms for dialectology." Proceedings of the workshop on linguistic distances. Association for Computational Linguistics, 2006.

Heidorn et al. 1982 - Heidorn, George E., et al. "The EPISTLE text-critiquing system." IBM Systems Journal 21.3 (1982): 305-326.

Helmut Zobl 1980 - Zobl, Helmut. "The formal and developmental selectivity of LI influence on L2 acquisition." Language learning 30.1 (1980): 43-57.

Johannessen et al. 2002 - Johannessen, Janne Bondi, Kristin Hagen, and Pia Lane. "The performance of a grammar checker with deviant language input." Proceedings of the 19th international conference on Computational linguistics-Volume 2. Association for Computational Linguistics, 2002.

Karlsson et al. 1995 - Sullivan, Marianne, Jan Karlsson, and John E. Ware. "The Swedish SF-36 Health Survey--I. Evaluation of data quality, scaling assumptions, reliability and construct validity across general populations in Sweden." Social science & medicine 41.10 (1995): 1349-1358.

Kellerman 1984 - Kellerman, Eric. "The empirical evidence for the influence of the L1 in interlanguage." Interlanguage (1984): 98-122.

Hyltenstam, 1977 - Hyltenstam, Kenneth. "Implicational patterns in interlanguage syntax variation." Language learning 27.2 (1977): 383-410.

Klee, Ocampo 1995 - Klee, Carol, and Alicia Ocampo. "The expression of past reference in Spanish narratives of Spanish-Quechua bilingual speakers." Spanish in four continents: Studies in language contact and bilingualism (1995): 52-70.

Knight, Chander 1994 - Knight, Kevin, and Ishwar Chander. "Automated postediting of documents." AAAI. Vol. 94. 1994.

Leacock et al. 2010 - Leacock, Claudia, et al. "Automated grammatical error detection for language learners." Synthesis lectures on human language technologies 3.1 (2010): 1-134.

Longman Corpus Network 2003 - Network, Longman Corpus. "The Longman learners' corpus. Retrieved May 22, 2003." (2003).


Подобные документы

  • Корпус текстов школьников в контексте корпусной лингвистики, его содержание и пополнение. Пунктуационная разметка текстов, классификация ошибок. Использование языка разметки TEI для кодировки пунктуации. Обработка корпуса с помощью программы Интерробанг.

    дипломная работа [1,9 M], добавлен 08.11.2015

  • Понятие о локально-вычислительной сети и её возможности. Современные сетевые ОС, область их применения. Выбор сетевой архитектуры для компьютерной сети учебного корпуса. Определение количества и характеристик устройств. Cтоимость затрат на обслуживание.

    курсовая работа [653,8 K], добавлен 13.08.2012

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

    курсовая работа [354,2 K], добавлен 13.01.2013

  • Сущность метода перестановочного декодирования. Особенности использования метода вылавливания ошибок. Декодирование циклического кода путем вылавливания ошибок. Распознавание пакетов ошибок как особенность циклических кодов. Вычисление вектора ошибок.

    доклад [20,3 K], добавлен 24.05.2012

  • Развитие и классификация языков программирования. Методические рекомендации по изучению языков программирования. Основные понятия объектно-ориентированного программирования. Создание электронного учебного пособия с помощью языка гипертекстовой разметки.

    курсовая работа [331,1 K], добавлен 06.09.2011

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

    курсовая работа [645,2 K], добавлен 05.04.2015

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

    дипломная работа [2,2 M], добавлен 07.06.2012

  • Типы обучающих программ. Системы компьютерной диагностики знаний. Проектирование электронных учебных курсов. Гипертекстовые технологии при разработке ЭУК. Формы реализации ЭУК и его место в учебном процессе. Пример создания образовательного сайта.

    курсовая работа [47,1 K], добавлен 09.07.2012

  • Фаза "избавления" программы от ошибок. Задача обработки ошибок в коде программы. Ошибки с невозможностью автоматического восстановления, оператор отключения. Прекращение выполнения программы. Возврат недопустимого значения. Директивы РНР контроля ошибок.

    учебное пособие [62,3 K], добавлен 27.04.2009

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

    контрольная работа [1,0 M], добавлен 17.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.