Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Логичный системный конланг (по рецептам Рика Морни)

Автор Astromir, апреля 23, 2020, 19:08

0 Пользователи и 1 гость просматривают эту тему.

Astromir

Я почитал увлекательные эссе Рика Морни, и мне тоже захотелось создать конланг. Я в этом новичок, так что конструктивные советы будут кстати. Буду писать сюда свои мысли про конланг.

Начну с принципов:
1. Однозначная грамматика с точной семантикой управляющих конструкций имеет эталонный парсер.
2. Граматика не уступает натуральным языкам по способности выражать сложные предложения.
3. Культурная нейтральность словаря.
4. Слова образуются на систематической основе, чтобы их было легче запоминать.

Фонетика
a/а b/б c/ч d/д e/э f/ф g/г h/х i/и j/ж k/к l/л m/м n/н o/о p/п r/р s/с t/т u/у v/в x/ш y/й z/з
w q - не используются

Окончания частей речи
Для каждой части речи выделим свои окончания, чтобы структура предложения была сразу видна, даже если читателю неизвестны значения слов. Это хорошо работает в Эсперанто.

Пусть существительные оканчиваются на -о. Глаголы на -i.

Существительные
Я считаю, что невозможно систематически выводить слова для вещей/предметов/существ с семантической точностью. Что с этим делать подумаем в другой раз.

Глаголы
Глаголы же наоборот. Я считаю, что все их можно вывести из корней, выражающих свойства. Я буду представлять, что все глаголы обозначают некие изменения свойств существительных.

Пациенс(П) может испытать либо "обладание свойством", либо "уменьшение свойства", либо "увеличение свойства".

Ввведем суффиксы:
-efi :- у П сохранилось свойство
-afi :- у П увеличилось свойство
-ifi :- у П уменьшилось свойство

(Примечание. Форма корней временная для изучения морфологии глаголов. Стратегию создания корней станет легче продумать после того, как 1) будет ясно какие суффиксы и приставки нужны для морфологии 2) выбрана хорошая фонотактика).

Например, обозначим свойство "холодность" корнем holod-. Тогда получаются следующие глаголы с 1м аргументом П:
holodefi - П холодный (П имеет холод)
holodafi - П охладился (холодность П уменьшилась холод)
holodifi - П нагрелся  (холодность П увеличилась холод)

Корень mort- (мертвость):
mortefi - П мертвый
mortafi - П умер
mortifi - П ожил

Далее, в глаголах также еще выделяют агенс(А) - это объект, которые вызывает изменение свойств. Добавим его в качестве аргумента с помощью суфиксов, чтобы получать глаголы с 2мя аргументами А и П:
-esi :- А сохранил у П свойство
-asi :- А увеличил у П свойство
-isi :- А уменьшил у П свойство

holodesi - A сохранил П холодным (холодность П не изменилась, благодаря А)
(пример, холодильник сохранил сок холодным)
(тот же пример в несовершенном аспекте: холодильник пооддерживает сок холодным)
holodasi - А охладил П
holodisi - А нагрел П

mortesi - А сохранил П мертвым
(пример, молитва не дала воскреснуть умертвиям)
mortasi - А убил П
mortisi - А оживил П

Далее, рассмотрим глагол "знает" в предложении "студент знал ответ". Студент здесь пациенс. А какая роль у слова "ответ"? Слово "ответ" в этом предложении - это фокус(Ф). Фокус - это существительное, имеющее некую связь с процессом, выраженным глаголом.

Для таких глаголов с 2мя аргументами П и Ф сделаем суффиксы:
-eri :- П сохранилось свойство с параметром Ф
-ari :- у П увеличилось свойство с параметром Ф
-iri :- у П уменьшилось свойство с параметром Ф

Корень znat- (известность факта Ф):
znateri - П знал Ф
znatari - П приобрел знание Ф
znatiri - П забыл Ф

Корень vid- (видимость чего-либо Ф):
videri - П видел Ф
vidari - П заметил Ф
vidiri - П потерял из виду Ф

Грамматика глагольных фраз
Позже обсудим другие типы глаголов. А пока определимся с грамматикой использования глаголов, чтобы было легче давать примеры. Я предпочитаю схему:

глагол аргумент1 аргумент2 аргумент3

Такую схему легче читать-понимать человеку и парсить компу, чем схему: аргумент1 глагол аргумент2 аргумент3.

Аргументами глаголов могут выступать существительные. Введем несколько для примеров:
koto - кот
muso - мышь
frido - холодильник
soko - сок
stiho - стих

Примеры:
mortasi koto muso - кот убил мышь
(убил кот мышь)
holodefi soko - сок холодный (сок имеет свойство холодность)
holodafi soko - сок охладился
holodesi frido soko - холодильник сохранил сок холодным
vidari koto muso - кот заметил мышь

Глаголы
Вернемся к классификации глаголов. Вспомним изученные виды глаголов. Обозначения:
К - корень, обозначающий некое абстрактное свойство
А - аргумент агенс
П= - аргумент пациенс, чье свойство сохранилось
П+ - аргумент пациенс, чье свойство увеличилось
П- - аргумент пациенс, чье свойство уменьшилось

К-efi П=
К-afi П+
К-ifi П-

К-esi А/П=
К-asi А/П+
К-isi А/П-

К-eri П=/Ф
К-ari П+/Ф
К-iri П-/Ф

Продолжение напишу завтра.

basta

Здорово, когда суффиксы созданы по схеме и можно догадаться об их значении по составным частям, но не здорово, когда в речи они сливаются, ведь [e] и [i] похожи, как и [a] и [e], особенно без ударения (кстати что с ударением?) Так что делать их несхематично может быть даже хорошо.

Цитата: Astromir от апреля 23, 2020, 19:08
1. Однозначная грамматика с точной семантикой управляющих конструкций имеет эталонный парсер.
2. Граматика не уступает натуральным языкам по способности выражать сложные предложения.
На мой взгляд плохо совместимые пункты, хотя я тоже пытался. Две проблемы. 1. В естественном языке подчинённое предложение может быть внутри главного. Если поддержка такой возможности вам необходима по принципу №2, то для разграничения предложений придётся использовать слова-скобки. 2. Парсер сильно усложняется на поддержке союзных и местоименных слов, особенно в паре. В то время как простой парсер смотрит только на структуру одного предложения, "полноценному" парсеру надо заглядывать на предложение вперёд и назад и проверять, всё ли там на месте. Например, переведите следующие предложения и покажите, как поведёт себя парсер:

а) Скажи, кто твой друг.
б) Я приду тогда, когда смогу.
в) Он думал о том, что завтра будет хорошая погода.
г) Вот человек, чью картину ты видел.

и пару примеров на вложенные:

д) Дом, где я родился, сгорел дотла.
е) В тот день, когда я понял всё, жизнь моя изменилась.

Интересно посмотреть, как вы решите эту задачку.

basta

Цитата: basta от апреля 25, 2020, 12:57
Если поддержка такой возможности вам необходима по принципу №2, то для разграничения предложений придётся использовать слова-скобки
Или вводить дополнительные окончания для всех членов предложения, находящихся в подчинённом. Но это работает только на один уровень, на каждый уровень ниже - новые окончания.

Astromir

Пока писал продолжение понял, что стала получаться слишком громоздкая система морфологии глаголов: куча суффиксов. При этом семантика глаголов получалась все равно размытой. Поэтому я решил не пытаться загнать все на свете глаголы в схему Агенс-меняет/увеличивает/уменьшает-Свойство-у-Пациенса. Пусть глаголы просто живут в словаре.

Начну объяснение с нуля.

Фонетика
a(а) b(б) c(ч) d(д) e(э) f(ф) g(г) h(х) i(и) j(ж) k(к) l(л) m(м) n(н) o(о) p(п) r(р) s(с) t(т) u(у) v(в) x(ш) y(й) z(з)
w q - не используются

Словарь
Со словарем я думаю определится после того, как  1) грамматика достигнет способности выражать сложные предложения 2) грамматика хорошо протестирована 3) будет понятен почти целиком список, нужных суффиксов и частиц.

Я хочу чтобы язык звучал приятно, то есть примерно как эсперанто/итальянский/испанский, поэтому перед словарем еще понадобится соответствующая фонотактика.

В словаре будет три вида слов: существительное, глаголы и частицы. Остальные части речи получаться из грамматики.

Окончания частей речи
Для каждой части речи выделим свои окончания, чтобы структура предложения была сразу видна, даже если читателю неизвестны значения слов. Это хорошо работает в Эсперанто.

Пусть существительные оканчиваются на -о.
Глаголы на -i.

Глаголы
Глаголами будут предикаты с двумя аргументами А и Б. Например:
vidi А Б :- А видел Б
cati :- A съел Б
tepli :- А теплый настолько, что его температура равна Б
gruzi :- А тяжелый и его вес равен Б

В предложении порядок слов таков: сначала идет глагол, потом его аргументы.
Формула: verbi А B

vidi koto muso :- кот видел мышь
cati koto muso :- кот съел мышь
gruzi frido 10kg :- холодильник весит 10кг
tepli koto 38ºC :- температура кота 38ºC

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

Глаголы по умолчанию находятся в неопределенном времени. Время события либо понятно из контекста, либо его можно уточнить дополнительными словами.

Суффиксы для глаголов
Суффикс -oti меняет местами аргументы глагола.
Формула: verboti A B == verbi B A

Смысл предложения остается прежним, но существительное идущим первым получает смысловой акцент и становится более важным для автора и слушателей. (Я пока не до конца понимаю, как работает тема и рема в натуральных языках. В будущем, видимо, для выделения топика придется добавить пару частиц.)

vidi :- А видел Б
vidoti :- Б было на виду у А

cati :- A съел Б
catoti :- А съедено Б-чем

tepli :- А теплый настолько, что его температура равна Б
teploti :- А температура Б-чего

gruzi :- А тяжелый и его вес равен Б
gruzoti :- А вес Б-чего

Суффикс -ani удаляет второй аргумент глагола. 2й агргумент становится абсолютно неважным не может быть указан.
cati :- A съел Б
catani :- A поевший (А поел, и неважно что, важно только то, что А поел)

catani koto :- кот поел

darbi :- А ударил Б
darbani :- А ударил (важно, что А ударил)

tepli :- А теплый настолько, что его температура равна Б
teplani :- А теплый (А имеет среднюю обычную температуру)

teplani koto :- кот теплый

gruzi :- А тяжелый и его вес равен Б
gruzani :- А тяжелый

gruzani frido :- холодильник тяжелый

Суффикс -egi удаляет первый аргумент предиката. 1й аргумент становится абсолютно неважным не может быть указан.

cati :- A съел Б
categi :- Б съедено (неважно кем)

categi muso :- мышь съедена

pari :- А разбил Б на части
paregi :- А разбито

paregi okno :- окно разбилось

tepli :- А теплый настолько, что его температура равна Б
teplegi :- А температура (А результат измерения тепла)

teplani (числа-на-градуснике) :- числа-на-градуснике показывают температуру

Введенные суффиксы:
verb-oti A B == verbi B A
verb-ani A == verbi A (удалено)
verb-egi A == verbi (удалено) А

Сложно-подчиненные предложения
Нам нужна возможность создавать предложения вроде:

Пес видил, как кот съел мышь
Кот видел, что холодильник тяжелый.
Кот хочет съесть мышь.

Для этого разрешим в качестве аргумента использовать не только существительные, но глагольные фразы.

vidi peso cati koto muso :- Пес видел, как кот съел мышь.
vidi koto gruzani frido :- Кот видел, что холодильник тяжелый.

vanti :- А хочет, чтобы явление/событие/утверждение Б стало реальностью

vanti koto cati koto muso :- Кот хочет съесть мышь.

kauzi :- А вызывал явление/событие/утверждение Б, А причина для Б

kauzi fermero catani koto :- Фермер причина того, что кот поел. :- Фермер покормил кота.

kauzegi catani koto :- Кот накормлен.

kauzegi gruzani koto :- Кот стал тяжелым.

kauzegi vidi koto muso :- Неважно, что стало причиной, того что кот видит мышь :- Кот заметил мышь.

kauzi koto vidi koto muso :- Кот стал причиной того, что кот видил мышь. :- Кот обнаружил мышь.

stopi :- А прекратил явление/событие/утверждение Б

stopegi vidi koto muso :- Что стало причиной, что кот больше не видит мышь. :- Кот потерял мышь из виду.

Пока на этом всё.




Цитата: basta от апреля 25, 2020, 12:57
Здорово, когда суффиксы созданы по схеме и можно догадаться об их значении по составным частям, но не здорово, когда в речи они сливаются, ведь [e] и [i] похожи, как и [a] и [e], особенно без ударения (кстати что с ударением?) Так что делать их несхематично может быть даже хорошо.

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

Цитата: basta от апреля 25, 2020, 12:57
На мой взгляд плохо совместимые пункты, хотя я тоже пытался. Две проблемы. 1. В естественном языке подчинённое предложение может быть внутри главного. Если поддержка такой возможности вам необходима по принципу №2, то для разграничения предложений придётся использовать слова-скобки. 2. Парсер сильно усложняется на поддержке союзных и местоименных слов, особенно в паре. В то время как простой парсер смотрит только на структуру одного предложения, "полноценному" парсеру надо заглядывать на предложение вперёд и назад и проверять, всё ли там на месте. Например, переведите следующие предложения и покажите, как поведёт себя парсер:

Конечно, какие-то скобки понадобятся... Остается, надеется, что получится сделать их не так много.

Я сразу буду писать парсер на js. Надеюсь, что возможностей PEG-парсера мне хватит.

Цитата: basta от апреля 25, 2020, 12:57
Интересно посмотреть, как вы решите эту задачку.

Да, посмотрим. Я переведу их по мере описания здесь нужных для этого конструкций.

Цитата: basta от апреля 25, 2020, 13:01
вводить дополнительные окончания для всех членов предложения, находящихся в подчинённом. Но это работает только на один уровень, на каждый уровень ниже - новые окончания

Да, план такой.

Сильно глубоко нырять нет необходимости. Цель сравнятся в выразительности с русским/английским/эсперанто, а не с ложбаном.

Astromir

Важно: окончание глагола строго задаёт количество аргументов, с которым он может быть использован. После глаголов с суффиксами -i и -oti должны идти ровно 2 аргумента, а после -egi и -ani ровно один.

Например, следующие предложения грамматически некорректны и не имеют смысла:
cati koto :- один аргумент, а должно быть два
categi koto muso :- два аргумента, а должен быть один

Ещё о сложных предложениях
У глагола в оба аргумента можно подставлять глагольные фразы:
kauzi vidi koto muso cati koto muso :- Кот видел мышь, поэтому кот съел мышь.
kauzoti cati koto muso vidi koto muso :- Кот съел мышь, потому что кот видел мышь
kauzi cati koto muso catani koto :- Кот съел мышь, поэтому кот поел.

Прилагательные
Теперь нам нужны прилагательные, чтобы мочь сказать, что-то вроде:
Теплый кот съел тяжелую мышь.
Поевший кот стал тяжелым.
Пес видит кота, съевшего мышь.
Пес видит мышь, съеденную котом.

Пусть окончанием прилагательного будет -a. Прилагательных не будет в словаре, поэтому будем выводить из глаголов.

Прилагательные из глаголов

Пусть V1 - глагол c 1м аргументом, A - определяемое слово

Формула прилагательного из 1-глагола: N V1-a == V1-i N

teplana :- теплый
teplega :- являющийся, температурой какого-то объекта
gruzаna :- тяжелый
gruzega :- являющийся, измерением веса какого-то объекта
vidana :- видивший
videga :- виденый (прилагательные также как и глаголы, образованные от них находятся в совершенной форме, и неопределенном времени)
catana :- съевший
catega :- съеденный

Введем правило: прилагательные всегда идут после существительного.

Теперь мы можем сказать:
cati koto teplana muso gruzana :- Теплый кот съел тяжелую мышь.
cati koto teplana gruzаna muso :- Теплый тяжелый кот съел мышь.
kauzegi gruzani koto catana :- Стал тяжелым кот поевший. :- Поевший кот стал тяжелым.

Но пока еще не можем сказать: Пес видит кота, съевшего мышь. Пес видит мышь, съеденную котом.

Для этого нам нужна формула: A V2-a B == V1-i A B

A tepla Б :- A теплый на величину Б
A gruza Б :- А тяжелый на величину Б
А vida Б :- А видивший Б
А vidоta Б :- А виденый Б

vidi peso koto cata muso :- Пес видит кота, съевшего мышь.
vidi peso muso catota koto :- Пес видит мышь, съеденную котом.
gladi fermero peso vida koto cata muso :- Фермер гладит пса, видившего кота, съевшего мышь.

Прилагательное прилипает к ближайшему слева от себя существительному, поэтому последнее предложение так переводится, а не: Фермер гладит пса, видившего кота и съевшего мышь.

Грамматическая структура
arg = v-phase || n-phrase
v-phrase == (V2 arg arg) || (V1 arg)
n-phrase == N a-phrase*
a-phrahe ==  A1 || (A2 arg)

Предложение
Закоченным предложением будем считать либо сущефразу (существительное и прилагательные, идущие за ним), либо глагофразу (глагол со всеми его аргументами, идущими за ним).

То есть фразы ниже тоже считаются законченными предложениями:
koto teplana gruzana :- Теплый тяжелый кот.
peso vida koto teplana :- Пес, видевший теплого кота.



Перевод одного из предложений от basta.

loki :- предмет А расположен в месте/городе/стране Б
loki :- событие/процесс А произошел в месте/городе/стране Б
lokoti :- место А, где расположен/произошел Б
rodi :- А родил Б
rodegi :- Б рожден
sjigi :- А сжег Б
finali :- А завершил процесс/событие Б
finalegi :- А завершен

loki cati koto muso domo :- Кот съел мышь в доме.
domo lokota cati koto muso :- Дом, в котором кот съел мышь. :- Дом, где кот съел мышь.
finalegi sjigeti domo lokota rodegi koto :- Завершен процесс сжигания дома, где кот рожден. :- Дом, где кот родился, сожжен совсем.

basta

Цитата: Astromir от апреля 25, 2020, 14:06
kauzi :- А вызывал явление/событие/утверждение Б, А причина для Б
Эту роль хорошо и лаконично выполнял суффикс s:
Цитата: Astromir от апреля 23, 2020, 19:08
Далее, в глаголах также еще выделяют агенс(А) - это объект, которые вызывает изменение свойств. Добавим его в качестве аргумента с помощью суфиксов, чтобы получать глаголы с 2мя аргументами А и П:
-esi :- А сохранил у П свойство
-asi :- А увеличил у П свойство
-isi :- А уменьшил у П свойство

Кроме того, некоторые суффиксы не влияют на структуру предложения. Это значит, что их можно игнорировать в синтаксисе, а значит и в синтаксической части парсера. Например, здесь количество ожидаемых слов после глагола не меняется:
Цитата: Astromir от апреля 25, 2020, 14:06
verb-oti A B == verbi B A
Значит, парсеру не обязательно считывать его при постоении АСД, хотя на следующем шаге может, когда и если будет анализироваться семантика.

Цитата: Astromir от апреля 25, 2020, 14:06
Конечно, какие-то скобки понадобятся... Остается, надеется, что получится сделать их не так много.
Я по умолчанию предположил, что вы будете делать однозначный синтаксис, использование PEG на это тоже указывает. Но однозначность сильно ограничивает, возможно вы бы хотели получить большую выразительность засчёт неоднозначности синтаксиса, как в нормальных человеческих языках. Тогда лучше подойдёт BNF.

Цитата: Astromir от апреля 25, 2020, 14:06
Я сразу буду писать парсер на js. Надеюсь, что возможностей PEG-парсера мне хватит.
Мне зашёл PyPEG. Рекламирую.

basta

Цитата: Astromir от апреля 25, 2020, 14:06
Сильно глубоко нырять нет необходимости. Цель сравнятся в выразительности с русским/английским/эсперанто, а не с ложбаном.
Большинство предложений умещаются в 4 уровня, но если будете переводить Гоголя или Гомера, то не хватит конечно.

Astromir

Описание грамматики дальше пока не пишу, потому что занялся парсером. Сначала хочу научить его разбирать уже описанные конструкции. Потом добавлять конструкции в язык и парсер параллельно, чтобы каждое нововведение было проверено парсером. Пока же он еще аргументы прилагательных не распознает.

И тут уже наметилась проблемка с суффиксами. Возьмем например слово lodani. Возникает двузначность: lodan-i или lod-ani? И как это решить? Отказаться от нулевого суффикса? Наложить ограничения на выбор последних букв в корнях? Пока думаю.

Цитата: basta от апреля 26, 2020, 10:56
Мне зашёл PyPEG.
Хочу, чтобы парсер был онлайн, поэтому js.

Rusiok

"проект предлагал сократить разговорную речь путем сведения многосложных слов к односложным и упразднения глаголов" - Джонатан Свифт. Путешествие в Бальнибарби

basta

Цитата: Astromir от апреля 25, 2020, 19:12
finalegi sjigeti domo lokota rodegi koto :- Завершен процесс сжигания дома, где кот рожден. :- Дом, где кот родился, сожжен совсем.
У этого подхода есть две проблемы. 1. Наречий может быть несколько. Переведите: "Кот бежит быстро и прямо". 2. Наречия могут примыкать не только к глаголу, но и к прилагательному, и к другому наречию, и даже иногда к существительному.

Цитата: Astromir от апреля 25, 2020, 19:12
kauzi vidi koto muso cati koto muso :- Кот видел мышь, поэтому кот съел мышь.
То же самое замечание касается союзов. Какие-то союзы ещё можно выражать глаголами, но далеко не все. Союзы могут перечислять почти любую часть речи и могут соединять не только 2 вещи, а 3-4 в ряд.

Если вы хотите выразительность как в обычных языках, наречия и союзы придётся ввести как класс. Глаголы всё не перекроют.

Ну и мой любимый пример, чтобы жизнь мёдом не казалась: "Быть ловким котом необходимо, но не достаточно, чтобы съесть мышь."

Надеюсь я вас не сильно загрузил с порога. Просто хочется, чтобы вы не повторяли известные ошибки и победили нерешённые задачи, пока у вас есть творческий запал. :)

basta

Цитата: Astromir от апреля 26, 2020, 18:44
И тут уже наметилась проблемка с суффиксами. Возьмем например слово lodani. Возникает двузначность: lodan-i или lod-ani? И как это решить? Отказаться от нулевого суффикса? Наложить ограничения на выбор последних букв в корнях? Пока думаю.
В случае с PEG двузначности не будет, победит самая длинная подходящая цепочка, т.е. lodan-i. Кроме предложенных вами вариантов есть ещё один, отказаться от PEG и embrace многозначность. :)

За вас никто решение не примет, но я обычно выбираю наложить ограничения на корень.


maqomed1

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

Astromir

Цитата: Rusiok от апреля 27, 2020, 00:36
Цитата: Astromir от апреля 23, 2020, 19:08
эссе Рика Морни
Дайте ссылку, пожалуйста. Тоже увлекаюсь.
http://www.rickmor.x10.mx/essays.html




Цитата: basta от апреля 27, 2020, 07:16
1. Наречий может быть несколько. Переведите: "Кот бежит быстро и прямо". 2. Наречия могут примыкать не только к глаголу, но и к прилагательному, и к другому наречию, и даже иногда к существительному.

То же самое замечание касается союзов. Какие-то союзы ещё можно выражать глаголами, но далеко не все. Союзы могут перечислять почти любую часть речи и могут соединять не только 2 вещи, а 3-4 в ряд.

Если вы хотите выразительность как в обычных языках, наречия и союзы придётся ввести как класс. Глаголы всё не перекроют.

Ну и мой любимый пример, чтобы жизнь мёдом не казалась: "Быть ловким котом необходимо, но не достаточно, чтобы съесть мышь."

Понятное дело, уже описанных конструкций не хватит для многих предложений. Нужны и наречия, и союзы, и наверняка что-то еще. В словаре будут сущ, прил и некоторые частицы. Союзы и всякие скобки, без которых не обойтись, будут реализованы либо глаголами, либо частицами.

Я имел ввиду, что части речи выводятся из глаголов, а не что их не будет в языке. Я уже написал, как про прилагательные. Позже напишу и про наречия. Просто сейчас наречия не в приоритете для меня - я застрял с морфотактикой.  Без морфотактики у меня не работает парсер. Без парсера я не смогу убедится, что грамматика однозначна. Без парсера я не хочу усложнять грамматику дальше.

Также прежде чем, что-то усложнять я хочу посмотреть что можно выразить уже имеющимися средствами.

beji :- А бежит марафон/стометровку/соревнование Б
rovni :- А событие/процесс в пространстве происходит по прямой Б
fasti :- А событие протекает быстрее обычного на величину Б

rovnuli fastuli bejuli koto :- ((Кот бежит) протекает быстро) происходит по прямой :- Кот бежит быстро и прямо.

lovki :- А ловкий в деле Б
koti :- А является котом
kota :- являющийся котом
esli :- А влечет Б, если А то Б, А достаточное условие для Б
M3 :- местоимение 3го лица

esli cati M3 muso koti M3 :- если он съел мышь, то он - кот.

trebi :- А необходимо для Б
treboti :- А произойдет только при условии Б
trebi M3           Быть ловким котом необходимо, чтобы съесть мышь.




Написание парсера застопорилось. Суффиксы определяют количество аргументов после слова. Значит парсер должен уметь отличать корень от суффикса, то есть уметь делать не только граматический разбор предложения, но и морфологический разбор слова. Следовательно нужна самосегрегация. Она полезна не только парсеру, но и слушателю, чтобы точно различать границы слов, даже при неточностях в паузах и ударениях. Чтобы сделать самосегрегацию, надо продумать морфотактику и фонотактику. Для этого нужно как можно больше знать про необходимые для работы грамматики суффиксы, частицы, местоимения. Для этого нужно точно определится сколько аргументов может быть у глагола. (Оказалось, что грамматика имеет более тесную связь с морфологией, чем я представлял.)

2 аргумента
Если сделать 2 аргумента, то минус в том, что либо получится много глаголов, либо новые глаголы придется получать через необычные глаголы вроде:
kauzi - А - является агенсом для события/процесса Б.

Плюс в том, что список суффиксов остается компактным: прямой(нулевой) :- AБ, обратный :- БА, удаление первого :- *А, удаление второго :- А*, объединение :- АА.
Парсить человеку гораздо легче.

3 аргумента
Если сделать 3 аргумента, то самый плюс в том, что 99% глаголов выражаются легко и без костылей. (В ложбане аргументы в глаголах дальше 3го страдают надуманностью (на мой взгляд).) Также удалением и перестановкой аргументов, будут получаться новые глаголы.

А разбил Б на части В :- А разбил Б, Б разбит А, Б разбит на части В, В осколки Б, В осколки, которые оставил А, А разбил, Б разбито, В осколки


Минус в том, что понадобится полчище суффиксов, тасующих аргументы. Минимум 15. Еще понадобятся суффиксы для объединения аргументов.
          a      e     u
kv   123   213   312
nz    231   231   321
sk    23   13   12
mb    32   31   21
nk    1   2   3

akvi, anzi, uski, ...

Суффиксы сделать можно - только вот сможет ли человек их легко читать и понимать?

Может кто что подскажет про самосегрегацию? Какую-нибудь хорошую схему?

Astromir

Пост отправился случайно раньше времени. И его уже не исправить... Считать это написанным в конце средней части.

trebi :- А необходимо для Б
treboti :- А произойдет только при условии Б

"Быть ловким котом необходимо, но не достаточно, чтобы съесть мышь." Тут есть какое-то самоуточнение. Не совсем понимаю какую роль оно играет в этом предложении. Я переведу предложение попроще: "Быть ловким котом необходимо, чтобы съесть мышь."

trebi lovkani koti M3 cati M3 muso  :-  Он ловкий кот необходимо, чтобы он съел мышь.

basta

Цитата: Astromir от апреля 27, 2020, 19:04
rovnuli fastuli bejuli koto :- ((Кот бежит) протекает быстро) происходит по прямой :- Кот бежит быстро и прямо.
До этого вы явно субстантивировали аргументы. Ваш пример скорее переводится "Быстрота бега кота происходит по прямой". И если я не прав, то в чём будет разница с наречиями при наречиях: "Кот бежит действительно быстро"?

Кстати, в конланге Tesяfkǝm автор смешал наречные фразы и подлежащее со сказуемым в одну кучу, т.е. они равноправны и не различаются формально, ряд из таких фраз как-то связан, но как точно не указывается. Обычные языки конечно так не делают, но можно иметь в виду, т.к. это очень просто сделать в парсере. Там же он даёт спецификацию LALR(1), можно подглядеть решение, имея в виду то, что рекурсия у PEG в противоположную сторону.

Цитировать"Быть ловким котом необходимо, но не достаточно, чтобы съесть мышь." Тут есть какое-то самоуточнение. Не совсем понимаю какую роль оно играет в этом предложении. Я переведу предложение попроще: "Быть ловким котом необходимо, чтобы съесть мышь."
Не, ну это халтура :) Вы упрощаете структуру предложения, а надо было соответствовать выразительным возможностям обычных языков по принципу №2 из первого поста :)

basta

Цитата: Astromir от апреля 27, 2020, 19:04
Минус в том, что понадобится полчище суффиксов, тасующих аргументы. Минимум 15. Еще понадобятся суффиксы для объединения аргументов.
          a      e     u
kv   123   213   312
nz    231   231   321
sk    23   13   12
mb    32   31   21
nk    1   2   3
Обычные языки не заморачиваются с перестановками, а вводят новые слова: дал-взял, продал-купил, а всё что дальше второго аргумента подаётся через предлоги, а порой и второй или первый аргумент обязательно с предлогом. По моему скромному опыту, одновалентных слов в словаре 90%, двухвалентных 9%, трёхвалентных 0,9% и т.д. Так стоит ли заморачиваться из-за 1%?

Цитата: Astromir от апреля 27, 2020, 19:04
В ложбане аргументы в глаголах дальше 3го страдают надуманностью (на мой взгляд).
Правила языка определяют, что надуманно, а что нет. Мне вот кажется, что у вас и второй аргумент двухвалентных во многих надуман. Надуманно - это только с точки зрения языков, которыми владеешь. Так что пихайте сколько хотите и никого не слушайте ;D

Цитироватьtrebi lovkani koti M3 cati M3 muso  :-  Он ловкий кот необходимо, чтобы он съел мышь.
То же самое, "ловкость его пребывания котом необходима для поедания им мыши".

Astromir

Цитата: basta от апреля 27, 2020, 19:47
Цитата: Astromir от апреля 27, 2020, 19:04
rovnuli fastuli bejuli koto :- ((Кот бежит) протекает быстро) происходит по прямой :- Кот бежит быстро и прямо.
Ваш пример скорее переводится "Быстрота бега кота происходит по прямой". И если я не прав, то в чём будет разница с наречиями при наречиях: "Кот бежит действительно быстро"?

Цитировать
Цитироватьtrebi lovkani koti M3 cati M3 muso  :-  Он ловкий кот необходимо, чтобы он съел мышь.
То же самое, "ловкость его пребывания котом необходима для поедания им мыши".

Верно, я ошибся в обоих случаях. Правильно будет: (rovnani & fastani) bejani koto. Но союзов пока нет, но будут.
Во втором случае видимо нужен глагол «является»: trebi esti M3 koto lovkana cati M3 muso

basta

Почитал Рика Морно, понял, что вы имели в виду под самосегрегирующимся.

Цитата: https://web.archive.org/web/20120201101759/http://www.eskimo.com/~ram/morphology.html
So, how do we create a self-segregating morphology? We do it by insuring that each type of morpheme can always be identified by its shape, and by insuring that each type can occupy only one position in a word. Consider a simple example of an easy-to-pronounce language with only three morpheme types:

                C = b, p, d, t, g, k, z, s, v, f
                V = a, e, i, o, u
                S = y, w
                N = m, n

                prefix = CSV
                root = CVN
                suffix = CV

                word = {prefix} {root} suffix

Thus, examples of complete words would be: za, ke, tembo, sandu, kwabe, pyobendi, kyusintemda, byupwetu, and so on. Note that if we removed all spaces and squished them all together, we could easily and unambiguously split them apart. This example, however, has at least one serious flaw. Since the root form is CVN, the maximum number of roots we can form with our phoneme inventory is only 10 x 5 x 2 = 100. Since we'll need much more than that, let's add disyllabic and trisyllabic root forms:

                C = b, p, d, t, g, k, z, s, v, f
                V = a, e, i, o, u
                S = y, w
                N = m, n
                SPECIAL = q (English "ch" in "church")
                          x (English "sh" in "shop")

                prefix = CSV
                root = CVN   or   CV[N]qV[N]   or   CV[N]xV[N]CV[N]
                suffix = CV

                word = {prefix} {root} suffix

Note that "q" and "x" simply indicate that the root continues with one or two more syllables, respectively. Examples of two-syllable roots would be binqan, temqu and saqem. Examples of three-syllable roots would be kuxiba, tixendi, zomxate and panxotun. Next, add prefixes and suffixes and you would have something like kwabinqandu, temqusa, pyosaqembe, kuxibato, fyotixendika, zomxatebi, and panxotunki. (With this type of morphology, no one is going to accuse you of being Eurocentric. :-) Note that, even with this small phonemic inventory, you can create 2,250 unique disyllabic roots and 337,500 unique trisyllabic roots.
Здесь он использует кодировку аля юникод. Такая кодировка накладывает сильные ограничения на заимствования и собственные имена, мне она не симпатична. Поэтому я в своём поделии, чтобы не накладывать никаких ограничений на основы, запретил нулевое окончание и все ненулевые сделал уникальными, и ни одно из них не совпадает с частью другого, читая с конца, т.е. если парсить слово с справа налево, то понятно до каких пределов окончание, имея на руках список всех окончаний. Других способов вагон и тележка.

Rusiok

"проект предлагал сократить разговорную речь путем сведения многосложных слов к односложным и упразднения глаголов" - Джонатан Свифт. Путешествие в Бальнибарби

basta

Цитата: Astromir от апреля 27, 2020, 19:04
Минус в том, что понадобится полчище суффиксов, тасующих аргументы. Минимум 15. Еще понадобятся суффиксы для объединения аргументов.
          a      e     u
kv   123   213   312
nz    231   231   321
sk    23   13   12
mb    32   31   21
nk    1   2   3

akvi, anzi, uski, ...

Суффиксы сделать можно - только вот сможет ли человек их легко читать и понимать?
Не понимаю почему вы разместили в таблице их именно так. Выглядит довольно произвольно.

Судя по тому, что вы разрешаете объединения, т.е. повтор элементов, вам надо 3^3 + 3^2 + 3^1 = 27 + 9 + 3 = 39 суффиков для трёхвалентных. Не смертельно. Помещается например в 13 согласных * 3 гласных.

basta

Аналогично для четырёхвалентных надо 340 суффиксов, для пятивалентных 3905 суффиксов. Тоже не смертельно, но зубрить замучаетесь.

Но по-моему большинство из этих перестановок в реальности не будут использоваться.

П.С. исправил числа

Astromir

Цитата: basta от апреля 28, 2020, 20:49
Почитал Рика Морно, понял, что вы имели в виду под самосегрегирующимся.

Такая кодировка накладывает сильные ограничения на заимствования и собственные имена, мне она не симпатична. Поэтому я в своём поделии, чтобы не накладывать никаких ограничений на основы, запретил нулевое окончание и все ненулевые сделал уникальными, и ни одно из них не совпадает с частью другого, читая с конца, т.е. если парсить слово с справа налево, то понятно до каких пределов окончание, имея на руках список всех окончаний. Других способов вагон и тележка.

Поломал голову над самосегрегацией. Почитал какие еще есть способы, кроме той, что у Монро.

И, да. Все они ограничивают набор слов. Хотя слов вроде как и достаточно, но хочется свободы, поэтому я решил отказаться самосегрегации. В конце концов мне необходим однозначный разбор одного слова. (Разбор всего предложения без пробелов - штука приятная, чтобы границы слов в речи легче распознавались, но необязательная. Я надеюсь, что неурезанный арсенал слогов для построения слов даст большую разницу между ними.) Чтобы разобрать одно слово достаточно более простых правил. В общем, я решил использовать для начала предельно простые правила, которые решают только ту проблема, что уже есть.

Проблема была в том, как разобрать слова rodani, tarege, если языке есть суффиксы -ege, -ani, -i, -e. Притом хочется, чтобы разбор мог провести даже тот, кто знает правила разбора, но не помнит всего словаря суффиксов.




Морфология

Д = "a","o","u","i","e","ao","au","ae","ay","oa","ou","oe","oy","ua","uo","ue","uy","ia","iu","ie","eo","eu","ey","ea"
С = любая согласная

Все корни имеют вид СДС. Например: don, lan, fur, koan, hoyt, reum
Все корни глаголов должны оканчиваться на "n".
Все корни существительных не могут содержать "n".
Все суффиксы имеют вид ГС. Например: ul eg ot
Все приставки имеют вид СД. Например: sua, pie
Окончания: "a","o","u","i","e".

Слова имеют вид: приставка* корень суффикс окончание

Примеры: fehopi nizaji loynoti ketimi xianegi soni laynoti dinegi rabuli zuni tonanoti nimifi ceyni mojupubi lanumi kaenumi moriki merari coanuzi

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




ЦитироватьНе понимаю почему вы разместили в таблице их именно так. Выглядит довольно произвольно.
Логика размещения мнемоническая:
Буква "а" указывает на 1й аргумент,
буква "e" указывает на 2й аргумент,
буква "u" указывает на 3й аргумент.

          a      e     u
kv   123   213   312 (kv вытаскивает соответствующий аргумент вперед, остальные два остаются в обычном порядке: akv тащит 1й арг, ekv тащит 2й арг, ukv тащит 3й арг)
nz   132   231   321 (nz вытаскивает соответствующий аргумент вперед, остальные два меняются местами: akv тащит 1й арг, ekv тащит 2й арг, ukv тащит 3й арг)
sk    23    13     12   (sk удаляет соответствующий аргумент)
mb   32   31     21  (mb удаляет соответствующий аргумент, оставшиеся меняются местами)
nk    1     2       3   (mb оставляет только соответствующий аргумент)

Я решил пока посмотреть, что можно выразить двухвалентными глаголами. Может этого вполне достаточно.

Astromir

Названия птиц: пересмешник, ласточка, ворон, ворона, голубь, воробей, чеглок, стрепет, горихвостка. Все разные. Если не знать этих слов заранеее, то нельзя и догадаться, что это все названия птиц. Что такое чеглок и стрепет? Инструмент, насекомое? Было бы удобнее, если названия птиц всегда заканчивались бы на -крыл: смехокрыл, быстрокрыл, чернокрыл, каркокрыл, голубокрыл, ворокрыл, усокрыл, трепокрыл, огнекрыл. Тогда даже не зная слово, всегда можно понять, что это птица.

Откуда брать слова

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

Выпишем пару сотен таких понятий.

(Может кто может подсказать, где взять такой список? Наверняка их составляли. Пока я знаю только Нао и Токипона.)

И с каждым из них ассоциируем какой-нибудь слог вида СД, где С = согласная, кроме "j", где
Д = "a","o","u","i","e","ao","au","ae","ay","oa","ou","oe","oy","ua","uo","ue","uy","ia","iu","ie","eo","eu","ey","ea".

Например:
ra - солнце, gu - земля, ho - воздух, ru - огонь, be - вода, fej - рука, saj - нога, va - добро, ce - гармония

Постараемся
Слоги ассоциируем тоже не просто так. Постараемся соблюсти некоторые принципы, которые присущи натуральным языкам:
а - большое/хорошее/далекое
o - воздух/пространство
i - маленькое/близкое
e - абстрактное
u - ???

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

Эти слоги станут строительным материалом, из которого будут строится все слова из словаря, кроме служебных. Так по слову можно будет примерно догадаться о чем идет речь. Например:
gujedo = земля-железо-путь = метро
xamide = отдых-дом-море = лайнер
nugu = смерть-земля = кладбище

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

У этого подхода 2 недостатка:

1) он семантически неточен. С этим ничего не поделать. Нет способа семантически выводить названия предметов/существ/профессий. Слова остается только закреплять в словаре. Но такой подход хотя бы даст мнемоническую подсказку о том, что это могло быть за слово.

2) по набору метафор нельзя понять к какой области относится слово: что такое nugu (смерть-земля)? Пустыня = земля, где никто не живет, кладбище = земля, где лежат мертвые, непроходимые топи = земля, где опасно ходить?

Чтобы преодолеть 2й недостаток, поделим все существительные на домены. Домен - это класс, к которому относится слово. Домен задается своим определением из словаря доменов. 

Например:
птица - теплокровные яйцекладущие позвоночные животные 
ручной инструмент - любой инструмент, который обычно держат в руках 
предметы мебели - большие предметы, стоящие в домах людей
профессия - названия профессий
и тд

С каждый доменом ассоциирован свой корень. По корню слова всегда можно будет определить к какому домену оно относится.

Каждый домен имеет вид: СГС, где С - любая согласная, кроме j и n,

Примеры: пусть домен птиц имеет вид -kov-, тогда возможные названия птиц:
rukovo = огонь-птица = огнехвостка
vukovo = порыв-птица = ласточка
zokovo = зима-птица = снегирь

Домен насекомых -juk-: 
vujuko = порыв-насекомое = стрекоза
dujuko = кровь-насекомое = комар
kajuko = красота-насекомое = бабочка

gadofoso = начало-дом-профессия = строитель

Ударение падает на предпоследний гласный звук.

Перед корнем каждого слова будем ставить 1-4 приставки, которые и будут отличать одно слова от другого внутри домена.

Такой же принцип и для создания глаголов. Единственное отличие их корень должен всегда заканчиваться на букву "n".

Например, домен для физической активности людей -kan-:
tikani = eдa-kani = кушать
sajkani = нога-kani = идти
vusajkani = порыв-нога-kani = бежать

az-mnogogreshny

Цитата: Astromir от апреля 30, 2020, 16:11
Названия птиц: пересмешник, ласточка, ворон, ворона, голубь, воробей, чеглок, стрепет, горихвостка. Все разные. Если не знать этих слов заранеее, то нельзя и догадаться, что это все названия птиц. Что такое чеглок и стрепет? Инструмент, насекомое? Было бы удобнее, если названия птиц всегда заканчивались бы на -крыл: смехокрыл, быстрокрыл, чернокрыл, каркокрыл, голубокрыл, ворокрыл, усокрыл, трепокрыл, огнекрыл. Тогда даже не зная слово, всегда можно понять, что это птица.
Видов животных и растений больше 8 миллионов. Для всех названия придумывать? Лучше импортировать общепризнанные научные латинские названия. Ну может, сделать исключение для нескольких самых популярных домашних животных: собака, кошка, лошадь...

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр