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