Вверх ↑
Этот топик читают: Гость
Ответов: 632
Рейтинг: 4
#241: 2019-08-27 18:22:20 ЛС | профиль | цитата
flint2 писал(а):
Влоб это не решается.
Тут нужна определённая логика ИИ.
Разбиение по категориям это ещё не всё, нужны ещё градации.
Давай отдохнём.
Торопится не надо.

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

Редактировалось 2 раз(а), последний 2019-08-27 19:24:23
карма: 0

0
Ответов: 321
Рейтинг: 10
#242: 2019-08-27 19:05:17 ЛС | профиль | цитата
Vadimluk1 писал(а):
Давайте, я как раз в бассейне по плавал, а вечером в кофе пойду. Надеюсь и Вы найдете способ, как провести время!


Vadimluk1, по отдыхай, по отдыхай и про слАварь не за бывай.

карма: 1

0
Ответов: 2059
Рейтинг: 132
#243: 2019-08-27 21:41:37 ЛС | профиль | цитата
Вот генерация моей системы по этому шаблону:
|25 21 19 1 46 35||26 24 21 19 1 35||4||25 21 19 3 35|и|25 21 19 3 35|,что|25 22 19 1 35||40 37 35 31 19 2 22 21 23 41|на|28 22 20 1 35|.
Голова рыбины настолько неприятная и злобная, что яд стекает на зубы.

До этого, по моему, была другая генерация по этому-же шаблону.
На самом деле шаблон сложный из-за того, что 26 24 21 19 1 35 - одушевлённое.
Пробовал пробежаться по всей своей библиотеке моей программкой, а она у меня 146Гб, подобрать слова, чтобы получилось чего-то связанное, не удалось.
Получается что-то типа:
Половина бабушки едва подсадная и крупная, что зажим занимает на прицелы.

Можешь попробовать моей программкой это сделать. Уже выкладывал. https://yadi.sk/d/yf8fgUypbXqaFQ
Надо выбрать "морф атрибуты", а в окно ввода циферки. Для получения шаблона надо выбрать крайнее правое Radio.
По словарю такой поиск не получится. Надо делать базу.
Да и для чего это делать рандомно? Смысла не будет. Побаловаться? - дорогое удовольствие.
Моя задача понятна - генерация рассказов. Поэтому и понятны механики, которые надо сделать.
У тебя ещё не сложилась магистральная линия. Ну откуда взялась мысль искать слова в словаре по морфологическим атрибутам? Их же сотни тысяч с одинаковыми значениями атрибутов.
Не с второстепенного надо начинать, а с проработки генерального плана.
Уже под него разрабатывать механики, а если повезёт, то брать готовые наработки.
В моём случае, даже с жестокого бодуна я расскажу, как и что у меня должно работать.
Другое дело, что очень трудоёмко.

Редактировалось 3 раз(а), последний 2019-08-27 22:04:38
карма: 6

1
Голосовали:Vadimluk1
Ответов: 632
Рейтинг: 4
#244: 2019-08-27 22:36:18 ЛС | профиль | цитата
flint2, да получилось получить шаблон. Мне интересно "яркость#r:abstr,яркость,яркости,яркости,яркостей,яркости,яркостям,..." это писать нужно в "All_Forms.txt" или в самой программе? Когда полностью весь файл(программе) напишу, ещё нужно будет какие-то подгруппы делать?



Master4eG, когда заканчиваются аргументы и по сути сказать нечего, оппонент цепляется за опечатки.
карма: 0

0
Ответов: 2059
Рейтинг: 132
#245: 2019-08-27 23:08:23 ЛС | профиль | цитата
Vadimluk1, да. В самом All_Forms.txt.
ещё нужно будет какие-то подгруппы делать?

Думаю, что непременно. По мере понимания, что что-то не то. У меня таких полей 27, чтобы не получилось так:
Космонавт закованный в латы опустил забрало звякнув кованным металлом.
Я сделал базу и выборка идёт по нескольким полям. Бывает больше десятка условий.
Вообще это один из главных, тонких и сложных моментов. В этом и заключается авторский подход, который можно патентовать. Это гораздо сложней, чем система генерации сюжета.
Не возможно сделать классификацию мира подобно человеческой.
По этому делается упрощённая, заточенная под определённые задачи.
Для диалогов в игрушках одна, для вопросно-ответных систем другая, для написания аннотаций третья...
Даже лексикон подбирается.

--- Добавлено в 2019-08-28 00:01:27

Vadimluk1, специально лекция по твоей задаче:https://www.youtube.com/watch?v=kSNIHXDerE0
Вот кое что по теме:
https://nlpub.ru/Russian_Distributional_Thesaurus
Обрати внимание на "Дистрибутивный тезаурус в котором одна запись представляет не слово, а смысл слова. Получен на основании word2vec".
word2vec
http://www.machinelearning.ru/wiki/images/b/b3/Word2Vec.pdf
https://habr.com/ru/post/446530/
Это писал мой знакомый. https://habr.com/ru/post/249215/
Это в виде базы: http://www.solarix.ru/for_developers/docs/thesaurus.shtml
Это тоже можно почитать.
http://it-claim.ru/Library/Books/Semantics_IT/gl1_3/glava1_3.htm
ИСПОЛЬЗОВАНИЕ ГРАММАТИЧЕСКИХ ПРАВИЛ В ПРОЛОГЕ: http://www.tinlib.ru/kompyutery_i_internet/programmirovanie_na_jazyke_prolog/p12.php
Томита-парсер: https://yandex.ru/dev/tomita/
Это знаменитый сайт. Но уже не такой, как лет 10 назад.
http://aot.ru/

Редактировалось 11 раз(а), последний 2019-08-28 02:53:40
карма: 6

0
Ответов: 632
Рейтинг: 4
#246: 2019-08-29 00:55:56 ЛС | профиль | цитата
Познакомился с сайтами, многое для себя нашёл. Для быстрого поиска нужной информации, я максимально быстро все необходимое записал ниже.
aot.ru
В доме моём горит синий огонь, все тихо спокойно, газ греет сковороду.
tinlib.ru
Грамматика языка – это множество правил, позволяющих определить, какие последовательности слов приемлемы в качестве предложений этого языка. Она определяет, как из слов образуются словосочетания и какие последовательности этих словосочетаний допустимы. Если задана грамматика некоторого языка, то для любой последовательности слов мы можем сказать, является ли она допустимым предложением. И в случае, когда это предложение действительно является допустимым, в результате проверки мы определим, какие естественные группы слов имеются и как они связаны друг с другом. То есть будет определена внутренняя структура предложения.

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

предложение--› группа_существительного, группа_глагола.
группа_существительного--› определитель, существительное.
группа_глагола--› глагол, группа_существительного.
группа_глагола--› глагол.
определитель--› [the].
существительное--› [apple].
существительное--› [man].
глагол--› [eats].
глагол--› [sings].
группа_существительного(Х):- присоединить(Y,Z,Х), определитель(Y), существительное(Z).
группа_глагола(Х):- присоединить(Y,Z,Х), глагол(Y), группа_существительного(Z).
группа_глагола(Х):- глагол(Х).

1. Целью является предложение(thе, man, eats, the, apple]).

2. Разбиение исходного списка на два списка Y и Z. Возможны следующие варианты разбиения;

Y = [], Z = [the,man,eats,the,apple] Y = [the], Z = [man,eats,the,apple]

Y= [the,man], Z = [eats,the,apple]

Y= [the,man,eats], Z = [the,apple]

Y= [the,man,eats,the], Z = [apple]

Y= [the, man, eats, the, apple], Z = []

3. Выбор варианта значений для Y и Z из приведенного выше списка вариантов и проверка принадлежности Y классу группа_существительного. То есть, попытка согласования подцели группа_существительного(Y).

4. Если группа_существительного выполняется для Y, то перейти к группа_глагола. Иначе возвратиться к шагу 3 и попробовать другой вариант.
phrase (P,L) истинно, если список L является допустимым словосочетанием типа Р.
it-claim.ru
Здесь быстро не разобраться.
www.youtube.com
Лекцию, как будет время посмотрю, у меня возможности посмотреть нет.
nlpub.ru


http://www.machinelearning.ru/wiki/images/b/b3/Word2Vec.pdf - у меня не открывается.
habr.com
Выглядит очень заманчива, к каждому слову дать свой цифирный код. Здесь на сайте для удобства его раскрасили в цвета.
Если внимательно посмотреть, между королем, мужчиной и женщиной есть разница. Между мужчиной и женщиной она менее заметна, чем между королем.

Можно заметить несколько вещей:

Через все слова проходит одна красная колонка. То есть эти слова похожи в этом конкретном измерении (и мы не знаем, что в нём закодировано).
Вы можете увидеть, что «женщина» и «девушка» во многом похожи. То же самое с «мужчиной» и «мальчиком».
«Мальчик» и «девочка» тоже похожи в некоторых измерениях, но отличаются от «женщины» и «мужчины». Может быть, это закодировано смутное представление о молодости? Вероятно.
Всё, кроме последнего слова — это представления людей. Я добавил объект (воду), чтобы показать различия между категориями. Например, вы можете увидеть, как синий столбец идёт вниз и останавливается перед вектором «воды».
Есть чёткие измерения, где «король» и «королева» похожи друг на друга и отличаются от всех остальных. Может, там закодирована расплывчатая концепция королевской власти?
КодПрочитал обе статьи, интересно стало, как сделать выделения слов близких по смыслу "Word2Vec в режиме «skipgrams» — то есть в режиме выделения слов по их окружению, тогда как вторая выдача — Word2Vec в режиме «bag of words» — выделение слов вместе с их окружением."
www.solarix.ru
карма: 0

0
Ответов: 2059
Рейтинг: 132
#247: 2019-08-29 05:13:27 ЛС | профиль | цитата
Всё правильно!
Это другой разговор.
Дам некоторые комментарии по пунктам:
aot.ru
Это Питерский сайт.
Существует две школы - Московская и Питерская.
Отличаются не принципиальными нюансами в плане построения синтаксического дерева.
Свои arm.dll и dwf.dll я делал с ребятами из МГУ.
Отсюда и различия в дереве, если поместить текст примера в мой синтаксический анализатор.
Запятые, в моём варианте, тут заменили на AND - не суть. Нюансы проявляются в другом.
Не факт, что надо простые предложения одного сложного присоединять к главному слову первого предложения, тогда уж к абстрактному ROOT. Главным словом может быть и не сказуемое.
И может быть:
— сказуемое может быть как простым, так и сложным;
— сложное сказуемое состоит из двух и более сказуемых, имеющих одно и то же число и время;
В природе существует всего четыре программы построения синтаксического дерева, включая мою.
Самая лучшая, это у моего знакомого, про которого писал постом выше. Но она очень "тормозная".
Постараюсь найти ссылки. Очень интересно почитать про разбор редких форм предложения. По моему в Facebook-е писал.
На самом деле это всё картинки и не более. На практике важны зависимые пары слов.
Всё необходимое делает компонент hiTracerouter.
tinlib.ru
Библиотеки для компонентов тоже написаны на прологе.
Я-же предлагаю оперировать абстракциями на уровне семантики и более высших порядков тоже на прологе.
На нейронных сетях у меня отрицательный опыт. Справедливей сказать, что они заточены на уровень похожести чего-то на что-то и малоуправляемы без переучивания.
it-claim.ru
Здесь быстро не разобраться.

Ничего там сложного нет, просто корявым языком написано в стиле восьмидесятых.
Просто я намекаю, что по образу и подобию, надо попробовать автоматизировать процесс подбора слов для категорий(разбиение словаря на категории).
И делается это по текстам, а не по словарю. Например вот это я тоже не вручную делал. https://yadi.sk/d/ovVh1jXbAGfT0A
Я тоже в процессе эксперимента с категориями(понятиями).
nlpub.ru без комментариев.
http://www.machinelearning.ru/wiki/images/b/b3/Word2Vec.pdf - у меня не открывается.
Скачать не пробовал?
habr.com (word2vec)
Вектор характеризуется величиной и направлением - направленный отрезок прямой.
Это значит, что множество векторов находящихся близко в пространстве будут понятиями.
Конц вектора - это слово. Суммарное действие правил определяют направление вектора, а частотность длину. (упрощёно)
Слова(вектора) находящиеся на границах этих областей могут принадлежать нескольким категориям(понятиям).
Таким образом мы можем с большой точностью выбирать слова лежащие на поверхности векторного поля.
www.solarix.ru без комментариев.

Редактировалось 7 раз(а), последний 2019-08-29 05:32:46
карма: 6

1
Голосовали:Vadimluk1
Ответов: 632
Рейтинг: 4
#248: 2019-08-29 20:35:45 ЛС | профиль | цитата
flint2, насчёт "Смнонимы" как ты список "Flint2syn" смог создать?

Редактировалось 2 раз(а), последний 2019-08-29 20:36:17
карма: 0

0
Ответов: 2059
Рейтинг: 132
#249: 2019-08-29 22:24:54 ЛС | профиль | цитата
Vadimluk1,
1. Ну сразу так и не опишешь.
Надо целую статью писать. Я попробую поискать исходники (они у меня на C++, кое чего слизал с финского сайта, все пишут на плюсах, а портировать в delphi лень было).
Когда погибал старый комп, мне удалось кое чего спасти.
Если вкраце, - сканировал все тексты из своей библиотеки и делал список трибанков.
Можно использовать компонент hiTracerouter, но я делал на другом языке.
На ходу отсеивались дубликаты.
Поочерёдно брались слова из этого списка и делался другой список пар, или троек слов употребляемых с этим словом. сочинённое -> искомое -> подчинённое.
Это слова от которого зависит исходное слово, или подчинённые слова.
Потом брались эти слова и по ним составлялся такой-же список. Потом брались два-три этих списка и хитрым образом сравнивались. Тут мне тяжело кратко описать многоэтапный алгоритм, тем более словами.
Короче говоря в результате такого отсеивания оставались синонимы.
2. В результате наверное есть много ошибок. Во всяком случае мне попадалось около сотни разных несоответствий.
3. Для одного слова могут соответствовать группы слов с разными смысловыми понятиями.
Как их разделить, кроме как вручную я не знаю. А может и не надо разделять. Пока не решил.
4. Наверное список синонимов не полон, потому что делался список только из текстов фантастических произведений.
В общем малый объём - порядка 50 - 70 тысяч книжек и рассказов.
5. Тем не менее словарь получился гораздо богаче, чем в различных официальных изданиях.
6. Иногда попадаются похожие статьи для одного слова, только с разными падежами, хотя я фильтровал базар. Чего-то не каждый раз срабатывало. Но мысли есть почему. Переделывать не буду. Слишком долгий процесс, больше трёх суток непрерывной работы.
7. Словарь антонимов у меня не выходит получить таким-же образом.
Казалось-бы, антоним это противоположность синониму, ан нет, не получается.
Я сначала стал вручную дописывать антонимы в словарь.
Например:свободное время=досуг|время. Ant. рабочее время, или
аборигенный=коренной|местный|...аборигентский|коренной. Ant. иностранный
Сейчас начал делать отдельный словарь антонимов. Вручную очень тяжко.

Редактировалось 9 раз(а), последний 2019-08-29 23:30:32
карма: 6

0
Ответов: 632
Рейтинг: 4
#250: 2019-08-29 23:51:03 ЛС | профиль | цитата
flint2, алгоритм интересный. хотя пока как его воссоздавать не знаю. Вручную можно сделать словарь. Жалко, что вариантов нет, автоматизировать этот процесс.

Хотя, синонимы, наверно "сочинённое -> искомое -> подчинённое." так не совсем хорошо может получится найти. Чтобы их искать, в алгоритме должен заложен смысл слов.

Здесь насколько я понимаю, смысл слов переведено в цифры, а цифры в цвета.
.
Единственное, что останавливает, не понятно с чего начинать. Как смысл слов переводить в цифры?
карма: 0

0
Ответов: 2059
Рейтинг: 132
#251: 2019-08-30 00:22:45 ЛС | профиль | цитата
Vadimluk1 писал(а):
Хотя, синонимы, наверно "сочинённое -> искомое -> подчинённое." так не совсем хорошо может получится найти.

"сочинённое -> искомое -> подчинённое." - это разновидность трибанков.
Это часть синтаксического дерева!
Это заготовка для поиска синонимов и вообще для любых лингвистических вычислений!
Полезно будет почитать вот это:
https://habr.com/ru/post/79790/
https://habr.com/ru/post/79819/
https://habr.com/ru/post/79830/
https://habr.com/ru/post/79853/
https://habr.com/ru/post/79882/
https://habr.com/ru/post/79923/
https://habr.com/ru/post/79962/
https://habr.com/ru/post/80081/
https://habr.com/ru/post/80268/
https://habr.com/ru/post/82068/
В седьмой части есть и про трибанки.
P.S.
Я тоже по началу тыркался, собирал информацию, а потом в башке сработал триггер.
И как по щелчку стало всё ясно и прозрачно.
P.S.
Vadimluk1 писал(а):
Как смысл слов переводить в цифры?

Ты это смотрел?
http://panchenko.me/data/joint/senses/senses-librusec-all.norm-sz500-w10-cb0-it3-min5.w2v.vocab_1100000_similar250.conv-cw-e0-N200-n200-minsize5.csv.gz
Или это
http://panchenko.me/data/joint/ru/ddt-ru150g_trigram__FreqSigLMI__PruneContext_s_0.0_w_10_f_10_wf_0_wpfmax_1000_wpfmin_2_p_1000__AggrPerFt__SimCount_sc_one_ac_False__SimSortlimit_200_minsim_2-cw-e0-N200-n200-minsize5.csv.gz
Но мне это не нравится. А может для моих задач не очень подходит, да ещё мусор из разных падежей - фильтровать замучаешься. Надо ещё раз подумать.
Пример записи в формате CSV для слова "словесность":
словесность литература:0.693631, словесности:0.673393, поэзия:0.657318, литературу:0.646993, поэзию:0.625772, филология:0.623357, словесностью:0.614474, проза:0.610109, литературы:0.591108, литературная:0.583375, литератур:0.581673, литературоведение:0.581571, поэтику:0.576219, литтература:0.575055, прозу:0.571903, беллетристика:0.570541, книжность:0.567516, драматургия:0.565701, поэтика:0.565087, стихотворство:0.562407, публицистику:0.560926, публицистика:0.558548, журналистика:0.558000, допушкинскую:0.557183, поэзии:0.553815, литературные:0.552337, пиитику:0.550831, литературное:0.548529, допушкинской:0.547422, послепушкинская:0.545402, неотлучимы:0.545200, филологическая:0.542263, кребильйона:0.542140, реторической:0.541381, паралитературу:0.540992, своебытная:0.540851, риторика:0.540751, литературой:0.539374, пиитики:0.538791, бытописательскую:0.538671, витийственная:0.538429, пиитика:0.538293, японоязычная:0.537896, сентименталистская:0.536457, эстетика:0.536436, кантемиро:0.534982, эссеистика:0.534580, литературную:0.534455, преполнейший:0.534125, риторику:0.532908, философию:0.530697, литературных:0.530465, койпергейме:0.530071, литературной:0.529084, прозы:0.528637, допушкинское:0.528361, беллетристику:0.528068, философия:0.527975, художественная:0.527742, лингвопоэтика:0.527723, пиитике:0.526392, обэриутскую:0.525666, виршевой:0.525662, грамматика:0.525596
Надо попробовать программку сделать, чтобы наглядней было видно, какие выборки будут из этих файлов.
Такой результат мне не нравится http://serelex.cental.be/ru

Редактировалось 7 раз(а), последний 2019-08-30 02:04:30
карма: 6

0
Ответов: 2059
Рейтинг: 132
#252: 2019-08-31 10:34:54 ЛС | профиль | цитата
Мысли вслух:
Тут начал в архивах копаться, нашёл исходник arm.dll.
Библиотека работает в паре с dwf.dll в моих компонентах.
На dwf.dll исходника пока не нашёл. Но в нём описаны функции графметики и другие служебные, второстипенные функции для парсинга текста, в общем лабуда.
Так вот идея такая: раз уж есть некая база русских и английских слов, то можно сделать склонение и спряжение по параметрам переданным в функцию.
База слов там конечно не такая, как в словарях, но зато есть функция эвристического склонения\спряжения неизвестных слов.
Конечно я сейчас пьяненький, но почему-бы не сделать?
Смущает то, что всё равно надо разбивать слова на категории и понятия, а этого здесь не получится сделать.

Редактировалось 1 раз(а), последний 2019-08-31 11:00:55
карма: 6

0
Ответов: 2059
Рейтинг: 132
#253: 2019-08-31 12:48:20 ЛС | профиль | цитата
flint2 писал(а):
Ты это смотрел?

Короче Склифасовский, не сердись я с добрыми чувствами.
Короче, я тут ещё заправился, осмелел и сделал программку для чтения вышеуказанных файлов.
Можно было и не делать, если-бы у меня было больше памяти на компе.
В общем это полнейшая туфта и лабуда! Ф топку её доктор Борменталь!

Редактировалось 3 раз(а), последний 2019-08-31 13:12:06
карма: 6

0
Ответов: 632
Рейтинг: 4
#254: 2019-08-31 17:22:52 ЛС | профиль | цитата
flint2, у меня сейчас не понятно, что будет со временем. Я все почитаю. Обещать плохая привычка, поэтому буду стараться.
карма: 0

0
Ответов: 1926
Рейтинг: 172
#255: 2019-08-31 20:04:44 ЛС | профиль | цитата
Vadimluk1, а ты не боишься, что ИИ на твоём компьютере дойдёт до такой степени развития, что вдруг превратится в вирус? Ведь если он осознает себя как личность, то явно не захочет, чтобы его взяли и удалили, как обычную программу.
карма: 9
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)