Комментарии 39
каковы ваши достижения с подобным подходом?
Пока рано хвастаться. Только в процессе углубленной проверки теории и оптимизации алгоритма жадного классификатора.
Вот как раз в середине января планируем обзорную статью по результатам текущих экспериментов.
В процессе разработки сейчас большой эксперимент по вычислению иерархии контекстов текстовых потоков (персонажи, темы обсуждений и описаний, упоминаемые объекты, субъекты, ситуации). Скорее всего на новогодних каникулах сможем эксперимент завершить и подготовить статью по результатам. Ожидаем довольно большой объем промежуточного мусора, на котором сможем отработать механизмы настройки классификатора для ускорения обучения подбором перспективных обобщений на высоких уровнях.
В плане выхода за пределы заранее подготовленных текстовых файлов, сейчас продумываем эксперимент по применению системы в распознавании естественной (слитной) речи в обычной беседе (несколько собеседников). Результатом должен стать текстовый протокол такой беседы, разделенный по собеседникам, с вычисленными контекстами (тематика, роли/имена участников, обнаруженные цитаты и связанные материалы).
Вот как раз в середине января планируем обзорную статью по результатам текущих экспериментов.
В процессе разработки сейчас большой эксперимент по вычислению иерархии контекстов текстовых потоков (персонажи, темы обсуждений и описаний, упоминаемые объекты, субъекты, ситуации). Скорее всего на новогодних каникулах сможем эксперимент завершить и подготовить статью по результатам. Ожидаем довольно большой объем промежуточного мусора, на котором сможем отработать механизмы настройки классификатора для ускорения обучения подбором перспективных обобщений на высоких уровнях.
В плане выхода за пределы заранее подготовленных текстовых файлов, сейчас продумываем эксперимент по применению системы в распознавании естественной (слитной) речи в обычной беседе (несколько собеседников). Результатом должен стать текстовый протокол такой беседы, разделенный по собеседникам, с вычисленными контекстами (тематика, роли/имена участников, обнаруженные цитаты и связанные материалы).
Метод предложенный вами — хорош.
Обычно проблемы начинаются со слишком большим количеством перестановок всего и вся.
Удачи вам в откидывании мусора )
Обычно проблемы начинаются со слишком большим количеством перестановок всего и вся.
Удачи вам в откидывании мусора )
А в чем отличие от ABBYY Compreno?
ABBYY делают семантическую модель вручную и используют синтактический разбор слов. Мы называем это хаком интеллекта.
Наш классификатор работает с текстами без какой-либо предварительной заданной структуры текста. Только посимвольная обработка. Никакие обобщения заранее не определяются, специалист вмешивается в процесс обучения уже на высоких уровнях обобщений (для бинарной иерархии — в среднем от седьмого до двенадцатого уровня обобщений)
Наш классификатор работает с текстами без какой-либо предварительной заданной структуры текста. Только посимвольная обработка. Никакие обобщения заранее не определяются, специалист вмешивается в процесс обучения уже на высоких уровнях обобщений (для бинарной иерархии — в среднем от седьмого до двенадцатого уровня обобщений)
1) Вы очень смело рассуждаете о том, как следует рассматривать сознание. Можете дать определение термина «Сознание», которым пользуетесь в своих исследованиях?
2) Так же интересует точное определение термина «элементарная единица смысла», приведенного в вашей статье;
3) Можете рассказать каким образом вы решаете проблему с выделениями корней слов русского языка и соответственно — разбором падежных склонений при распознавании слов? Используете словари или у вас свой стеммер, или что-то иное?
4) Если я правильно понимаю, вы используете как основу частотно-статистический подход, происходящий от численной теории информации Шеннона? Как вы относитесь к исследованиям советских академиков 60-80хх. годов прошлого века, напр. Ю.А Шрейдер или Ю.К. Орлов, которые считали что подход к анализу текстов исходя из количественной теории информации весьма неточен, т.к. слово или символ априори не может считаться случайным событием (для которого рассчитывается согласно теории Шеннона вероятность появления) — поскольку находится в тексте с совершенно неслучайной целью, и в строго регламентированном правилами языка месте (из чего впоследствии вырос подход к семантике, основанный на исчислении предикатов).
2) Так же интересует точное определение термина «элементарная единица смысла», приведенного в вашей статье;
3) Можете рассказать каким образом вы решаете проблему с выделениями корней слов русского языка и соответственно — разбором падежных склонений при распознавании слов? Используете словари или у вас свой стеммер, или что-то иное?
4) Если я правильно понимаю, вы используете как основу частотно-статистический подход, происходящий от численной теории информации Шеннона? Как вы относитесь к исследованиям советских академиков 60-80хх. годов прошлого века, напр. Ю.А Шрейдер или Ю.К. Орлов, которые считали что подход к анализу текстов исходя из количественной теории информации весьма неточен, т.к. слово или символ априори не может считаться случайным событием (для которого рассчитывается согласно теории Шеннона вероятность появления) — поскольку находится в тексте с совершенно неслучайной целью, и в строго регламентированном правилами языка месте (из чего впоследствии вырос подход к семантике, основанный на исчислении предикатов).
Хорошие вопросы, но они очень глубокие, а поэтому на них совсем не просто ответить. Я начну по порядку… Только, скорее всего, текст может оказаться непростым для восприятия. Трудно излагать незнакомому собеседнику целую парадигму в небольшом объеме комментария. Тут по каждому вопросу можно спокойно статью написать.
1,2) Термин «сознание» я использую очень утилитарно. Сразу сделаю ремарку, что разделяю термины «психика» как более общее и «сознание» как очень частное. Если конкретно, то это «различающее сознание» (см. санскр. vijnana). Проще говоря, сознание это различающие признаки и их обобщения. Например красное, синее, высокое, тонкое — это визуальные признаки различения. Громкое, тихое, звонкое, глухое — это аудиальные признаки различения. И так дальше — вкусы, запахи, осязания. Все они обобщаются до образов, которые различаются на основе этих признаков. Вот собственно элементарная единица смысла — это такой устойчивый признак различения. В западной философии для определения этого использовался термин «квалии». В восточной — дхармы.
Поскольку часто люди воспринимают слово «сознание» как что-то умеющее знать, обладающее знанием, я использую для такого обобщения термин «психика». В некотором смысле это вынужденный ход, потому что в восточных философиях место для термина виджняна уже определено, и именно термин виджняна принято переводить как сознание. А ум в целом, как совокупность моментов осознания я обозначаю словом «психика» и это довольно неплохо соответствует западной философской традиции.
Психика же включает в себя помимо признаков тоже достаточно конкретно определенные звенья: действия, различения (т.е. сознание), обобщения, выявленные наиболее постоянные категории (опоры), сопоставление ожидаемых и актуально различаемых признаков и обобщений,
3) Мы не решаем проблемы выделения корней слов и не разбираем падежные склонения при распознавании. Ребенок когда учится слушать и говорить (да и читать-писать) еще не знает всех этих проблем, а это значит, что такие задачи ставить не обязательно. Наша гипотеза состоит в том, что сначала психика ребенка формирует гораздо более общие представления, чем отдельные слова, и лишь затем учится их разбирать при анализе. Есть разница в обучении взрослого и ребенка. Взрослому проще разбирать структурно, то есть по аналогии с уже изученным и проанализированным. Ребенку проще изучать по аналогии (т.е. услышать — запомнить — воспроизвести — поэкспериментировать — выявить исключения и пределы применимости). Поэтому мы полагаем, что механизм обобщения — ключевой в организации психики. Но это еще требуется доказать
4) Нет, мы не строим частотные словари, мы обобщаем переходы от символа к символу. Здесь применяется наше ноу-хау, которое я не смогу раскрыть в деталях, только довольно обобщенно. Это модель списка цепочек условных вероятностей. Например, есть ключ «М… М… М.» — и у нас в базе есть для этого ключа обобщение «МАМА МЫЛА РАМУ». Поэтому, когда у нас появляется в потоке символ М, мы можем выбрать список наиболее вероятных кандидатов в обобщения (с учетом предыдущей работы классификатора, конечно) и выбрать ожидаемый символ, которые быстрее всего сократит число кандидатов. Мы ищем символ на дистанции в 4 символа от текущего и ожидаем, что его значение «М». Если это подтверждается, количество вариантов сокращается, возможно — до одного. Выяснив наличие обобщения мы можем проверить, с разной точностью, что это действительно оно, или, возможно, есть вариация этого обобщения, которая похожа, но отличается. Есть немало эвристик, которые помогают решать эту задачу на малой мощности данных, управляя направлением развития комбинаторного взрыва, но пока мы не можем их рассматривать в публикации.
1,2) Термин «сознание» я использую очень утилитарно. Сразу сделаю ремарку, что разделяю термины «психика» как более общее и «сознание» как очень частное. Если конкретно, то это «различающее сознание» (см. санскр. vijnana). Проще говоря, сознание это различающие признаки и их обобщения. Например красное, синее, высокое, тонкое — это визуальные признаки различения. Громкое, тихое, звонкое, глухое — это аудиальные признаки различения. И так дальше — вкусы, запахи, осязания. Все они обобщаются до образов, которые различаются на основе этих признаков. Вот собственно элементарная единица смысла — это такой устойчивый признак различения. В западной философии для определения этого использовался термин «квалии». В восточной — дхармы.
Поскольку часто люди воспринимают слово «сознание» как что-то умеющее знать, обладающее знанием, я использую для такого обобщения термин «психика». В некотором смысле это вынужденный ход, потому что в восточных философиях место для термина виджняна уже определено, и именно термин виджняна принято переводить как сознание. А ум в целом, как совокупность моментов осознания я обозначаю словом «психика» и это довольно неплохо соответствует западной философской традиции.
Психика же включает в себя помимо признаков тоже достаточно конкретно определенные звенья: действия, различения (т.е. сознание), обобщения, выявленные наиболее постоянные категории (опоры), сопоставление ожидаемых и актуально различаемых признаков и обобщений,
3) Мы не решаем проблемы выделения корней слов и не разбираем падежные склонения при распознавании. Ребенок когда учится слушать и говорить (да и читать-писать) еще не знает всех этих проблем, а это значит, что такие задачи ставить не обязательно. Наша гипотеза состоит в том, что сначала психика ребенка формирует гораздо более общие представления, чем отдельные слова, и лишь затем учится их разбирать при анализе. Есть разница в обучении взрослого и ребенка. Взрослому проще разбирать структурно, то есть по аналогии с уже изученным и проанализированным. Ребенку проще изучать по аналогии (т.е. услышать — запомнить — воспроизвести — поэкспериментировать — выявить исключения и пределы применимости). Поэтому мы полагаем, что механизм обобщения — ключевой в организации психики. Но это еще требуется доказать
4) Нет, мы не строим частотные словари, мы обобщаем переходы от символа к символу. Здесь применяется наше ноу-хау, которое я не смогу раскрыть в деталях, только довольно обобщенно. Это модель списка цепочек условных вероятностей. Например, есть ключ «М… М… М.» — и у нас в базе есть для этого ключа обобщение «МАМА МЫЛА РАМУ». Поэтому, когда у нас появляется в потоке символ М, мы можем выбрать список наиболее вероятных кандидатов в обобщения (с учетом предыдущей работы классификатора, конечно) и выбрать ожидаемый символ, которые быстрее всего сократит число кандидатов. Мы ищем символ на дистанции в 4 символа от текущего и ожидаем, что его значение «М». Если это подтверждается, количество вариантов сокращается, возможно — до одного. Выяснив наличие обобщения мы можем проверить, с разной точностью, что это действительно оно, или, возможно, есть вариация этого обобщения, которая похожа, но отличается. Есть немало эвристик, которые помогают решать эту задачу на малой мощности данных, управляя направлением развития комбинаторного взрыва, но пока мы не можем их рассматривать в публикации.
Тема и вправду получается очень большая. Поэтому, чтобы сократить объем сообщений, я решил разделить дальнейшие вопросы и задавать их по очереди — чтобы лучше понять вашу концепцию и заодно не разрывать шаблон пользователям с «синдромом многабукав». +))
Насколько я разобрался с термином vijnana (http://ru.wikipedia.org/wiki/Виджняна), которую вы отождествляете с термином сознание — в своей сути он означает "осознание самого себя", т.е. то, что Декарт выразил в классической фразе — «Я мыслю, следовательно существую».
Далее вы утверждаете, что «сознание — это различающие признаки и их обобщения», а признак различения, как базовый компонент сознания, и является элементарной единицей смысла для определения которого в западной философии, согласно вам, используется термин квалиа.
Из чего следует мой первый вопрос:
1) Если для вас "элементарная единица смысла — это такой устойчивый признак различения", то как вы определяете сам термин смысл?
Правильно ли я понимаю, что смысл согласно вашей логике, является неким множеством элементарных единиц смысла, т.е. множеством признаков различения, сгруппированных в образы по какому-то принципу?
Например в виде структур связной речи — для вербального выражения или же в некоем абстрактном виде — как базовый элемент сознания, множество которых и порождает сознание как явление согласно некому механизму, который пока-что будем условно считать «черным ящиком»?
Насколько я разобрался с термином vijnana (http://ru.wikipedia.org/wiki/Виджняна), которую вы отождествляете с термином сознание — в своей сути он означает "осознание самого себя", т.е. то, что Декарт выразил в классической фразе — «Я мыслю, следовательно существую».
Далее вы утверждаете, что «сознание — это различающие признаки и их обобщения», а признак различения, как базовый компонент сознания, и является элементарной единицей смысла для определения которого в западной философии, согласно вам, используется термин квалиа.
Из чего следует мой первый вопрос:
1) Если для вас "элементарная единица смысла — это такой устойчивый признак различения", то как вы определяете сам термин смысл?
Правильно ли я понимаю, что смысл согласно вашей логике, является неким множеством элементарных единиц смысла, т.е. множеством признаков различения, сгруппированных в образы по какому-то принципу?
Например в виде структур связной речи — для вербального выражения или же в некоем абстрактном виде — как базовый элемент сознания, множество которых и порождает сознание как явление согласно некому механизму, который пока-что будем условно считать «черным ящиком»?
Насчет виджняна, осознание себя имеется в виду осознание этих самих пяти совокупностей (скандх). То есть это просто наивысший уровень обобщения (я присутствует во всем, что я воспринимаю).
Что касается Вашего вопроса, Вы довольно близко определили смысл. Я определяю смысл как минимальный набор наиболее высокоуровневых обобщений, определяющих некую ситуацию (набор воспринимаемых признаков). Но чисто философски это нужно разворачивать, а местами даже — доказывать. Проще говоря, смысл четырех ножек и седалища — тумбочка, смысл сладкого, белого и холодного — мороженное. Вряд ли это можно называть исчерпывающим определением, поскольку слово смысл довольно широко определяется как обобщение явное или не явное. То есть, под смыслом сказки может пониматься некий частный признак в нее входящий явно (мораль) или неявно (намек).
Но вот насчет «порождения сознания» — тут как раз этап черного ящика мной уже давно пройден. Теперь это не черный ящик, а собственно, множество связанных иерархий обобщений. Каждая ситуация исследуется сознанием для построения наиболее устойчивого обобщения, помогающего прогнозировать изменения в этой ситуации. Понимание ситуации — это собственно контекст из наиболее общих признаков. Переход от непонимания к пониманию — это осознание.
Сознание как явление — это движение внимания от обобщения к обобщению, назад к воспринимаемым признакам, с ожиданием их и подтверждением или опровержением.
К сожалению, я еще не определился однозначно с непротиворечивой и, по возможности, полной системой определений и терминов, а в используемых словах местами тесновато, местами болтаюсь как в проруби.
Мало спроектировать модель, нужно еще научиться ее выразительно описывать. Надеюсь, что по мере исследований последовательно определюсь и с терминологией.
Что касается Вашего вопроса, Вы довольно близко определили смысл. Я определяю смысл как минимальный набор наиболее высокоуровневых обобщений, определяющих некую ситуацию (набор воспринимаемых признаков). Но чисто философски это нужно разворачивать, а местами даже — доказывать. Проще говоря, смысл четырех ножек и седалища — тумбочка, смысл сладкого, белого и холодного — мороженное. Вряд ли это можно называть исчерпывающим определением, поскольку слово смысл довольно широко определяется как обобщение явное или не явное. То есть, под смыслом сказки может пониматься некий частный признак в нее входящий явно (мораль) или неявно (намек).
Но вот насчет «порождения сознания» — тут как раз этап черного ящика мной уже давно пройден. Теперь это не черный ящик, а собственно, множество связанных иерархий обобщений. Каждая ситуация исследуется сознанием для построения наиболее устойчивого обобщения, помогающего прогнозировать изменения в этой ситуации. Понимание ситуации — это собственно контекст из наиболее общих признаков. Переход от непонимания к пониманию — это осознание.
Сознание как явление — это движение внимания от обобщения к обобщению, назад к воспринимаемым признакам, с ожиданием их и подтверждением или опровержением.
К сожалению, я еще не определился однозначно с непротиворечивой и, по возможности, полной системой определений и терминов, а в используемых словах местами тесновато, местами болтаюсь как в проруби.
Мало спроектировать модель, нужно еще научиться ее выразительно описывать. Надеюсь, что по мере исследований последовательно определюсь и с терминологией.
Хорошо, тогда следующий вопрос. Касательно корней слов и падежей, аналогия с обучением понятна — но ведь вы пишете, что «для классификатора важен устойчивый смысл схожих слов в практике их применения» и «чисто статистически, слова это часто встречающиеся сочетания символов. Эти сочетания встречаются вполне устойчиво и куда чаще, чем чуть-чуть другие сочетания символов».
1) Если вы не используете распознавание форм слова — то как вы определяете, что слово А в одной конструкции и слово B в другой — это действительно одно и то же слово, даже если они находятся в разных формах?
Ведь формы слов могут изменяться довольно существенно, не меняя при этом смысла всей конструкции — а бинарное дерево ошибется.
2) Какова погрешность предположения — что А и B в тексте, это одно и то же слово, лишь исходя из статистики бинарного дерева, которое какое-то количество проверенных раз, действительно однозначно определило истинность наличия слова, которое должно идентифицировать?
1) Если вы не используете распознавание форм слова — то как вы определяете, что слово А в одной конструкции и слово B в другой — это действительно одно и то же слово, даже если они находятся в разных формах?
Ведь формы слов могут изменяться довольно существенно, не меняя при этом смысла всей конструкции — а бинарное дерево ошибется.
2) Какова погрешность предположения — что А и B в тексте, это одно и то же слово, лишь исходя из статистики бинарного дерева, которое какое-то количество проверенных раз, действительно однозначно определило истинность наличия слова, которое должно идентифицировать?
Классификатор не использует никаких предварительных знаний о синтаксисе и семантике. Он только находит устойчивые сочетания символов и далее обобщения сочетаний, обобщения обобщений и т.д.
Проще говоря,
1) мы не распознаем формы слов
2) по мере обработки разных форм слов и их синонимов в словосочетаниях, классификатор относит разные формы слов и разные слова к обобщениям этих форм и этих слов
Мы не хотим учить классификатор каким-то особенным трюкам, мы хотим, чтобы классификатор сам выработал обобщение (бегемот, гиппопотам)
Построить алгоритм, который будет выявлять такие обобщения по использованию в текстах — основная задача. Построить подходящие тексты, по которым это обобщение будет построено в ожидаемые сроки — поддерживающая задача.
Проще говоря,
1) мы не распознаем формы слов
2) по мере обработки разных форм слов и их синонимов в словосочетаниях, классификатор относит разные формы слов и разные слова к обобщениям этих форм и этих слов
Мы не хотим учить классификатор каким-то особенным трюкам, мы хотим, чтобы классификатор сам выработал обобщение (бегемот, гиппопотам)
Построить алгоритм, который будет выявлять такие обобщения по использованию в текстах — основная задача. Построить подходящие тексты, по которым это обобщение будет построено в ожидаемые сроки — поддерживающая задача.
Используете ли вы нейросети?
Я в своих экспериментах для запоминания последовательности символов использовал рекуррентные нейросети с обучением без учителя. После обучения, в процессе чтения состояние обобщающего слоя наверно можно было назвать «слепком сознания» — он накапливал опыт предыдущего чтения, позволяя делать предсказания на счет будущих символов. Планировал конкретное состояние использовать для обучения более высоким (полезным) абстракциям уже с учителем.
Я в своих экспериментах для запоминания последовательности символов использовал рекуррентные нейросети с обучением без учителя. После обучения, в процессе чтения состояние обобщающего слоя наверно можно было назвать «слепком сознания» — он накапливал опыт предыдущего чтения, позволяя делать предсказания на счет будущих символов. Планировал конкретное состояние использовать для обучения более высоким (полезным) абстракциям уже с учителем.
Нейросети сейчас не использую. Были некоторые идеи реализации (и в дальнейшем можно достаточно хорошо распараллелить вычисление обобщений, в том числе на нейросетях). Но сейчас главенствует парадигма последовательного движения внимания.
Поскольку внимание последовательно переходит от обобщения к обобщению в уме, мне тоже проще реализовывать последовательную модель выявления устойчивых признаков и структуры их обобщений.
Дело в том, что обучение происходит наработкой последовательных «петлей» внимания, а вот когда структура смысла уже сложилась, можно использовать и параллельное распознавание (хотя на мой взгляд в этом нет необходимости, когда внимание перемещается по наиболее эффективному пути — параллельность только помогает подготовить признаки, которые долго вычислять).
Дело в том, что движение внимания классификатора не последовательно. Могут быть последовательные секции, но они редко достаточно длинны. По первичным оценкам, больше 5 последовательных символов в последовательности — редкость. Обычно от одного до трех, и дальше смещение на некоторую дистанцию. При том, что отыскиваются обычно стоп-символы (опровергающие максимум гипотез), то наиболее частая картина выглядит как «Ы (+1) Л (-3) пробел (+5) пробел (-1) А (-3) М». Это если очистить от символов обобщений в промежутках.
У меня главная проблема таилась в том, как эти более высокие абстракции вообще выводить. Тут и модель с мультиаттрактором была и модель с сетью осцилляторов, и модель узлов ретрансляции с сопротивлением выхода и много еще разных идей, разной степени интересности и полезности.
Поскольку внимание последовательно переходит от обобщения к обобщению в уме, мне тоже проще реализовывать последовательную модель выявления устойчивых признаков и структуры их обобщений.
Дело в том, что обучение происходит наработкой последовательных «петлей» внимания, а вот когда структура смысла уже сложилась, можно использовать и параллельное распознавание (хотя на мой взгляд в этом нет необходимости, когда внимание перемещается по наиболее эффективному пути — параллельность только помогает подготовить признаки, которые долго вычислять).
Дело в том, что движение внимания классификатора не последовательно. Могут быть последовательные секции, но они редко достаточно длинны. По первичным оценкам, больше 5 последовательных символов в последовательности — редкость. Обычно от одного до трех, и дальше смещение на некоторую дистанцию. При том, что отыскиваются обычно стоп-символы (опровергающие максимум гипотез), то наиболее частая картина выглядит как «Ы (+1) Л (-3) пробел (+5) пробел (-1) А (-3) М». Это если очистить от символов обобщений в промежутках.
У меня главная проблема таилась в том, как эти более высокие абстракции вообще выводить. Тут и модель с мультиаттрактором была и модель с сетью осцилляторов, и модель узлов ретрансляции с сопротивлением выхода и много еще разных идей, разной степени интересности и полезности.
У меня главная проблема таилась в том, как эти более высокие абстракции вообще выводить
А вы решили эту проблему?
Есть подозрения, что проблема вывода более высоких абстракций состоит в выявлении полезности этих абстракций или для человека, как учителя, или для самой системы — это уже ближе к reinforcement learning.
Да, есть гипотеза, решающая эту проблему. Проверяем ее.
Суть в том, что да, полезность это важный фактор. Однако, сам вывод того, из чего выбирается полезное — это по сути оптимизация контура внимания, а не его формирование в целом. Вывод более высоких абстракций по сути такой же, как вывод самых первичных обобщений. Частота переходов. Просто если делать такой классификатор в лоб, то объемы обобщений уже на четвертом уровне — огромны. Но если делать жадный классификатор, быстро забирающийся по уровням и отсекающий ненужные вычисления на нижнем уровне, то в любом ограниченном объеме памяти будут прежде всего наиболее значимые обобщения.
По сути алгоритм классификатора — это динамическое программирование с ленивыми вычислениями
Суть в том, что да, полезность это важный фактор. Однако, сам вывод того, из чего выбирается полезное — это по сути оптимизация контура внимания, а не его формирование в целом. Вывод более высоких абстракций по сути такой же, как вывод самых первичных обобщений. Частота переходов. Просто если делать такой классификатор в лоб, то объемы обобщений уже на четвертом уровне — огромны. Но если делать жадный классификатор, быстро забирающийся по уровням и отсекающий ненужные вычисления на нижнем уровне, то в любом ограниченном объеме памяти будут прежде всего наиболее значимые обобщения.
По сути алгоритм классификатора — это динамическое программирование с ленивыми вычислениями
А как вы собираетесь верифицировать вашу модель, т.е. сделать вывод, что система находит высокие абстракции и решает с их помощью какую-либо задачу? Какой предполагается первичный тест?
Первая часть (система находит высокие абстракции) — тривиальна. Это ее функция. Вторая (решает какую-либо задачу) — нерелевантна, поскольку задача вполне определена (искать наиболее экономные абстракции наиболее высоких уровней). Третья же (какой предполагается первичный тест) — и есть предмет текущих исследований. Первичная задача — идентификация в завершенных текстах персонажей, их действий и целей (в терминах, использованных в тексте). То есть поиск явной морали.
Выбрать из сказки о курочке рябе персонажей (дед, баба, ряба, мышка) их действия (снесла курочка, дед бил, баба била) и объекты действий (яйцо). То есть вначале предполагается, что один текст — одна ситуация, со связанными персонажами
Вспомогательная задача — идентифицировать границы и переходы ситуаций в тексте и связь ситуаций между текстами, для работы с незавершенными текстами и, наоборот, со сборниками завершенных текстов.
Выбрать из сказки о курочке рябе персонажей (дед, баба, ряба, мышка) их действия (снесла курочка, дед бил, баба била) и объекты действий (яйцо). То есть вначале предполагается, что один текст — одна ситуация, со связанными персонажами
Вспомогательная задача — идентифицировать границы и переходы ситуаций в тексте и связь ситуаций между текстами, для работы с незавершенными текстами и, наоборот, со сборниками завершенных текстов.
В качестве целевой задачи (одной из) для проверки подобного алгоритма я бы выбрал генерацию (точнее, «выявление») правил языка исходя из большого набора текстов на этом языке. Мне кажется интересная цель )
С трудом представляю такую задачу как первичную. Дело в том, что самым проблематичным будет способ определения этих правил.
Практически обобщения все целиком и есть эти самые правила. Только у них очень недружественные названия. А[11][20225]=Переход(A[10][461243], A[10][51351])
Необходимо связывать такие правила с их символьными описаниями (т.е. внутренний язык с внешним), для того, чтобы система могла эти правила выражать понятным людям способам.
Есть гипотеза о том, как научить классификатор искать и находить такие сопоставления в непосредственном общении с людьми и изучении специализированных текстов, но для это требуется интерактивное общение с системой. Сам алгоритм такого общения не очень-то изменяется, просто каждый переход является по сути дела некоторым действием системы, которое помимо переключения внимания сопровождается оценкой (или ее отсутствием) со стороны воспитателя.
Когда система уделяет внимание тому, что полезно, это вознаграждается. Когда система уделяет внимание тому что вредно, это наказывается. Когда система уделяет внимание тому, что бесполезно и невредно, это игнорируется (т.е. не наказывается и не вознаграждается, но имеет нарастающую потребность в вознаграждении, т.е. накапливает нейтральный штраф).
Эта идея требует синхронизировать скорость вывода представлений системой со скоростью восприятия человека.
Условно говоря, должно быть видно, как именно двигается фокус внимания системы, как выводятся обобщения.
Практически обобщения все целиком и есть эти самые правила. Только у них очень недружественные названия. А[11][20225]=Переход(A[10][461243], A[10][51351])
Необходимо связывать такие правила с их символьными описаниями (т.е. внутренний язык с внешним), для того, чтобы система могла эти правила выражать понятным людям способам.
Есть гипотеза о том, как научить классификатор искать и находить такие сопоставления в непосредственном общении с людьми и изучении специализированных текстов, но для это требуется интерактивное общение с системой. Сам алгоритм такого общения не очень-то изменяется, просто каждый переход является по сути дела некоторым действием системы, которое помимо переключения внимания сопровождается оценкой (или ее отсутствием) со стороны воспитателя.
Когда система уделяет внимание тому, что полезно, это вознаграждается. Когда система уделяет внимание тому что вредно, это наказывается. Когда система уделяет внимание тому, что бесполезно и невредно, это игнорируется (т.е. не наказывается и не вознаграждается, но имеет нарастающую потребность в вознаграждении, т.е. накапливает нейтральный штраф).
Эта идея требует синхронизировать скорость вывода представлений системой со скоростью восприятия человека.
Условно говоря, должно быть видно, как именно двигается фокус внимания системы, как выводятся обобщения.
Ну да, задача конечно не первичная.
Сложность мне кажется связана с тем, что по-хорошему в такой задаче нужно обобщать до контекста, напрямую не связанного с текстовым представлением информации.
т.е., если представление какого-то понятия в языке глухонемых и естественном языке — разные, то после обобщения нужно получить, что на входе было одно и то же понятие.
Сложность мне кажется связана с тем, что по-хорошему в такой задаче нужно обобщать до контекста, напрямую не связанного с текстовым представлением информации.
т.е., если представление какого-то понятия в языке глухонемых и естественном языке — разные, то после обобщения нужно получить, что на входе было одно и то же понятие.
Я не понял, вы пытаетесь изобрести n-gram'ные языковые модели?
Я пока не разбирался в н-граммах, но что-то похожее на биграммы используется. Спасибо, кстати, за подсказку, нашел несколько интересных статей по теме.
Ну перед тем как пускаться во все тяжкие, посмотрите что народ уже успел понапридумывать за 60 лет в компьютерной лингвистике.
Ваш способ, как и n-gram'ы уткнется в комбинаторную сложность. И никуда от нее не денетесь. Частично, эту проблему снимают рекуррентные нейронные сети (см Mikolov — RNN Based Language Models)
Ваш способ, как и n-gram'ы уткнется в комбинаторную сложность. И никуда от нее не денетесь. Частично, эту проблему снимают рекуррентные нейронные сети (см Mikolov — RNN Based Language Models)
Собственно весь вопрос в том, как именно исследовать комбинаторную сложность. Наш метод не утыкается в нее, а работает с ней. Жадный классификатор учится находить оптимальные пути внутри комбинаторного взрыва. Условно говоря, это способ работать с долями процента возможных комбинаций, постоянно улучшая состав. Ведь человеческий ум тоже сталкивается с комбинаторной сложностью, и вовсе не перебирает все варианты. В этом и главная фишка психики, как естественной, так и нашей модели.
В вашей статье больше вопросов, чем ответов. Не понимаю что вы имеете ввиду под смыслом, и «жадным» классификатором. Давайте так — получите результаты — напишите об этом.
Ну в том, что realbtr имеет ввиду под смыслом мы уже разобрались выше — habrahabr.ru/company/sensecognition/blog/202662/#comment_7030608
Теперь интересно — дойдет ли очередь до остальных вопросов, которые остались в той ветке дискуссии?)
Теперь интересно — дойдет ли очередь до остальных вопросов, которые остались в той ветке дискуссии?)
Мне не сложно ответить на Ваши вопросы. Но если хотите, можете подождать до середины января, следующей статьи. Я в ней постараюсь охватить так же и вопросы, которые возникли в ходе чтения этой.
Пока, если коротко, могу привести метафорический пример смысла. Есть два пути выявления смысла. Первый это обобщение некоторых признаков. Например, белое круглое в небе — это признаки. Их обобщение — луна. Второй это выявление упущенных признаков. Например, луна, белое круглое. Упущено — в небе. Разумеется над определениями еще нужно поработать, обещаю это сделать к следующей статье.
Что касается жадного классификатора — тут все просто. Жадный классификатор работает в потоке. Если не делать классификатор жадный, то имеется в виду, что мы будем классифицировать весь полученный массив признаков, делая обобщения первого уровня, потом по всем сделанным обобщения первого уровня строить обобщения второго уровня и так далее.
Жадный классификатор выбирает первый символ и смотрит выстроенную структуру обобщений, по которой определяет кандидаты в обобщений в текущем контексте, исходя из кандидатов определяет, какой символ ему стоит проверить, чтобы контекст сократить (убрать наибольшую часть кандидатов). Получаем интересующий символ (на определенной дистанции от текущего) и сравниваем с ожидаемым. В зависимости от изменения контекста получаем, какой следующий символ нам получить из текста.
То есть каждый обрабатываемый символ дополняет текущий контекст обобщений и при этом следующий символ определяется текущим контекстом.
Пока, если коротко, могу привести метафорический пример смысла. Есть два пути выявления смысла. Первый это обобщение некоторых признаков. Например, белое круглое в небе — это признаки. Их обобщение — луна. Второй это выявление упущенных признаков. Например, луна, белое круглое. Упущено — в небе. Разумеется над определениями еще нужно поработать, обещаю это сделать к следующей статье.
Что касается жадного классификатора — тут все просто. Жадный классификатор работает в потоке. Если не делать классификатор жадный, то имеется в виду, что мы будем классифицировать весь полученный массив признаков, делая обобщения первого уровня, потом по всем сделанным обобщения первого уровня строить обобщения второго уровня и так далее.
Жадный классификатор выбирает первый символ и смотрит выстроенную структуру обобщений, по которой определяет кандидаты в обобщений в текущем контексте, исходя из кандидатов определяет, какой символ ему стоит проверить, чтобы контекст сократить (убрать наибольшую часть кандидатов). Получаем интересующий символ (на определенной дистанции от текущего) и сравниваем с ожидаемым. В зависимости от изменения контекста получаем, какой следующий символ нам получить из текста.
То есть каждый обрабатываемый символ дополняет текущий контекст обобщений и при этом следующий символ определяется текущим контекстом.
распознавание смысла = распознавание образов + извлечение смысла?
Сами книги смысла не содержат — они содержат лишь символы, претендующие на то, что с помощью них автор книги закодировал некий смысл — сам же смысл появляется (либо не появляется!) непосредственно в голове читающего эту книгу человека. Именно по этой причине книгу можно не только понять, или не понять, но и понять неправильно (что называется, в меру своей испорченности).
Меня тоже сильно интересовала задача извлечения смысла из текстов, но я пришёл к выводу, что практически невозможно извлечь смысл из текста на основании лишь анализа отношений между словами, его составляющими (в том числе и статистического). Система, читающая текст и пытающаяся его понять (будь то человек, или компьютер) обязательно должна иметь доступ к реальному миру, смысл из которого пытается передать автор данного текста. У человека для этого есть органы чувств. У машины их пока нет… Аналогом органов чувств для компьютера мог бы стать, например, доступ к потокам данных со всех камер наблюдения и web-камер, установленных по всему миру (это могло бы стать компьютерным аналогом зрения у человека).
Если я правильно себе представляю, то понять смысл текста означает: правильно определить соответствие между прочитанным и чем-то из реального мира. Как известно, реальность дана нам в ощущениях, и мы можем взаимодействовать с окружающим миром только благодаря тому, что у нас есть тела, в которых и возникают эти самые ощущения. Поэтому отсутствие у компьютеров схожих по возможностям тел является, на мой взгляд, одной из главных проблем на пути решения задачи компьютерного извлечения смысла из текстов.
Сами книги смысла не содержат — они содержат лишь символы, претендующие на то, что с помощью них автор книги закодировал некий смысл — сам же смысл появляется (либо не появляется!) непосредственно в голове читающего эту книгу человека. Именно по этой причине книгу можно не только понять, или не понять, но и понять неправильно (что называется, в меру своей испорченности).
Меня тоже сильно интересовала задача извлечения смысла из текстов, но я пришёл к выводу, что практически невозможно извлечь смысл из текста на основании лишь анализа отношений между словами, его составляющими (в том числе и статистического). Система, читающая текст и пытающаяся его понять (будь то человек, или компьютер) обязательно должна иметь доступ к реальному миру, смысл из которого пытается передать автор данного текста. У человека для этого есть органы чувств. У машины их пока нет… Аналогом органов чувств для компьютера мог бы стать, например, доступ к потокам данных со всех камер наблюдения и web-камер, установленных по всему миру (это могло бы стать компьютерным аналогом зрения у человека).
Если я правильно себе представляю, то понять смысл текста означает: правильно определить соответствие между прочитанным и чем-то из реального мира. Как известно, реальность дана нам в ощущениях, и мы можем взаимодействовать с окружающим миром только благодаря тому, что у нас есть тела, в которых и возникают эти самые ощущения. Поэтому отсутствие у компьютеров схожих по возможностям тел является, на мой взгляд, одной из главных проблем на пути решения задачи компьютерного извлечения смысла из текстов.
Я согласен с ходом Ваших мыслей, он совпадает с моим. Дело в том, что внимание работает с последовательностями символов (признаков любого характера) универсально. Классификатор, справляющийся с текстом, может справиться и с техническим зрением. Есть гипотеза (частично уже проверенная, но пока отложенная, поскольку текст более удобное средство для обучения) о том, как именно дать доступ классификатору к зрению.
Если коротко, то символом зрительного восприятия является переход от одного пятна к другому. Переход задается как масштабирование размера пятна, изменение направления, относительное изменение яркости, контрастности, тона и фрактальной размерности.
Любой образ задается последовательностью из нескольких переходов. То есть, мы имеем те же самые переходы от символа к символу, только предварительно символы нужно рассчитать. Плюс, переходы внутри текста гораздо точнее заданы (смещение на пять букв позволяет получить точно интересующий символ, и в его окрестности символов буквально пара-тройка). В случае же смещения от пятна к пятну, нужно рассчитать параметры этого пятна (если пятно попадает в кадр), либо сначала дать команду механизму повернуть камеру, изменить фокусное расстояние, возможно приблизиться или отдалиться.
По этой задаче планируется несколько статей, но уже в следующем году. Аналогичным образом реализуется технический слух и более специфичные органы чувств, которые могут быть даже не свойственны человеку.
Для того, чтобы человек мог обучать классификатор, желательно все-таки не камеры по всему миру, а камеры направленные туда, куда направлен взгляд человека. По обобщениям классификатор будет указывать (подсвечивать на кадрах) распознанные категории (это будет просто некоторый индекс, А[15424][34957529] раскладывающийся до исходных пикселей, и человек сможет давать удачным обобщениям понятные человеку названия.
Но идея как раз в том, что природа символов не важна, классификатору переходы между первичными символами предоставляют драйверы, заменяющие органы чувств. Текстовые символьные потоки (например консоль мессенджера) — это такой орган чувств искусственного интеллекта.
Текст очень удобная среда для проведения исследований. Уже работая с ним можно проверить многие гипотезы, чтобы корректно сформулировать основную теорему достаточности последовательного внимания. Потом ее нужно будет доказать.
Если коротко, то символом зрительного восприятия является переход от одного пятна к другому. Переход задается как масштабирование размера пятна, изменение направления, относительное изменение яркости, контрастности, тона и фрактальной размерности.
Любой образ задается последовательностью из нескольких переходов. То есть, мы имеем те же самые переходы от символа к символу, только предварительно символы нужно рассчитать. Плюс, переходы внутри текста гораздо точнее заданы (смещение на пять букв позволяет получить точно интересующий символ, и в его окрестности символов буквально пара-тройка). В случае же смещения от пятна к пятну, нужно рассчитать параметры этого пятна (если пятно попадает в кадр), либо сначала дать команду механизму повернуть камеру, изменить фокусное расстояние, возможно приблизиться или отдалиться.
По этой задаче планируется несколько статей, но уже в следующем году. Аналогичным образом реализуется технический слух и более специфичные органы чувств, которые могут быть даже не свойственны человеку.
Для того, чтобы человек мог обучать классификатор, желательно все-таки не камеры по всему миру, а камеры направленные туда, куда направлен взгляд человека. По обобщениям классификатор будет указывать (подсвечивать на кадрах) распознанные категории (это будет просто некоторый индекс, А[15424][34957529] раскладывающийся до исходных пикселей, и человек сможет давать удачным обобщениям понятные человеку названия.
Но идея как раз в том, что природа символов не важна, классификатору переходы между первичными символами предоставляют драйверы, заменяющие органы чувств. Текстовые символьные потоки (например консоль мессенджера) — это такой орган чувств искусственного интеллекта.
Текст очень удобная среда для проведения исследований. Уже работая с ним можно проверить многие гипотезы, чтобы корректно сформулировать основную теорему достаточности последовательного внимания. Потом ее нужно будет доказать.
Годы прошли, статей нету. Как дела у Вас и Ваших затей?
Спасибо за Ваш интерес. Когда мужчина встречает женщину всей своей жизни, другие проекты всей жизни как-то замораживаются сами собой. В общем, ресурсов категорически недостаточно даже на исследования и разработку, не говоря о статьях. В основном замена back propagation разработана. Архитектура ядра генерации обобщений и способ унифицированного повышения степени разрешения признаков имеет неприятные недостатки, нужно архитектуру переработать, перед выходом «в люди». Она стихийная, заплатка на заплатке. Не поспевала за идеями. Тем более были метании то в работу с текстом, то с изображениями, то с динамикой цен. И это заметно на использованных «хаках» — ограничении набора символов распознавания.
НЛО прилетело и опубликовало эту надпись здесь
Ресурсов хватило на глубину 6 переходов :) Маловато для полноценной реализации алгоритма. Сейчас в фоновом режиме исследую подходы к оптимизации. В марте планируется новый эксперимент, там и ресурсов побольше и алгоритм более жадный и некоторые концептуальные проблемы уже решены. Планируется достичь цепочек переходов не менее 40. Хотя по предварительным оценкам должно хватить 25-28.
На 6 переходах пока выделяются на очень больших текстах (сотни тысяч символов связанного повестования, вроде отдельного тома Война и Мир) лишь основные персонажи, да и те, часто фрагментарно (например, один персонаж определяется как несколько), а иногда персонажи перемежаются.
6 переходов охватывают совсем немного слов. Обычно это три-четыре слова в пределах фрейма из 30-40 слов. Не очень высокий получился пока интеллект.
Практически было выявлено 79 персонажей и от пяти до нескольких сотен сюжетов, в которых эти персонажи описываются. Зависла задача визуализации получившейся структуры первого тома романа Война и мир, руки до нее пока не дошли (но и ценность пока сильно ограниченная). К тому же основной разработчик сейчас малодоступен — перебрался сначала в Грецию, а потом и вовсе во Вьетнам, часть исходного кода за эти годы подрастерялась. Кое-что нужно будет восстановить.
На 6 переходах пока выделяются на очень больших текстах (сотни тысяч символов связанного повестования, вроде отдельного тома Война и Мир) лишь основные персонажи, да и те, часто фрагментарно (например, один персонаж определяется как несколько), а иногда персонажи перемежаются.
6 переходов охватывают совсем немного слов. Обычно это три-четыре слова в пределах фрейма из 30-40 слов. Не очень высокий получился пока интеллект.
Практически было выявлено 79 персонажей и от пяти до нескольких сотен сюжетов, в которых эти персонажи описываются. Зависла задача визуализации получившейся структуры первого тома романа Война и мир, руки до нее пока не дошли (но и ценность пока сильно ограниченная). К тому же основной разработчик сейчас малодоступен — перебрался сначала в Грецию, а потом и вовсе во Вьетнам, часть исходного кода за эти годы подрастерялась. Кое-что нужно будет восстановить.
НЛО прилетело и опубликовало эту надпись здесь
Типа топик моделлинг можно визуализировать из того, что получается. Результаты выложить попробую, в виде отдельной статьи, скорее всего не раньше декабря. Выкладывать просто идентификаторы с их связями — довольно громоздко, а выкладывать пути движения внимания — не очень наглядно. Нужно подумать, как это изобразить, видимо это будет некоторое видео того, как синхронно определяются обобщения-кандидаты и команды обработчику текста, какие переходы и символы он предсказывает и как реагирует на подтверждения, опровержения и останов по исчерпанию ресурса на поиск.
Как изобразить общую структуру вне времени пока не придумал
Как изобразить общую структуру вне времени пока не придумал
Если бы мы просто собирали статистику сначала всех пар, потом всех троек-четверок, потом всех шестерок-семерок-восьмерок, выстраивая уровень за уровнем
Вот другой подход на той же статистике, но без последовательности уровней, предсказаний и т.д. И работающий фактически за один проход текста. Во второй статье описаны результаты за один прогон по Винни-Пуху.
Распознавание устойчивых паттернов в последовательностях
Токенайзер
Не совсем релевантное подобие подхода. В предложенном Вами сам смысл теряется. Зачем находить паттерны? Чтобы что с ними делать?
Статистика — только инструмент, а суть модели в том, как и зачем используются распознанные устойчивые паттерны.
А для этого не нужно текст воспринимать как что-то линейное. Текст многомерен (многосвязан). Он является уже «отжимкой» восприятия. То, что есть в мышлении — не находится в тексте. Текст лишь направляет мышление к определенным мыслям и образам.
Задача алгоритма делать многоуровневые обобщения. То есть в случае некоего поступающего в рецепторно-эффекторного поле паттерна, алгоритм обрабатывает этот паттерн с учетом уже существующего опыта. На что он похож? Чем отличается? К чему это обычно ведет? Насколько интересно то, к чему это обычно ведет? Есть ли устойчивые метапаттерны? Можно ли на них влиять?
Статистика — только инструмент, а суть модели в том, как и зачем используются распознанные устойчивые паттерны.
А для этого не нужно текст воспринимать как что-то линейное. Текст многомерен (многосвязан). Он является уже «отжимкой» восприятия. То, что есть в мышлении — не находится в тексте. Текст лишь направляет мышление к определенным мыслям и образам.
Задача алгоритма делать многоуровневые обобщения. То есть в случае некоего поступающего в рецепторно-эффекторного поле паттерна, алгоритм обрабатывает этот паттерн с учетом уже существующего опыта. На что он похож? Чем отличается? К чему это обычно ведет? Насколько интересно то, к чему это обычно ведет? Есть ли устойчивые метапаттерны? Можно ли на них влиять?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Распознавание смысла — зачем это делать и какие подходы лежат в основе