Здравствуйте, уважаемые все. И тестеры, и просто интересующиеся. Меня тут немного прижала другая тема. Но чат-бот в приоритете. Никакого особого секрета из своего проекта я не делаю. Я использовал FreeLing - проект создания свободного пакета инструментов обработки естественного языка, созданный в Политехническом университете Каталонии. И там в документации есть табличка, в которой написано, какие модули разработаны для разных языков. К сожалению, для русского языка они мало что сделали, а то, что сделали, содержит много ошибок. Поэтому приходится самому разбираться и доделывать их модули. Именно из-за этого такая кривизна в ответах. Но что удалось сделать мне? Я соединил их модули с моей версией онтологии WordNet, которая занимается словами и их отношениями. И, главное, соединил, с онтологией верхнего уровня SUMO, в которую добавил некоторые онтологии среднего уровня. Поэтому там есть простейшие знания из нашей жизни. Соединение FreeLing с моим проектом все еще довольно кривенкое из-за пока неработающих на русском языке многих важных модулей.
Но. Если появится хоть и плохо работающий интерфейс между человеком и компьютером, можно уже заниматься тем, ради чего все это и было затеяно - разумным поведением машины. Это как общение с иностранцем на ломаном языке. Общение хромое, но если стороны понимают друг друга, язык не будет непреодолимой помехой при обмене мыслями.
Уже сейчас на выходе анализатора создается граф - древовидная структура, каждый узел которой ссылается на узлы онтологии. Это означает, что если есть указание на понятие "человек", то программе становится понятно, что это живое существо, интеллектуальный агент и прочее. Следующим этапом будет проявление здравого рассудка программы. Сейчас этого нет. Но может относительно легко добавлено. К примеру, во фразе "Рыбы косяком летели по небу" программа сможет определить среду обитания рыб. И выявить парадокс: рыбы не могут летать по небу, в воздушном пространстве (за исключением выпрыгивающих ненадолго из воды "летающих" рыб). По небу могут летать птицы и самолеты. Поэтому все такие факты и противоречия в смысле сообщения собеседника программа довольно легко может обнаружить. Добраться хотя бы до здравого смысла самого маленького ребенка - вот ближайшая задача.