Оценка и порождение языковых тестов на основе предсказуемости слов в контексте
Разработка инструмента для автоматического расформирования тестов нескольких типов для загруженного пользователем текста. Определение уровня языковой текстовой сложности. Характеристика генерации списков частотностей, коллокаций и частеречных ведомостей.
Рубрика | Иностранные языки и языкознание |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.08.2017 |
Размер файла | 119,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Правительство Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего образования
Национальный исследовательский университет
«Высшая школа экономики»
Курсовая работа
Оценка и порождение языковых тестов на основе предсказуемости слов в контексте.
Москва 2017
Оглавление
Введение
1. Обзор существующих генераторов тестов
1.1 Оценка сложности теста
1.2 Оценка языковой сложности текста
2. Описание работы генератора тестов
2.1 Генерация вспомогательных списков
2.2 Генерация тестов
2.3 Веб интерфейс
Заключение
Список литературы
Аннотация
Введение
Задача автоматической генерации тестов возникла в лингвистике относительно недавно и получила широкую популярность как среди компьютерных лингвистов, так и среди преподавателей иностранных языков. Заучивание употребления слова в контексте считается эффективным методом при изучении языка, поэтому генераторы тестов с пропусками являются полезным ресурсом для тренировки знаний. Преподаватели регулярно тратят значительную часть времени на подготовку тестов для тренировки и оценки полученных на занятиях знаний. С целью сокращения времени, которое тратится на подготовку к занятиям, последние два десятилетия создаются автоматические генераторы тестов.
В настоящей работе мы определяем программу автоматической генерации тестов следующим образом: это инструмент, который автоматически генерирует тесты по иностранному языку нескольких типов. Такие инструменты могут различаться такими параметрами, как число поддерживаемых языков, входные данные, типы генерируемых тестов, навык для тренировки и качество генерируемых тестов.
Уже существует некоторое количество генераторов тестов по иностранному языку. Например, в статье А. Феногеевой и Е. Кузьменко «Automatic generation of lexical exercises» (Fenogeeva & Kuzmenko, 2016) описывается инструмент генерации тестов по английскому языку, а инструмент ArikIturri (Aldabe, Lacalle, Maritxalar, Martinez, & Uria, 2006) позволяет автоматически создавать упражнения для английского и басксого языков. Существуют в том числе инструменты для генерации тестов по русскому языку, например, инструмент Revita (Revita), разработанный группой университета Хельсинки, позволяет для загруженного текста генерировать тесты с пропусками, в которых требуется поставить слово в правильную форму.
Недостатком большинства из существующих систем генерации тестов является их привязанность к языку и опора на материалы, подготовка которых требует ручной работы (например, такие, как списки лексических минимумом). Кроме того, зачастую эти инструменты либо находятся в закрытом доступе, либо не имеют веб-интерфейса.
Целью настоящей работы является разработка инструмента для автоматической генерации тестов нескольких типов для загруженного пользователем текста. Преимуществом описываемого в работе подхода к созданию инструмента генерации языковых тестов будет его легкая масштабируемость на другие языки при наличии минимальных входных данных - языкового корпуса и морфологического анализатора хорошего качества. Инструмент будет обладать удобным веб-интерфейсом и будет размещен в открытом доступе.
Отдельно стоит сказать про уровень владения языком. Уровень языковой сложности текста определить однозначно, поскольку сложно обозначить четкие параметры, которые отделяют один уровень от другого, деление на уровни в большой мере субъективно. В данной работе было решено не делать деления на уровни. Все генерируемые тесты рассчитаны на студентов среднего и продвинутого уровня владения языком и генерируются либо на основе реальных текстов из корпуса, либо на основе загруженного текста, который пользователь выбирает с учетом своего уровня владения языком.
Работа состоит из трех частей. В первой части будет дан обзор литературы. Во второй части будет описана работа инструмента: в первом разделе речь пойдет об автоматической генерации языковых списков, во втором разделе будет описана работа инструмента и генерируемые типы тестов. В третьей части будет описан веб-интерфейс. В заключении будет суммировано все вышесказанное и обозначены перспективы дальнейшей работы.
1. Обзор существующих генераторов тестов
Задача автоматического порождения тестов не нова и уже существует некоторое количество генераторов языковых тестов. В данном разделе будет дан краткий обзор нескольких инструментов.
Один из генераторов тестов Exercise Maker описывается в работе А. Малафьева (Malafeev, 2015). Exercise Maker может на базе загруженного текста автоматически генерировать лексические и грамматические упражнения по английскому языку 7 типов: Word Formation, Error Correction, Open Cloze, Word Bank, Missing words, Text Fragments and Verb forms. Типы тестов частично основаны на Кембриджских экзаменах по английскому языку, таких как CAE, PCE, FCE и другие. Для каждого типа упражнений существуют правила, учитывающие такие факторы, как заглавную букву, особенности правописания, пунктуацию, длину слов, расстояние между пропусками, границы предложений и т. д. Для работы Exercise Maker требуются вручную собранные списки ошибок на правописание, списки лексических минимумов, форм частей речи и т. д. (см. Таблицу 1). Кроме генерации тестов Exercise Maker может присваивать входному тексту уровень его удобочитаемости (то есть легкости для восприятия человеком) на основе двух параметров: средней длины предложения и информации о частотности слов. Интересной особенностью программы Exercise Maker является то, что для каждого типа упражнений программа генерирует несколько подтипов упражнений различной сложности (например, в зависимости от числа пропусков в упражнениях, длинны пропуска, пропущенных слов). В таблице 1 можно посмотреть краткую информацию о программе Exercise Maker.
Другая система для английского языка описана в статье А. Феногеевой и Е. Кузьменко «Automatic generation of lexical exercises» (Fenogeeva & Kuzmenko, 2016). Инструмент создавался как дополнительный модуль для системы REALEC (Russian Error-Annotated Learner English Corpus). Инструмент может генерировать 5 типов лексических упражнений (Match collocations, Multiple Choice, Open Cloze, Word bank and Word Formation). Основным фокусом при создании инструмента стала генерация лексических упражнения на отработку коллокаций. Работа инструмента основана на материале двух корпусов - корпуса BNC (British National Corpus) и корпуса BAWE (The British Academic Written English Corpus) - и на академическом списке коллокаций Pearson (Pearson's academic collocation lists). Для каждой коллокации из списка генерируется ее парадигма и далее в корпусе программа ищет предложения, содержащие получившиеся коллокации. Для большинства типов упражнений требуются только данные корпуса и список коллокаций. Стоит отметить описанный в статье оригинальный подход к генерации упражнений типа multiple choice: для генерации трех ответов-дистракторов авторы использовали технологию word2vec, основанную на идее дистрибутивной семантики. В таблице 2 приведена краткая информация о программе.
Еще одна система генерации языковых упражнений называется ArikIturri (Aldabe, Lacalle, Maritxalar, Martinez, & Uria, 2006). В отличие от ранее упомянутых систем, ArikIturri поддерживает работу с несколькими языками: английским и баскским. Для работы программа использует языковые корпуса с морфологической и синтаксической разметкой и NLP инструменты. На вход программе поступает набор предложений с синтаксическим и морфологическим анализом в формате XML. На выходе получаются сгенерированные упражнения также в формате XML. Для работы программы пользователь должен указать, какой навык он хочет тренировать, и тип упражнений, которые должна генерировать программа. ArikIturri поддерживает пять типов тестов: Fill-in-the-blank, Word formation, Multiple choice, Error correction, Short answer. Система может генерировать тесты на два типа навыков - для английского языка это лексические тесты и для баскского - тесты как на лексику, так и на грамматику. При создании упражнений типа fill-in-the-flank генератор самостоятельно выбирает слова для пропуска на морфологическую флексию и на спряжение глаголов. Для каждого пропуска может быть один или более правильных вариантов ответа. Для создания дистракторов в заданиях типа multiple choice генерируются варианты с измененными морфологическими показателями (такими как падеж или время глагола). В таблице 3 представлена краткая информация о программе ArikIturri.
Таблица ArikIturri
Входные данные |
Типы тестов |
Поддерживаемые языки |
Характеристики |
|
1) Корпус баскского языка |
2) Fill-in-the-blank 3) Word formation 4) Multiple choice 5) Error correction 6) Short answer |
· Английский · Баскский |
· Нет в свободном доступе |
Существуют также инструменты генерации тестов по русскому языку, например, инструмент, разработанный исследовательской группой университета Хельсинки, названный Revita (Revita). Система может генерировать один тип тестов на базе загруженного текста - тесты с пропусками, где задача студента - выбрать правильную грамматическую форму. В система Revita можно либо загрузить свой текст и на его основе сгенерировать тест, либо выбрать текст из имеющегося в системе небольшого корпуса текстов, вручную поделенных по уровню сложности. Revita предназначена для учащихся среднего или продвинутого уровня. Система имеет удобный пользовательский интерфейс, поддерживает несколько языков и позиционирует себя не только как сайт для изучения языков, но и как сайт для поддержки языков под угрозой исчезновения. В таблице 4 дана краткая информация об инструменте Revita.
Таблица Revita
Входные данные |
Типы тестов |
Поддерживаемые языки |
Характеристики |
|
? |
1) Тесты на грамматическую форму |
· Русский · Эрзянский · Коми-зырянский · Лугово-марийский · Северно-саамский · Удмуртский · Финский · Саха (якутский) · Шведский |
· Имеется веб-интерфейс · Поддержка нескольких языков · Закрытый исходный код |
Еще один инструмент для русского языка описан в статье «Автоматическое создание упражнений для изучающих русский язык как иностранный» (Белобородова, Мизгирева, Орехова, Рыбаков, & Сафарян, 2017). Программа разработана на языке Python и умеет генерировать 5 типов тестов: определение рода существительных, постановка глаголов в правильную временную форму, выбор прилагательного в нужном роде и числе, разделение слитного текста, поиск ошибок в написании отдельных слов.
Несмотря на то, что уже существует немало генераторов языковых тестов, недостатком многих из них является сильная привязка к конкретному языку и опора на значительное количество вручную собранных материалов. Кроме того, многие из генераторов находятся в закрытом доступе и/или не имеют удобного веб-интерфейса.
1.1 Оценка сложности теста
Одной из задач, которая ставится в настоящей работе, является вопрос оценки сложности генерируемых тестов.
Подобная задача ставится, например, в статье «Predicting the Difficulty of Language Proficiency Tests» (Beinborn, Zeschx, & Gurevych). В статье предлагается метод предсказывания сложности C-тестов. С-тест - это тест с открытым пропуском, в котором указываются первые несколько букв пропущенного слова.
Для анализа сложности тестов авторами был собран материал 3 тестовых сессий. Каждый тест состоял из 5 параграфов, каждый с 20-ю пропусками. Студенты заполняли тесты в веб-интерфейсе.
Тесту присваивался уровень сложности в зависимости от средней ошибки по пропускам. Показатель ошибки для каждого текста - отношение количества неправильно заполненных пропусков ко всем пропускам. Предполагается, что чем выше показатель ошибки - тем сложнее тест.
Сложность предсказуемости слов в контексте зависит от
1) частотности слова в целом;
2) того, насколько типично, что пропущенное слово встречается в данном контексте
3) вероятности встретить конкретную последовательность частей речи в микро-контексте
При оценке сложности генерируемых тестов мы будем опираться на результаты данного исследования.
1.2 Оценка языковой сложности текста
В данной работе одной из задач при создании инструмента генерации тестов является оценка языковой сложности входного текста.
Существует несколько исследований по оценке языковой сложности текстов. Например, оценкой языковой сложности тестов по русскому языку занимался Н. Карпов (Карпов).
Для определения сложности текста им были выделены следующие характеристики:
- среднее количество слов в одном предложении текста;
- средняя длина одного слова в предложении
- длина текста в буквах
- длина текста в словах
- длина текста в слогах
- средняя длина слова в слогах
- средняя длина предложения в слогах
- процент слов в 3…6 слога и больше
- средняя длина предложения в буквах
- средняя длина слов в буквах
- процент слов длинной в 5-13 букв и больше
- процент слов в предложении, не входящих в словарь лексического минимума (3 списка)
При анализе выяснилось, что параметры, выделенные жирным, больше всего влияют на уровень сложности текста.
При оценке сложности входных текстов мы будем опираться на приведенные выше характеристики.
2. Описание работы генератора тестов
В этой части будет описан подход к созданию генератора тестов.
Инструмент написан на языке Python 3. В зависимости от языка генерируемого теста используются различные модули морфологического анализа. Для работы инструмента необходим корпус текстов и морфологический анализатор. Работа инструмента была протестирована для русского языка. Для создания веб-приложения использовался модуль flask.
Разработку генератора языковых тестов можно поделить на два основных этапа:
1) Генерация вспомогательных документов, таких как списки частотностей, частеречные списки, списки коллокаций.
2) Генерация тестов
В этом разделе будут подробно описано два этих этапа. В первой части будут описаны алгоритмы автоматической генерации материалов, во второй части будет дано описание алгоритмов генерации поддерживаемых типов тестов.
На основе описанного в разделе 2 анализа существующих генераторов и их недостатков, сформулируем характеристики, которыми будет обладать наш генератор тестов:
1) Инструмент должен на основе поступающего на вход текста генерировать тест выбранного пользователем типа;
2) Инструмент должен давать оценку сложности входного текста;
3) Инструмент должен давать оценку сложности генерируемого теста;
4) Методология создания инструмента должна быть легко масштабируемой на другие языки при наличии корпуса и морфологического анализатора;
5) Одним из главных принципов при создании инструмента является сокращение ручного труда и как следствие автоматическая генерация языковых списков (таких, как частеречные списки, списки частотностей, списки коллокаций).
В настоящей работе были выбраны следующие типы тестов для генерации (в следующем разделе будет дано подробное описание каждого из типов тестов):
1) Тест открытого типа (open cloze test)
2) C-test
3) Тест на соотнесение их закрытого списка (wordbank)
4) Тест на форму слова (word form)
5) Тест с множественным выбором (multiple choice test)
Кроме тестов на основе введенного текста инструмент будет генерировать тесты любого из вышеперечисленных типов на частотные коллокации (автоматически собранные на основе материалов корпуса), а также на наиболее важные для изучения языка слова (понятие важности слова будет раскрыто в следующем разделе).
Тесты, генерируемые инструментом, делятся на два типа в зависимости от языкового материала:
1) На основе загруженного пользователем текста
2) На основе материалов корпуса
Тестирование методики создания генератора было проведено для русского языка, поэтому далее все примеры будут даны для русского.
2.1 Генерация вспомогательных списков
Поскольку одна из основных идей - легкая масштабируемость инструмента на другие языки при наличии языкового корпуса и морфологического анализатора, при продумывании архитектуры приложения большое внимание уделялось тому, чтобы для работы генератора тестов требовалось минимальное количество ручного труда. Несмотря на то, что полностью абстрагироваться от языка генерации тестов не представляется возможным, можно попытаться максимально сократить ручной труд и генерировать языковые списки автоматически.
Материалом для генерации тестов по русскому языку и языковых списков стала «База данных метатекстовой разметки Национального корпуса русского языка» (основной корпус письменных текстов)». Объем используемого корпуса: 3 000 000 предложений, 32 433 131 словоупотреблений, 223 194 леммы.
Для работы инструмента необходимы следующие автоматически генерируемые языковые списки:
1) отсортированный список частотностей двух типов
2) частеречные списки (местоимений, местоименных прилагательных, предлогов и союзов)
3) список коллокаций
Генерация вспомогательных списков, на основе которых позже будут генерироваться тесты, является первостепенной и очень важной задачей, поскольку от качества генерируемых списков непосредственно зависит качество генерируемых тестов. В следующих разделах будет более подробно описан процесс генерации языковых списков.
Генерация списков частотностей
При генерации тестов очень важно учитывать частотность слов, поскольку знание более частотных слов на среднем уровне владения языком позволяет строить сразу большое количество предложений, в то время как редкие и тематические слова представляют интерес уже на продвинутых уровнях владения языком.
Списки частотностей строятся на всем материале языкового корпуса. Сначала тексты нормализуются. На этапе предобработки текста:
· все буквы приводятся к нижнему регистру;
· удаляются все не-буквы;
· предложения токенизируются;
· слова лемматизируются;
· стоп-слова удаляются.
Далее, на основе данных корпуса генерируются три типа списков частотностей:
1) для каждой леммы подсчитывается ее абсолютная частота
2) для каждой леммы подсчитывается ее относительная частота, равная отношению абсолютной частоты к частоте самого частотного слова
3) для каждой леммы указывается ее порядковый номер в отсортированном списке частотностей
Ниже приведены 20-топ слов частотного списка, сгенерированного без удаления стоп-слов.
Таблица Списки частотностей
Лемма |
Номер в частотном списке |
Абсолютная частота |
Относительная частота |
|
и |
1 |
1201724 |
1.0 |
|
в |
2 |
950600 |
0.7910 |
|
не |
3 |
640421 |
0.5329 |
|
на |
4 |
542102 |
0.4511 |
|
я |
5 |
481691 |
0.4008 |
|
он |
6 |
471427 |
0.3922 |
|
что |
7 |
412686 |
0.3434 |
|
быть |
8 |
411073 |
0.3420 |
|
с |
9 |
365383 |
0.3040 |
|
а |
10 |
292558 |
0.2434 |
|
как |
11 |
227331 |
0.1891 |
|
она |
12 |
212106 |
0.1765 |
|
это |
13 |
207495 |
0.1726 |
|
но |
14 |
185390 |
0.1542 |
|
они |
15 |
180569 |
0.1502 |
|
к |
16 |
175905 |
0.1463 |
|
этот |
17 |
174990 |
0.1456 |
|
то |
18 |
174082 |
0.1448 |
|
по |
19 |
171755 |
0.1429 |
|
мы |
20 |
166839 |
0.1388 |
Поскольку при изучении языка важно знать частотные слова языка, знание которых позволяет составлять большое количество предложений, был введен параметр важности слова. Сама идея оценивать слова по их значимости для изучения языка не нова, разрабатываются лексические минимумы для разных уровней владения языком. Итак, для каждого слова в словаре частотностей также оценивается его важность. При оценке важности лексемы мы руководствовались некоторыми понятиями, используемыми при составлении лексических минимумов (Ильина). Важность лексемы складывается из следующих параметров:
1) количество предложений, содержащих лексему
2) способность лексемы входить в различные словосочетания
3) частотность лексемы в частотном словаре
Таким образом, на основе значений частотности и важности составляются альтернативные списки слов, важных для изучения языка.
Генерация частеречных списков
Одной из задач при автоматическом создании тестов является выбор потенциальных слов для пропуска. Один из способов выбора потенциальных кандидатов на пропуск в тестах открытого типа - брать представителей определенных частей речи. Для начала ответим на вопрос, какие части речи представляют интерес для генерации тестов.
Возьмем за основу деление на части речи в проекте Universal Dependencies (Universal Dependencies), поскольку мы хотим сделать легко масштабируемый на другие языки инструмент, а основной идей проекта Universal Dependencies является как раз мультиязычность и сопоставимость между различными языками. Выделяют следующие части речи:
1) NOUN - существительное
2) ADJ - прилагательное
3) NUM - числительное
4) VERB - глагол
5) ADV - наречие
6) PRON - местоимение
7) ADP - адлог (предлоги и послелоги)
8) CCONJ - сочинительный союз
9) SCONJ - подчинительный союз
10) PART - частица
11) INTJ - междометие
12) PROPN - имя собственное
13) AUX - вспомогательный глагол
14) DET - артикль
В русском языке части речи делятся на изменяемые и неизменяемые. К изменяемым частям речи относятся глаголы, существительные, прилагательные, местоимения и числительные. Эти части речи будут взяты за основу при генерации упражнений на форму слова.
В заданиях открытого типа на слова определенной части речи нам кажется целесообразным делать тесты на слова, обладающие высокой частотностью, какими являются, например, предлоги, союзы и местоимения. Предлоги, союзы и местоимения представляют собой закрытый класс, то есть состоят из ограниченного списка слов, состав которого почти не пополняется, и обладают высокой частотностью, не варьирующейся сильно в зависимости от жанра текста. Таким образом, их знание и умение правильно использовать важно при изучении иностранного языка.
При генерации списков частей речи из корпуса извлекаются все леммы, которые морфологический анализатор относит к нужной нам части речи, при этом интерес для изучения представляют только самые частотные представители, то есть, например, те леммы, относительная частота которых, равная отношению частоты леммы к числу словоупотреблений в корпусе, составляет более 5%. Из получившегося списка для дальнейшей работы берется топ 90% слов. тест языковой текстовый коллокация
Мы допускаем, что в зависимости от языка интерес для генерации тестов могут представлять различные части речи.
Ниже представлены первые топ-10 слов из автоматически сгенерированных списков местоимений, предлогов и союзов (отсортированные в порядке убывания частотностей):
Таблица 7. Частеречные списки
Предлоги |
Союзы |
Местоимения |
|
· на · с · по · из · за · у · от · для · до · при |
· и · а · но · или · если · хотя · также · причём · поскольку · зато |
· он · я · они · мы · она · вы · ты · кто · ничто · никто |
Генерация коллокаций
Одним из самых эффективных способов изучения языка считается заучивание коллокаций. Коллокация - устойчивое словосочетание, связанное лексически и грамматически. Это группа слов, которые встречаются вместе чаще, чем случайно. Лексическая коллокация - последовательность лексических единиц, состоящая из лексической константы и лексических переменных (Fillmore, Kay, & O'Connor, 1988). Коллокация состоит из ключевого слова и коллоката. Словосочетание считается более или менее устойчивым на основании значений статистических мер. Одними из самых популярных статистических мер выделения коллокаций являются t-score, likelihood ratio, pmi и mi. Эти статистические меры основаны на данных о частоте совместной встречаемости слов из таблиц сопряженности 2x2.
Таблица сопряженности - способ представления совместного распределения двух переменных. Строки таблицы - значения одной переменной, столбцы - значения второй переменной. На пересечении строки и столбца указывается частота совместного появления. Так выглядит таблица сопряженности для биграмм:
N1P, N2P, NP1, NP2 - маргинальные частоты. Ожидаемые частоты Eij вычисляются по таблице сопряженности на основании маргинальных частот.
Таблица Вычисление ожидаемых частот слов по таблице сопряженности
Y |
-Y |
||
X |
E11 = N1P* NP1 / NPP |
E12 = N1P* NP2 / NPP |
|
-X |
E21 = NP1* N2P / N2P |
E22 = NP2* N2P / NPP |
Далее мы будем пользоваться обозначениями, приведенными в таблицах 8 и 9.
Довольно подробный обзор статистических мер, используемых для выделения коллокаций, дан в статье М. Хохловой (Хохлова, 2008). Рассмотрим более подробно статистические меры, сравним получающиеся списки при применении каждой из мер и выберем самую удачную. Для выделения коллокаций инструмент использует модуль nltk. При подсчете коллокаций слова не лемматизируются, стоп-слова не удаляются, выделяются биграммы и триграммы, ширина окна - 1.
Важно отметить, что нашей задачей является выделение самых важных и частотных коллокаций, поскольку мы считаем, что именно на них имеет смысл делать упражнения.
MI (Mutual Information) - коэффициент взаимной зависимости, объем информации. Сравнивает зависимые контекстно-связанные частоты с независимыми, как если бы слова появлялись в тексте совсем случайно.
где
· n - ключевое слово, с - коллокат;
· f(n, c) - частота встречаемости ключевого слова n с коллокатом с;
· f(n) и f(c) - абсолютные частоты n и c в корпусе;
· N - общее число словоформ в корпусе.
Словосочетание считается статистически значимым, если значение MI > 1. MI позволяет выделять имена собственные, устойчивые словосочетания, а также специальные термины низкой частотности. Особенностью меры MI является то, что она дает высокие значения тем словам, которые обладают более низкой частотностью и ограниченной сочетаемостью. Поэтому часто при использовании данной меры указывается порог встречаемости по частоте, то есть, рассматриваются только те коллокации, которые встретились в корпусе больше определенного числа раз.
PMI (Pointwise Mutual Information), другими словами поточечная совместная информация - часто используемый в NLP метод, учитывающий взаимную информацию. При отсутствии информационных потерь показатель PMI численно равен количеству информации на символ передаваемого сообщения. Как и MI, PMI дает высокий вес редким словосочетаниям.
В силу специфики меры PMI было решено удалять из обработки коллокации со словами, которые не входят в топ частотного списка, автоматически посчитанного на материалах корпуса.
При применении метрики PMI на корпусе НКРЯ с порогом встречаемости коллокации > 10 раз из слов, входящих в топ 30% частотного списка, получились следующие топ-20 результатов:
Таблица 10. Коллокации методом pmi
Коллокация |
PMI |
|
дын дын дын |
40.14704 |
|
перстами пурпурными эос |
40.06903 |
|
блям блям блям |
39.94495 |
|
штакельберг унд вальдек |
39.93444 |
|
ипотечному жилищному кредитованию |
39.73652 |
|
мирзо турсун заде |
39.69247 |
|
цу штакельберг унд |
39.33241 |
|
лэ мэ нэ |
38.78858 |
|
го линь шуан |
38.46521 |
|
противодействию незаконному обороту |
38.38262 |
|
кин нан тэ |
38.03051 |
|
абдуррахман ибн хоттаб |
37.92679 |
|
гассан абдуррахман ибн |
37.70440 |
|
чан кай ши |
37.66983 |
|
гарун аль рашид |
37.46170 |
|
аль акрам абдул |
37.36243 |
|
мао цзэ дун |
37.26603 |
|
карловых варах |
21.36600 |
Мы видим, что мера PMI выделяет очень низкочастотные коллокации, дает высокий вес именам собственным и терминологическим словосочетаниям. Поскольку нашей задачей является выделение наиболее типичных для языка словосочетаний, эта метрика нам не подходит.
T-score (критерий стьюдента) учитывает частоту совместной встречаемости ключевого слова и коллоката и отвечает на вопрос, насколько неслучайной является сила связи между коллокатами.
где
· n - ключевое слово, с - коллокат;
· f(n, c) - частота встречаемости ключевого слова n с коллокатом с;
· f(n) и f(c) - абсолютные частоты n и c в корпусе;
· N - общее число словоформ в корпусе.
Особенностью данной меры является то, что она выделяет коллокации с очень частотными словами, в том числе со служебными словами. Поэтому часто при подсчете t-score задается список стоп-слов с местоимениями, союзами и предлогами, чтобы отбросить самые частотные слова, однако для решения нашей задачи было решено стоп-слова не удалять.
При применении метрики t-score на корпусе НКРЯ с фильтром встречаемости коллокаций > 10 раз получились следующие топ-10 результатов:
Таблица 11. Коллокации методом t-score
Коллокация |
T-score |
|
самом деле |
52.1005 |
|
друг друга |
50.5038 |
|
сих пор |
45.3895 |
|
конце концов |
39.6524 |
|
лет назад |
38.6828 |
|
не знаю |
39.6244 |
|
тех пор |
37.6901 |
|
таким образом |
37.1978 |
|
друг другу |
35.5127 |
|
в конце концов |
34.8136 |
Нас вполне устраивают эти результаты, метрика t-score действительно выделяет самые частотные коллокации, знание которых, на наш взгляд, важно при изучении иностранного языка.
Log-likelihood ratio, другими словами логарифмическая функция правдоподобия.
где Oij - наблюдаемая частота, Eij - ожидаемая частота
При применении метрики log-likelihood на корпусе НКРЯ с фильтром встречаемости коллокации > 10 раз получились следующие топ-10 коллокаций:
Таблица 12. Коллокации методом log likelihood
Коллокация |
Log-likelihood |
|
и и и |
281108.78770 |
|
потому что он |
280879.79050 |
|
потому что это |
276733.48672 |
|
не может быть |
276276.61751 |
|
о том что |
268933.79190 |
|
потому что я |
267109.11807 |
|
потому что ты |
266349.94229 |
|
потому что такое |
265493.48475 |
|
потому что вы |
264278.362194 |
|
я потому что |
263857.463025 |
В следующей таблице представлены результаты при применении метрики raw.
В результате анализа получившихся при использовании различных статистических метрик результатов для генерации списка коллокаций было решено использовать метрику t-score.
2.2 Генерация тестов
Инструмент генерации языковых тестов - многомодульная система. Теперь, когда сгенерированы необходимые языковые списки, рассмотрим процесс генерации тестов на основе имеющихся данных. На рисунке 1 проиллюстрированы этапы работы программы:
Коротко опишем работу каждого из модулей.
1) Модуль проверки текста
a. Проверка текста на длину
Модуль проверяет, что входной текст не короче 50 слов и не длиннее 1000 слов.
b. Оценка сложности текста
Программа оценивает каждый текст по следующим параметрам:
· Среднее количество слов в одном предложении текста
· Среднее число букв в слове в тексте
· Длина текста в буквах
· Длина текста в словах
· Длина текста в предложениях
· Средняя частота слов текста по корпусу
· Сколько слов попадают в первые 10% по частотности
· Сколько слов попадают в первые 5% по частотности
· Сколько слов попадают в первые 1% по частотности
2) Модуль выбора кандидатов на пропуск
На данном этапе выбираются все кандидаты на пропуск. Генерируемые тесты делятся по типу пропуска:
1) определенная часть речи
2) коллокация
3) слово из частотного списка
Каждое слово во входном тексте, которое встречается в списке частей речи, коллокаций или частотном списке, считается кандидатом на пропуск.
3) Модуль проверки на допустимое количество пропусков
На данном этапе проверяется, что количество пропусков не превышает 10 % от количества слов в предложении, и что пропуски равномерно распределены по тексту.
4) Модуль проверки возможности однозначно восстановить пропущенное слово
В словаре триграмм ищется частотность триграммы с кандидатом на пропуск во второй позиции, далее ищутся триграммы с теми же словами в первой и третьей позиции, но другим словом во второй позиции и сортируются в порядке убывания частотностей. После этого смотрится разница между частотностью триграммы с кандидатом на пропуск во второй позиции и следующей по частотности триграммой. На основании этого принимается решение о возможности пропустить слово.
5) Генерация упражнений выбранного типа
Для генерации были выбраны следующие типы тестов:
a. Тест открытого типа (open cloze)
b. C-test
c. Тест на соотнесение их закрытого списка (wordbank)
d. Тест на форму слова (word form)
e. Тест с множественным выбором (multiple choice test)
Подробнее типы генерируемых тестов будут рассмотрены в следующих разделах.
6) Модуль оценки сложности получившегося теста
На данном этапе оценивается сложность восстановления пропущенных слов в контексте.
Сложность автоматически генерируемого теста оценивается по следующим параметрам:
1) Возможность однозначно восстановить пропущенные слова (см. пункт 4)
2) Средняя частотность пропущенных слов
3) Средняя частотность биграмм с пропущенными словами, то есть то, насколько типично для пропущенных слов употребление в данных контекстах (чем выше частотность конструкции с пропущенным словом, тем легче восстановить пропуск)
В следующей части будет дано подробное описание генерируемых типов тестов.
Тест открытого типа (open-cloze тест)
Тест открытого типа (open cloze тест) - это тест с пропуском без вариантов ответа.
Для генерации этого типа тестов на основе загруженного текста используются частеречные списки. Можно генерировать такие тесты для предлогов, местоимений и союзов.
Слова в тексте, которые встречаются в ранее сгенерированном частеречном списке, являются кандидатами на пропуск. С помощью модуля проверки возможности однозначно восстановить пропущенное слово (см. раздел 3.2) отсекаются те кандидаты на пропуск, которые невозможно однозначно восстановить. Пример генерируемых тестов:
Вставьте пропущенное слово:
(1) На предлоги: Когда человек сознательно или интуитивно выбирает себе (1) ___ жизни какую-то цель, жизненную задачу, он невольно дает себе оценку.
(2) На местоимения: Когда человек сознательно или интуитивно выбирает себе в жизни какую-то цель, жизненную задачу, (1)___ невольно дает себе оценку.
(3) На союзы: Она с ужасом смотрит вниз, и ей кажется, (1)____ она умрёт, (2)____ съедет с горы.
C-test
Один из подвидов теста открытого типа - c-test. Алгоритм генерации этого теста отличается от генерации теста open cloze только тем, что пропускается не все слово целиком, а у пропущенного слова оставляются его первые несколько букв. Возможность генерации теста c-test реализована только для типа пропуска “определенная часть речи”. Пример генерируемого теста:
Вставьте пропущенное местоименное прилагательное:
(4) Это были са___ любимые цветы поэта.
Тест на соотнесение из закрытого списка (wordbank)
Тест на соотнесение из закрытого списка отличаются от тестов типа open-cloze только тем, что все пропущенные слова перечислены, студенту требуется выбрать правильный ответ из предложенного списка. Дистракторы отсутствуют. Пример генерируемого теста на предлоги:
Вставьте вместо пропусков один из предлогов: за, в, в, за, в, для
(5) Напротив дома, (1)___ котором я живу, стоит большой серый дом. Каждое утро (2) ___ этом большом сером доме (3) ___ окне напротив я вижу женщину. Она (4) ___ меня как солнце! Я чувствую, что я люблю ее! Скажу сразу: я люблю ее не (5) ___ красоту, а (6) ___ ее высокий интеллект.
Тест на форму слова
Тест на форму слова - задание, в котором требуется поставить слово в правильную форму (падеж, время, и т. д.).
Для генерации теста этого типа требуется морфологический анализатор. Вместо кандидата на пропуск в загруженном тексте оставляется его основа. Выбор частей речи для этого задания зависит от языка. Для генерации тестов на окончания в русском языке были выбраны следующие изменяемые части речи: существительное, прилагательное, местоименное прилагательное и глагол. Пример генерируемого теста:
Поставьте прилагательное в правильную форму.
(6) Там (1)больш__ и (2)красив__ парк. Тут (3)нов__ супермаркет. Это завод, а это фабрика. Тут река Псел, а там (4)больш__ и (5)широк__ мост .
Тест с множественным выбором (multiple choice)
Тест с множественным выбором (multiple choice test) - это тест на лексический выбор с пропусками с выбором одного правильного ответа из нескольких предложенных (дистракторов). В таких заданиях возможен только один правильный ответ, то есть выбор ответа должен быть однозначным. Пример генерируемого теста на лексический выбор:
Выберите правильный вариант ответа:
(7) Кроме дивана в комнате были ещё печь и ширма, закрывающая угол. За ширмой (1) ____ тихо спал.
(a) кто-то
(b) кто-нибудь
(c) что-то
Отдельной важной задачей является задача генерации дистракторов.
В статье (Fenogeeva & Kuzmenko, 2016) для генерации дистракторов в заданиях типа multiple choice на лексический выбор авторы используют инструмент word2vec. Работа инструмента word2vec основана на дистрибутивной гипотезе, согласно которой, если слова встречаются в схожих контекстах, они имеют близкие значения. В обученной модели word2vec каждому слову соответствует вектор, причем слова, имеющие близкие значения, в векторном представлении имеют близкие координаты векторов.
Для создания дистракторов в тестах по русскому языку мы использовали модель word2vec от RusVectores, обученную на корпусе НКРЯ объемом 250 миллионов слов.
Алгоритм генерации тестов типа multiple choice выглядит следующим образом. Сначала в загруженном тексте с помощью специального модуля выбираются кандидаты на пропуск (см. раздел 3.2.). Далее для каждого кандидата на пропуск в обученной модели word2vec ищется несколько слов, имеющих самые близкие к пропущенному слову вектора. Это - потенциальные кандидаты на неправильные ответы (дистракторы). Далее, с помощью модуля проверки возможности однозначно восстановить пропущенное слово (см. раздел 3.2.) проверяется, встречается ли каждый из дистракторов в том же контексте, что и пропущенное слово. Если встречается, и оба слова (пропущенное и дистрактор) приблизительно одинаково часто употребляются в данном контексте, то мы считаем, что дистрактор нам не подходит, поскольку в заданиях типа multiple choice выбор правильно ответа должен быть однозначным. Если с помощью word2vec не получается найти кандидатов на дистракторы, то потенциальный пропуск перестает быть пропуском.
2.3 Веб интерфейс
Для того, чтобы предоставить студентам и преподавателям возможность генерировать тесты на основе загруженного текста, с помощью модуля flask был создан веб-интерфейс. Веб-приложение доступно по ссылке lenashakurova.ru/test-generator.
Опишем пользовательский сценарий:
1) Пользователь загружает или вводит в текстовое поле текст.
2) Пользователь указывает тип пропуска (предлоги, местоимения, союзы, коллокации, слова из частотных списков).
3) Пользователь указывает тип теста для генерации (тест открытого типа, c-test, тест на соотнесение из закрытого списка, тест на форму слова, тест с множественным выбором).
4) Выводится тест и пользователь заполняет пропуски.
5) Пользователь получает информацию о правильных и неправильных ответах.
Опишем, что происходит с точки зрения веб приложения:
1) Оценивается размер загруженного пользователем текста. Введенный текст должен быть не длиннее 1000 слов и не короче 50 слов, загруженный текст должен весить не более 16 мб.
2) Оценивается сложность загруженного текста и генерируется тест выбранного типа.
3) Проверяются ответы пользователя и выводится информация о правильных и неправильных ответах.
Инструмент будет полезен как преподавателям иностранного языка, так и студентам. Например, студенты могут, загружать в систему учебные тексты и генерировать тесты на отработку интересующих их типов пропуска.
Заключение
Результатом данной работы является инструмент с веб интерфейсом на flask, который позволяет генерировать языковые тесты пяти типов: тест открытого типа, c-test, тест на соотнесение из закрытого списка, тест на форму слова, тест с множественным выбором. Работа инструмента была протестирована для русского языка, архитектура инструмента продумана таким образом, чтобы можно было легко масштабировать инструмент на другие языки при наличии корпуса и морфологического анализатора. Для работы инструмента требуется минимальное количество ручного труда, все языковые списки, требуемые для генерации упражнений, создаются автоматически. По аналогии с описанной в работе методологией можно создать генератор для другого языка при наличии корпуса и морфологического анализатора.
В перспективе планируется увеличить число поддерживаемых языков, сделать более дружественный интерфейс, сделать гибкий выбор параметров генерации тестов, повысить качество генерируемых тестов и расширить функционал приложения (например, добавить возможность генерировать тесты различных уровней сложности).
Инструмент будет полезен как студентам, изучающим иностранный язык, так и преподавателям иностранных языков. Использование инструмента поможет преподавателям сэкономить время на подготовку тестов, а студентам позволит тренировать какой-то конкретный навык.
Веб-приложение доступно по ссылке lenashakurova.ru/test-generator. Код доступен по ссылке github.com/shakurova/AutomaticTestGenerator.
Список литературы
1. Aldabe, I., Lacalle, M., Maritxalar, M., Martinez, E., & Uria, L. (2006). Arikiturri: an automatic question generator based on corpora and nlp techniques //Intelligent Tutoring Systems. стр. 584-594.
2. Beinborn, L., Zeschx, T., & Gurevych, I. (б.д.). Predicting the Difficulty of Language Proficiency Tests.
3. Fenogeeva, A., & Kuzmenko, E. (2016). Automatic Generation of Lexical Exercises.
4. Fillmore, C., Kay, P., & O'Connor, M. C. (1988). Regularity and Idiomaticity in grammatical constructions: The case of "let alone". В Language.
5. Malafeev, A. (2015). Exercise Maker: automatic Language Exercise generation.
6. Белобородова, А., Мизгирева, М., Орехова, Д., Рыбаков, В., & Сафарян, А. (2017). Автоматическое создание упражнений для изучающих русский язык как иностранный. СКИЛ-2017.
7. Захаров В. П., Х. М. (2014). Автоматическое выявление терминологических словосочетаний. Структурная и прикладная лингвистика, 182-200.
8. Ильина, О. А. (б.д.). Лексический минимум по языку специальности «Робототехника» как основа формирования лингвокоммуникативной компетенции иностранных магистрантов.
9. Карпов, Н. В. (б.д.). Идентификация уровня сложности текста и его адаптация. Получено 27 Май 2017 г., из https://www.slideshare.net/karpnv/ss-31225145
10. Хохлова, М. (2008). Экспериментальная проверка методов выделения коллокаций. Инструментарий русистики: корпусные подходы.
Аннотация
Задача автоматической генерации тестов возникла в лингвистике относительно недавно и уже получила широкую популярность как среди компьютерных лингвистов, так и среди преподавателей иностранных языков. Значительная часть времени преподавателей регулярно уходит на подготовку тестов для тренировки и оценки полученных на занятиях знаний. С целью сокращения времени, которое тратится на подготовку к занятиям, последние два десятилетия создаются автоматические генераторы тестов. Такие инструменты могут отличаться друг от друга, например, числом поддерживаемых языков, входными данными, количеством генерируемых типов тестов, навыком для тренировки и качеством генерируемых тестов. Целью настоящей работы является создание инструмента для автоматической генерации тестов нескольких типов для загруженного пользователем текста, особенностью которого является его легкая масштабируемость на другие языки, то есть возможность генерации тестов для других языков при наличии минимальных входных данных - языкового корпуса и морфологического анализатора. В работе будет описан процесс создания инструмента генерации тестов. Получившийся инструмент будет полезен как преподавателям иностранного языка, так и студентам, желающим потренировать определенные знания.
Размещено на Allbest.ru
...Подобные документы
Типы орфографической языковой личности, разработка методики ее исследования. Исследование портретов индивидуальных орфографических личностей на основе лингвистических и психологических тестов при помощи работ по русскому языку и дополнительным предметам.
курсовая работа [15,8 K], добавлен 02.10.2011Теоретические понятия языковой игры, политического текста и метафоры. Определение политической метафоры. Классификация примеров метафорического использования языковых единиц. Формирование негативного образа властных субъектов в сознании адресата.
курсовая работа [38,2 K], добавлен 23.08.2011Выделение единиц перевода на уровне фонем, графем, морфем, слов, словосочетаний, предложений и текста. Выявление текстовой функции исходной единицы перевода. Пространственно-временные и причинно-следственные характеристики словесного состава текста.
презентация [38,7 K], добавлен 29.07.2013Определение понятия текста в лингвистике; его содержательная структура. Импликации в художественном произведении. Причины семантико-структурных отступлений перевода от оригинала. Анализ ценности информации и сообщения. Сущность языковой избыточности.
презентация [44,7 K], добавлен 30.10.2013Понятие текста в концепциях лингвистов и психолингвистов, его основные характеристики, свойства и функции. Подходы к его описанию. Природа и процесс порождения текста. Механизмы и особенности его восприятия на примере анализа художественного произведения.
курсовая работа [47,8 K], добавлен 15.01.2014Основные направления лингвистической гендерологии: история формирования, особенности отражения в зарубежной и отечественной лингвистике, стереотипы в речи. Анализ особенностей мужской/женской речи на разных языковых уровнях художественного текста.
дипломная работа [82,5 K], добавлен 18.07.2014Основные функции и характеристики лингводидактических тестов. Проведение тестирования на понимание письменного французского текста среди учащихся седьмых классов. Педагогический контроль и его обеспечение. Методика преподавания иностранных языков.
курсовая работа [84,7 K], добавлен 22.07.2017Оценка используемых газет с точки зрения подачи материала. Анализ специфики прогноза и репортажа как подтипов текста. Описание различия в национальных подходах к изображению фрагмента языковой картины мира. Определение характера лингвистических средств.
дипломная работа [2,8 M], добавлен 01.12.2017Трактовка проблемы социальной дифференциации языка, признание сложности социально-языковых связей. Характеристика владения индивидов языковыми навыками с точки зрения социолингвистики. Уровни и компоненты владения языком. Социальные роли коммуникаторов.
реферат [51,2 K], добавлен 20.11.2012Предмет, методы и направления исследования, основное содержание и значение теории перевода. Виды перевода, сферы его применения, оценка качества и языковой сложности. Переводческая сегментация текста, его связность. Типы лексических трансформаций.
контрольная работа [33,6 K], добавлен 20.12.2011Языковой портрет музыканта на примере певицы Adele, ее семантико-синтаксические, лексические и морфологические особенности. Отражение языковой личности в музыке. Анализ языковых особенностей современного музыканта в рамках воздействия на общество.
реферат [21,6 K], добавлен 21.05.2013Пособия по нормативной стилистике национальных языков. Попытки определить понятие нормативности, языковой (и стилистической) нормы. Сведения о языковых стилях. Оценка экспрессивно-эмоциональной окраски средств языка. Синонимия языковых средств.
реферат [13,6 K], добавлен 17.10.2003Выражение эмоций и чувств как психологические закономерности, лежащие в основе экспрессивности. Стилистический прием - сосредоточение отличительных признаков языковых выразительных средств. Гипербола - преувеличение для эмоциональности высказывания.
дипломная работа [71,3 K], добавлен 25.07.2017Исследование культурных аспектов, которые влияют на язык и процессы коммуникации. Определение роли переводчика в межкультурной коммуникации. История языковой политики, обоснование необходимости и возможности ее реформирования в современной Беларуси.
курсовая работа [52,7 K], добавлен 21.12.2012Характеристика языковых, речевых феноменов. Характеристика амбивалентности медиатекста. Учет системнолингвистического и методологического анализа. Выявление характерных апеллятивных и онимических носителей амбисемии. Способность многих онимов к амбисемии.
статья [22,7 K], добавлен 14.08.2013Русские эквиваленты иноязычных слов в русском языке, особенности их употребления. Различия в значении паронимов. Акцентологический минимум. Речевые ошибки, связанные с неправильным употреблением языковых единиц. Определение стилевой принадлежности текста.
контрольная работа [20,0 K], добавлен 02.01.2012Оценка роли лингвоспецифичных слов в интерпретации языковой картины мира. Особенности отражения художественного концепта слова "душа" в русских пословицах, поговорках и в поэзии Ф.И. Тютчева; характеристика "лингвистического паспорта" данной лексемы.
дипломная работа [106,9 K], добавлен 28.09.2011Лингвометодические и психолого-педагогические основы формирования компетентности. Общие вопросы методики изучения склонения имени существительного. Разработка контрольных вопросов для выявления актуального уровня развития языковой компетенции учащихся.
курсовая работа [171,1 K], добавлен 22.10.2012Речевые параметры и особенности речеупотребления языковых личностей, могущих быть отнесенными к типу сильных. Высказывания советской актрисы театра и кино Фаины Георгиевны Раневской и современного писателя-сатирика Михаила Михайловича Жванецкого.
дипломная работа [155,2 K], добавлен 03.02.2015Несоблюдение критериев отбора лексических средств, приводящее к ошибкам в словоупотреблении. Слова и выражения, смягчающие грубый смысл речи. Стилистически неоправданное употребление синонимов, антонимов. Употребление устаревших и заимствованных слов.
реферат [33,6 K], добавлен 18.01.2017