Leksa для разработчиков

Здесь начинается документация для того, чтобы заставить Leksa работать на новые языки. Цель состоит в том, чтобы сделать демонстрационную версию по крайней мере с 55 словами. Словарь будет использоваться также для Morfa-C. Здесь Вы видите, как северный саами Leksa работает. Выберите язык инструкции в правом краю, прежде чем Вы выберете Leksa.

Lemmas

Вы нуждаетесь в некоторых заглавных словах для словаря от различных семантических категорий: ЧЕЛОВЕК и ЕДА/НАПИТОК. Мы дадим заглавным словам семантические классы, таким образом, будет легче объединить их в различные семантические категории, и некоторые из них, мы можем использовать также в Morfa-C:

  • - глагол "жить (в месте)", семантический класс "HUMAN_V"
  • - глагол, "есть", семантический класс "FOODDRINK_V" и "HUMAN_V"
  • - глагол, "пить", семантический класс "FOODDRINK_V" и "HUMAN_V"
  • - по крайней мере 5 глаголов для того, чтобы приготовить еду (например, жарить, приготовить, испечь), семантические классы "FOODDRINK_V"
  • - по крайней мере 5 существительных для напитков (например, вода, молоко, пиво), семантический класс "НАПИТОК"
  • - 5 существительных для еды Вы будете иметь на обед (например, овсянка, суп, стейк), семантический класс "FOOD_DISH"
  • - 5 существительных для еды, которые Вы покупаете в магазине (например, мука, сахар, фрукты), семантический класс "FOOD_GROCERY"
  • - 5 существительных мест жительства, где можно жить (например, город, село, деревня), семантический класс "PLACE"
  • - по крайней мере 5 существительных для членов семьи (например, сестра, брат, бабушка), семантический класс "FAMILY"
  • - по крайней мере 5 существительных для других людей (например, мальчик, женщина, учитель), семантический класс "PEOPLE"
  • - по крайней мере 5 прилагательных о людях, (например, сильный, старый, молодой, умный), семантический класс "HUMAN_A"
  • - по крайней мере 5 прилагательных о еде, (например, теплый, холодный, кислый, сладкий), семантический класс "FOOD_A"

Дайте, кроме того, семантический класс "mACTIVITY" ко всем глаголам, которые могут быть ответом на вопрос: "Что девочка вчера сделала?" (например, печь). Начальная буква m говорит, что это - morfaset вне систем семантических категорий.

Дайте название книги или имя уровня ко всем записям, например, половину из них K1 и половина из них K2.

XML-format

В XML-формат Вы помещаете заглавного слова в xml-формат. Должен быть один файл для каждой из частей речи. Добавьте, что имена к файлам с языком кодируют сначала, как мы сделали для северного саами с переводом на норвежский V_smenob.xml, N_smenob.xml, A_smenob.xml. "Лучший" перевод, который мы хотим как ключевой ответ, получает статус stat="pref".

<?xml version="1.0" encoding="utf-8"?>
<r xml:lang="sme">
 <e>
   <lg>
     <l pos="n">mielki</l>
      <sources>
         <book name="K1"/>
      </sources>
   </lg>
      <mg>
        <semantics>
          <sem class="DRINK"/>
          <sem class="FOOD_GROCERY"/>
        </semantics>
       <tg xml:lang="nob">
          <t stat="pref" pos="n">melk</t>
          <t pos="n">mjølk</t>     
      </tg>
    </mg>
 </e>
</r>		

Один способ сделать словарь, это начать с csv-файла, с двойного знака подчеркивания как разделитель:

mielki __ N __ melk, mjølk __ DRINK, FOOD_GROCERY

и используйте скрипт main/ped/script/uusv2oahpa_xml.xsl

Если у одного слова есть различные значения, принадлежащие различным семантическим классам, здесь способ сделать это:

beaivi __ N __ day __ TIME
beaivi __ N __ sun __ NATUR

Лексикалные файли регистрирует другое направление

Переводы со свойством атрибута stat="pref" будут заглавными словами в словаре, которые идут в другое языковое направление, и название файла будет, например, N_tlangslang.xml И здесь могут быть синонимы в области перевода. Вы только нуждаетесь в Leksa семантических категориях (ЧЕЛОВЕК и ЕДА/НАПИТОК), но это не причиняет вреда, если Вы добавляете все семантические классы из оригинальных файлов.

<?xml version="1.0" encoding="utf-8"?>
<r xml:lang="nob">
 <e>
   <lg>
     <l pos="n">melk</l>
      <sources>
         <book name="K1"/>
      </sources>
   </lg>
      <mg>
        <semantics>
          <sem class="DRINK"/>  
        </semantics>
       <tg xml:lang="sme">
          <t stat="pref" pos="n">mielki</t>
       </tg>
    </mg>
 </e>
</r>		
		

Есть подлинники для этого в main/ped/script/, documentet в 00_README.txt

Обработка семантических наборов в Leksa

Мы помещаем togehter семантические классы в семантические категории с файлом semanticsets.xml

</?xml version="1.0" encoding="utf-8"?>
</lexicon>
        </subclasses class="HUMAN">  
      </sem class="PEOPLE"/>   
      </sem class="FAMILY"/>
      </sem class="HUMAN_A"/>
      </sem class="HUMAN_V"/>
      </sem class="PLACE"/>
    <//subclasses>
        </subclasses class="FOOD/DRINK">  
      </sem class="DRINK"/>
      </sem class="FOODDRINK_V"/>
      </sem class="FOOD_A"/>
      </sem class="FOOD_DISH"/>
      </sem class="FOOD_GROCERY"/>
    </subclasses>
<//lexicon>
		

Ваш демонстрационный пример Leksa

Вы теперь сделали xml-файлы для демонстрационного примера Leksa по крайней мере с 48 словами. У демонстрационного примера есть эти варианты:

  • - языковое направление
  • - 2 семантических categore, содержащие существительные, глаголы и прилагательные: ЧЕЛОВЕК и ЕДА/НАПИТОК. Другие семантические классы для Morfa-C.
  • - два заказывают или выбор уровня

Дальнейшая работа

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

Иногда перевод будет объяснением, и может быть трудно использовать слово в Leksa с одного из языков к другому. Вы можете сделать exeption для слова о в xml-файле. Слово будет все еще использоваться в Morfa-C.

		<e exclude="leksa">