Добрый день! Нам не известны аналоги. Достаточно развита тема грамматических парсеров (например, Universal Dependencies), но они работают на уровне слов, а это на наш взгляд тупиковый путь.
Для отображения используем библиотеку Cytoscape.js. Узлы сети - понятия (объекты или действия, действия фиолетовым цветом выделены). Стрелки между узлами - отношения между понятиями (мы их ещё характеристиками называем).
RDF нам не нужен был до сих пор. Если возникнет необходимость можно будет сделать, наверно.
А на счёт семантических анализаторов не соглашусь. На мой взгляд, перспективно не текущее состояние, когда есть ВХОД-LLM-ВЫХОД, а когда LLM используется в интерфейсной части, а внутри строится некая графовая модель.
Согласен, что с течением времени, все сложнее будет отличать биологических людей от цифровых агентов, и с этой точки зрения вообще вся проблематика капчи (типа быстро понять кто на другом конце провода) будет сомнительна. Скорее будут введены какие-то паспорта живого человека...
Или капчи будут требовать принятия решений в абсолютно новых ситуациях, которых не было в прошлом опыте и на которых не обучались цифровые агенты. Но такие капчи и не все живые люди пройдут ?
Фразы с подобными ссылками ("Красная свекла и желтый банан. Она большая.") как этот код разберет? Пропуски - это фразы типа "большие красные и маленькие зеленые груши" (по смыслу пропущены "груши" после "большие красные").
Это просто демо, и как уже упоминалось в статье, можно усложнять схему присвоения свойств используя разные формы ссылок.
На слове владелец можно увидеть понимание системой разных контекстов его использования. Например во фразе "Я владелец фермы. Владельцев фермы много" владелец выступает и как свойство (связь между объектами) и как объект со свойствами.
Я, честно говоря, не совсем понял ваш вопрос. Мы не использовали в работе что-то, что я могу отнести к критерию "четкости" или "несмешиваемости". Характеристики и зависимости - однозначны. слова означают то, что записано в базу знаний системы. Значений может быть несколько. Какое из них использовать определяет программа на основе текущего текста и содержимого базы знаний.
Не очень понятно что такое верх и низ в вашем понимании. Если идёт стрелка от одного узла графа к другому где тут верх или низ?
В систему предварительно занесён ряд понятий, некоторые из них отдельные, а некоторые связаны неким отношением, как его называть не важно, а важно что наличие этого отношения влияет на работу анализатора. Встретив слово «сорт» программа понимает что это может быть или свойство связывающее два объекта, либо обобщенное понятие о сорте. И далее в зависимости от других слов и их грамматических признаков выбирается то или иное понятие. Как-то так, вкратце.
Какого-то особого выделения для понятий от которых идут связи (верх?) и понятий к которым идут связи (низ?) мы не делаем.
Также не используем термин «подчинение».
Ок. Постараемся в следующей версии более явно показать работу с разным значением слова в зависимости от контекста.
А не получается использовать модели во многом из-за укоренившегося объектного подхода — классы, наследование и т.д. — там все умирает при увеличении сложности.
Спасибо за вашу оценку. Масштабируемость постараемся продемонстрировать в ходе развития демо. Если есть пожелания в части предметной области или каких-то оборотов речи, пишите, попробуем учесть.
Мы не используем такое понятие - "план выражения / план содержания", поэтому не могу про него ничего сказать.
А то, что слово или другие элементы текста могут отображаться в разные понятия, то да. Какое понятие в данном случае выбрать решает анализатор. Например в данном демо "сорт" может выражать как связь между объектами (для фразы "сорт яблок "Голден", яблоки->сорт->"Голден"), так и объект (для фразы "сортов яблок много"). Это разные понятия, хотя и связанные.
И нет, слово у нас не "конечный пункт назначения". Работа идет с понятиями, стоящими за словами.
Что вы называете более реалистичным функционалом? Знание системой понятий в объеме какого-то усредненного человека или специалиста в какой-то области? Это трудоёмкие задачи, но если будет кто-то кто готов их финансировать, то можно и этим заняться.
Если речь о каких-то особенных грамматических конструкциях, то будем постепенно их реализовывать. Как реализуем, сообщим.
Где в онлайне можно посмотреть на работу программы SHRDLU?
Насчет "смешного" текущего уровня ИИ согласен. Плохо, что от частого неоправданного использования, дискредитируется сам термин искусственный интеллект. Очень актуальна задача перехода от "глубокого обучения" к более высокоуровневым алгоритмам. А для этого надо понять с какими понятиями работает мозг. Если проводить аналогию с электронными компонентами, то необходимо перейти от рассмотрения отдельных транзисторов к рассмотрению функциональных блоков, дискретных элементов, микросхем.
Собственно в статье я и сделал такую попытку - описанный в разделе 2.1 базовый системный элемент мог бы, на мой взгляд, служить таким базовым блоком. Но наверняка кто-то может и другие гипотезы предложить.
Мне кажется что середины «луковицы» и нет уже. Специалисты по нейрофизиологии и нейрохимии возможно меня поправят, но механизм рефлексов и эмоций вроде более-менее понятен — связи между нейронами и выброс химических веществ в мозгу.
Определенные комбинации сигналов с сенсоров приводят к рефлекторным реакциям или выбросу тех или иных веществ в мозг, которые и влияют на выполняемые действия.
В целом согласен, но я бы не противопостовлял сознание эмоциям и рефлексам. На мой взгляд, это все разные механизмы выбора действий (поведения) и они существуют в любом человеке одновременно. Хотя конечно у одних сознательная часть сильнее, у других слабее.
"может быть один экземпляр свойства между многими объектами"
- Возможно, я не совсем понял, что вы имеете в виду, но один экземпляр вполне может быть как значение свойства, да. Но смысл свойства определяется не значением, а тем откуда оно получается. Например "высота = 2" и "ширина = 2" - ссылаются на один и тот же объект (2), но имеют разный смысл, так как ссылки идут из разных областей памяти. И тип объекта (в данном случае - целое число) не определяет смысл свойства. Можно сделать класс или структуру, назвать ее Color, но смысл у нее появится только в зависимости от того как мы ее будем использовать, то есть откуда будем на нее ссылаться.
" Потому что по определению, объект - это данные и методы их обработки."
- это в объектно-ориентированном программировании.Именно это положение и предлагается пересмотреть в предлагаемом свойство-ориентированном подходе.
Добрый день! Нам не известны аналоги. Достаточно развита тема грамматических парсеров (например, Universal Dependencies), но они работают на уровне слов, а это на наш взгляд тупиковый путь.
Для отображения используем библиотеку Cytoscape.js. Узлы сети - понятия (объекты или действия, действия фиолетовым цветом выделены). Стрелки между узлами - отношения между понятиями (мы их ещё характеристиками называем).
RDF нам не нужен был до сих пор. Если возникнет необходимость можно будет сделать, наверно.
А на счёт семантических анализаторов не соглашусь. На мой взгляд, перспективно не текущее состояние, когда есть ВХОД-LLM-ВЫХОД, а когда LLM используется в интерфейсной части, а внутри строится некая графовая модель.
То есть: ВХОД-LLM-Модель-LLM-ВЫХОД
Согласен, что с течением времени, все сложнее будет отличать биологических людей от цифровых агентов, и с этой точки зрения вообще вся проблематика капчи (типа быстро понять кто на другом конце провода) будет сомнительна. Скорее будут введены какие-то паспорта живого человека...
Или капчи будут требовать принятия решений в абсолютно новых ситуациях, которых не было в прошлом опыте и на которых не обучались цифровые агенты. Но такие капчи и не все живые люди пройдут ?
И не только глаголами - например, "лежание яблок на столе"?
Фразы с подобными ссылками ("Красная свекла и желтый банан. Она большая.") как этот код разберет? Пропуски - это фразы типа "большие красные и маленькие зеленые груши" (по смыслу пропущены "груши" после "большие красные").
Это просто демо, и как уже упоминалось в статье, можно усложнять схему присвоения свойств используя разные формы ссылок.
Здорово, что вы сразу код приводите, но непонятно, как ваш код местоименные ссылки обрабатывает и пропуски слов.
Добрый день всем!
Дополнили базу знаний демо. Добавили овощей, фруктов и других понятий:
помидор/томат, лимон, апельсин, персик, виноград
ферма, фермерский
владелец
колхоз, колхозный
Также реализовали обработку фамилий, то есть можно писать фразы типа "Владелец тыкв Иванов", "Сергеенко владелец 28725 апельсинов" и пр.
На слове владелец можно увидеть понимание системой разных контекстов его использования. Например во фразе "Я владелец фермы. Владельцев фермы много" владелец выступает и как свойство (связь между объектами) и как объект со свойствами.
Я, честно говоря, не совсем понял ваш вопрос. Мы не использовали в работе что-то, что я могу отнести к критерию "четкости" или "несмешиваемости". Характеристики и зависимости - однозначны. слова означают то, что записано в базу знаний системы. Значений может быть несколько. Какое из них использовать определяет программа на основе текущего текста и содержимого базы знаний.
В систему предварительно занесён ряд понятий, некоторые из них отдельные, а некоторые связаны неким отношением, как его называть не важно, а важно что наличие этого отношения влияет на работу анализатора. Встретив слово «сорт» программа понимает что это может быть или свойство связывающее два объекта, либо обобщенное понятие о сорте. И далее в зависимости от других слов и их грамматических признаков выбирается то или иное понятие. Как-то так, вкратце.
Какого-то особого выделения для понятий от которых идут связи (верх?) и понятий к которым идут связи (низ?) мы не делаем.
Также не используем термин «подчинение».
А не получается использовать модели во многом из-за укоренившегося объектного подхода — классы, наследование и т.д. — там все умирает при увеличении сложности.
Мы не используем такое понятие - "план выражения / план содержания", поэтому не могу про него ничего сказать.
А то, что слово или другие элементы текста могут отображаться в разные понятия, то да. Какое понятие в данном случае выбрать решает анализатор. Например в данном демо "сорт" может выражать как связь между объектами (для фразы "сорт яблок "Голден", яблоки->сорт->"Голден"), так и объект (для фразы "сортов яблок много"). Это разные понятия, хотя и связанные.
И нет, слово у нас не "конечный пункт назначения". Работа идет с понятиями, стоящими за словами.
Если речь о каких-то особенных грамматических конструкциях, то будем постепенно их реализовывать. Как реализуем, сообщим.
Где в онлайне можно посмотреть на работу программы SHRDLU?
По науке — увы, это так.
Насчет "смешного" текущего уровня ИИ согласен. Плохо, что от частого неоправданного использования, дискредитируется сам термин искусственный интеллект. Очень актуальна задача перехода от "глубокого обучения" к более высокоуровневым алгоритмам. А для этого надо понять с какими понятиями работает мозг. Если проводить аналогию с электронными компонентами, то необходимо перейти от рассмотрения отдельных транзисторов к рассмотрению функциональных блоков, дискретных элементов, микросхем.
Собственно в статье я и сделал такую попытку - описанный в разделе 2.1 базовый системный элемент мог бы, на мой взгляд, служить таким базовым блоком. Но наверняка кто-то может и другие гипотезы предложить.
Определенные комбинации сигналов с сенсоров приводят к рефлекторным реакциям или выбросу тех или иных веществ в мозг, которые и влияют на выполняемые действия.
"может быть один экземпляр свойства между многими объектами"
- Возможно, я не совсем понял, что вы имеете в виду, но один экземпляр вполне может быть как значение свойства, да. Но смысл свойства определяется не значением, а тем откуда оно получается. Например "высота = 2" и "ширина = 2" - ссылаются на один и тот же объект (2), но имеют разный смысл, так как ссылки идут из разных областей памяти. И тип объекта (в данном случае - целое число) не определяет смысл свойства. Можно сделать класс или структуру, назвать ее Color, но смысл у нее появится только в зависимости от того как мы ее будем использовать, то есть откуда будем на нее ссылаться.
" Потому что по определению, объект - это данные и методы их обработки."
- это в объектно-ориентированном программировании. Именно это положение и предлагается пересмотреть в предлагаемом свойство-ориентированном подходе.