Лингвофорум

Теоретический раздел => Интерлингвистика и лингвопроектирование => Тема начата: shinkarom от августа 12, 2009, 15:05

Название: Генератор языков
Отправлено: shinkarom от августа 12, 2009, 15:05
Обсуждение темы генерации языков, готовые проекты.
Название: Генератор языков
Отправлено: shinkarom от августа 12, 2009, 15:05
новая версия
Название: Генератор языков
Отправлено: Hellerick от августа 12, 2009, 17:26
А то, что генератор не генерирует ничего, кроме названия языка, это нормально?
Название: Генератор языков
Отправлено: shinkarom от августа 12, 2009, 18:19
Всё по очереди. Я люблю программировать таким способом.
Пожалуйста, регистрируйтесь на моём форуме shifo.forum2x2.com.
Название: Генератор языков
Отправлено: shinkarom от августа 12, 2009, 18:24
Пожалуйста, активно комментируйте опыт работы с программой и впечатления
Название: Генератор языков
Отправлено: Hellerick от августа 12, 2009, 18:26
Хотелось бы увидеть что-нибудь, что можно было бы прокомментировать.
Название: Генератор языков
Отправлено: shinkarom от августа 12, 2009, 19:34
Надеюсь, теперь появилось.
Название: Генератор языков
Отправлено: Hellerick от августа 12, 2009, 20:07
Программа сгенерировала:

ЦитироватьУчебник togor-ского языка

Тем, кому особо не терпится увидеть новые версии, сообщаю:
qakiv - я
fexoq - жить
hegaq - дом

И всё.  :donno:
Название: Генератор языков
Отправлено: shinkarom от августа 12, 2009, 20:21
Ждите, ждите, ждите...
Кстати, может на моём форуме удобнее обсуждать: shifo.forum2x2.com? Сейчас создам только внём тему "Обсуждение программы".
Название: Генератор языков
Отправлено: shinkarom от августа 13, 2009, 12:03
Я обновил движок, перевёл всё на ООП, добавил транслитерацию. Букв пока только три, но я продолжаю развивать программу.
Название: Генератор языков
Отправлено: Вадимий от августа 14, 2009, 10:34
 :D :D :D
Весьма совершенный генератор, ничего не скажешь :=
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 10:37
Знаете, я тоже решил этой дуростю заняться(написать такую программу) :-[
скоро будет пробная версия...
Название: Генератор языков
Отправлено: shinkarom от августа 15, 2009, 11:52
Создайте отдельную тему и выкладывайте версии, а то, кажется, мы (создатели генераторов языков) единственные на всём белом свете.
Название: Генератор языков
Отправлено: shinkarom от августа 15, 2009, 12:40
Это ещё далеко не финальная версия!
Название: Генератор языков
Отправлено: Hellerick от августа 15, 2009, 13:27
Неблохо бы сначала обсудить идею, а уже потом пытаться ее воплощать.
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 13:49
У кого-нибудь, случаем, нет ли списка русских наречий?
Название: Генератор языков
Отправлено: shinkarom от августа 15, 2009, 13:50
Хорошо. У вас есть Delphi 2009? Я могу передать исходники и мы будем обсуждать идею и вместе "поднимать производство".
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 13:55
У меня Delphi 7. Я вам скоро дам исходник, только ещё кое-чего доделаю.
Название: Генератор языков
Отправлено: Bhudh от августа 15, 2009, 14:02
shinkarom, а почему версии программы абсолютно разные вещи делают?
Можно же несколько кноп навесить, для каждой функции. Да, обзовите кнопы как-нибудь, а то по дефолту непонятно.

Кстати, чтобы пустая клетка в таблице не была выпуклой, туда надо вбить «no-break space».
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 14:32
Я не хочу создавать новую тему(как советовали) поэтому выкладываю здесь.
Это пока пробная версия,но уж отзовитесь как-нибудь о ней!
Итак, выкладываю. :-[
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 14:44
сообщаю на своём языке:
"gepy giyizu vifucuzyzu cityhivozu!" Что значит "Я сделал этот язык"!
Название: Генератор языков
Отправлено: Bhudh от августа 15, 2009, 14:59
Сразу за лексику, как за самое лёгкое?
Может, лучше непротиворечивую грамматику попробовать?
Кстати, проект комп грузит ого-го.
И, по-моему, циклится.
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 15:25
Цитата: Bhudh от августа 15, 2009, 14:59
Сразу за лексику, как за самое лёгкое?
А грамматика? А фонетика?Не заметили?
Цитата: Bhudh от августа 15, 2009, 14:59
Может, лучше непротиворечивую грамматику попробовать?
А что у моей противоречивого?
Цитата: Bhudh от августа 15, 2009, 14:59
Кстати, проект комп грузит ого-го.
Мозг такое занятие грузит не меньше. Уж лучше грузится проессор, а не мозг.
Цитата: Bhudh от августа 15, 2009, 14:59
И, по-моему, циклится.
Надо просто подождать, пока всё не напишет (у меня это занимает где-то полминуты).
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 15:27
Нет, серьёзно, что тут противоречивого?
Фонетика
гласные: youei. согласные:pzfmbljhckvdsrngt
Форма глагола. Окончания
Прошедее fy,настоящее te, будущее pe, инфинитив to, сослагательное ly, повелительное me
Местоимения
Склоняются как существительные.
Падеж родительный, разделительное число, окончание существительного fe
Падеж родительный, множественное число, окончание существительного pu
Падеж родительный, единственное число, окончание существительного to
Падеж дательный, разделительное число, окончание существительного bi
Падеж дательный, множественное число, окончание существительного pu
Падеж дательный, единственное число, окончание существительного co
Падеж творительный, разделительное число, окончание существительного po
Падеж творительный, множественное число, окончание существительного ze
Падеж творительный, единственное число, окончание существительного do
Падеж предложный, разделительное число, окончание существительного to
Падеж предложный, множественное число, окончание существительного pu
Падеж предложный, единственное число, окончание существительного go
Падеж звательный, разделительное число, окончание существительного fe
Падеж звательный, множественное число, окончание существительного se
Падеж звательный, единственное число, окончание существительного ju
Падеж местый, разделительное число, окончание существительного lu
Падеж местый, множественное число, окончание существительного te
Падеж местый, единственное число, окончание существительного bi
Падеж винительный, разделительное число, окончание существительного fy
Падеж винительный, множественное число, окончание существительного ke
Падеж винительный, единственное число, окончание существительного cy
Падеж именительный, разделительное число, окончание существительного bu
Падеж именительный, множественное число, окончание существительного ru
Падеж именительный, единственное число, окончание существительного fo
порядок слов в главном предложении -  подлежащее  обстоятельство сказуемое  определение дополнение
порядок слов в придаточном предложении (если сложноподчинённое)-  определение дополнение обстоятельство сказуемое  подлежащее
Название: Генератор языков
Отправлено: shinkarom от августа 15, 2009, 15:39
Вот мои исходники: http://dump.ru/file/3240441
Название: Генератор языков
Отправлено: Bhudh от августа 15, 2009, 15:54
Цитата: ВадимийНадо просто подождать, пока всё не напишет (у меня это занимает где-то полминуты).
Так то у Вас. А на моей старушке две с лишним.

Цитата: ВадимийА что у моей противоречивого?
Да нет, теперь выяснилось, что просто маловато синтаксиса, в основном морфология.

Цитата: ВадимийА грамматика? А фонетика?Не заметили?
Честно говоря, сначала не дождался, думал, комп заглючило.
Советую оптимизировать — сначала давать грамматику и основные слова (например, список Сводеша :)), а потом предлагать выбор: если понравилось выданное, сгенерить весь словник, если не понравилось, повторить генерацию основ.

Да, и с приставочными словами надо что-то сделать. А то на один корень разные генерит.
Название: Генератор языков
Отправлено: Bhudh от августа 15, 2009, 15:56
Кстати, порадовало ;D:
Цитировать* ебать - hutogu
ебаться - zysybykogu
еть - pigygu
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 15:59
Цитата: Bhudh от августа 15, 2009, 15:56
Кстати, порадовало ;D:
Цитировать* ебать - hutogu
ебаться - zysybykogu
еть - pigygu
Ужас какой!Спасибо,что сказали! Поправил у себя.
Словарь-то не я составлял.
Это всё из викисловаря в категории "Русские глаголы." Какие они там все испорченные!
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 16:07
Спасибо за советы!

По поводу синтаксиса: можно поподробней? Что, например, должна придумывать программа?
Название: Генератор языков
Отправлено: Bhudh от августа 15, 2009, 16:15
Цитата: ВадимийЭто всё из викисловаря
Хм. Звёздочки тоже?

Цитата: ВадимийПо поводу синтаксиса: можно поподробней?
Например, какие-нибудь нестандартные применения падежей, конструкции с пред-/послелогами и т. д. и т. п.

Цитата: ВадимийЧто, например, должна придумывать программа?
У Вас там что — полноценный AI в 378 KiB'ах?!
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 16:26
Цитата: Bhudh от августа 15, 2009, 16:15
Цитата: ВадимийЭто всё из викисловаря
Хм. Звёздочки тоже?
Потому что список. Я сделал программу,чтобы всё, кроме слов, удалила, но она удалила не всё. (но сначала все слова начинались на "                   *    ")

Цитата: Bhudh от августа 15, 2009, 16:15
Цитата: ВадимийПо поводу синтаксиса: можно поподробней?
Например, какие-нибудь нестандартные применения падежей, конструкции с пред-/послелогами и т. д. и т. п.
Ой, сложно... боюсь
Цитата: Bhudh от августа 15, 2009, 16:15
Цитата: ВадимийЧто, например, должна придумывать программа?
У Вас там что — полноценный AI в 378 KiB'ах?!
Не цепляйтесь,пожалуста, к словам.

И по поводу корней: сложно, но я попробую.
Название: Генератор языков
Отправлено: Hellerick от августа 15, 2009, 16:38
Почитал словарь сгенерированный программой Вадимия:

я - mycujutyde
мы - hecupugyde


Надо бы ввести индекс частоты для слов — более частые должны быть более короткими. И как-нибудь контролируется появление омофонов?

Да и хотелось бы, чтобы фонетическая структура языка тоже определялись бы случайно.
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 16:50
Цитата: Hellerick от августа 15, 2009, 16:38
Почитал словарь сгенерированный программой Вадимия:

я - mycujutyde
мы - hecupugyde


Надо бы ввести индекс частоты для слов — более частые должны быть более короткими.
Я об этом уже думал. Скоро так сделаю.

Цитата: Hellerick от августа 15, 2009, 16:38
И как-нибудь контролируется появление омофонов?
Нет. НИкак. А зачем?
Цитата: Hellerick от августа 15, 2009, 16:38
Да и хотелось бы, чтобы фонетическая структура языка тоже определялись бы случайно.
Так и есть. Одни звуки суть чаще других суть, а не ссуть!. Это определяется в самом начале программы случайно.
Кстати, иногда (редко) моя программа даёт мне язык со всего одной гласной.
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 16:56
спасибо за советы!
Название: Генератор языков
Отправлено: Hellerick от августа 15, 2009, 17:13
Надо бы ввести небольшую библиотеку фонетических законов (фильтров поиска-замены текста), и задействовать их случайным образом. Эти законы должны применяться к каждому из слов, и это придаст словам языка некий общий фонетический стиль.

Вот, например список законов (для SED'а), которые я использовал для языка Keva:

Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 17:36
Цитата: Hellerick от августа 15, 2009, 17:13
Надо бы ввести небольшую библиотеку фонетических законов (фильтров поиска-замены текста), и задействовать их случайным образом. Эти законы должны применяться к каждому из слов, и это придаст словам языка некий общий фонетический стиль.

Вот, например список законов (для SED'а), которые я использовал для языка Keva:

Я не понимаю приведённых Вами законов.
Название: Генератор языков
Отправлено: Вадимий от августа 15, 2009, 17:40
Даю вам чуть-чуть изменённую версию (слова из списка Сводеша из одного-двух слогов, а программа, прдума грамматику и слова из списка сводеша, спрашивает пользователя, нравится это ему или нет. Если нет,то делает всё заново) и ложусь спать.
Название: Генератор языков
Отправлено: Hellerick от августа 15, 2009, 18:23
Значения слова ty согласно сгенерированному словарю:

большой
длинный
охотиться (в лесу)
ударить (однократно рукой)
давать держать (рукой)
песок
жёлтый
сухой


Когда я говорил о контроле за появлением омофонов, я имел в виду именно это. Хотя про песок, желтый, сухой это здорово подмечено.  :)

Я привел правила фонологических изменений в форме понятной программе SSED (super string editor), которая использует синтаксис похожий на Pearl

Например s/nz([ptkm])([aeiou])/nz\2\1\2/g означает:

s — команда найти и заменить
nz([ptkm])([aeiou]) — найти строку, в которой nz идет перед буквой p, t, k, или m, а за нею идет одна из пяти гласных
nz\2\1\2 — заменить строку на буквы nz, за которыми будет стоять гласная из аргумента поиска, затем согласная из аргумента поиска, а затем еще раз та же гласная
g — произвести поиск и замену по всему тексту

В результате применения данного правила, например, слово panzte изменится на panzete.

Люблю работать с SSED'ом, очень удобно.
Название: Генератор языков
Отправлено: Вадимий от августа 16, 2009, 05:34
Цитата: Hellerick от августа 15, 2009, 18:23

Например s/nz([ptkm])([aeiou])/nz\2\1\2/g означает:

s — команда найти и заменить
nz([ptkm])([aeiou]) — найти строку, в которой nz идет перед буквой p, t, k, или m, а за нею идет одна из пяти гласных
nz\2\1\2 — заменить строку на буквы nz, за которыми будет стоять гласная из аргумента поиска, затем согласная из аргумента поиска, а затем еще раз та же гласная
g — произвести поиск и замену по всему тексту

В результате применения данного правила, например, слово panzte изменится на panzete.

Люблю работать с SSED'ом, очень удобно.
Вы не возравжаете, если я у себя сделаю такой же синтаксис?  (Команды будут генерироваться случайно программой)
Название: Генератор языков
Отправлено: Вадимий от августа 16, 2009, 05:42
Цитата: Hellerick от августа 15, 2009, 18:23
Значения слова ty согласно сгенерированному словарю:

большой
длинный
охотиться (в лесу)
ударить (однократно рукой)
давать держать (рукой)
песок
жёлтый
сухой


Когда я говорил о контроле за появлением омофонов, я имел в виду именно это. Хотя про песок, желтый, сухой это здорово подмечено.  :)
Это можно, но
Цитата: Яндекс Словари от
tickler['tɪklə]
сущ.

1) тот, кто щекочет или чем щекочут

2) амер. блокнот, записная книжка

3) уст.

а) затруднение; щекотливое положение

б) трудная задача

4) авто подкачивающая помпа

5) радио анодная катушка обратной связи

6) мор.; жарг. самокрутка

7) разг. пианист

8) амер.; разг.

а) небольшое количество спиртного

б) пистолет, нож
Название: Генератор языков
Отправлено: Hellerick от августа 16, 2009, 07:26
Цитата: Вадимий от августа 16, 2009, 05:34
Вы не возравжаете, если я у себя сделаю такой же синтаксис?  (Команды будут генерироваться случайно программой)

Почему вы меня спрашиваете? Мне же ничего не принадлежит.

Вот только я не знаю, насколько это возможно в Delphi. RegEx (регулярные выражения) — классная штука. Если к ним привыкнуть, то начинаешь решать с их помощью множество проблем по преобразованию текстов, данных, форматов и т.п. Я не упертый поклонник SED'а (упертые сидят на http://sed.sourceforge.net/ (http://sed.sourceforge.net/)), но сам ловлю себя на том, что вместо того, чтобы редактировать текст в программе-редакторе, начинаю писать алгоритм для его редактирования в SSED'е.

Команды едва ли могут быть совсем случайными, случайным должен быть их выбор. Сам правила должен придумать человек. Например вот правило для ввода губной гармонии может выглядеть так:

s/([ou][bcdfghjklmnpqrstvwxz]+)[ae]/\1o/g
s/([ou][bcdfghjklmnpqrstvwxz]+)i/\1u/g

Т.е. если после гласной o или u за которым идет согласный или группа согласных, идет неогубленный гласный, то a и e изменятся на o, а i — на u.

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

Еще, я бы рекомендовал делать словарь на основе словаря эсперанто. В этом случае можно будет использовать его законы словообразования. Т.е. программа-генератор может сама решать, придумать ли для данного значения новое слово ("петух") или образовать на основе уже имеющихся корней ("курица-мужик"). Разумеется, слова нужно соединять в их первоначальной форме, а уже потом их следует подвергать правилам фонологических изменений.
Название: Генератор языков
Отправлено: Bhudh от августа 16, 2009, 15:40
Цитата: ВадимийДаю вам чуть-чуть изменённую версию (слова из списка Сводеша из одного-двух слогов...)
Из двух слогов не даёт (имеется в виду при склонении?).
Кстати, со Сводешом файл местоимений не нужен, а то они два раза генерятся. Получается как в японском :green:.
Ну и с глаголами без изменений...
Название: Генератор языков
Отправлено: Вадимий от августа 16, 2009, 16:55
Цитата: Bhudh от августа 16, 2009, 15:40
Цитата: ВадимийДаю вам чуть-чуть изменённую версию (слова из списка Сводеша из одного-двух слогов...)
Из двух слогов не даёт (имеется в виду при склонении?).
Кстати, со Сводешом файл местоимений не нужен, а то они два раза генерятся. Получается как в японском :green:.
Я хотел сделать, чтобы слова из списка Сводеша были из одного-двух слогов, но нечаянно сделал только из одного.
Цитата: Bhudh от августа 16, 2009, 15:40
Ну и с глаголами без изменений...
Что именно? звёздочки?
Название: Генератор языков
Отправлено: Bhudh от августа 16, 2009, 22:44
Цитата: ВадимийЧто именно? звёздочки?
Неверно выразился. С глагольным синтаксисом.
Порядок слов — далеко не весь синтаксис.
Название: Генератор языков
Отправлено: Вадимий от августа 17, 2009, 08:19
Цитата: Bhudh от августа 16, 2009, 22:44
Цитата: ВадимийЧто именно? звёздочки?
Неверно выразился. С глагольным синтаксисом.
Порядок слов — далеко не весь синтаксис.
Давайте Вы приведёте два-три примера, какую грамматику должна в идеале делать программа.
Название: Генератор языков
Отправлено: Bhudh от августа 17, 2009, 13:41
Пожалуйста.
Примеры (от балды).
Местоимения.

1 л. ед. ч.ɦoo
2 л. ед. ч.đoa
1 л. дв. ч. инкл.ɦoa
1 л. дв. ч. экскл.ɦoda
2 л. дв. ч.đođa
1 л. мн. ч. инкл.ō-hawa
1 л. мн. ч. экскл.ō-hada
2 л. мн. ч.on-da
3 лица нет, используются указательные местоимения tsa "вот этот (ближайший)", two "этот (рядом)", zoŋ "вон тот (поодаль, о видимом [слышимом &c.])", zɨn "тот (об отсутствующем)", к каждому местоимению может фикситься отрицание mā-/-am (mātsa, mātwo, zoŋam, zɨnam).

Глагол. Настоящее время.
Глагол "идти"Настоящее время           Прошедшеевремя     
идти  baruидти (в прошлом)bar-ax-u
иду  ɦo-barя шёлbar-ax-o
идёшь  đo-barты шёлbar-ax-to
иду с тобой  ɦa-bar-waя шёл с тобойbar-ax-wax
иду с ним  ɦo-bar-daя шёл с нимbar-ax-dox
ты и ты идёте  đo-bar-daты и ты шлиbar-ax-dat
мы с вами идём  hō-bar-waмы с вами шлиbar-ax-ox
мы идём  hō-bar-daмы шлиbar-ax-dax
вы идёте  on-bar-daвы шлиbar-ax-don
В прошедшем времени местоименные аффиксы ставятся в конце слова и существенно ассимилируются.

Синтаксис.
Я иду с тобой по лесуčoz-ze (loc.) ɦabarwa
Вы идёте домойonbarda wa-dūp-oŋ (poss.-obj-acc., прямое дополнение после глагола)
Мы с вами доим козmehekaxox ō-meh-oŋo (plur.-obj-acc. pl.)
Мы с вами доим своих козmehekaxox wō-meh-oŋo (poss.-plur.-obj-acc. pl.)
Вон те люди бегут за водойō-zoŋ rewa-dodo (obj.-суффикс каузатива) ō-barubaro
Ты не шёл за козойme-dodo đobaraxam (суффикс отрицания в конце глагола)
Не ты шёл за козойmāđo(a) me-dodo baraxto (при отрицании местоимения оно используется в полном виде)
Ты шёл не за козойme-dodo-mā baraxto
Вы не говорите на (нашем) Языкеdoŋ-grnuw-am Garanaw-oŋ (букв. "вы-говор(ить)-не Язык (acc.)", подразумевается, что Язык — единственный)

Рекомендую заглянуть в раздел "Лингвистические задачи (http://lingvoforum.net/index.php/board,110.0.html)" — там много подобных примеров, причём более разработанных. Был ещё старый бумажный сборник, но не знаю, можно ли его в сети найти; там задачи по реальным языкам были.
Название: Генератор языков
Отправлено: Вадимий от августа 17, 2009, 13:59
Спасибо большое! Буду знать, к чему стремиться.
Название: Генератор языков
Отправлено: shinkarom от августа 18, 2009, 12:46
Я вижу, что про меня все уже забыли. Так вот. Меня спрашивали, какая у меня идея.
Моя идея заключается в генерации слов по маске, такой как "cvcvc"=fedyx или siviz или banan и т. д.
Название: Генератор языков
Отправлено: Вадимий от августа 18, 2009, 16:18
Цитата: shinkarom от августа 18, 2009, 12:46
Я вижу, что про меня все уже забыли.
Вы не писали, и Вам не отвечали.
Запомните: Если хотите получить ответ на письмо, сначала напишите его!

Цитата: shinkarom от августа 18, 2009, 12:46
Моя идея заключается в генерации слов по маске, такой как "cvcvc"=fedyx или siviz или banan и т. д.
Язык - это не только лексика!
На форуме уже был "программный генератор лексики, если лень."
Название: Генератор языков
Отправлено: arseniiv от августа 18, 2009, 17:32
Цитата: Вадимий от августа 18, 2009, 16:18
На форуме уже был "программный генератор лексики, если лень."
Я его, кстати, решил улучшить опциями, чтобы не редактировать файлы и не менять их туда-сюда. Но моя Delphi [у меня тоже она, притом 7, и притом она какая-то испорченная и иногда нормальный код не компилирует] что-то виснет при присвоении нормального свойства нормальному уникодному компоненту. Бился-бился и устал... Так что, боюсь, этот генератор никогда не появится больше нигде, кроме той темы - хотя для русского языка он выдаёт красоту (конечно, зависит от того, называть ли "ья", "ью" и "ьи" гласными буквами ;-) Могу приложить файл с опциями. Хохот гарантирован (если сделать список из 100 слов, например - вполне хватает).

Ой. Забыл. Hellerick, вы спрашивали, есть ли для (или в) Delphi хорошая библиотека регулярных выражений. Есть. Модуль называется почти безлико: TRegExpr - вдруг кому-нибудь понадобится. Там ещё ссылка на сайт: http://anso.virtualave.net/ Но я брал в другом месте и не помню, рабочая ли она. :what:
Название: Генератор языков
Отправлено: arseniiv от августа 18, 2009, 18:41
Ну вот, не зря сомневался. Этот сайт действительно не работает. Если нужен будет этот модуль (а справка там, и русская тоже, есть), то поищите на www.torry.net, оттуда брал
Название: Генератор языков
Отправлено: Вадимий от августа 19, 2009, 13:33
Нет у кого-нибудь частотного словаря для моей программы?
P. S. Если никто не ответит, мне ждать, или выкладывать версию, где слова почаще не будут покороче?
Название: Генератор языков
Отправлено: arseniiv от августа 19, 2009, 20:22
Конечно же, выкладывайте! :)
Название: Генератор языков
Отправлено: myst от августа 19, 2009, 20:26
Цитата: arseniiv от августа 18, 2009, 17:32
Но моя Delphi [у меня тоже она, притом 7, и притом она какая-то испорченная и иногда нормальный код не компилирует] что-то виснет при присвоении нормального свойства нормальному уникодному компоненту.
Мыши плакали, кололись, но продолжали грызть... ;)
Название: Генератор языков
Отправлено: myst от августа 19, 2009, 20:28
Цитата: Вадимий от августа 19, 2009, 13:33
Нет у кого-нибудь частотного словаря для моей программы?
Частотный словарь какого языка?
Название: Генератор языков
Отправлено: arseniiv от августа 19, 2009, 20:28
Нет, это лично моя Delphi какая-то ненормальная, а починить её лень, скачать нормальную версию тоже лень.....
Название: Генератор языков
Отправлено: myst от августа 19, 2009, 20:29
Эта тема — стёб, или мне показалось? :???
Название: Генератор языков
Отправлено: myst от августа 19, 2009, 20:30
Цитата: arseniiv от августа 19, 2009, 20:28
Нет, это лично моя Delphi какая-то ненормальная, а починить её лень, скачать нормальную версию тоже лень.....
Ага-ага. ;D
Название: Генератор языков
Отправлено: arseniiv от августа 19, 2009, 20:33
Показалось, думаю. В начале - может. Но не в конце.
Название: Генератор языков
Отправлено: Вадимий от августа 20, 2009, 13:42
Цитата: myst от августа 19, 2009, 20:28
Цитата: Вадимий от августа 19, 2009, 13:33
Нет у кого-нибудь частотного словаря для моей программы?
Частотный словарь какого языка?
Древнекитайского.
Название: Генератор языков
Отправлено: Вадимий от августа 20, 2009, 13:44
Цитата: myst от августа 19, 2009, 20:29
Эта тема — стёб, или мне показалось? :???
Показалось.
Название: Генератор языков
Отправлено: Вадимий от августа 20, 2009, 13:48
Цитата: arseniiv от августа 19, 2009, 20:22
Конечно же, выкладывайте! :)
спасибо. Щас.
Название: Генератор языков
Отправлено: myst от августа 21, 2009, 01:01
Цитата: Вадимий от августа 20, 2009, 13:42
Русского
Я в какой-то теме недавно давал ссылки. Yet another (http://www.artint.ru/projects/frqlist.asp)
Название: Генератор языков
Отправлено: Вадимий от августа 21, 2009, 06:50
Цитата: myst от августа 21, 2009, 01:01
Цитата: Вадимий от августа 20, 2009, 13:42
Русского
Я в какой-то теме недавно давал ссылки. Yet another (http://www.artint.ru/projects/frqlist.asp)
Спасибо, но мне нужно побольше. В том словаре, который побольше, слова в всех формах,а там, где только в начальной, всего 5000 слов. Нужно побольше.
Название: Генератор языков
Отправлено: Вадимий от августа 21, 2009, 07:11
Выкладываю чуть-чуть изменённую версию. Прошу отзывов.
Название: Генератор языков
Отправлено: arseniiv от августа 21, 2009, 15:00
Хоть я и не разбираюсь в генераторах языков. При "переводе" списка всех слов программа у меня надолго отрешилась от операционной системы, и потом я решил закрыть. В общем, неплохо, но один раз сгенерировался список согласных из одной буквы d ;D - помню, вы говорили, что раньше у вас попадались часто списки гласной из 1 шт. Каким "странным" способом вы генерируете списки букв? :o

Кстати, если брать достаточно большой словарь, то там внизу же будут такие слова, которые чисто случайно могли попасть. Т.е. слова с большой вероятностью "прыгают" по спискам, составленным из разных источников не так сильно, как слова с маленькой... То есть увеличивать длину списка неоправданно из-за флуктуаций всяких терминов и т.д., как например, в этих списках - политических (там как раз указано), хотя верхние слова почти в любом списке, составленном из русских источников, будут те же.
Название: Генератор языков
Отправлено: Вадимий от августа 21, 2009, 15:22
Цитата: arseniiv от августа 21, 2009, 15:00
Хоть я и не разбираюсь в генераторах языков. При "переводе" списка всех слов программа у меня надолго отрешилась от операционной системы, и потом я решил закрыть. В общем, неплохо, но один раз сгенерировался список согласных из одной буквы d ;D - помню, вы говорили, что раньше у вас попадались часто списки гласной из 1 шт. Каким "странным" способом вы генерируете списки букв? :o

Цитата: Вадимий от августа 21, 2009, 06:50
Спасибо, но мне нужно побольше. В том словаре, который побольше, слова в всех формах,а там, где только в начальной, всего 5000 слов. Нужно побольше.
А зачем вам формы? :o Разве они не должны придумываться, исходя из списков на форме?
Вы меня не поняли. В словаре, который побольше, существительные во всех падежах и числах,, глаголы во всех временах, родах или лицах, а в словаре, где глаголы в инфинитиве, а существительные в им. п. ед. ч., всего 5000 слов.
Название: Генератор языков
Отправлено: Вадимий от августа 21, 2009, 15:22
Цитата: arseniiv от августа 21, 2009, 15:00
А, понял! Словарь с большим количеством слов содержит все формы, а надо как раз начальную, а она есть в словаре на 5000 слов, но этого мало
Именно!
Название: Генератор языков
Отправлено: Bhudh от августа 21, 2009, 15:24
Мне показалось или новая версия стала выглядеть кривее?
Кстати, структура слова по-прежнему только CVCV. Неужели CVCVC или VCVCV не нравятся Вадимию?
Название: Генератор языков
Отправлено: arseniiv от августа 21, 2009, 15:26
Снова изменил своё сообщение :)

Цитата: Bhudh от августа 21, 2009, 15:24
Кстати, структура слова по-прежнему только CVCV. Неужели CVCVC или VCVCV не нравятся Вадимию?
Может, группировать "правильно" слоги не очень удобно? В моём страшном генераторе слов, если включить слоги VC и CVC например, будут генерироваться из них такие штуки, которые не соответствуют "инструкции": CVC-VC > CV-CVC, CVC-VC-CVC > CV-CV-CCVC и подобное же с другими. Например, тип V вообще надо включать только по особой необходимости - он комбинируется нормально только с CV: CV-V, V-CV. А CVC-V > CV-CV. Но вообще это, конечно, обысно ничего плохого давать не даёт...
Название: Генератор языков
Отправлено: Вадимий от августа 21, 2009, 15:39
Цитата: Bhudh от августа 21, 2009, 15:24
Мне показалось или новая версия стала выглядеть кривее?
Кстати, структура слова по-прежнему только CVCV. Неужели CVCVC или VCVCV не нравятся Вадимию?
Я думал о грамматике - "А остальное всё приложится" :) Спасибо, что напомнили.
Название: Генератор языков
Отправлено: shinkarom от августа 21, 2009, 16:57
Вот моя новая версия
Название: Генератор языков
Отправлено: arseniiv от августа 21, 2009, 18:07
Немного поиграл с SED'ом и списком слов от myst'а. Сделал транслитерацию русских слов и смену окончания у глагола, и ещё немного начудил с гласными. И устал ;D
Название: Генератор языков
Отправлено: arseniiv от августа 21, 2009, 18:20
Цитата: shinkarom от августа 21, 2009, 16:57
Вот моя новая версия
Ага. Комментируем :)
- Ошибки таблицы: часто вылезают около букв h, j, l. (на скриншоте)
- слово[транскрипция]: лучше поставьте пробел
- жалко, что только 26 неизменяемых букв
- звуки, привязанные к буквам, можно брать в транскрипции МФА (http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%BD%D1%8B%D0%B9_%D1%84%D0%BE%D0%BD%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82). Правда, на Delphi для ввода уникодных символов придётся использовать их код: #код.
- интересно сделано: звуки привязаны к буквам; но было бы лучше ещё больше звуков сделать
- словарь можно потом увеличить тоже
- можно генерировать самоназвание языка на этом же языке. А на русский переводить транскрипцией (для каждого использованного звука МФА придётся сопоставить букву, как вы сопоставляли буквы звукам).
Название: Генератор языков
Отправлено: Bhudh от августа 21, 2009, 18:26
Цитата: shinkaromВот моя новая версия
Цитата: Словарь чувайтского языка
в - k[к]
не - k[к]
с - v[в]
а - b[б]
из - b[б]
на - d[д]
Всё-таки из структур слов чистое c лучше убрать, ограничиться подмножеством сонорных.
Между словом и транскрипцией принято ставить пробел, иначе это означает транскрипцию части слова.
А чувайтские в и не интересно совпали, по латинскому варианту.


Цитата: arseniivможно генерировать самоназвание языка на этом же языке
Мне показалось, так и делается.
Название: Генератор языков
Отправлено: arseniiv от августа 21, 2009, 18:39
Предлагаю названия для программ - генераторов языков от моей программы - генератора слов ;D Расхватывайте! :D

durirrernue, kymzi, igumciro, jawale, gudevinla, rumsa, okalqeho, komeu, byhdimwah, pilagy.

Не удивлюсь, если никому не понравится ;)
Название: Генератор языков
Отправлено: arseniiv от августа 21, 2009, 18:42
Цитата: Bhudh от августа 21, 2009, 18:26
Цитата: arseniivможно генерировать самоназвание языка на этом же языке
Мне показалось, так и делается.
Точно, не увидел названий файлов. Тогда почему бы не добавить слово "самоназвание" в словарь?
Название: Генератор языков
Отправлено: Bhudh от августа 21, 2009, 18:43
Цитата: arseniivот моей программы - генератора слов
Вот этой?
Название: Генератор языков
Отправлено: Bhudh от августа 21, 2009, 18:45
Цитата: arseniivТогда почему бы не добавить слово "самоназвание" в словарь?
Потому, что это название должно означать "язык".
Название: Генератор языков
Отправлено: arseniiv от августа 21, 2009, 18:58
Цитата: Bhudh от августа 21, 2009, 18:43
Вот этой?
Yes :yes:
С ней что-то не так? :)

Цитата: Bhudh от августа 21, 2009, 18:45
Потому, что это название должно означать "язык".
У нас два слова: "русский" - для своего и "язык" для всех. А ещё English и language. Я видимо не так понял, скорее всего. А то так же вообще во всех языках. А в остальных - название "наш язык"
Название: Генератор языков
Отправлено: Bhudh от августа 21, 2009, 19:00
Нет, с ней всё в порядке. :)
Кстати, как она у Вас называется?
А то я назвал просто Lexic.
Название: Генератор языков
Отправлено: arseniiv от августа 21, 2009, 19:04
Lexic Gen
Название: Генератор языков
Отправлено: myst от августа 21, 2009, 20:22
Цитата: Вадимий от августа 21, 2009, 06:50
В том словаре, который побольше, слова в всех формах,а там, где только в начальной, всего 5000 слов. Нужно побольше.
А вот это (http://www.artint.ru/projects/frqlist/lemma.num.zip) что?
Название: Генератор языков
Отправлено: arseniiv от августа 21, 2009, 20:36
Цитата: myst от августа 21, 2009, 20:22
А вот это что?
Offtop
Это подчёркнутое слово "это" :D
Название: Генератор языков
Отправлено: myst от августа 21, 2009, 20:50
Цитата: arseniiv от августа 21, 2009, 20:36
Это подчёркнутое слово "это" :D
Спасибо, Кэп! :yes:
Название: Генератор языков
Отправлено: Вадимий от августа 22, 2009, 11:46
Цитата: myst от августа 21, 2009, 20:22
Цитата: Вадимий от августа 21, 2009, 06:50
В том словаре, который побольше, слова в всех формах,а там, где только в начальной, всего 5000 слов. Нужно побольше.
А вот это (http://www.artint.ru/projects/frqlist/lemma.num.zip) что?
Спасибо!
Название: Генератор языков
Отправлено: shinkarom от августа 22, 2009, 16:28
Пожалуйста, отредактируйте файл letters.txt сами и прилепите вашу версию. Мне интересно, как может быть лучше.
Название: Генератор языков
Отправлено: Вадимий от августа 22, 2009, 16:35
Цитата: shinkarom от августа 22, 2009, 16:28
Пожалуйста, отредактируйте файл letters.txt сами и прилепите вашу версию. Мне интересно, как может быть лучше.
Кому это Вы?
Название: Генератор языков
Отправлено: arseniiv от августа 22, 2009, 16:37
Мне. Я не очень понял, какой у этого файла формат, поэтому ничего с ним поделать не могу... К тому же остальное выходит за рамки этого файла.
Название: Генератор языков
Отправлено: myst от августа 22, 2009, 22:00
Цитата: Вадимий от августа 22, 2009, 11:46
Спасибо!
Это Шарову спасибо. :)
Название: Генератор языков
Отправлено: shinkarom от августа 23, 2009, 11:10
Формат файла такой:
->[буква]
[вариант]-[вариант]-
--[сорт: c,v или другой]
Название: Генератор языков
Отправлено: arseniiv от августа 24, 2009, 21:15
Пока не могу сделать файл...
Название: Генератор языков
Отправлено: shinkarom от августа 27, 2009, 12:19
Следующая версия.
Добавил возможность присваивания.
Также создаётся первое предложение.
Контролы пока не работают.
Название: Генератор языков
Отправлено: Вадимий от августа 27, 2009, 12:25
Цитата: shinkarom от августа 27, 2009, 12:19
Следующая версия.
Добавил возможность присваивания.
Также создаётся первое предложение.
Уже лучше. Гораздо. :=
Название: Генератор языков
Отправлено: Вадимий от августа 27, 2009, 12:26
А я про свой совсем забыл, щас кое-чего сделаю и выложу.
Название: Генератор языков
Отправлено: arseniiv от августа 27, 2009, 19:49
А я наблюдаю... ;D
Название: Генератор языков
Отправлено: Bhudh от августа 27, 2009, 22:39
shinkarom, как насчёт склонений-спряжений?
Будут?
Название: Генератор языков
Отправлено: shinkarom от августа 28, 2009, 11:26
Я пока занимаюсь грамматикой типа английской (без склонений\спряжений). Они планируются в будущем, правда, отдалённом.
Название: Генератор языков
Отправлено: Вадимий от августа 28, 2009, 17:06
Цитата: shinkarom от августа 28, 2009, 11:26
Я пока занимаюсь грамматикой типа английской (без склонений\спряжений). Они планируются в будущем, правда, отдалённом.
В отдалённом? А чё так? Вроде довольно просто реализовать.
Название: Генератор языков
Отправлено: arseniiv от августа 28, 2009, 19:08
Генератор языков должен уметь генерировать совершенно разные языки, разве не так? ;) (А то ведь и я сам мог бы типа английской.....)
Название: Генератор языков
Отправлено: Hellerick от августа 28, 2009, 19:25
Цитата: arseniiv от августа 28, 2009, 19:08
Генератор языков должен уметь генерировать совершенно разные языки, разве не так? ;) (А то ведь и я сам мог бы типа английской.....)

Генератор языков предназначен для лентяев. А лентяям излишние лингвистические заморочки ни к чему.
Название: Генератор языков
Отправлено: arseniiv от августа 28, 2009, 20:20
Мне вот лень, но, обладая генератором языков, я бы от него потребовал высшего пилотажа... Конечно, заставить его придумывать несуществующие в существующих (в т.ч. придуманных) языках вещи - нелёгкая задача; но хотя бы смешивать то, что уже известно, причудливым образом - это есть гуд. А библиотека таких "особенностей" могла бы быть не встроена в программу, чтоб не делать её сложной, а существовать как текстовой файл. Как вот у shinkarom'а файл с буквами. Было бы лучше, правда, рандомное составление списка.
Название: Генератор языков
Отправлено: arseniiv от августа 30, 2009, 20:08
Эх, никто не порадует новыми версиямииииии... :what:
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 04:23
Я нечаянно значительную часть программы снёс и сохранил  :'(, как восстановлю - так порадую.
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 11:11
Новая версия.
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 11:23
Ну как? Кто-то ведь уже загрузил.
Название: Генератор языков
Отправлено: shinkarom от августа 31, 2009, 11:33
Неплохо, только, по-моему, нужно предусмотреть что-то, что бы занимало пользователя во время обработки языка, к примеру баннеры или случайно выбираемые анекдоты на иностранных языках. Скучно просто ждать, пока язык не создастся. Я закрыл на сокращении слова "хочу".
А так... Не могу оценить, я у меня другая концепция. Хотя интерфейс стал опрятнее.
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 11:46
Цитата: shinkarom от августа 31, 2009, 11:33
Неплохо, только, по-моему, нужно предусмотреть что-то, что бы занимало пользователя во время обработки языка, к примеру баннеры или случайно выбираемые анекдоты на иностранных языках. Скучно просто ждать, пока язык не создастся. Я закрыл на сокращении слова "хочу".
А так... Не могу оценить, я у меня другая концепция. Хотя интерфейс стал опрятнее.
Прошу дождаться полной генерации языка. У меня это занимает примерно минуту. Когда он сокращает слова, снчала он работает очень лениво, потом быстрее, быстрее. В общем, подождите.
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 11:50
Простите, я совершил в программе крупный ляп, из-за которого она работает так медленно. Сейчас выложу без этого ляпа.
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 13:20
У меня глюк: существительные очень длинные независимо от частоты  :'(
Название: Генератор языков
Отправлено: myst от августа 31, 2009, 13:29
Цитата: Вадимий от августа 31, 2009, 13:20
У меня глюк: существительные очень длинные независимо от частоты  :'(
Это не глюк, это русский язык. :yes:
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 13:31
Цитата: myst от августа 31, 2009, 13:29
Цитата: Вадимий от августа 31, 2009, 13:20
У меня глюк: существительные очень длинные независимо от частоты  :'(
Это не глюк, это русский язык. :yes:
Я же не генератор русского делаю!!! >(
Название: Генератор языков
Отправлено: wienski от августа 31, 2009, 13:33
Наш "великий и могучий" вообще бажная штука :) Хотя за это мы его и любим порой :)
Название: Генератор языков
Отправлено: myst от августа 31, 2009, 13:36
Цитата: Вадимий от августа 31, 2009, 13:31
Я же не генератор русского делаю!!! >(
Так у Вас глюк или у генератора? :???
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 13:38
Цитата: myst от августа 31, 2009, 13:36
Цитата: Вадимий от августа 31, 2009, 13:31
Я же не генератор русского делаю!!! >(
Так у Вас глюк или у генератора? :???
Спасибо, развеселили. А то впал в грех гнева. :(
Название: Генератор языков
Отправлено: addewyd от августа 31, 2009, 13:48
Создаётся впечатление, что присутствующие здесь создатели "генераторов языков" ни хрена не понимают ни в лингвистике, ни в программировании.
Название: Генератор языков
Отправлено: myst от августа 31, 2009, 13:50
Цитата: addewyd от августа 31, 2009, 13:48
Создаётся впечатление, что присутствующие здесь создатели "генераторов языков" ни хрена не понимают ни в лингвистике, ни в программировании.
Создателю генератора всего 13 лет.
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 13:52
Так что прошу не придираться. Я просто решил поразвлекаться,  сделанное мной не претендует ни на что серьёзное.
Название: Генератор языков
Отправлено: wienski от августа 31, 2009, 13:55
Детские конланги Толкина тоже ни на что серьезное не претендовали... А потом ведь выучился, профессором Оксфорда стал... Ну и прославился, конечно :)
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 14:06
Цитата: wienski от августа 31, 2009, 13:55
Детские конланги Толкина тоже ни на что серьезное не претендовали... А потом ведь выучился, профессором Оксфорда стал... Ну и прославился, конечно :)
Спасибо.
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 15:30
Мне выкладывать следующие версии?
Название: Генератор языков
Отправлено: wienski от августа 31, 2009, 15:32
Лично мне любопытно наблюдать за развитием проекта...
Есть в этом что-то завораживающее :)
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 15:37
Спасибо :)
Название: Генератор языков
Отправлено: addewyd от августа 31, 2009, 16:03
Тем не менее. При создании генератора следует исходить из формального определения понятия "язык". 13 лет, 63 -- неважно.

Почему-то подавляющее большинство творцов считают, что главное (и, часто, единственное) из чего состоит язык -- фонетика и лекскика. И давай словей генерить...
А это самая малозначащая составляющая.
Название: Генератор языков
Отправлено: wienski от августа 31, 2009, 16:09
Ну смотрите, addewyd, сегодня фонетика и лексика. А завтра парнишка прочитает умную книжку о других разделах и найдет способ генерить и их. Допустим, есть список их грамматических категорий, а программа наделяет генерируемый язык случайными из них.
Естественно, любой интерлингвист, скорее всего, сделает куда более совершенный язык.

Но ведь это игровая программа. Из тех, что занимают любознательный мозг создателя надолго, а пользователя — на пару вечеров. И опыт, который получаешь при разработке вот таких проектов пригождается в более серьезных.
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 16:14
Цитата: addewyd от августа 31, 2009, 16:03
Тем не менее. При создании генератора следует исходить из формального определения понятия "язык". 13 лет, 63 -- неважно.

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

Если бы моя программа делала лишь лексику и фонетику, я бы создал отдельную тему под названием "Генератор лексики с фонетикой". Поняли?
Название: Генератор языков
Отправлено: wienski от августа 31, 2009, 16:21
Это пока генератор языков, похожих на русский, немецкий и английский. Языки бывают интереснее.
Кстати, советую для общего развития поучить японский :) Спрягающиеся прилагательные и сотни местоимений никого не оставят равнодушным :)
Название: Генератор языков
Отправлено: addewyd от августа 31, 2009, 16:23
Во всех произведениях я вижу только одну грамматику и её незначительные вариации.
Крайние разновидности отличаются не более, чем грамматика си от грамматики паскаля :)

И вообще она не генерируется. Она задана изначально.
Название: Генератор языков
Отправлено: addewyd от августа 31, 2009, 16:26
Да, да. Японский. Хороший язык. Труден мне, скобок не хватает. Аж целое придаточное предложение могут в падеж склонить, а то и в два сразу. Вот и разберись, что к чему ))
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 16:38
Цитата: wienski от августа 31, 2009, 16:21
Это пока генератор языков, похожих на русский, немецкий и английский. Языки бывают интереснее.
Кстати, советую для общего развития поучить японский :) Спрягающиеся прилагательные и сотни местоимений никого не оставят равнодушным :)
Offtop
Нау'чите?
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 16:39
Цитата: wienski от августа 31, 2009, 16:21
Языки бывают интереснее.
:yes: Я знаю.
Название: Генератор языков
Отправлено: wienski от августа 31, 2009, 16:43
Цитата: Вадимий от августа 31, 2009, 16:38
Offtop
Нау'чите?
К сожалению, не могу — не доучил :)
Но ссылка наверняка поможет: http://torrents.ru/forum/viewforum.php?f=1270 ^_^
Название: Генератор языков
Отправлено: chyapay от августа 31, 2009, 16:43
почему бы как-то не оптимизировать программу? Я имею в виду, вкорне. Сделать так, чтобы язык был сформирован наиболее рациональным способом из возможных. Для этого нужно сначала на бумажке все расписать. Вот что такое язык. Каковы его параметры, как изменится язык от изменения количества и качества параметров. Какие допустимые количество и значения параметров. Обобщайте, обобщайте. Когда вы будете понимать язык как f(x1,x2,...,xn) только тогда можна приступать к программированию. Начните прежде всего с логики. Назовите основные функции языка. Подумайте какими способами их можно реализовать. Из этих функций придумаете основные части речи. а частей речи можеть быть много. опять же, обобщайте. Пускай есть n частей речи, тогда какие туда функции должны входить а от каких можно отказаться, при заданном n.  пример: n=3:  существительное, прилагательное, глагол, n=4: существительное, прилагательное, глагол, местоимение. и т.д. Так же обобщаем со звуками, абстрагируемся от буков вообще. Звук, фонема, это суть число, в программе. А как это число будет реализоваться у вас во рту - это нас пока не касается. И с этого числа, с помощью дополнительного модуля-писалки сделать какой-либо письменный знак. Понимаете? Максимально абстрактно, максимально продуманно и универсально. Думайте как опытные программисты. слово - это  массив тех же чисел.
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 16:58
Цитата: chyapay от августа 31, 2009, 16:43
Для этого нужно сначала на бумажке все расписать. Вот что такое язык. Каковы его параметры, как изменится язык от изменения количества и качества параметров. Какие допустимые количество и значения параметров.
Это всё хорошо, но... Я только шестой класс закончил, в седьмой поступаю, лингвистике не научен. Поможете?

Цитата: chyapay от августа 31, 2009, 16:43
Звук, фонема, это суть число, в программе. А как это число будет реализоваться у вас во рту - это нас пока не касается.
Естественно, занимаясь (Пусть как хобби и неумело) программированием, я это знаю.

Цитата: chyapay от августа 31, 2009, 16:43
слово - это  массив тех же чисел.
Из символов, это уже символы представлены числами.
Название: Генератор языков
Отправлено: Вадимий от августа 31, 2009, 17:05
Цитата: addewyd от августа 31, 2009, 16:23
Во всех произведениях я вижу только одну грамматику и её незначительные вариации.
Крайние разновидности отличаются не более, чем грамматика си от грамматики паскаля :)

И вообще она не генерируется. Она задана изначально.
Это так. Пока различаются в грамматике (кроме окончаний и тому подобного) только падежи, времена и числа  :(, но это дело поправимое. Скоро поправлю. (Пока chyapay не поможет мне с суперновой программой).
Название: Генератор языков
Отправлено: chyapay от августа 31, 2009, 17:23
вскоре выложу здесь свой бложок о языке. тоесть некие принципы. Он правда на украинском, но думаю языкогенераторопроизводитель поймет. там о том как строить словокорни.
Название: Генератор языков
Отправлено: addewyd от августа 31, 2009, 17:25
Цитата: Вадимий от августа 31, 2009, 17:05
ЦитироватьИ вообще она не генерируется. Она задана изначально.
Это так.
Так это ж самое главное. Остальное -- мелочи.

Название: Генератор языков
Отправлено: arseniiv от сентября 1, 2009, 14:46
Вот хорошо shinkarom придумал, в кой раз говорю, с буквами. Но плохо, что они фиксированы. А можно так (warning, уникод, WideString!), см. вложенный "фонетический" файл. Он содержит строки с буквами, начинающиеся с : или ; и звуки на следующих строках. Первую строку файла будем пропускать, потому что если из блокнота сохранить в формате UTF-8, там три первых символа служебные - если первую строку не трогать, они нам ничего не испортят. Во второй строке написаны все использованные звуки, они пусть записываются в специальный массив. Если строка с буквой начинается с :, то мы просто добавляем её в алфавит или нет; а если она начинается с ;, то мы "разыграем" её, только если добавлена предыдущая - это чтобы не было такого, что изменённая буква в алфавит входит, а простого варианта нету - как-то тогда не очень смотрелось бы. Звуки для букв мы выбираем из следующей для буквы строки (они), но если выбранного звука нет в массиве (который сделали из 2й строки), то надо выбрать другой звук. Когда звук выбран, надо найти его в массиве и удалить оттуда. Всё это чтобы буквы звучали по-разному. Я ещё вложил дельфийский модуль с реализацией всего этого. С грамматикой простым выбором не всегда получится, тут я пока ничего не скажу... Только, увы, тогда программа должна перейти на уникод вся. Например, писа́ть в файл вместо вывода (можно найти уникодную библиотеку TntControls и установить).
Я добавил ещё поддержку гласных - может пригодиться программе узнать, какая буква какая, а ещё функцию для создания слов по частотам букв (которые определяются случайно, а для гласных они больше). Гласные буквы вместо : и ; начинаются с . и ,

Т.к. грамматические категории и всякое с грамматикой связанное прочвляется с разных сторон, лучше это ввести в алгоритм, хотя, чтоб не усложнять, можно отдельно сделать функции "выбрать части речи", "выбрать роды и числа" и т.д. как выбираются падежи из списка. Род-число можно было бы тоже поместить в список, но тогда может получиться женский род без мужского, или средний род без каких-либо других (а тогда он не нужен). А ещё можно выражать или не выражать род во мн. числе. Тут я имею ввиду изменяемый род (не как у существительных РЯ, а как у прилагательных и им подобных). И подобных нюансов много. А что ещё можно выбрать из списка: основную модель предложения - SVO, VSO или шесть остальных - или свободную - всё равно это не будет отражаться ни на чём в программе пока, кроме отображения грамматики. Свободный или несвободный порядок слов; определение перед или после определяемого, или тоже свободно.
Название: Генератор языков
Отправлено: arseniiv от сентября 1, 2009, 14:53
Цитата: addewyd от августа 31, 2009, 17:25
Так это ж самое главное. Остальное -- мелочи.
Что поделать, если эти мелочи требуют фантазии? Согласитесь, пока ни один из нас не видел алгоритмов с фантазией (и скорее всего не увидит никогда, жаль :( )... Иначе приходится использовать много разветвлений, притом все данные записывая в программе, а не отдельно от неё, т.к. данные сильно связаны с алгоритмом - в итоге легче получить что-то неработающее, чем работающее и выдающее большую кучу интересно подобранных результатов.
К тому же, неинтересно додумывать язык, в котором всё готово. Можно сгенерировать основу - то, что так трудно обычно придумывается человеком - а потом доделать воображением...
Название: Генератор языков
Отправлено: Вадимий от сентября 1, 2009, 14:59
Цитата: arseniiv от сентября  1, 2009, 14:46
Вот хорошо shinkarom придумал, в кой раз говорю, с буквами. Но плохо, что они фиксированы. А можно так (warning, уникод, WideString!), см. вложенный "фонетический" файл. Он содержит строки с буквами, начинающиеся с : или ; и звуки на следующих строках. Первую строку файла будем пропускать, потому что если из блокнота сохранить в формате UTF-8, там три первых символа служебные - если первую строку не трогать, они нам ничего не испортят. Во второй строке написаны все использованные звуки, они пусть записываются в специальный массив. Если строка с буквой начинается с :, то мы просто добавляем её в алфавит или нет; а если она начинается с ;, то мы "разыграем" её, только если добавлена предыдущая - это чтобы не было такого, что изменённая буква в алфавит входит, а простого варианта нету - как-то тогда не очень смотрелось бы. Звуки для букв мы выбираем из следующей для буквы строки (они), но если выбранного звука нет в массиве (который сделали из 2й строки), то надо выбрать другой звук. Когда звук выбран, надо найти его в массиве и удалить оттуда. Всё это чтобы буквы звучали по-разному. Я ещё вложил дельфийский модуль с реализацией всего этого. С грамматикой простым выбором не всегда получится, тут я пока ничего не скажу... Только, увы, тогда программа должна перейти на уникод вся. Например, писа́ть в файл вместо вывода (можно найти уникодную библиотеку TntControls и установить).
Я добавил ещё поддержку гласных - может пригодиться программе узнать, какая буква какая, а ещё функцию для создания слов по частотам букв (которые определяются случайно, а для гласных они больше). Гласные буквы вместо : и ; начинаются с . и ,

Т.к. грамматические категории и всякое с грамматикой связанное прочвляется с разных сторон, лучше это ввести в алгоритм, хотя, чтоб не усложнять, можно отдельно сделать функции "выбрать части речи", "выбрать роды и числа" и т.д. как выбираются падежи из списка. Род-число можно было бы тоже поместить в список, но тогда может получиться женский род без мужского, или средний род без каких-либо других (а тогда он не нужен). А ещё можно выражать или не выражать род во мн. числе. Тут я имею ввиду изменяемый род (не как у существительных РЯ, а как у прилагательных и им подобных). И подобных нюансов много. А что ещё можно выбрать из списка: основную модель предложения - SVO, VSO или шесть остальных - или свободную - всё равно это не будет отражаться ни на чём в программе пока, кроме отображения грамматики. Свободный или несвободный порядок слов; определение перед или после определяемого, или тоже свободно.
Ниасилил :(.
Название: Генератор языков
Отправлено: arseniiv от сентября 1, 2009, 15:16
Ну вот :what:
Ещё напишу позже.
Лучше не читайте, что я написал про то, как алфавит генерится - оно и в модуле видно, который там в архиве. А то я сначала одно написал, а потом сделал чуть с отличиями

С вечера писал, а утром отладил и ещё придумал с частотами букв... Вот
Название: Генератор языков
Отправлено: myst от сентября 1, 2009, 16:20
Может, кто-нибудь мне внятно в двух словах объяснит суть замысла?
Название: Генератор языков
Отправлено: Вадимий от сентября 1, 2009, 16:28
Цитата: myst от сентября  1, 2009, 16:20
Может, кто-нибудь мне внятно в двух словах объяснит суть замысла?
Того, о чём говорил Arseniiv?
Название: Генератор языков
Отправлено: myst от сентября 1, 2009, 17:08
Цитата: Вадимий от сентября  1, 2009, 16:28
Того, о чём говорил Arseniiv?
Что вы вообще затеяли. Что за генератор, что он генерирует, из чего?
Название: Генератор языков
Отправлено: arseniiv от сентября 2, 2009, 14:18
Идеальный генератор пишет подробное описание всех конструкций языка (так, чтобы можно было его выучить).

Цитата: Вадимий от сентября  1, 2009, 16:28
Того, о чём говорил Arseniiv?
Кстати, я совсем непонятно всё написал, или хоть что-то понятно? А то не знаю, что уподробнить...
Название: Генератор языков
Отправлено: myst от сентября 2, 2009, 14:32
Цитата: arseniiv от сентября  2, 2009, 14:18
Идеальный генератор пишет подробное описание всех конструкций языка (так, чтобы можно было его выучить).
Из чего генерирует-то?
Название: Генератор языков
Отправлено: addewyd от сентября 2, 2009, 14:35
Цитата: myst от сентября  2, 2009, 14:32
Из чего генерирует-то?
из букаф, наверное...
Название: Генератор языков
Отправлено: Вадимий от сентября 2, 2009, 14:40
Цитата: addewyd от сентября  2, 2009, 14:35
Цитата: myst от сентября  2, 2009, 14:32
Из чего генерирует-то?
из букаф, наверное...
И падежей, и чисел, и членов предложения. Прошу об этом не забывать.
Название: Генератор языков
Отправлено: addewyd от сентября 2, 2009, 14:46
Цитата: Вадимий от сентября  2, 2009, 14:40
И падежей, и чисел, и членов предложения
Это всё необязательные для языка вещи...
Название: Генератор языков
Отправлено: Вадимий от сентября 2, 2009, 15:03
Цитата: addewyd от сентября  2, 2009, 14:46
Цитата: Вадимий от сентября  2, 2009, 14:40
И падежей, и чисел, и членов предложения
Это всё необязательные для языка вещи...
А идинстиннйэ апизацилыйе эта букфы!!!!
Название: Генератор языков
Отправлено: arseniiv от сентября 2, 2009, 15:14
Из алгоритма ;D
Слова - из букв и способов строить слова. Всё остальное уже не так хорошо получается у программы - нужен большущий алгоритм с условиями и условиями.

Ага, опоздал
Название: Генератор языков
Отправлено: addewyd от сентября 2, 2009, 15:18
Цитата: Вадимий от сентября  2, 2009, 15:03
А идинстиннйэ апизацилыйе эта букфы!!!!
Понятия и отношения между ними
Название: Генератор языков
Отправлено: arseniiv от сентября 2, 2009, 15:21
Цитата: addewyd от сентября  2, 2009, 14:46
Это всё необязательные для языка вещи...
Да-да, но у алгоритмов нет фантазии...

Кстати, давно нне видел языков без, например, привычных "европейских" частей речи. Ссылочки ни у кого нет? :)
Понятия и отношения вроде не к языку относятся, а к семантике, нет?
Название: Генератор языков
Отправлено: Вадимий от сентября 2, 2009, 15:27
Цитата: addewyd от сентября  2, 2009, 15:18
Цитата: Вадимий от сентября  2, 2009, 15:03
А идинстиннйэ апизацилыйе эта букфы!!!!
Понятия и отношения между ними
Да, да!!!! ЗАБУДЕМ ПРО ГРАММАТИКУ, ЗАБУДЕМ ПРО СИНТАКСИС, О ВЕЛИКИЕ БУКВЫ И ОТНОШЕНИЯ МЕЖДУ НИМИ!!!!
Название: Генератор языков
Отправлено: addewyd от сентября 2, 2009, 15:33
Почему забудем. Их и надо генерировать. А не задавать изначально, как у вас. А потом уже, когда язык будет готов и  лексику с  фонетикой вместе, чтоб красиво было)
Название: Генератор языков
Отправлено: myst от сентября 2, 2009, 15:42
Я так ничего и не понял. Ну ладно, сочиняйте. :)
Название: Генератор языков
Отправлено: Вадимий от сентября 2, 2009, 15:47
Цитата: addewyd от сентября  2, 2009, 15:33
Почему забудем. Их и надо генерировать. А не задавать изначально, как у вас. А потом уже, когда язык будет готов и  лексику с  фонетикой вместе, чтоб красиво было)
Я сделал сначала лексику с фонетикой, не потому что считаю это главным, а потому что это проще реализовать. А про изначальность - всегда что-то будет задано изначално. Вот в последней версии программы (которую я ещё не выложил):
1. Программа сама решает, приставкой или суффиксом образовываются причастия и деепричастия.
2 По прежнему падежи и числа не заданы изначально.
3. Порядок слов по прежнему не задан изначально
4. Да что там -- всё, что написано в программе латиницей, тоже не задано изначально!
Название: Генератор языков
Отправлено: Вадимий от сентября 2, 2009, 15:53
Цитата: myst от сентября  2, 2009, 15:42
Я так ничего и не понял. Ну ладно, сочиняйте. :)
Мы делаем программу, которая помогает делать язык.
Название: Генератор языков
Отправлено: arseniiv от сентября 2, 2009, 16:29
Цитата: arseniiv от сентября  2, 2009, 14:18
Цитата: Вадимий от Вчера в 19:28
ЦитироватьТого, о чём говорил Arseniiv?
Кстати, я совсем непонятно всё написал, или хоть что-то понятно? А то не знаю, что уподробнить...
Ауууу... Ответа не было :)
Название: Генератор языков
Отправлено: Вадимий от сентября 2, 2009, 16:36
Ответ Вас расстроит :(
Название: Генератор языков
Отправлено: Artemon от сентября 2, 2009, 16:47
Ай, ну харош щемить Арсения. У кого посты далеко не всегда понятны, так это у Тихомирова. :)
Название: Генератор языков
Отправлено: myst от сентября 2, 2009, 17:15
Цитата: Artemon от сентября  2, 2009, 16:47
У кого посты далеко не всегда понятны, так это у Тихомирова. :)
Ему можно. :yes:
Название: Генератор языков
Отправлено: arseniiv от сентября 2, 2009, 17:58
Можно, но не нужно :tss:

Artemon, кто меня "щемит"? ;D Даже если стараюсь написать понятнее, не получается, сам виноват...

2 Вадимий: А pas-модуль из архива если открыть (текст), там тоже ничего не понятно, да? :what:
Короче, не заморачивайте им себе голову, потому что там ещё и уникод используется, и чтобы всё работало нормально, придётся и программу делать уникодную, а это очень неудобно и никому я такого не желаю :)
А программу открывали? (Только надо не забыть с ней вместе в папке положить phon.txt (я сам-то обычно прямо из архива открываю от лени).)
Название: Генератор языков
Отправлено: myst от сентября 2, 2009, 18:06
Цитата: arseniiv от сентября  2, 2009, 17:58
а это очень неудобно и никому я такого не желаю :)
Просто пора прекращать грызть кактусы и начинать пользоваться нормальными инструментами. ;)
Название: Генератор языков
Отправлено: arseniiv от сентября 2, 2009, 19:04
Offtop
Нет, просто надо сразу писать уникодное (чего я пока не научусь). Я уже попросил знакомую мне списать Delphi 2005 (у неё анлим сейчас, у меня же его отродясь не было), чтоб не мучиться с моей старенькой версией. А вообще какая-то версия, вроде 2006, полностью заменила везде AnsiString на WideString и поддерживает уникод по-умолчанию. Что есть гуд, но она наверно ооооочень много весит...
Цитата: myst от сентября  2, 2009, 18:06
Просто пора прекращать грызть кактусы и начинать пользоваться нормальными инструментами. ;)
И ещё по этому: и начинать грызть более колючие кактусы? C++? Знаете, сколько людей пообижалось на то, как определяются там шаблоны, с помощью угловых скобок, которые можно было вполне заменить на круглые, например. Код начинает выглядеть неоднородно и запутывает...
Название: Генератор языков
Отправлено: myst от сентября 2, 2009, 19:59
Цитата: arseniiv от сентября  2, 2009, 19:04
И ещё по этому: и начинать грызть более колючие кактусы? C++?
Зачем, если есть Жаба? С уникодом у неё более чем. :yes:
Название: Генератор языков
Отправлено: arseniiv от сентября 2, 2009, 20:01
Я её не люблю 8)

Для неё нужно JRE...
Название: Генератор языков
Отправлено: myst от сентября 2, 2009, 20:09
Цитата: arseniiv от сентября  2, 2009, 19:04
Знаете, сколько людей пообижалось на то, как определяются там шаблоны, с помощью угловых скобок, которые можно было вполне заменить на круглые, например.
Это всё мелочи. Delphi — труп на колёсиках, уже попахивающий. Что-либо на нём делать значит очень не любить себя и окружающих.
Название: Генератор языков
Отправлено: myst от сентября 2, 2009, 20:10
Цитата: arseniiv от сентября  2, 2009, 20:01
Для неё нужно JRE...
А то, что для Delphi нужно Delphi, не смущает? ;)
Название: Генератор языков
Отправлено: arseniiv от сентября 2, 2009, 20:20
При разработке да. А при запуске - нет.
Ну, это всё Холивар Холиварович.
Название: Генератор языков
Отправлено: myst от сентября 2, 2009, 20:26
Цитата: arseniiv от сентября  2, 2009, 20:20
А при запуске - нет.
JRE ставится один раз. А жирные бинарники Delphi — это на всю жизнь. :P
Но не в этом дело, а в том что программу на Delphi через год другой (когда его наконец зароют) придётся переписывать.
Название: Генератор языков
Отправлено: addewyd от сентября 2, 2009, 20:37
а давайте писать на лиспе.
Название: Генератор языков
Отправлено: myst от сентября 2, 2009, 21:07
Цитата: addewyd от сентября  2, 2009, 20:37
а давайте писать на лиспе.
Нет проблем. У CLISP'а всё хорошо с уникодом. Точно! Я же Clozure CL скачал месяц назад и забыл попробовать.
Название: Генератор языков
Отправлено: shinkarom от сентября 3, 2009, 15:51
Вот моя новая версия.
Добавил возможность possess ("книга ученика"), также выбор одного алфавита из нескольких.
Пишите свои алфавиты и выкладывайте! Формат я указал раньше.

Прошу идеи по поводу того, как обустроить на delphi составления частотного списка букв и генерации слов с учетом этого списка.

По-моему, не следует ждать от авторов на начальных стадиях работы что-то громадное, ведь и "Windows не сразу строился".

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

Прошу список конструктивных предложений(конструктивных, а не критики в адрес идеи генерации языков), а также новые мысли, как сделать что-то.
Название: Генератор языков
Отправлено: addewyd от сентября 3, 2009, 15:58
Цитата: shinkarom от сентября  3, 2009, 15:51
LangGen.7z
А где сорцы?
Название: Генератор языков
Отправлено: shinkarom от сентября 3, 2009, 16:04
Вот они.
Название: Генератор языков
Отправлено: addewyd от сентября 3, 2009, 16:34
угу. смотрим. правда, дельфа у меня старовата.
Название: Генератор языков
Отправлено: Вадимий от сентября 4, 2009, 15:38
Шинкаром!
Усовершенствованная версия латиницы для Вашей программы.
Название: Генератор языков
Отправлено: Вадимий от сентября 4, 2009, 16:09
Новая версия :-[
Внимание. Изменилось содержание файлов "Глаголы.txt" и "Существительные.txt"
Название: Генератор языков
Отправлено: arseniiv от сентября 4, 2009, 16:54
Частотный список - нет лучше штуки, чем его автоматическая генерация. Как в моём файле. Кто разберётся - тому бонус - использование ;D Похоже, никто не разберётся. Ну ладно. Вскорости всё посмотрю. Но пока не могу...

О, Вадимий, у вас хороший список глаголов! :) (И мне когда-нибудь пригодится.) Это вы те списки почистили от цифр и разделили, да?

Кстати, вот тут

function RandomFromArr(arr: array of string): string;
begin
  result:=arr[random(length(arr)-1)];
end;

последний элемент массива никогда не будет выдаваться. Надо result := arr[random(length(arr))]; - ведь random(n) выдаёт число от 0 до n-1
Название: Генератор языков
Отправлено: Вадимий от сентября 4, 2009, 17:56
Цитата: arseniiv от сентября  4, 2009, 16:54
Частотный список - нет лучше штуки, чем его автоматическая генерация. Как в моём файле. Кто разберётся - тому бонус - использование ;D Похоже, никто не разберётся. Ну ладно. Вскорости всё посмотрю. Но пока не могу...

О, Вадимий, у вас хороший список глаголов! :) (И мне когда-нибудь пригодится.) Это вы те списки почистили от цифр и разделили, да?

Кстати, вот тут

function RandomFromArr(arr: array of string): string;
begin
  result:=arr[random(length(arr)-1)];
end;

последний элемент массива никогда не будет выдаваться. Надо result := arr[random(length(arr))]; - ведь random(n) выдаёт число от 0 до n-1
Почистил и разделил, да  :yes:.

А зачем вы этот код приводите?
Название: Генератор языков
Отправлено: arseniiv от сентября 4, 2009, 19:03
Это shinkarom'а код, вот. :)
Название: Генератор языков
Отправлено: Вадимий от сентября 7, 2009, 06:37
Чё мою латиницу никто не грузит?
Название: Генератор языков
Отправлено: arseniiv от сентября 7, 2009, 13:27
Ого, интересная! Но я shinkarom'скую программу пока снёс.
Название: Генератор языков
Отправлено: shinkarom от сентября 8, 2009, 13:08
Вот моя новая версия. Просто Интернета неделю не было.
Добавил зачатки спряжения, генерацию частотного списка букв.

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

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

Я собираюсь позже добавить скриптинг. Вкладывайте txt файлы со своими предложениями по поводу его формата. А также свои алфавиты
Название: Генератор языков
Отправлено: Вадимий от сентября 8, 2009, 14:31
неплохо, совсем неплохо. (особенно множественное число, генерирующееся разными способами.)
А по поводу частоты:
допустим, а встречается в 2 раза чаще, чем б, а В в 2 раза чаще, чем б.
генерируем строку: баавввв и выбираем случайню букву оттуда. Вот пример :генерирует похожие на русские слова.
Название: Генератор языков
Отправлено: addewyd от сентября 9, 2009, 10:02
Цитата: shinkarom от сентября  8, 2009, 13:08
У меня вопрос: какой должен быть алгоритм выбора буквы, если известно распределение букв по частоте?

Имеем хеш h:  буква -> частота (0..1), т.е сумма частот = 1

n = random()
x = 0
foreach (letter, freq) in h
{
  if n >= x and n < x + freq return letter
  x += freq
}


Приблизительно так
Название: Генератор языков
Отправлено: Ilmar от сентября 9, 2009, 10:26
Цитата: Вадимий от сентября  8, 2009, 14:31
генерирует похожие на русские слова.
нйаь
пнтьлт
ькеьоа

Надо дорабатывать)))
Название: Генератор языков
Отправлено: addewyd от сентября 9, 2009, 11:10
Цитата: Вадимий от сентября  8, 2009, 14:31
генерирует похожие на русские слова
Похожие на русские слова можно генерировать так:

;;;; -*- Mode: Lisp; Syntax: Common Lisp -*-
;;;; YK, Mon Aug 9 1999
;;;; bred, v.0.2

(defvar *word-1* nil)
(defvar *word-2* nil)
(defvar *tree* (list nil nil nil))

;;; -------------------------------------------------------

(defun get-words (stream)
    (if *word-1*
        (setf *word-1* *word-2* *word-2* (read-word stream))
        (setf *word-1* (read-word stream) *word-2* (read-word stream))))


;;; -------------------------------------------------------

(defun read-word (stream)
    (let (c (str "") )
            (setq c (int-char (read-byte stream nil 0)))
            (when (char-equal c #\Newline) (setf c #\Space))
            (cond
                ((char-equal c #\Null) "")
                (t (string-append str c)))))
       
;;; -------------------------------------------------------

(defun tree-add (word nextword tree)
    (cond
((string= word "") nil)
        ((null (car tree))
            (setf (car tree)
                (list word 1 (list (list nextword 1)))))
        ((string= word (caar tree))
            (incf (second (first tree)))
                (add-next nextword (third (car tree))))
        ((string< word (caar tree))
            (unless (second tree)
                (setf (second tree) (list ()()())))
            (tree-add word nextword (second tree)))
        (t (unless (third tree)
                (setf (third tree) (list ()()())))
            (tree-add word nextword (third tree)))))

;;; -------------------------------------------------------

(defun add-next (word lst)
    (let ((el (member word lst
        :test #'(lambda (i l) (string= (car l) i)))))
        (if el
            (incf (second (first el)))
            (nconc lst (list (list word 1))))))

;; -----------------------------------------------

(defun find-word (tree word)
    (cond
        ((null tree) nil)
        ((string= (caar tree) word) (car tree))
        ((string< word (caar tree))
(find-word (second tree) word))
        (t (find-word (third tree) word))))

;;; -----------------------------------------

(defun choose-word (lst)
    (if lst
        (let* ((n (apply #'+ (mapcar #'cadr lst)))
            (r (random n)) 
            (l (length lst))
            (m 0))
            (loop
                (decf l)
                (when (or (< (decf r (cadr (nth m lst))) 0) (< l 1))
                    (return (car (nth m lst))))
                (incf m)))
        nil))

;;-------------------------------------------------------

(defun string-append (str chr)
    (string-concat str (make-string 1 :initial-element chr)))

;;; -------------------------------------------------------

(defun generate-tree (fname)
    (with-open-file (stream fname :element-type 'unsigned-byte)
        (loop
            (get-words stream)
            (tree-add *word-1* *word-2* *tree*)
            (when (string= *word-2* "") (return *tree*)))))

;; --------------------------------------------------------

(defun write-text (tree)
(print tree)
    (let ((wrd (first tree)) (n 0) w-next)
        (loop
            (unless (and wrd (setf w-next (choose-word (third wrd))))
                (return))
            (format t "~A" (first wrd))
;;            (when (> (incf n) 7) (setq n 0) (terpri))
            (setf wrd (find-word tree w-next)))))

;;; -------------------------------------------------------

(defun main ()
    (setf *random-state* (make-random-state t))
    (if (car *args*)
        (write-text (generate-tree (car *args*)))
        (princ "Usage: bred <filename>")))

(main)


Выдаст построенное дерево и некоторое количество слов.
Название: Генератор языков
Отправлено: Вадимий от сентября 9, 2009, 14:53
Цитата: Ilmar от сентября  9, 2009, 10:26
Цитата: Вадимий от сентября  8, 2009, 14:31
генерирует похожие на русские слова.
нйаь
пнтьлт
ькеьоа

Надо дорабатывать)))
Некоторые слова того не требуют :):

одоры
гвов
оюда
тлан
летот
ыеанп
Название: Генератор языков
Отправлено: Вадимий от сентября 14, 2009, 16:23
У меня теперь реже доступ к компьютеру, я реже буду всё выкладывать.
Название: Генератор языков
Отправлено: arseniiv от сентября 14, 2009, 17:23
Буду покорно ждать следующей версии, чтобы посмотреть... :)
Название: Генератор языков
Отправлено: Вадимий от сентября 15, 2009, 06:39
Пасыб!
Название: Генератор языков
Отправлено: arseniiv от сентября 15, 2009, 17:39
Offtop
Да в общем-то и не за что. Моё внимание довольно легко заинтересовать...
Название: Генератор языков
Отправлено: shinkarom от октября 1, 2009, 10:50
Вот моя новая версия. Я добавил немного, потому что пока не зная, как продолжать.
Название: Генератор языков
Отправлено: arseniiv от сентября 1, 2010, 18:01
Может, начать сначала? На более глубоком уровне. Хотя идей нет, а без них всё это пустое.
Название: Генератор языков
Отправлено: иванов егор от ноября 2, 2010, 16:39
А когда кто нибудь сделает, чтобы падежи, числа и прочее задавались по желанию пользователя, а не случайным способом?
Название: Генератор языков
Отправлено: arseniiv от ноября 2, 2010, 18:37
Цитата: иванов егор от ноября  2, 2010, 16:39
А когда кто нибудь сделает, чтобы падежи, числа и прочее задавались по желанию пользователя, а не случайным способом?
А такая программа уже есть! Называется «бумажный блокнот». :)

Если честно, предложите какую-нибудь достаточно богатую схему формализации желаний пользователя, а ещё способ строить необходимое описание языка по полученному списку желаний. Боюсь, это AI. Тут, увы, пока приходится обходиться неспешной человеческой головой.

Точнее выражаясь, хороший генератор языков должен быть подобен идеальному генератору расписания (например, для университета, хотя и школьные достаточно сложны), притом он должен «уметь» пополняться новыми знаниями о том, что можно сделать в языке, а ещё грамотно состыковывать части языка воедино, чтобы он не был похож на мой стол. Предлагайте решения, разберём. ;D
Название: Генератор языков
Отправлено: иванов егор от ноября 5, 2010, 09:17
Цитата: arseniiv от ноября  2, 2010, 18:37
Предлагайте решения, разберём. ;D
Ну, сделал же Вадимий грамматику, выпадающую случайно. Каждый раз другой состав падежей и чисел.
Название: Генератор языков
Отправлено: Bhudh от ноября 5, 2010, 17:03
«Состав падежей и чисел» — это ещё не грамматика.
Название: Генератор языков
Отправлено: arseniiv от ноября 5, 2010, 18:42
Я не удмал парировать. Мне кажется, что-то более-менее пригодное всё же в силах сделать. Просто надо понять. Неизвестно что.
Название: Генератор языков
Отправлено: Теос Мегалион от июня 18, 2011, 16:26
А есть программы, которые могут создать язык не с нуля, а с определённого списка значений слов?
И как примерно работает эта программа - её можно использовать для своего языка? (ЛангГен которая)
Название: Генератор языков
Отправлено: arseniiv от июня 18, 2011, 16:43
Описания всех программ в этой теме есть в этой же теме.

Цитата: Теос Мегалион от июня 18, 2011, 16:26
А есть программы, которые могут создать язык не с нуля, а с определённого списка значений слов?
Лексика отнюдь не главное в языке! И, если уж программа будет создавать грамматику сама, зачем ей вообще какой-то список слов? Она может обобщёнными оперировать в описании грамматики.
Название: Генератор языков
Отправлено: shinkarom от сентября 29, 2013, 11:19
Я все-таки решил вернуться к теме создания генератора языков.
Название: Генератор языков
Отправлено: DeSTRUCTOR от сентября 29, 2013, 23:13
Интересная мысль! (Извиняюсь, только сегодня прочитал эту тему)... Я тоже пробовал экспериментировать с написанием такого рода программ, но правда так широко не брал, а ограничился автоматической генерацией корней по заданному шаблону. т.е. в качестве входных параметров программа получала наборы фонем и структуру корней: например: V:a,o,u,i,e; C:t,d,p,b... S:r,l,m,n... CVC, CV, CVRC...., а сама программа для отдельного слава(корня) из списка случайным образом выбирала сначала тип корня, а затем, последовательно заменяла каждый условный символ группы, на случайную фонему из этой группы. например: CVC->kap... я написал такую программу только потому. что мне лень было работать с лексикой, сладким для меня было все остальное... и честно говоря, я даже не задумывался над тем, что бы генерировать язык полностью... а вот сейчас...
Поэтому поводу у меня к автору есть конструктивное предложение по написанию программы-генератора: (хоть это и мое сугубо личное мнение) программа поэтапно строить язык, а не весь сразу. приблизительно в таком порядке:
1) фонемы
2) типы слогов и корней по фонетическому составу
3) корни
4) морфологический и синтаксический тип
5) систему словообразовательных и формообразовательных суффиксов, префиксов, инфиксов и т.д. исходя и предыдущего пункта
6) формирование парадигм. (падежные, личные и т.д. окончания или префиксы,)
7) моделирование фонетических законов.
8) создание полного словаря всех слов и их словоформ.

так же здесь можно использовать шаблоны по уже имеющимся языкам.


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

хотя еще есть второй способ: как уже было сказано раньше и кстати частично реализовано на практике. можно взять полный список всех слов (например словарь Ожигова, только более полный и в котором есть все словоформы)))) ), а потом каждому слову/ словоформе сопоставить произвольную последовательность фонем. чисто теоретически получившийся язык сразу будет обладать грамматикой, только оооочень сложной и непонятной. Будет наверное забавно потом изучать получившийся язык и писать к нему грамматику))) Кстати, поясню почему надо словоформы (вода, воды, воде, воду...) тоже включить в список. Если делать так как автор делал раньше, отдельно слова отдельно окончания, то или язык по умолчанию будет агглютинативным, что противоречит задаче о создании программы создающей любой язык, или же все равно придется отдельно продумывать законы соединению основ с окончаниями, т.е. язык не будет полным.
Название: Генератор языков
Отправлено: DeSTRUCTOR от сентября 29, 2013, 23:22
p.s.: последняя версия программы мне, кстати очень понравилась, достойно уважения. программа даже сразу учебник сформировала.
Название: Генератор языков
Отправлено: shinkarom от сентября 30, 2013, 10:30
Спасибо за поддержку. Мне как раз очень нужны фаны.
Я создам сайт на WordPress и выложу на него ссылку.
Название: Генератор языков
Отправлено: arseniiv от сентября 30, 2013, 15:36
Цитата: DeSTRUCTOR от сентября 29, 2013, 23:13
Я тоже пробовал экспериментировать с написанием такого рода программ, но правда так широко не брал, а ограничился автоматической генерацией корней по заданному шаблону. т.е. в качестве входных параметров программа получала наборы фонем и структуру корней: например: V:a,o,u,i,e; C:t,d,p,b... S:r,l,m,n... CVC, CV, CVRC...., а сама программа для отдельного слава(корня) из списка случайным образом выбирала сначала тип корня, а затем, последовательно заменяла каждый условный символ группы, на случайную фонему из этой группы. например: CVC->kap...
Есть программа более настраиваемая, может даже фразы и тексты генерировать (если хорошенько над грамматикой поработать): http://arseniiv.info/progr/lexicgen. Правда, нужен .NET Framework 2, но ссылка на загрузку прям там же и стоит. Если я плохо описал, как писать грамматики, спрашивайте! (Правда, я нерегулярно просматриваю как ЛФ, так и сайт, но когда увижу — отвечу.)

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

Offtop
Цитата: DeSTRUCTOR от сентября 29, 2013, 23:13
например словарь Ожигова
Ну, во-первых, он совершенно далеко от «полного списка всех слов», а, во-вторых, Ожёгова, да и не только он один его писал. ;)
Название: Генератор языков
Отправлено: tempuser от октября 1, 2013, 09:22
Offtop


Цитировать
Цитата: DeSTRUCTOR от сентября 29, 2013, 23:13
например словарь Ожигова
Ну, во-первых, он совершенно далеко от «полного списка всех слов», а, во-вторых, Ожёгова, да и не только он один его писал. ;)

Как бэ  Ожёгов (wiki/ru) Ожегов (http://ru.wikipedia.org/wiki/%D0%9E%D0%B6%D0%B5%D0%B3%D0%BE%D0%B2)
Название: Генератор языков
Отправлено: shinkarom от октября 1, 2013, 11:56
Сейчас я переписываю приложение на более правильный объектно-ориентированный код (как мало я тогда знал о программировании!).
Выкладываю версию с незначительными улучшениями с установщиком Inno Setup.

http://shinkar.16mb.com/langgen/
Название: Генератор языков
Отправлено: Awwal12 от октября 1, 2013, 11:58
Генерировать словарь просто, причем программы тут создают широчайшие возможности для кастомизации звучания языка.
Генерировать же язык как таковой... Оххохо.
Название: Генератор языков
Отправлено: arseniiv от октября 1, 2013, 16:56
Цитата: shinkarom от октября  1, 2013, 11:56
Выкладываю версию с незначительными улучшениями с установщиком Inno Setup.
Неплохо было бы иметь как установщик, так и архив для установки руками, многие любят это!

Offtop
Цитата: tempuser от октября  1, 2013, 09:22
Цитировать
Цитата: DeSTRUCTOR от сентября 29, 2013, 23:13
например словарь Ожигова
Ну, во-первых, он совершенно далеко от «полного списка всех слов», а, во-вторых, Ожёгова, да и не только он один его писал. ;)
Как бэ  Ожёгов (wiki/ru) Ожегов (http://ru.wikipedia.org/wiki/%D0%9E%D0%B6%D0%B5%D0%B3%D0%BE%D0%B2)
Оу. Как легко ошибки накапливаются, надо запомнить.
Название: Генератор языков
Отправлено: shinkarom от октября 1, 2013, 17:14
Выложил в формате .rar. Ссылка та же.
Хотелось бы узнать ваши мнения о том, что можно улучшить непосредственно (в смысле сейчас же, а не переписывать весь код с нуля).
Планирую добавить в программу суффикс множественного числа.
Название: Генератор языков
Отправлено: arseniiv от октября 1, 2013, 18:26
Почитайте на досуге Плунгян В. А. «Общая морфология», наверняка пользу принесёт.
Название: Генератор языков
Отправлено: shinkarom от октября 1, 2013, 19:20
Спасибо за рекомендацию.
Название: Генератор языков
Отправлено: shinkarom от октября 3, 2013, 18:46
Новая версия.
Название: Генератор языков
Отправлено: arseniiv от октября 3, 2013, 19:19
Кстати о птичках: http://000024.org/cgi-bin/gleb.cgi. Генератор фонетики и фонологии.
Название: Генератор языков
Отправлено: shinkarom от октября 3, 2013, 19:42
Придется красть его код.
Название: Генератор языков
Отправлено: shinkarom от октября 4, 2013, 10:07
Исходники.
Название: Генератор языков
Отправлено: arseniiv от октября 4, 2013, 14:24
Цитата: shinkarom от октября  3, 2013, 19:42
Придется красть его код.
Он же не Perl'е, вы что! :uzhos: (А если серьёзно, то там столько страниц кода, что я даже решил его не читать.)
Название: Генератор языков
Отправлено: shinkarom от октября 4, 2013, 14:27
Мне придется это делать. Мои познания о генерации фонетики очень скудны. Правда, на это уйдет не версия и не две...
Название: Генератор языков
Отправлено: shinkarom от октября 22, 2013, 10:55
Я продолжаю работать над программой, только застопорился на фонемах с символами IPA (если точнее, с тем, что ихняя запись в HTML занимает не один , а больше символов).
Если бы я создал сайт, заходили бы вы на него?
Название: Генератор языков
Отправлено: Тайльнемер от октября 22, 2013, 14:08
Цитата: shinkarom от октября 22, 2013, 10:55
застопорился на фонемах с символами IPA (если точнее, с тем, что ихняя запись в HTML занимает не один , а больше символов).
А в чём именно проблема?
И почему не использовать кодировку UTF-8 на странице и не писать символы МФА как есть, одним символом?
Название: Генератор языков
Отправлено: shinkarom от октября 22, 2013, 14:10
Вообще-то дело не в этом, а в том, что необходимо создать классы TPhoneme и TPhonemeString, а у меня недостаточно опыта.
Название: Генератор языков
Отправлено: shinkarom от октября 22, 2013, 15:20
Нет, не получается. Оказывается, Delphi 2010 не полностью поддерживает Unicode.
Название: Генератор языков
Отправлено: Bhudh от октября 22, 2013, 17:59
Цитата: shinkarom от октября 22, 2013, 15:20Оказывается, Delphi 2010 не полностью поддерживает Unicode.
ОМГ.
Lazarus поддерживает UTF-8 искаропки.
Название: Генератор языков
Отправлено: shinkarom от октября 22, 2013, 18:01
Даже в классе TIniFile?
Название: Генератор языков
Отправлено: Bhudh от октября 22, 2013, 18:08
Если это класс, конструирующий текстовые файлы — то текстовые файлы поддерживают UTF-8 ещё раньше.
Название: Генератор языков
Отправлено: shinkarom от октября 22, 2013, 18:12
Дело с кодировками решено. Оказывается, нужно было сохранить файл в кодировке UTF-16.
Правда, переход на фонемы будет немного медленным. Это связано с недостатком идей по поводу использования пробелов, вопросительных знаков и т. д. в проектируемом мной классе TPhonemeString.
Название: Генератор языков
Отправлено: arseniiv от октября 22, 2013, 18:57
Цитата: shinkarom от октября 22, 2013, 15:20
Оказывается, Delphi 2010 не полностью поддерживает Unicode.
Как так? Разве ещё в 2005 всё не закончилось?

Цитата: shinkarom от октября 22, 2013, 18:01
Даже в классе TIniFile?
Лучше его не использовать, İ℧. С API INI-файлов в виндовсе вроде бы с уникодом не всё хорошо до сих пор. Хотя точный ответ не знаю.

Цитата: shinkarom от октября 22, 2013, 18:12
Это связано с недостатком идей по поводу использования пробелов, вопросительных знаков и т. д. в проектируемом мной классе TPhonemeString.
Что за пробелы и вопросительные знаки?
Название: Генератор языков
Отправлено: shinkarom от октября 22, 2013, 19:08
Раньше было просто. bebeb - строка, она транслитерируется в бэбэб. Bebeb abab - тоже хорошо, это бэбэб абаб.
Теперь же будет класс TPhonemeString, в котором список объектов типа TPhoneme.

TPhoneme.Create('b'); //это так, гипотетический пример
TPhoneme.Create('e');
TPhoneme.Create('b');
TPhoneme.Create('e');
TPhoneme.Create('b');

abab по такому же принципу.
А вот пробел не является фонемой, это произвольный символ. Как же сделать поддержку таких не фонемных символов (допустим, апострофа) в строке из фонем?
Название: Генератор языков
Отправлено: arseniiv от октября 22, 2013, 20:37
Апостроф заделать фонемой (или апостроф для ударения? Ударение — это свойство слога, его по-другому лучше кодировать, но в крайнем случае слоговые фонемы можно делать в «ударном» и «неударном» вариантах). А пробел зачем? Если пробелы разделяют слова, то пусть и разделяют слова как два списка фонем или даже чего-то большего, чем списки фонем — это уже как вам надо.

Кстати, у ваших фонем есть какие-то особые свойства кроме их написания? Если нет, можно их и строками представлять. Если есть, можно их предварительно загрузить в TDictionary<String, TPhoneme> (если не ошибаюсь в синтаксисе — имеется в виду словарь со значениями-фонемами и ключами-строками), а потом не создавать много одинаковых фонем, а доставать из словаря.
Название: Генератор языков
Отправлено: shinkarom от октября 22, 2013, 20:55
1. В английском языке слова it и it's различаются в значении, так что апостроф не только для ударения.
2. Я, конечно, могу делать bebeb abab как два отдельных объекта TPhonemeString, но тогда начнутся сложности с транслитерацией целого предложения, поскольку придется транслитерировать два слова по отдельности, потом соединять транслитерации пробелом. Хотя, подумав, я смогу сделать класс TTransliterableSentence.
3. Я сейчас выложу программу и вы все сами увидите. (Мне просто нужно делать бэкапы, которые не будут удалены и через четыре года.)
Название: Генератор языков
Отправлено: shinkarom от октября 22, 2013, 21:03
Выкладываю новую версию.
Название: Генератор языков
Отправлено: arseniiv от октября 22, 2013, 21:20
Цитата: shinkarom от октября 22, 2013, 20:55
1. В английском языке слова it и it's различаются в значении, так что апостроф не только для ударения.
Лучше б для ударения использовался тогда соответствующий символ уникода ˈ. К тому же, фонематический состав it's и its одинаковый: /ɪts/, это омофоны.

Цитата: shinkarom от октября 22, 2013, 20:55
2. Я, конечно, могу делать bebeb abab как два отдельных объекта TPhonemeString, но тогда начнутся сложности с транслитерацией целого предложения, поскольку придется транслитерировать два слова по отдельности, потом соединять транслитерации пробелом. Хотя, подумав, я смогу сделать класс TTransliterableSentence.
Если объекты естественным образом могут вкладываться друг в друга довольно длинными цепочками, тут лучше не экономить; будет плохо с (даже своей же, при создании новых версий) поддержкой кода, в котором смешаны вещи, которые лучше разделить. Фразу, состоящую из нескольких слов имеет смысл хранить даже не как массив фонемных строк, а как массив таких строк и текстовых разделителей (кроме пробелов могут быть и всякие пунктуации! Хотя бы ', ').
Название: Генератор языков
Отправлено: shinkarom от октября 23, 2013, 15:44
1. Насчет апострофов: зато у слов he'll и hell разный фонемный состав.
2. Это и была моя идея. Я создам специальный класс, а потом сделаю, чтобы и фонемы и строки происходили от одного интерфейса.
Название: Генератор языков
Отправлено: Bhudh от октября 23, 2013, 16:32
Цитата: shinkarom от октября 23, 2013, 15:44зато у слов he'll и hell разный фонемный состав.
А также морфемный и лексический.
shinkarom, he'll это два слова: местоимение he и сокращённый модальный глагол ʼll.
Название: Генератор языков
Отправлено: shinkarom от ноября 13, 2013, 15:38
Обновление.
Название: Генератор языков
Отправлено: Mercurio от ноября 13, 2013, 15:47
Цитата: shinkarom от ноября 13, 2013, 15:38
Обновление.
Zeoe lotule mak. - Девушка читает книгу.  :green:
Čo a e. - Девушка читает книгу. Вот это ваще огонь))
Название: Генератор языков
Отправлено: shinkarom от ноября 13, 2013, 16:03
Элемент иронии я замечаю, интернет юзер?
Название: Генератор языков
Отправлено: Mercurio от ноября 13, 2013, 16:06
Цитата: shinkarom от ноября 13, 2013, 16:03
Элемент иронии я замечаю, интернет юзер?
Все в порядке, никакой иронии. Я и сам конлангер, а тут программа такое выдает, не удержался. Вы молодец, продолжайте в том же духе.
Название: Генератор языков
Отправлено: shinkarom от ноября 13, 2013, 16:08
Нужны советы, замечания. Я сам такое не вытяну, зная о лингвистике очень мало.
Название: Генератор языков
Отправлено: Mercurio от ноября 13, 2013, 16:11
Цитата: shinkarom от ноября 13, 2013, 16:08
Нужны советы, замечания. Я сам такое не вытяну, зная о лингвистике очень мало.
Да я тоже не лингвист, но проект очень интересный. С удовольствием буду наблюдать.
Название: Генератор языков
Отправлено: shinkarom от ноября 13, 2013, 16:13
Я еще раз повторяю: нужны советы или замечания. Мне необходим именно такой тип фидбэка. Нужно, чтобы кто-то подталкивал меня в каком-то направлении.
Название: Генератор языков
Отправлено: Hellerick от ноября 13, 2013, 16:25
Проверка на совпадение слов в словаре осуществляется? А то у меня два одинаковых выскочило.
Название: Генератор языков
Отправлено: shinkarom от ноября 13, 2013, 16:28
Раньше осуществлялась. По-видимому, перевод движка на новую систему что-то сделал алгоритм неработоспособным. Но вы не волнуйтесь, в реальных языках тоже есть омонимы и многозначные слова.
Сейчас я работаю над добавлением ударения (последний слог, предпоследний слог и. т. д.)
Название: Генератор языков
Отправлено: arseniiv от ноября 14, 2013, 14:23
Цитата: Mercurio от ноября 13, 2013, 16:11
<...> буду наблюдать.
Увы, кстати, +1.

Цитата: shinkarom от ноября 13, 2013, 16:28
По-видимому, перевод движка на новую систему что-то сделал алгоритм неработоспособным.
Если что, может быть, вы сравниваете массивы или объекты, содержащие слова, по ссылке — тогда надо сравнивать их покомпонентно, потому что два массива с одинаковым набором элемента (или объекта с одинаковыми значениями соответствующих свойств) — не обязательно один и тот же массив/объект, и могут располагаться по разным адресам в памяти; сравнение на равенство массивов/объектов сравнивает их адреса. Можно, конечно, сделать так, чтобы равные объекты имели одинаковый адрес, но автоматически такого нет.
Название: Генератор языков
Отправлено: shinkarom от ноября 14, 2013, 14:38
Обновление.
-добавлено ударение
-добавлены числительные
-убран баг с дубликатами
Название: Генератор языков
Отправлено: shinkarom от ноября 18, 2013, 16:54
Небольшое обновление.
Начинаю работать над фонотактикой.
Советы и обсуждение, пожалуйста.
Название: Генератор языков
Отправлено: shinkarom от декабря 21, 2013, 11:54
Очередное обновление.
Название: Генератор языков
Отправлено: Hellerick от декабря 24, 2013, 18:41
Теперь и за деньги:
http://itunes.apple.com/us/app/conlanger/id725336392?mt=8
Название: Генератор языков
Отправлено: arthur07 от февраля 13, 2014, 13:56
Эх, а обновлений больше не будет?
Название: Генератор языков
Отправлено: Thorel от апреля 11, 2015, 19:26
По некой причине не отображаются местоимения.
Название: Генератор языков
Отправлено: shinkarom от апреля 11, 2015, 19:56
Будут обновления, будут. Я сейчас добавляю фонологические правила по типу Sound Change Applier'ов. Если надо, могу выложить новую версию.
Название: Генератор языков
Отправлено: Thorel от апреля 12, 2015, 06:34
Давайте)
Название: Генератор языков
Отправлено: shinkarom от апреля 12, 2015, 11:36
https://mega.co.nz/#!aQ8zgJgA!feRIh6Gi_Fp1Dqp6xqYp0_F6FYlo60vOMSsU8ljTjdg
Версия 20150412.
Возможно, изменений не так много, но я всего лишь новичок в лингвистике.
Попрошу как можно больше отзывов, иначе нету интереса создавать дальше.
Название: Генератор языков
Отправлено: Thorel от апреля 12, 2015, 14:18
shinkarom, ну ёклмн, прога теперь английская...русварианта нет? Конечно, наверное, тут все английский знают...
Название: Генератор языков
Отправлено: shinkarom от апреля 12, 2015, 14:21
Я планировал выложить программу на американский форум, но пока боюсь.
Название: Генератор языков
Отправлено: Awwal12 от апреля 12, 2015, 14:25
Цитата: shinkarom от апреля 12, 2015, 14:21
Я планировал выложить программу на американский форум, но пока боюсь.
Чего, если не секрет? :)
Главное, вы сами определитесь со своим отношением к программе. Та или иная реакция тут может быть только сигналами к её улучшению в том или ином направлении.
И если вы пять лет над ней бьетесь, то бояться уже, имхо, нечего.
Название: Генератор языков
Отправлено: Thorel от апреля 12, 2015, 14:27
Ясно)
В прошлом варианте почему-то я не видела отдельно вынесенных местоимений, и предложение там всего одно было, а теперь хоть что-то вроде примеров использования языка.
А что значит в конце Technical Information? О чём там говорится?
Название: Генератор языков
Отправлено: shinkarom от апреля 12, 2015, 14:29
Зайдите на форум Incatena.org и посмотрите треды с моим участием. Сразу станет ясно.
Раздел с местоимениями отсутствовал из-за бага (программист из меня никудышный).
Technical Information - это для меня. Сейчас показывает, какие фонологические правила сработали.