Morfa для разработчиков
Здесь начинается документация для того, чтобы заставить инструменты Morfa работать на новые языки. Цель состоит в том, чтобы сделать демонстрационную версию Morfa-C с 2-3 шаблонами задачи и заглавными словами от Leksa. Здесь Вы видите, как Северный саами Morfa-S и Morfa-C работают. Выберите язык инструкции в правом краю, прежде чем Вы выберете программу
Задачи для Morfa-C
Теперь начинается забавная часть работы. Используя семантические классы в словаре Вы можете сделать упражнении для студентов. Они получают заглавное слово в основной форме, и их задача состоит в том, чтобы склонять его. Какие задачи? -- это зависит от языка. Ваши инструменты - семантические классы FAMILY (ЧЛЕН СЕМЬИ) и PEOPLE (ЧЕЛОВЕК) существительные, прилагательные HUMAN_A (ТАКИЕ КАТОРЫЕ ОПРЕДЕЛЯЮТ ЧЕЛОВЕКА), существительные PLACE (МЕСТА), глаголы MOVEMENT_V (ДВИЖЕНИЯ), глаголы ACTIVITY (ДЕЯТЕЛЬНОСТИ), существительные FOOD (ЕДА:) and DRINK (ПИТЬЁ:) и прилагательные FOOD_A (ОПРЕДЕЛЯЮЩИЕ ЕДУ).
Семантические классы в словаре позволяют сделать, например, эти шаблоны:
- - Где живёт твой FAMILY ? Мой FAMILY живёт в ______ (PLACE).
- - Что PEOPLE пьёт? PEOPLE пьёт ______ (DRINK).
- - Что PEOPLE ест? PEOPLE ест ______ (FOOD).
- - Кто в PLACE? ______ (PEOPLE Pl) -- в PLACE.
- - Что делает твой FAMILY сегодня? Сегодня мой FAMILY _______ (ACTIVITY-гл).
- - Что делал ADJ PEOPLE вчера? Вчера PEOPLE _______ (ACTIVITY-гл).
- - Какие PEOPLE PL? PEOPLE PL -- ______ (HUMAN-прил).
- - Куда PEOPLE MOVEMENT-глогол? PEOPLE MOVEMENT-гл _______ (->> PLACE).
Конечно, Вы можете использовать местоименное наречие вместо существительного, обозначающего место.
Шаблоны пары ответа вопроса в xml-формате
Шаблон содержит и переменные и константы. Это - пример шаблона пары ответ-вопрос в Северном саами. Первый текст, "Что SUBJ вчера делала?", следующий - "Вчера SUBJ MAINV". Линия с игрой game="morfa" подразумевает, что задача для студента состоит в том, чтобы написать правильную словоформу MAINV.
<q id="prtSg">
<qtype>PRT</qtype>
<question>
<text>Maid ADJ SUBJ barggai ikte</text>
<element id="ADJ">
<sem class="HUMAN_A"/>
<grammar tag="A+Attr"/>
</element>
<element id="SUBJ">
<sem class="PEOPLE"/>
<grammar tag="N+Sg+Nom"/>
</element>
</question>
<answer>
<text>Ikte SUBJ MAINV</text>
<element game='morfa' id="MAINV" task="yes">
<grammar tag="V+Ind+Prt+Sg3"/>
<sem class="ACTIVITY"/>
</element>
</answer>
</q>
Этот первый шаблон производит задачи как, "Что старый учитель вчера сделал?" "испечь" "Вчера учитель ____". Как Вы видите, переменное ADJ только для предоставления изменения. qtype - PRT: склонять глаголы в прошедшем времени. Будет полезно, когда Вы сделали столько шаблонов, что Вы сортируете их как возможности для студента. Но мы не будем использовать его в демонстрационной версии. У каждого шаблона есть id (идентификация), чтобы облегчить их удаление при необходимости.
Один пример со склонением прилагательных во множественном числе:
<q id="AdjPred">
<qtype>PRED</qtype>
<question>
<text>Makkárat SUBJ leat</text>
<element id="SUBJ">
<sem class="PEOPLE"/>
<grammar tag="N+Pl+Nom"/>
</element>
</question>
<answer>
<text>Sii leat ADJ</text>
<element game='morfa' id="ADJ" task="yes">
<grammar tag="A+Pl+Nom"/>
<sem class="HUMAN_A"/>
</element>
</answer>
</q>
Первый текст, "Какые SUBJ?", следующий, "Они - ADJ". Линия с игрой game="morfa" подразумевает, что задача для студента состоит в том, чтобы написать правильную словоформу ADJ. Этот шаблон произведет такие задачи как, "Какие девочки?" "умный" "Они - ______ (множественная форма в Северном саами)".
Один пример со склонением существительных в иллативе:
<q id="nill">
<qtype>N-ILL</qtype>
<question>
<text>Gosa du SUBJ MAINV</text>
<element id="SUBJ">
<grammar pos="N+Sg+Nom"/>
<sem class="FAMILY"/>
</element>
<element id="MAINV">
<grammar tag="V+Ind+Prs+Sg3"/>
<sem class="MOVEMENT_V"/>
</element>
</question>
<answer>
<text>SUBJ MAINV N-ILL</text>
<element game='morfa' id="N-ILL" task="yes">
<grammar tag="N+Sg+Ill"/>
<sem class="PLACE"/>
</element>
</answer>
</q>
Первый текст "Куда SUBJ MAINV?", следующий - "SUBJ MAINV N-ILL". Линия с игрой game="morfa" подразумевает, что задача для студента состоит в том, чтобы написать правильную словоформу N-ILL. Этот шаблон произведет задачи как "Куда Ваша сестра бежит?" "школа" "Сестра бежит ______ (иллативный подеж в саами)".
Для демонстрационной версии мы делаем это просто. Например, мы не используем местоимения в ответе, что в принципе легко, но тогда мы должны взять в расчет, что в некоторых языках есть пол. У нас есть также функция согласования, например, между SUBJ и MAINV, который можно использовать.
Сохраните шаблоны в файле с языковым кодом, например questions.sme.xml
Словоформы
Словарь содержит заглавные слова. Задачи Morfa-C нуждаются в словоформах, которые произведены с FST (конечный трансдуктор). Для этого Вы нуждаетесь в файлах, как v_paradigm.txt, где данны какие формы произвести.
V+Inf V+Ind+Prs+Sg1 V+Ind+Prs+Sg2 V+Ind+Prs+Sg3 V+Ind+Prs+Pl1 ..
Читайте больше о поколении словоформ.
Morfa-S
Morfa-S основана на произведенных словоформах. Вы должны решить, каковы варианты там должны быть, смотреть на Северный Saami Morfa-S.
Morfa-S предлагает помощь, если студент хочет знать, как сделать словоформу. Информация помощи произведена основанная на комбинации морфологических тэгов и самой задачи. Это будет объяснено здесь здесь.
Paper
Antonsen, Lene, Ryan Johnson, Trond Trosterud, Heli Uibo 2013: Generating modular grammar exercises with finite-state transducers. Proceedings of the second workshop on NLP for computer-assisted language learning at NODALIDA 2013, May 22-24, Oslo, Norway. NEALT Proceedings Series 17: 27-38. Presentation held 22.5.13