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
..  

Читайте больше о поколении словоформ.

Oahpainstallation

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