вторник, 18 августа 2009 г.

Язык как инстинкт

SLI это не только режим работы видеокарт. Это аббревиатура обозначает тяжелое расстройство речи у детей - Specific language impairment, специфическое расстройство речи.

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

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

Форду явно приходилось с трудом выговаривать слова, но проблема была не в том, что он не мог совладать с мускулами гортани. Он мог задуть свечу и откашляться, но его письмо хромало так же, как и речь. Основные помехи были сосредоточены именно вокруг грамматики. Он опускал окончания, например -ed и - s и служебные слова типа or 'или', be 'быть', the (определенный артикль), несмотря на их высокую частоту в речи. При чтении вслух он пропускал функциональные слова, хотя успешно произносил полнозначные, такие как bee 'пчела' или oar 'весло', в которых были те же самые звуки. Он прекрасно мог назвать предмет или узнать его по названию. Он понимал вопросы, когда их содержание можно было вывести из полнозначных слов, например, «Тонет ли камень в воде?» или «Можно ли что-нибудь отрезать молотком?», но не тогда, когда требовался грамматический анализ, например: «Лев был убит тигром; кто из зверей погиб?»

Несмотря на грамматические нарушения, у Форда полностью сохранились другие интеллектуальные функции. Гарднер замечает: «Он был собран, внимателен и полностью сознавал, где он находился и почему. У него были сохранены все интеллектуальные функции, не напрямую связанные с языком, например, понимание, где право, где лево, способность рисовать левой (не использовавшейся для этого ранее) рукой, считать, читать карты, заводить часы, составлять из предметов конструкции или исполнять команды. Его коэффициент интеллекта в невербальных областях был на его обычном уровне».



Не так давно, гипотеза Хомского 60-х годов получила подтверждение благодаря оксфордским ученым; отчет был опубликован в New England Journal of Medicine:

Ген CNTNAP2, который ранее связывали с развитием аутизма, также играет роль в развитии распространенного расстройства речи у детей.
..
На первом этапе исследования Саймон Фишер и его коллеги изучали взаимосвязь гена FOXP2, играющего роль в развитии тяжелых нарушений речи, с другими генами. Одним из таких генов оказался CNTNAP2. Затем ученые провели генетическое исследование детей из 184 семей, страдавших задержкой речевого развития. Выяснилось, что дети, несущие определенные варианты гена CNTNAP2, испытывают трудности в повторении бессмысленных слов, что является критерием специфического расстройства речи.

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

четверг, 13 августа 2009 г.

Buryat verb conjugation. Part 2A

СПРЯЖЕНИЕ БУРЯТСКОГО ГЛАГОЛА
продолжение см. 1 часть:

http://buryad.blogspot.com/2009/08/buryat-verb-conjugation.html

В монгольских языках при объединении морфемы с аффиксом возникают особые случаи:
• Стык согласных : последняя буква (назовем SL) и первая буква аффикса (назовем Af1):
Болод + 'до' => Болодто (Болоту);
• SL ='и', происходит йотирование:
боли + 'уужа' => болюужа;
• Af1 = 'и', в этом случае образуется дифтонг (либо долгий 'ии')
хэ + 'иш' => хeiš => хыш (сделай!)
үһэри + 'иш' => үһэрииш (придирайся)
• SL ='й', значит последняя фонема основы – дифтонг (дамбай - толстей!, шохой – высунься!) , в этом случае, (так же если последняя фонема – долгая гласная) если аффикс начинается на гласную фонему, то вставляется дополнительная согласная 'г' :
шохой + 'г' + 'ы' + 'ш' => шохойгыш



В предыдущей части с аффиксом настоящего времени: глагольных основ, оканчивающихся на 'н' не существует, поэтому я просто добавил аффикс 'на3' + аффикс притяжания.



Немного об SQL: в силу технических особенностей этой среде удобнее оперировать машинными словами, т.е. 1, 2, 3 (в двухбайтовом целочисленном представлении, Long Integer) обрабатываются быстрее, чем а, б, в. По этой же причине, логическое значение False/True хранится как 0/FFFF, отсюда логическое значение True, преобразованное в число, становится = -1; FFFF это -1 в Long Integer.

Связывание таблиц через текстовые поля – дурной тон, и удар по скорости. В первой части я связал таблицы через них только для наглядности.

Какие могут быть варианты огласовки аффиксов в бурятском языке?
Обычно обозначают так: аа4, а3, у2, я3, яа3 (для йотированных окончаний)

Пример 1, глагол в форме обращения (просьба):
V-'и' + (удалить 'и' от стеммы) + яа3ра3й,
V-d|vv => гаа4ра3й
V + а3ра3й ;
поскольку идет последним вариантом, то условия не ставлю

Пример 2, глагол в форме обращения (намерение):
V + һуу2

Создаем таблицы сингармонических чередований:



С удалением гласных не все так просто, было бы здорово, если бы конкатенацией символа BackSpace можно было удалить символ слева, вроде:
'ABC' & chr(8) & 'DEF' => 'ABDEF'
Но раз это невозможно, придется пользоваться инструкциями типа:
left('ABC', len('ABC')- iif(<Условие>,1,0) ) & 'DEF'


Можно пойти по другому пути. Здесь обнаруживается различие понятий лемма и стемма:
Лемма 'таби':
таби + ха => табиха
таби + (и?(ит)|(df?|гыт|удалить v слева + ыт) )=> табиит
таби + (и?удал.символа слева) + (и?(яа3ра3й)|(df?|гаа4ра3й|а3ра3й) ) => табяарай


Стемма «таб»:
таб + иха => табиха
таб + иит => табиит
таб + яаnраnй => табяарай


В моем понимании, стемма - это некий псевдокорень.
Минус последней схемы в том, что мы, во-первых, увеличиваем число записей в таблице аффиксов, во-вторых, вынуждены обрубать корневые морфемы.

Access не поддерживает хранимые процедуры, но имеет свой язык VBA, опять же отличающийся по синтаксису от основного VBA (продукт Access был приобретен MS у третьей фирмы).

Вопрос, зачем же я выбрал Access? Было лень разворачивать MS SQL, или MySQL. Опять же проще таскать проект туда-сюда. Почему то питаю слабость к настольным СУБД типа Access, FoxPro, Firebird.

Ну что ж, создаем таблицу фонем



В таблице выделены 5 типов конечных фонем, влияющих на модификацию аффикса:
1 - гласные;
2 - гласная 'и', а также 'зөөлэн тэмдэг’;
3 - дифтонги и долгие гласные (включая йотированные);
4 - согласные 'бгдрс'.
0 - прочие согласные (большей частью мусор для заимствованных слов и опечаток, полезный разве что 'л');

Теперь можно отобрать копию таблицы (вьюшку) с дополнительными полями :
SELECT word, syn, pho.type, right(mouse.word,2) AS a
FROM mouse INNER JOIN pho ON right(mouse.word,2)=pho.ph
WHERE pho.l=2
UNION SELECT word, syn, pho.type, right(mouse.word,1) AS a
FROM mouse INNER JOIN pho ON right(mouse.word,1)=pho.ph
WHERE pho.l=1 and not exists
(select 1 from pho B where right(mouse.word,2)=B.ph and B.l=2);


Получаем что-то в этом духе:

среда, 12 августа 2009 г.

Buryat verb conjugation


СПРЯЖЕНИЕ БУРЯТСКОГО ГЛАГОЛА

Автоматическое образование форм глагола
бурят-монгольского языка

(в кириллической орфографии) с использованием SQL


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

Допустим, нужно образовать форму настоящего времени 3 лица, ед.ч. от глагола «бэхилхэ» - укреплять.

Для этого понадобится из словарной формы (причастие наст-буд времени) выделить стемму, ну и добавить поле сингармонической гласной, и еще поле на всякий случай - для аффиксов с двойной гласной:
  • ябаха => яба, А, АА
  • бүлеэдэхэ => бүлеэдэ, Э, ӨӨ
  • .. и т.д.
Итак, создаем таблицу с глаголами (это самое трудное, у меня ушло 2 дня) :




Создаем вторую таблицу, включающую аффиксы настоящего времени:




Cвязываем эти таблицы по полю огласовки, cоздаем запрос по искому слову, и ставим фильтр с нашими условиями, создать пересечение таблиц, ограничить стеммой БЭХИЛ, 3-е лицо, не множественное:

SELECT word & aff AS wd, comment
FROM affix INNER JOIN mouse ON affix.id=mouse.syn1
where word='бэхил' and person=3 and not plur;


Поскольку упражняемся мы на Access Jet SQL, а не настоящем T-SQL, то конкатенация строк несколько нестандартная, по-честному писаться должно так:

SELECT concat(ltrim(rtim(word)), ltrim(rtim(aff))) AS wd, comment
FROM affix INNER JOIN mouse ON affix.id=mouse.syn1
where word='бэхил' and person=3 and not plur


Результат выборки:




Получили бэхилнэ – ([он] укрепляет)
Вот так все просто !
Впрочем, у Поппе я встретил упоминание, что после основ заканчивающихся на фонемы б, д, г вставляется соединительная гласная, но пока таких глаголов я не нашел.

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



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