Думаю, что не надо рассказывать про успехи Deep Learning в последние годы, в особенности, в применении к обработке естественного языка. Здесь мне видится прорывным успех Google Network Machine Translation, который коренным образом смог улучшить качество перевода между разными естественными языками.
Стоит следующая задача - обеспечить понимание машиной текста на естественном языке. Здесь очевидным кажется реализация системы, которая бы осуществляла сопоставление входного текста на естественном языке с имеющимися знаниями, например, заклюяенными в базе знаний - онтологиях.
Вот цитата из
статьи нейрофизиолога Михаила Бурцева о попытках моделирования мозга человека, развитии логических систем и возможностях нейронных сетей "Дуализм в решении проблемы искусственного интеллекта" на Постнауке:
Цитата:
Таким образом, нейросети решают задачи, способ решения которых мы не можем формализовать, но требуют большого объема данных. Все началось с распознавания картинок: в течение нескольких лет нейросеть научилась распознавать и классифицировать объекты на картинках лучше, чем человек. Хотя до этого она решала эту задачу в несколько раз хуже. Триумфом последних лет стало то, что нейросеть обыграла человека в го. Алгоритм игры в го основывался на том, что нейросеть оценивала ситуацию на доске в целом, а не пыталась напрямую прогнозировать все ходы. Удалось получить гибридное решение, которое скомбинировало поиск в глубину, просчитывание вариантов, интуицию игрока, которая аппроксимировалась нейросетью и вычислялась на основании большого объема сыгранных игр в го, выработанного понимания того, какая позиция лучше или хуже. Таким образом, мы смогли сделать так, что наш алгоритм поиска рассчитывает не все варианты, а лишь предсказанные нейросетью как хорошие. Это позволяет нам значительно сократить перебор.
Сегодня мы оказываемся в положении дуализма наших подходов и методов решения задач искусственного интеллекта. С одной стороны, это подход, основанный на онтологиях. Сейчас уже построены огромные онтологии для различных областей знания, в них действительно формализовано очень много полезной информации. С другой стороны, у нас есть нейросети, пытающиеся учиться на объектах и на примерах, но найти много примеров мы можем не для всех областей знания и не для всех. В этом проблема: мы не можем использовать в них нейросети. Кажется, что будущее этой области заключается в комбинации подхода онтологий с нейросетевым. Как мы можем это сделать?
В области систем, основанных на знании, одна из проблем - это привязка конкретных сущностей наших онтологий к конкретным ситуациям, распознавание их как соответствующих той или иной ситуации, в которой наша система может делать вывод. Здесь нейросети могли бы помочь правильно распознавать ситуацию и отражать их на онтологию. С другой стороны, мы могли бы использовать онтологии, чтобы спланировать действия нашего интеллектуального агента или сделать вывод о том, каким должен быть конкретный ответ в данной ситуации. Современные нейросетевые методы, хоть и хорошо справляются с задачами классификации отличения одного от другого, не достигают эффективности, присущей системам, основанным на логике, в области планирования и долгосрочного просчитывания вариантов. Поэтому кажется, что идеальным вариантом было бы отдать на откуп нейросетям те части нашего интеллектуального агента, которые мы не можем формализовать или пока не знаем, как это сделать, а для частей, требующих рассуждения и планирования, использовать онтологии и системы, основанные на знаниях. Дело осталось за малым - придумать хороший способ это скомбинировать.
Я завел тему в LinkedIn с целью обсудить возможности нейронных сетей в NLU. Вот эта дискуссия:
Цитата:
Problems that need to be solved to solve the problem of understanding the natural language
As you know, GNMT translates the text in a natural language into its internal language. As far as I know, the problem of translating a natural language into a language of knowledge bases (for example, ontologies) has already been solved (or not yet?). There remains the problem of implementing ontology processing operations, for example, matching the resulting ontology to a global knowledge base to determine its truth / falsity, its information value and relevance, etc.
If I'm not mistaken, Dr. Sowa in one of the discussions on LinkedIn recommended that students of artificial intelligence turn to logic. Do I understand correctly that the question arises: how to use the logic to implement the task of processing and mapping ontologies?
Beth Carey
Beth Carey Hi Rasool Barlybayev - I think Koos Vanderwilt could make some good comments on your questions with the current methodologies, including GNMT, which I believe is Google's neural net methodology for machine translation. I would say GNMT and Deep Learning bypass meaning because of their inherent approach ie. looking for statistical co-location of word patterns, and I'm not sure meaning is retrievable. Open scientific problems of NLU are not solved by this approach and may never be. GNMT made good progress with some machine translation pairs, and will probably continue to, but is it asymptotic as a scientific model for machine translation and NLU? What is the goal, human-like accuracy? or incremental % points better than before, potentially plateauing.
Koos Vanderwilt
Koos Vanderwilt Quite an honor for you to say this, Beth. I am not sure if I can, but I will try and produce some generalities. I am hampered by not knowing what GNMT stands for. I am not sure Semantic Web technology can be considered to have solved various questions, including the translation of text to knowledge bases. There are two issues here: the knowledge basis or ontologies and the ways to reason over them. Ontologies consist of classes/concepts and properties, VERY roughly SUBJCT, PREDICATE and OBJECT. You can get these out of a text with a parser. Googling "triplet table(s)"and "ontologie(s)"will bring up sites that tell you more. Ontologies are simple, but the details are NOT. "Implementing ontology processing operations" could be "editing the ontology"or"creating an ontology" or performing consistency checking. Logics are used for reasoning over the ontologies. This is just like in real life: you have knowledge, and taking it as a point of departure, you reason with it.
Koos Vanderwilt
Koos Vanderwilt For instance, Moscow is the capital of Russia, I am sure every Russian knows. Every Russian will therefore be able to conclude Leningrad is not the capital of Russia. Two cities, a predicate "is capital of" and a reasoning leading to a negative statement about Leningrad. You could imagine how nice it'd be if the computer could reason about facts in genomics, medicine, and so on. Thereare quite a few logics, mostly called Description Logics. These are subsets of First Order Predicate Logic, which has a large time complexity- meaning using it takes forever to run. Many Description Logics are constructed to be more tractable, but you can do less with them. The SW is a huge, world-wide project that, if it delivers what is being promised, will improve medicine, the practice of law, biology research, and other fields that involve text and therefore Text Analytics. I hope this is somewhat informative.
Menno Mafait
Menno Mafait Rasool, this field has a fundamental flaw:
It is well known that grammar provides structure to sentences. However, scientists have not discovered yet the laws of intelligence, which are embedded in grammar. This Universal Logic embedded in Grammar provides a logical structure (=meaning) in natural language, by which sentences make sense.
As a consequence of being ignorant of this natural structure of sentence, in NLP, rich and meaningful sentences are degraded to "bags of keywords", by which the natural structure of sentences are discarded beyond repair. This loss of information is like a two-dimensional movie that as lost its three-dimensional spatial information. Hence the deep problems in this field to grasp the deeper meaning expressed by humans.
I have a solution for the long term:
I have knowledge, experience, technologies and results that no one else has. I am probably the only one in the world who has defined intelligence as a set of natural laws.
Menno Mafait
Menno Mafait I am using fundamental science (logic and laws of nature) instead of cognitive science (simulation of behavior), because:
- Autonomous reasoning requires both intelligence and language;
- Intelligence and language are natural phenomena;
- Natural phenomena obey laws of nature;
- Laws of nature (and logic) are investigated using fundamental science.
Using fundamental science, I gained knowledge and experience that no one else has:
- I have defined intelligence in a natural way, as a set of natural laws;
- I have discovered a logical relationship between natural intelligence and natural language, which I am implementing in software;
- And I defy anyone to beat the simplest results of my Controlled Natural Language (CNL) reasoner in a generic way: from natural language, through algorithms, back to natural language. See:
http://mafait.org/challenge/It is open source software. Feel free to join.
То есть стоит вопрос: можно ли на имеющемся "железе" (онтологиях и машин с Deep Learning) худо-бедно решить задачу понимания текста настолько, что ее можно использовать в семантическом поиске, машинном переводе, работе с корпоративными системами, чат-ботах, вопросно-ответных системах?