Счетчики








Система осмысленного, смыслового, умного поиска текстовой информации

Ермолаев Д.С.

Создается Система правил, идей и решений для создания компьютерной программы осмысленного, умного поиска текстовой информации, поиска знаний и вывода новых знаний на основе имеющихся. По сути, Система осмысленного поиска есть усилитель интеллекта. И может использоваться для поиска решений, в изобретательстве.

Создается Система правил, идей и решений для создания компьютерной программы осмысленного, умного поиска текстовой информации, поиска знаний и вывода новых знаний на основе имеющихся. На базе этих правил частично создана программа поиска по смыслу. Осмысление текстовой информации происходит следующим образом: связываются по смыслу слова в каждом предложении и устанавливаются связи между предложениями текста (сказа). Полученные смысловые структуры связей запоминаются. Дальнейшая работа Системы идет с такими смысловыми структурами. Основная задача на данный момент – осмысленное нахождение или смысловой поиск текстовой информации по смысловым структурам. Таким образом, Система напоминает разговор с обычным человеком.

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

Здесь описывается моя Система осмысленного, умного, смыслового поиска текстовой информации - это программа для компьютера - далее Система.

Краткое описание поставленной задачи

Система должна отвечать на запросы пользователя так же как бы ответил другой человек, который знает нужную пользователю информацию. Поэтому в Системе нет таких понятий и механизмов как “релевантность”, потому что релевантность не дает смысла, а дает лишь возможное совпадение смыслов, что выглядит как “гадание на кофейной гуще”. Моя Система должна, на основе механизма, алгоритма смыслового поиска информации, выполнять целые алгоритмы работы с информацией. Такая работа называется Data-Mining – раскопка знаний (OLAP-технологии). В этой связи Система превращается в подобие умного языка программирования и работает как интерпретатор.

Данные и результаты смысловых запросов передаются в этом случае через переменные, которые довольно сложным образом обслуживаются Системой. Естественно, логические операции “не”, “или” выполняются так же как бы сделал человек. Пример: “кто продает автомашину, иностранного производства, без пробега по России”. Здесь “без” имеет логическую нагрузку как и “не”. Поэтому, информация, где есть смысл, что машина прошла хоть сколько по России уже не будет выдана пользователю. А часть запроса “иностранного производства” будет понято как и любым человеком – это “не сделано в стране Россия”. Опять же “сделано” будет понято Системой как “произведено”, “выпущено”, и так далее… , в общем, все что бы подумал человек.

Пример смыслового поиска информации. Система знает: “Принтер марки НР1200 имеет характеристики: лазерный, разрешение печати 1200 на 600, черно-белый”. “Фирма “ОПИ” продает притер марки НР1200”. Пользователь дает Системе запрос: “кто продает лазерный принтер с разрешением 1200 на 600?”. Система обработав смыслы, выдает: “фирма “ОПИ” продает принтер марки НР1200 лазерный с разрешением 1200 на 600”.

Текущие возможности Системы

  1. Система разбирает сложноподчиненные предложения, превращая их во внутренние смыслы (знания). Возможно использование списков, местоимений типа "который", "он". Например, "в сарае водились мыши. Они любили грызть сыр". Здесь Система "понимает" что "они" это "мыши". В списках пока не работают союзы "и", "или". Особо сложные и разговорные предложения Система может не понимать. Скорость разбора превышает в несколько десятков раз скорость чтения и ПОНИМАНИЯ человеком. Результатом разбора текста является структура узел-связь. Здесь надо заметить, что "понимание" Системой текста - есть перевод его последовательного представления из слов человеческого естественного языка во внутреннюю структуру смыслов-связей.
  2. Система запоминает полученные знания (смыслы) в базе знаний.
  3. Система осуществляет поиск знаний, смыслов. Например, введена информация (знание) в систему "в доме, который стоял на берегу моря, жили туристы" - Система преобразует текст в структуру смыслов-связей и запомнит в своей базе знаний. Теперь, если задан запрос: "стоял дом, в котором жили туристы" найдет ранее введенное предложение. При нахождении выдает всю найденную структуру. Поиск производится по индексам, поэтому скорость поиска очень высокая. Такой поиск я называю "поиск локальных смыслов (знаний)". Это значит, что извне не поступает информации или смыслов для иной обработки или поиска информации. То есть что спросили, то и ищем.
  4. Вывод знаний, информации на упрощенном естественном языке. Упрощенный язык – язык на котором правила связывания слов не зависят от самих слов, а определяются простым набором правил. Это наподобие правил математического языка. В дальнейшем будет сделан синтез смыслов-структур в настоящий естественный язык.

Примеры возможностей

Вот варианты некоторых успешно разбираемых предложений:

снег покрыл ровный лёд. лёд ровный покрыл снег. снег ровный покрыл лёд
Здесь сложность в том кто кого "порыл" и к чему относится "ровный". При такой многозначности система берет всегда первое за главное, потому как они оба могут быть главными. А в русском языке будет первое главное. Определение относится здесь всегда к ближнему слову (имеется ввиду что оно может принадлежать обоим существительным)

солнечный зайчик на осенний прыгнул лист. солнечный зайчик прыгнул на осенний лист. солнечный зайчик на осенний лист прыгнул.
Результат разбора этих предложений полностью идентичен по смыслу. То есть результатом будет одинаковые структуры смыслов-связей.

скоро русский интернет ожидает волна новых успехов.
Здесь Система определит главное слово в первом предложении "волна".

очень красивая девушка шла слишком быстро.
Здесь "очень" и "слишком" можно переставлять местами как угодно, при этом может поменяться смысл предложения. Система всегда правильно этот смысл "поймет", то есть правильно создаст структуру смысл-связь.

новый проект старого закона нового президента первого созыва нашего общества открывает новые границы нашего бизнеса
Местоимения "нашего" пока не понимает как местоимения, то есть не делает внешних ссылок для них.

в доме, в котором жил кот, который любил молоко, которое давала корова, которая жила в сарае, в котором жили крысы, водились мыши. они любили грызть сыр в кладовке.
Здесь надо заметить, что система понимает что "они" это "мыши", и "в доме водились мыши". Все местоимения "который" понимает как местоимения и связывает их корректно.

дом, в котором мы жили, стоял на берегу моря. мы жили в доме, который стоял на берегу моря. на берегу моря, у которого мы жили, стоял дом.
Разбор первых двух предложений создает одинаковую структуру смысл-связь, так как они(предложения) по смыслу идентичны. Третье предложение немного отличается по смыслу: “мы жили у моря”, а не “мы жили в доме”.

в линейном усилителе мощности, который содержит первый транзистор, первую, вторую клеммы для подключения входного сигнала, первый источник тока, второй транзистор, база которого подключена к общей точке последовательного соединения первого переменного резистора, второго резистора, есть новый блок.
Пример из заявки на патент - формула патента, но не вся. Этот отрывок успешно "понимается" Системой. Вся формула достаточно сложная и Система не может "осмыслить"(преобразовать) ее целиком.

в комнате стояли стол, стул и комод на полу, на столе прыгали, на стуле, на окне скакали красный, зеленый, синий шары
Здесь корректно обрабатываются списки, так что Система понимает, например, что "красный шар прыгал на полу и скакал на окне". Или что "на полу прыгали шары"

Смысловой поиск информации или выполнение смысловых запросов

После того, как Система запомнила некую информацию, ее всегда можно найти, задав запрос. Запросы так же понимаются Системой как и вводимая информация. Запрос – это текст на естественном языке.

Развитие системы в ближайшее время

  1. Использование местоимений-вопросов в тексте запроса для получения информации нужного типа. Например, "какие фирмы продают автомобили?" и "где фирмы продают автомобили?" - будут отличаться по результату выдачи информации.
  2. Уровень развернутости информации. Выдача ответов с разной глубиной связей. Например, ответ с развернутостью 1: "фирмы продают автомобили в городах", ответ с развернутостью 2: "... в городах Москва, Петербург,...". Это лишь примерный вариант работы.
  3. Использование значений переменных с именами. Например, для решения алгебраических задач.
  4. Использование внешних знаний при разборе текста. Например, "девушка пошла на речку. Она долго в ней купалась". Зная что "девушка может купаться", а "в речке можно купаться" система правильно свяжет местоимения "она" и "ней".
  5. Использование системой внешних смыслов, знаний. Например, в системе есть информация "стул деревянный". Системе задается найти "что состоит из дерева?". Система, используя внешнее знание, найдет "стул деревянный". Например, есть знания "автомобиль марки "Жигули" есть российский автомобиль". Пользователь дает запрос "куплю автомашину российского производства". В базе же текущей информации есть объявление "продаю "Жигули". Система найдет последнее объявление, используя внешние знания.
  6. Вывод информации (синтез) на естественном языке, согласно правилам языка (русский, английский или другой).
  7. Самостоятельное создание системой внешних знаний. На основе имеющейся информации Система будет сама обучаться, создавая новые правила-знания.
  8. Использование логических связей-слов "не", "или", "больше"... Сейчас реализовано не полностью.
  9. Создание набора функций языка управления информацией. Так из Системы получится язык программирования нового поколения.

Применение системы

  1. Как поисковой машины.

    Всем известно, что современные поисковые системы вообще игнорируют смысл при поиске, выдавая зачастую полную ерунду. Или не выдавая нужного, пропуская его только потому, что нет совпадения символов. Моя Система, наоборот – ищет смысл.

  2. Как усилитель интеллекта

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

  3. Как интеллектуальный переводчик.

    Чтобы проверить корректность перевода любого переводчика я задаю ей запрос на одном языке, чтобы она перевела на другой, а затем делаю обратный перевод полученного текста. По идее, обратный перевод должен совпасть по СМЫСЛУ с первоначальным.

    Я тут недавно набрел на перевод с помощью "интеллектуального" переводчика. Предлагалось попробовать перевести что-нибудь. Ну я и ввел: "Девушка пошла на речку. Она в ней долго купалась". Было переведено: "The girl has gone on речку. She(it) in it(her) long bathed". Я отредактировал сам в следующее: "The girl has gone on речку. She in it long bathed". Был обратный перевод: "Девочка продолжила речку. Она в этом долго купалась". Ну куда это годится, скажите мне!

    Замечу, что это еще очень хороший перевод для машины - есть примеры и поужасней.

    У моей Системы таких ошибок нет, потому что, Система строит структуры смыслов, а затем можно синтезировать их в любой язык. Следовательно, СМЫСЛ синтезированного текста будет одинаковый. Поэтому на базе Системы должен получиться интеллектуальный машинный перевод.

  4. Как язык программирования нового поколения.

    В этом случае, как бы программисты и не нужны будут - Система будет общаться с человеком на естественном языке и делать то, что ее попросят. Конечно, базовые навыки и понятия программирования все равно понадобятся. Например, понятия процедуры или рекурсивного использования процедур. Но это уже каждый ученик 10-го класса знает! Так что программистов будет требоваться гораздо меньше для предприятия, которое использует Систему.

  5. Как интеллектуальный машинный консультант.

    Если в Систему ввести достаточное количество знаний по заданной теме, то она может выступать как человек-консультант достаточно высокой квалификации. Любое предприятие может экономить на зарплате. А использование такого компьютерного консультанта через интернет с оплатой консультаций может привести к значительным прибылям для интернет-компании.

На этом возможности не исчерпываются…


Источник: http://www.icreator.ru/isearch/index.htm, http://www.icreator.ru/isearch/ability.htm (Создатель Идей)
Дополнительно
Статья: Компьютерный морфологический разбор слов русского языка
Ключевые слова: Понимание Текста