Лингвофорум

Теоретический раздел => Интерлингвистика и лингвопроектирование => Конланги лингвофорумчан => Topic started by: basta on July 4, 2019, 21:05

Title: succotashe ridel
Post by: basta on July 4, 2019, 21:05
Наконец-то, проект, который не стыдно показать уважаемой публике, поскольку есть подробнейшее словесное описание с примерами и исходный код парсера. Целей у проекта три.
1. Язык должен иметь грамматику, похожую на стандартную европейскую.
2. Текст на этом языке должен быть похож на Интерлингву IALA, хотя бы отдалённо.
3. Текст должен быстро парситься компьютером.

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

Парсер не смотрит в словарь, не понимает и не переводит значения слов. Он только рисует отступами абстрактное синтаксическое дерево и узнаёт части речи по окончаниям или по словам целиком, которых не много. Но если в предложении будет хоть одна грамматическая ошибка, ничего кроме лаконичного "syntax error" Вы не получите. По-хорошему надо показывать место ошибки и угадывать варианты, которые мог иметь в виду пользователь, как это делал парсер Ложбана, но для меня это не так важно, поэтому пока реализация этой функции откладывается.

Описание там: https://github.com/rgj40q/laughing-succotash/blob/master/doc.md
Исходный код там же: https://github.com/rgj40q/laughing-succotash/

Отче наш:

patri nostrel inil celes tet
e nomine tuel sanctificiaza une
e regne tuel veneza
e voluntate tuel faciaza une
inin le cele comef en superin le terre etiamef
e te daiza ain nose hodien pane nostrel quotidianel
e te pardoniza ain nose debites nostrel
e comen etiamem nose ones pardonit ain debitores nostreh
e te nonen induciza nose inin tentatione
sed te liberiza nose din le male
e amenot

Выхлоп парсера:

Code: [Select]
[text]
    [sentence]
        [argument]
            [noun phrase]
                patri: noun, singular
                [appositive phrase]
                    nostrel: appositive, intransitive
                [appositive phrase]
                    inil: appositive, transitive
                    [subargument]
                        [noun subphrase]
                            celes: noun, plural
        tet: verb, intransitive, present
    e: conjunction for sentence
    [sentence]
        [argument]
            [noun phrase]
                nomine: noun, singular
                [appositive phrase]
                    tuel: appositive, intransitive
        sanctificiaza: verb, transitive, imperative, passive
        [argument]
            [noun phrase]
                une: noun, singular
    e: conjunction for sentence
    [sentence]
        [argument]
            [noun phrase]
                regne: noun, singular
                [appositive phrase]
                    tuel: appositive, intransitive
        veneza: verb, intransitive, imperative
    e: conjunction for sentence
    [sentence]
        [argument]
            [noun phrase]
                voluntate: noun, singular
                [appositive phrase]
                    tuel: appositive, intransitive
        faciaza: verb, transitive, imperative, passive
        [argument]
            [noun phrase]
                une: noun, singular
        [adverbA phrase]
            inin: adverb A, transitive
            [subargument]
                le: article
                [noun subphrase]
                    cele: noun, singular
                    [adverbB subphrase]
                        comef: subadverb B, intransitive
        en: conjunction for adverb A
        [adverbA phrase]
            superin: adverb A, transitive
            [subargument]
                le: article
                [noun subphrase]
                    terre: noun, singular
                    [adverbB subphrase]
                        etiamef: subadverb B, intransitive
    e: conjunction for sentence
    [sentence]
        [argument]
            [noun phrase]
                te: noun, singular
        daiza: verb, transitive, imperative
        [adverbA phrase]
            ain: adverb A, transitive
            [subargument]
                [noun subphrase]
                    nose: noun, singular
        [adverbA phrase]
            hodien: adverb A, intransitive
        [argument]
            [noun phrase]
                pane: noun, singular
                [appositive phrase]
                    nostrel: appositive, intransitive
                [appositive phrase]
                    quotidianel: appositive, intransitive
    e: conjunction for sentence
    [sentence]
        [argument]
            [noun phrase]
                te: noun, singular
        pardoniza: verb, transitive, imperative
        [adverbA phrase]
            ain: adverb A, transitive
            [subargument]
                [noun subphrase]
                    nose: noun, singular
        [argument]
            [noun phrase]
                debites: noun, plural
                [appositive phrase]
                    nostrel: appositive, intransitive
    e: conjunction for sentence
    [sentence]
        [adverbA phrase]
            comen: adverb A, intransitive
            [adverbB phrase]
                etiamem: adverb B, intransitive
        [argument]
            [noun phrase]
                nose: noun, singular
        [argument]
            [noun phrase]
                ones: noun, plural
        pardonit: verb, transitive, present
        [adverbA phrase]
            ain: adverb A, transitive
            [subargument]
                [noun subphrase]
                    debitores: noun, plural
                    [appositive subphrase]
                        nostreh: subappositive, intransitive
    e: conjunction for sentence
    [sentence]
        [argument]
            [noun phrase]
                te: noun, singular
        [adverbA phrase]
            nonen: adverb A, intransitive
        induciza: verb, transitive, imperative
        [argument]
            [noun phrase]
                nose: noun, singular
        [adverbA phrase]
            inin: adverb A, transitive
            [subargument]
                [noun subphrase]
                    tentatione: noun, singular
    sed: conjunction for sentence
    [sentence]
        [argument]
            [noun phrase]
                te: noun, singular
        liberiza: verb, transitive, imperative
        [argument]
            [noun phrase]
                nose: noun, singular
        [adverbA phrase]
            din: adverb A, transitive
            [subargument]
                le: article
                [noun subphrase]
                    male: noun, singular
    e: conjunction for sentence
    [sentence]
        amenot: verb, impersonal, present

Буду рад почитать Ваши комментарии, не хотелось бы остаться писателем в стол, так сказать.  :)
Title: succotashe ridel
Post by: Mona on August 21, 2019, 22:19
Парсер в моей голове посчитал слово "e", первые три штуки не союзом (conjunction for sentence), а частицей со смыслом пожелания, рус. "да". Дальше вроде действительно идут союзы рус. "и", но из четырех два лишние, их там не должно быть просто по тексту. Ну и, разумеется, перед словом "аминь" этот "e" мозолит глаза.

А так - вроде работает как-то. Хочется, правда, спросить компьютер: нафига тебе этот текст парсить, если ты в нем ничего не понимаешь?

Как в том анекдоте:
- Официант! Я что-то не пойму, это чай или кофе?
- А какая тебе, XYZ, разница, раз ты не поймешь?
Title: succotashe ridel
Post by: Wolliger Mensch on August 21, 2019, 23:12
scucotisha

;D
Title: succotashe ridel
Post by: Awwal12 on August 21, 2019, 23:46
Offtop
При взгляде на название что-то мой "жёполизк" вспомнился. Прошу прощения.
Title: succotashe ridel
Post by: Wolliger Mensch on August 22, 2019, 00:41
Offtop
При взгляде на название что-то мой "жёполизк" вспомнился. Прошу прощения.

Зипджолзик? :o ;D
Title: succotashe ridel
Post by: Awwal12 on August 22, 2019, 08:23
Зипджолзик? :o ;D
Обсуждение языка Жёполизк (https://lingvoforum.net/index.php?topic=71070.0)
Title: succotashe ridel
Post by: Wolliger Mensch on August 22, 2019, 09:46
Зипджолзик? :o ;D
Обсуждение языка Жёполизк (https://lingvoforum.net/index.php?topic=71070.0)

Вот и я о том же — сходство названий не случайно… ;D
Title: succotashe ridel
Post by: basta on August 25, 2019, 21:42
Название сгенерировал github.com :stop: А вообще хоть горшком назови, только на околоземную орбиту не запускай ;)

из четырех два лишние, их там не должно быть просто по тексту. Ну и, разумеется, перед словом "аминь" этот "e" мозолит глаза.
Союзы между предложениями тут обязательные, по-другому SVO я не смог сделать. :donno: "e" везде можно заменить на "et", полегчает? :???

Quote
А так - вроде работает как-то. Хочется, правда, спросить компьютер: нафига тебе этот текст парсить, если ты в нем ничего не понимаешь?

Как в том анекдоте:
- Официант! Я что-то не пойму, это чай или кофе?
- А какая тебе, XYZ, разница, раз ты не поймешь?
Создать ИИ задача не стояла :) Современным нейронным сетям, насколько я понимаю, ни парсер, ни грамматика вообще не нужны, чтобы понимать текст. Впрочем, это уже совсем другая история... :)
Title: succotashe ridel
Post by: Mona on August 26, 2019, 10:56
По-моему, современные нейронные сети все так же ничего не понимают.
Title: succotashe ridel
Post by: basta on August 28, 2019, 18:07
По-моему, современные нейронные сети все так же ничего не понимают.
А как Вы определяете понимание? Если нейронная сеть может перевести текст или как голосовой помощник выполнить запрос пользователя, то этого достаточно, я считаю.
Title: succotashe ridel
Post by: Mona on August 28, 2019, 21:26
Это может сделать не нейронная сеть, а обычная программа, состоящая из процедур, условных ветвлений, словарей и т.п. Что на самом деле и происходит. "Нейронные сети" и "искусственный интеллект" - маркетинговые (=мошеннические) приемы в большинстве случаев.

Я определяю понимание, как соотнесение с окружающей действительностью, практикой и каким-то жизненным опытом. Мало того, нейронные сети с ИИ должны иметь способность к самостоятельному усвоению материала, его анализу и синтезу новой информации. Я таких продуктов еще не видел.
Title: succotashe ridel
Post by: гальюн on August 29, 2019, 12:42
Я определяю понимание, как соотнесение с окружающей действительностью, практикой и каким-то жизненным опытом. Мало того, нейронные сети с ИИ должны иметь способность к самостоятельному усвоению материала, его анализу и синтезу новой информации. Я таких продуктов еще не видел.
https://thispersondoesnotexist.com/
Title: succotashe ridel
Post by: Mona on August 29, 2019, 22:48
Это ничего не опровергает и не подтверждает. Скомпилировать из сотни или тысячи лиц тысяча первое не имеет никакого отношения к ИИ и нейронным сетям. Зато хорошо иллюстрирует маркетинговую направленность, т.к. такой пример должен эмоционально воздействовать на сознание да еще и визуально.
Title: succotashe ridel
Post by: Awwal12 on August 30, 2019, 15:27
По-моему, современные нейронные сети все так же ничего не понимают.
А как Вы определяете понимание? Если нейронная сеть может перевести текст или как голосовой помощник выполнить запрос пользователя, то этого достаточно, я считаю.
Нейронная сеть НЕ может перевести текст по смыслу. При переводе слова "ключ", например, она может учесть его окружение (ср. "бил ключ" и "взял ключ"), но в нейтральном окружении она сможет только дать наиболее частотный вариант; определение смысла высказывания (т.е., в сущности, установление связи между высказыванием и реальной ситуацией) лежит в принципе за пределами ее возможностей.
Title: succotashe ridel
Post by: Mona on September 3, 2019, 22:39
Вы, Awwal12, все правильно сказали. Скажите теперь что-нибудь про не-нейронную сеть, а обычную программу. По-моему, выйдет то же самое.