All streams
Search
Write a publication
Pull to refresh
91
0
Денис Тарасов @Durham

Искуственный интеллект

Send message
Если говорить о первооткрывателях наркотических средств, то их, слава богу, никто не посадил. Многие из этих веществ стали обезболивающими препаратами последней линии, которые применяются, например у онкологических больных, которые испытывают страшные боли, не снимаемые больше ничем. Конечно, людям которые этого не испытали и не видели, легко говорить, что надо всех посадить, но для многих это единственно возможная помощь. Кроме того для ряда препаратов, которые считаются наркотиками, показана эффективность в контролируемых условиях в отношении лечения психических расстройств. Это все к тому, что фундаментальная наука это такая вещь, в которой запреты не полезны. А уж дальше, любое открытие можно применить на пользу и во вред, молотком можно забить гвоздь или убить — это вопрос общей культуры людей и воспитания.

А что касается поискового мусора, то наша система, как я сказал вначале, генерирует не мусор, а осмысленные тексты, суммирующие главное из большого числа отзывов, т.е. это потенциальная экономия времени и выгода для пользователя.
Это в нашей стране уже было. И генетики сидели в тюрьме, и кибернетика была лженаукой. Потом опомнились, но результат уже был — поломанные жизни и отставание от мирового уровня в этих областях на 15-20 лет. Но почему-то, увы, память об этом оказывается короткой, и опять хотим чего-то запретить и кого-то посадить. Может хватит уже?
Действительно, с ростом обучающей выборки прямых ляпов становится меньше, но мы пока не дошли до тех объемов, когда они исчезнут совсем
Спасибо, рад что доклад Вам понравился. Ресурсы действительно использовались скромные, я специально взял слабый компьютер (нетбук) для разработки, т.к. это дисциплинирует. Что касается машинного перевода, это статью я видел, по моему на нее или на похожую даже есть ссылка из статьи в Диалоге. Перевод сейчас уже пошел дальше нее, см, например Neural Machine Translation by Jointly Learning to Align and Translate
Ввел кусок отзыва: "… Купили с женой телефон. Недостатки: Задняя крышка после различных потрясений стала отпадать переодически. Слегка напрягает все это нас 5 ноября 2014 года.". Дата распознавалась хорошо, но с удивлением узнал, что «Задняя крышка» — это человек, а «нас» — организация.

В общем, неплохо, но до качества того же Alchemi на английском, еще далеко.
Нет пока целиком у нас нет решения всего процесса на нейронных сетях, но есть цель такое решение получить. Многие компоненты мы смогли заменить нейронными сетями, и наверное, если бы начинали сейчас сначала, то могли бы реализовать без использования шаблонов, правил и тому подобного, так как практика многому научила, и к тому же теория в мире шагнула сильно вперед. Но reviewdot вряд ли будем переделывать, правда сейчас обсуждаем другой похожий проект.

TF/IDF кстати не используется при извлечении данных, только в реализации функции поиска товаров.
Мы не копировали NELL в плане того, что мы не брали тот же CPL, SEAL и т.п. Основной принцип который мы взяли из NELL — использование нескольких источников получения одинаковой информации, которые делают некореллированные друг с другом ошибки, использование нескольких видов связанных между собой знаний, сопряженные методы обучения с обратной связью и сопоставление вероятностей выученным фактам. Но сами методы извлечения данных — другие. Причем, если говорить о reviewdot.ru конкретно, то мы учились паралелельно с тем как делали, и поэтому получилось так, что некоторые части архитектуры опираются на простые методы, вплоть до того, что считают вхождения слова «телефон» в отзывах о продукте, другие части используют semi-supervised извлечение шаблонов, вроде если <очень> ПРИЛ. <название_категории>, то добавить ПРИЛ. в список прилагательных, относящихся к категориям, после чего если встретится <очень> <известное прилагательное> — значит предположить, что X — может быть категорией. В итоге реализовано гораздо больше методов, чем четыре, но они другие, не те которые описаны в статье про NELL. Самые свежие части используют SRL на рекуррентных нейронных сетях. Сейчас мы постепенно разбираем весь получившийся «зоопарк» и оформляем в библиотеки функций, годных к употреблению в разных задачах. Более подробные описания, к сожалению, выходят за рамки одного комментария.

Что касается word2vec, GloVe и т.п. — я дал в первом комментарии точную ссылку на описание метода, который использовался. Это RNNLM-модель, на основании которой впоследствии был придуман word2vec. Она работает медленнее, чем word2vec, но делает по сути похожее дело, плюс создает модель языка, которая нам тоже была нужна для работы. Сейчас мы экспериментируем с разными вариантами, в т.ч. c GloVe.

Заявку можно оставить через форму на сайте meanotek.ru или на электронный адрес info@meanotek.ru
Мы отталкивались от идей, которые изложены в статье про NEL, но не копировали описанную систему. Что касается отеля, то мы анализируем отзывы, и в этих текстах объект отзыва часто упоминается в сходных контексте (например, «сегодня я расскажу о моих впечатлениях о...»), что позволяет построить алгоритм, способный находить объекты отзывов как таковые.
Собственно такие системы уже давно известны, тот же NEL («never ending language learner») уже пять лет назад мог извлекать новые факты и соотношения из текста, да и до этого были подобные работы. Вопрос был о возможности применения подобной технологии в практической задаче — насколько это эффективно. Общий алгоритм состоит в том, что начиная с некой минимальной базы-затравки из разных источников извлекаются соотношения несколькими методами, и потом каждому соотношению сопоставляется вероятность того, что оно верно или ошибочно.
о том и речь, что word2vec это skip gram модель или CBOW, а тот алгоритм о котором идет речь — другой
Не ожидал, что будет интерес. Прямо сейчас код не годится для выкладывания, но раз есть потребность, попробуем привести в порядок, и сделать доступным для использования.
Без контекста утверждение действительно звучит странно. Но имелось в виду вот что: типичный алгоритм обучения чат-бота не отличается особыми возможностями. Достаточно продвинутые варианты могут, например, из фразы «ты смотрел фильм „Матрица“?» запомнить, что «Матрица» — это фильм, используя скажем шаблон «ты смотрел… фильм yyy». В результате чатбот будет обучатся, но только тому, что предусмотрено заранее, т.е. он не выучит никогда арифметику, логику, и даже не сможет обобщить названия фильмов, на названия, скажем, цветов, если это не предусмотрено разработчиком. Поэтому, в случае чатбота, как правило, если функция обучения чему-то не явно предусмотрена и тщательно не продумана, то такое обучение останется для него невозможным. То есть, здесь имеется в виду, не любой алгоритм обучения вообще, а набор средств, который обычно используется для создания чатботов.

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

conv([vector(«мама»),vector(«мыла»),vector(«раму»)],w,'valid') где w — вектор весов (прошу прощения, если подзабыл синтаксис matlab'а)

т.е. рама с мылом непосредственно не свертывается. И тут еще один момент не отражен — свертка идет с шагом, равным (обычно) длине вектора, представляющего одно слово. В остальном — верно
Как написано в статье, вектора слов являются входными данными для рассматриваемой реализации сверточной сети. Соотвественно, сеть пользуется всем возможностями данного представления — т.е. фильтр выучивает не строго вектор слова «фильм», а может реагировать на слова пропорционально их близости в векторном пространстве
По литературным данным в задачах классификации предложений, в среднем сверточные нейронные сети работают существенно лучше, чем например, Naive Bayes, или SVM с n-граммами. На том же наборе данных MR (предложения из отзывах о фильмах), простые методы показывают порядка 60-70% точности. В задачах классификации длинных текстов ситуация не так однозначна.

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

положительные, ошибочно отнесенные к отрицательным

charming and witty, it's also somewhat clumsy
[allen] manages to breathe life into this somewhat tired premise
.

Отрицательные, отнесенные к положительным
yo, it's the days of our lives meets electric boogaloo
do we really need another film that praises female self-sacrifice?


Из опытов с русскими предложениями (отзывы о телефонах, три класса — положительный, отрицательный, нейтральный)

Отрицательные, отнесенные к нейтральным:

«Такое чувство, как будто забивается оперативная память, или тому подобное»

Положительные, отнесенные к нейтральным:
«Жесткий диск 4 гигабайта, наличие стандартного разъема 3,5 для наушников»
«Недостатков у этого телефона нет»


но это пока на стадии предварительных опытов
Как известно, чем длиннее n-грамма, тем реже она встречается. Распределенное представление слов позволят обобщить скажем «хороший фильм» на отсутствующие в обучающей выборке «отличное кино», «фильм замечательный» и т.п. Во-вторых, многослойные модели могут восстанавливать порядок следования между разными n-граммами, вплоть до того, что могут выучивать процедуры, аналогичные грамматическому разбору предложения, что позволяет системе понимать дальние зависимости между словами
А будут ли результаты этой деятельности доступны всем желающим, или только «компетентным» лицам? Например, станут ли выявленные «узкие места в системе здравоохранения» достоянием общественности?
word2vec использует похожий, но все-таки другой алгоритм (там skip-gram модель).
Пока используем ныне стандартную практику — распределенное представление слов, которое тренируется на большом текстовом корпусе. Алгоритм аналогичен тому, который описан в статье Mikolov et al, 2010

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity