• fuzzywuzzy и «Невидимая брань» между людьми и роботами-переводчиками

      Начала добраго добрейший быти и конец, право непщуют предели вещей


      Наверное, во все века были переводчики-буквалисты и переводчики-«вольнодумцы». Последние чувствовали себя совершенно вправе изменять текст, перекопмоновывать его, выбрасывать одни куски и дописывать другие. А перед современными исследователями стоит типичный вопрос: «Что детально произошло во время трансформации оригинала? Что вычеркнуто, что сохранено, что переделано, что дописано?»


      Перед тем, как вчитываться в тексты со всей тщательностью, хотелось попробовать отдать их роботам на предварительную проработку. Надежд на роботов у нас было мало, однако помощь от них мы получили существенную. О том, как мы заставили Google Translate и Яндекс.Переводчик тягаться в работе над греческим текстом «Невидимой брани», читайте под катом.

      Читать дальше →
    • «Туда и обратно» для нейронных сетей, или обзор применений автокодировщиков в анализе текстов

        Мы уже писали в самой первой статье нашего корпоративного блога о том, как работает алгоритм обнаружения переводных заимствований. Лишь пара абзацев в той статье посвящена теме сравнения текстов, хотя идея достойна гораздо более развернутого описания. Однако, как известно, обо всем сразу рассказать нельзя, хоть и очень хочется. В попытках воздать должное этой теме и архитектуре сети под названием «автокодировщик», к которой мы питаем очень теплые чувства, мы с Oleg_Bakhteev и написали этот обзор.


        Источник: Deep Learning for NLP (without Magic)

        Как мы упоминали в той статье, сравнение текстов у нас было “смысловое” – мы сопоставляли не сами текстовые фрагменты, а векторы, им соответствующие. Такие векторы получались в результате обучения нейронной сети, которая отображала текстовый фрагмент произвольной длины в вектор большой, но фиксированной размерности. Как получить такое отображение и как научить сеть выдавать нужные результаты – отдельный вопрос, о которой и пойдет речь ниже.
        Читать дальше →
        • +19
        • 2,7k
        • 4
      • RuSSIR 2018: 12-я летняя школа по информационному поиску

          27–31 августа в Казани пройдет 12-я международная летняя школа по информационному поиску RuSSIR 2018.

          В этом году её организуют Казанский федеральный университет (КФУ) и Российский семинар по оценке методов информационного поиска (РОМИП) при поддержке ACM SIGIR и BCS IRSG.



          Программа включает два пленарных доклада и семь курсов, а также постер-сессию конференции молодых ученых «RuSSIR Young Scientist Conference».

          Пленарные доклады:

          1. Carlos Castillo (Universitat Pompeu Fabra), «Crisis Informatics» — о том, как использовать данные из социальных сетей для борьбы с чрезвычайными ситуациями;
          2. Carlos Castillo, «The Biases of Social Data» — о подводных камнях при анализе пользовательского контента.

          Курсы:

          1. Cathal Gurrin (Dublin City University), «The Information Retrieval Challenge of Lifelogs and Personal Life Archives» — об анализе персональных данных;
          2. Henning Müller (University of Geneva), «Evaluation of IR systems and multi-modal retrieval in the medical domain» — о поиске медицинских изображений;
          3. Valentin Malykh, Mikhail Burtsev (Moscow Institute of Physics and Technology), «Conversational AI through Deep Learning» — о том, как создать интеллектуального чат-бота с помощью глубокого обучения;
          4. Rishabh Mehrotra (Spotify Research), «Learning from User Interactions» — о том, как угадать потребность пользователя из его взаимодействия с онлайн-системой;
          5. Guido Zuccon (Queensland University of Technology), «Health Search» — о поиске по медицинским данным;
          6. Harrie Oosterhuis (University of Amsterdam), «Learning to Rank and Evaluation in the Online Setting» — о том, как обучить систему на основе данных о взаимодействии с пользователем;
          7. Prasenjit Mitra (Pennsylvania State University), «Retrieving Information Interactively Using Natural Language» — о том, как научить систему общаться на естественном языке.

          Участие в школе бесплатное. Регистрация открыта до 10 июля.
          Как попасть?
        • Слово лингвисту: что если компьютеры заговорят лучше нас


            Фото: Александр Корольков/РГ

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

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

            Я попросил Александра подготовить для Хабра «режиссерскую версию» лекции, где не вырезано ничего, что может усыпить случайных туристов. Ведь больше всего выступлению не хватало аудитории с толковыми вопросами и вообще хорошей дискуссии. Думаю, здесь мы ее сможем развить.
            Читать дальше →
          • Теория большой свалки: ищем научные документы на просторах интернета

              Система «Антиплагиат» – это специализированный поисковик. Как и положено поисковику, с собственным движком и поисковыми индексами. Самый большой наш индекс по количеству источников – конечно же, у русскоязычного интернета. Довольно давно мы решили, что будем помещать в этот индекс все, что является именно текстом (а не картинкой, музыкой или видео), написано на русском языке, имеет размер больше 1 кб и не является «почти-дубликатом» чего-то, что уже есть в индексе.

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

              По мере роста интернет-индекса – а сейчас, на секундочку, это уже более 300 млн документов только лишь на русском языке – возникает вполне естественный вопрос: а много ли в этой свалке действительно полезных документов.

              И раз уж мы (yury_chekhovich и Andrey_Khazov) занялись такой рефлексией, то почему бы нам заодно не ответить еще на несколько вопросов. Сколько проиндексировано научных документов, а сколько ненаучных? Какую долю среди научных статей занимают дипломы, статьи, авторефераты? Каково распределение документов по тематикам?



              Так как речь идет о сотнях миллионов документов, то необходимо использовать средства автоматического анализа данных, в частности, технологии машинного обучения. Конечно, в большинстве случаев качество экспертной оценки превосходит машинные методы, но привлекать человеческие ресурсы для решения столь обширной задачи оказалось бы слишком дорогим удовольствием.
              Читать дальше →
            • Объект, свойство, активность: модели и способы их построения

              Эта статья объединяет результаты, полученные нами в предыдущих статьях и выводит теоретические рассуждения, сделанные в них, на практический уровень. Я ввел достаточно терминов, чтобы рассмотреть понятие свойства и объяснить, как строить модель свойства. Данную статью можно читать независимо от других, поэтому часть рассуждений, сделанных ранее, я повторю, часть пропущу, а часть добавлю.


              Введение


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


              Для этого я сформулировал свод знаний, который назвал проекционным моделированием, потому что метод, изложенный в нем, напоминает черчение. На уроках черчения мы учимся моделировать пространства. При этом модель пространства отделена от интерпретации этого пространства. Моделируемое пространство можно интерпретировать в зависимости от решаемой задачи и как кусок алюминия, и как часть воды, и как крыло самолета: модель пространства не зависит от его трактовки. В проекционном моделировании мы поступаем так же: сначала создаем модель пространства, но уже во времени, потому что наш мир четырехмерный, если считать время как отдельное измерение, а затем трактуем это пространство-время тем, или иным способом. Так же, как в черчении моделируемый 3-Д объем можно трактовать разными способами, так и в проекционном моделировании трактовка 4-Д объема отделена от модели пространства-времени.

              Читать дальше →
              • –3
              • 1,4k
              • 6
            • Ой, у вас баннер убежал!

              Ну. И что?
              Реклама
            • Как создать своего бота без навыков программирования и подключить его к Яндекс.Алисе


                Как мы уже писали в своей первой статье, мы в Just AI специализируемся на технологиях искусственного интеллекта для понимания естественного языка (NLU). У нас есть своя платформа для разработки разговорных ассистентов, как текстовых, так и голосовых. Платформа имеет развитую функциональность для решения NLP-задач (кластеризация логов, поиск семантически близких фраз и др.) и собственный язык разработки (Just AI DSL). С использованием DSL команда лингвистов-разработчиков пишет код сценариев чатботов, интеграционные модули для связи с внешними системами, а также автотесты.

                В этой статье мы расскажем о созданном нами инструменте для разработки ботов под разные платформы, в том числе для Яндекс Диалогов, без знания DSL и навыков программирования.
                Добро пожаловать под кат
              • Разговорный AI: как работают чат-боты и кто их делает

                  image

                  Чатботы и искусственный интеллект для понимания естественного языка (NLU – Natural Language Understanding) тема достаточно горячая, про нее не раз говорилось на Хабре. Тем не менее достаточно редко попадаются верхнеуровневые и структурированные обзоры этих технологий и рынка в целом. В своей статье мы попробуем немного разобраться, чем обусловлен спрос на эти технологии, как выглядит современная диалоговая платформа для NLU, какие компании и разработки присутствуют на этом рынке.

                  Читать дальше →
                  • +38
                  • 15,5k
                  • 5
                • Информационные системы с понятийными моделями. Часть вторая

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

                    Здесь, во второй части, поговорим о том, как может быть реализована полнофункциональная информационная система, основанная на понятийном моделировании предметных областей. Теперь уже в деталях рассмотрим информационную систему LANCAD, которую в нашей компании “ИНСИСТЕМС” используют для организации проектной деятельности по разработке проектно-сметной документации для строительства.

                    Следует заметить, что появление информационной системы LANCAD явилось результатом реализации нескольких крупных проектов компании.

                    Читать дальше →
                  • Исправление опечаток, взгляд сбоку

                      Мы поговорим об использовании модных «Word embedding» не совсем по назначению — а именно для исправления опечаток (строго говоря, и ошибок тоже, но мы предполагаем, что люди грамотные и опечатываются). На хабре была довольно близкая статья, но здесь будет немного о другом.


                      Визуализация Word2Vec модели, полученная студентом. Обучалась на «Властелине колец». Явно что-то на черном наречии.
                      Читать дальше →
                      • +13
                      • 3,8k
                      • 4
                    • Информационные системы с понятийными моделями. Часть первая

                        Внедряя современные информационные системы, крупные компании рассчитывают быстрее принимать решения, обнаруживать скрытые для бизнеса резервы и возможности, анализировать накопленный опыт и выстраивать прогнозы на основе выявленных закономерностей. Однако реальная отдача от информационных систем часто оказывается значительно ниже, а сроки внедрения и затраты – выше ожидаемых. Причин может быть великое множество, в том числе и связанных с неэффективным управлением, человеческим фактором, устарелой инфраструктурой.

                        Существенные недостатки есть и у самих информационных систем. В этой статье я предлагаю поговорить не о традиционных – трёхслойных – АИС, а о системах с четырехслойной архитектурой, где новый четвертый слой – слой представления – реализует понятийную модель предметной области. Для актуализации модели при изменениях в предметной области не требуется программировать. Более того, как актуализация модели, так и прикладные задачи решаются посредством семантически инвариантных для всех предметных областей операций над сущностями понятий.

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

                        Читать дальше →
                      • Трудности перевода: как найти плагиат с английского языка в русских научных статьях

                        • Tutorial
                        В нашей первой статье в корпоративном блоге компании Антиплагиат на Хабре я решил рассказать о том, как работает алгоритм поиска переводных заимствований. Несколько лет назад возникла идея сделать инструмент для обнаружения в русскоязычных текстах переведенного и заимствованного текста из оригинала на английском языке. При этом важно, чтобы этот инструмент мог работать с базой источников в миллиарды текстов и выдерживать обычную пиковую нагрузку Антиплагиата (200-300 текстов в минуту).

                        "

                        В течение 12 лет своей работы сервис Антиплагиат обнаруживал заимствования в рамках одного языка. То есть, если пользователь загружал на проверку текст на русском, то мы искали в русскоязычных источниках, если на английском, то в англоязычных и т. д. В этой статье я расскажу об алгоритме, разработанном нами для обнаружения переводного плагиата, и о том, какие случаи переводного плагиата удалось найти, опробовав это решение на базе русскоязычных научных статей.
                        Читать дальше →
                      • Применение сверточных нейронных сетей для задач NLP

                          Когда мы слышим о сверточных нейронных сетях (CNN), мы обычно думаем о компьютерном зрении. CNN лежали в основе прорывов в классификации изображений — знаменитый AlexNet, победитель соревнования ImageNet в 2012 году, с которого начался бум интереса к этой теме. С тех пор сверточные сети достигли большого успеха в распознавании изображений, в силу того факта, что они устроены наподобие зрительной коры головного мозга — то есть умеют концентрироваться на небольшой области и выделять в ней важные особенности. Но, как оказалось, CNN хороши не только для этого, но и для задач обработки естественного языка (Natural Language Processing, NLP). Более того, в недавно вышедшей статье [1] от коллектива авторов из Intel и Carnegie-Mellon University, утверждается, что они подходят для этого даже лучше RNN, которые безраздельно властвовали областью на протяжении последних лет.

                          Сверточные нейронные сети


                          Для начала немного теории. Что такое свертка? Мы не будем на этом останавливаться подробно, так как про это написана уже тонна материалов, но все-таки кратко пробежаться стоит. Есть красивая визуализация от Стэнфорда, которая позволяет ухватить суть:

                          image
                          Источник
                          Читать дальше →
                        • Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Знаки

                            Эта работа является продолжением всего сказанного ранее в статье «Нейронные сети, генетические алгоритмы и прочее… Мифы и реальность. Версия II». В большинстве статей, посвященных анализу текстов, которые удалось изучить автору, под анализом текста понимается главным образом две совершенно практические задачи, связанные либо с извлечением какого-либо контекста, либо перевод текста с одного языка на другой. В первом случае речь, как правило, идет или об «очистке» анализируемого контента и сопоставлению какого-либо участка текста эталону в соответствии с заранее заданной таксономией1 каких-либо сущностей. Например, разбор адресов, товаров и т.д. Во втором случае, о поиске соответствия одного блока текста, написанного на одном языке блоку, написанному на другом.


                            Объединяющим оба эти варианта является статистический, по сути, анализ участков контекстов, с учетом синонимов слов, устоявшихся выражений. При этом за рамками такого рода анализ выходит анализ троп2, риторических оборотов и много другого. Причина этого кроется в непонимании современной наукой даже на философском уровне некоторых базовых вопросов, связанных с логикой мышления и принятия решения, построения знаковых систем т.е. неразвитость семиотики и т.д.

                            Читать дальше →
                          • Как производится оценка состояния объекта?

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

                            В этих науках очень хорошо были определены понятия вещества и понятие состояния. Было сказано, что для определения вещества нужен объем минимального размера, меньше которого мы имеем уже не вещество, а набор молекул, а для оценки состояния требуется конечное время, чтобы зарегистрировать некоторое значение, связанное с состоянием. Если мы будем говорить о состоянии, используя временные интервалы менее минимального, то получим не оценку состояния, а что-то непонятное.

                            Я понимал, что на этой основе можно построить иную математику с иными аксиомами. Этого я не сделал, но запомнил, что для оценки состояния нужно указать минимальное время, в течение которого есть смысл говорить о совершении измерения, как для определения вещества нужен минимальный объем. Тогда данное время будет считаться мгновением для оценки данного состояния. Это время может быть разным для разных свойств и методов оценки. Например, для того, чтобы понять, какого цвета автобус при помощи глаз, нужны миллисекунды, а для того, чтобы понять в каком состоянии сейчас находится климат Земли при помощи термометра, нужно несколько лет.
                            Читать дальше →
                            • –7
                            • 1,6k
                            • 9
                          • Как мы моделируем предметную область в предикатах второго порядка и не замечаем этого

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


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


                              Пользоваться этим массивом данных так же неудобно, как и его хранить. Строить запросы к этому массиву данных – тоже неудобно. Например, у нас есть запись о том, что станок существовал с12 июня по 17 июня и находился в этот период в машинном отделении ГЭС. Но на основе этой записи мы ничего не можем сказать о существовании и нахождении станка в период с 13 июня по 15 июня, потому что при таком подходе к моделированию для ответа на это вопрос нам нужна отдельная соответствующая запись.

                              Читать дальше →
                            • Решение больших проблем небольшим семантическим анализатором

                                image


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


                                Комиссия. Что значит “Тихо”? Они там в филиале пьяные что ли?
                                Система. "Тихо" = Сила ветра в пределах нормы.
                                Комиссия. Так это они о погоде. Система сдана в опытную эксплуатацию!


                                Все события в статье вымышлены. Любые совпадения с реальностью случайны.


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

                                Читать дальше →
                              • Классификация тем обращений в контактный центр

                                  Здравствуйте, коллеги! В этой статье я кратко расскажу об особенностях построения решения по классификации тем обращений клиентов в контактный центр, с которыми мы столкнулись при разработке.

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


                                  Читать дальше →
                                • Мульти-классификация Google-запросов с использованием нейросети на Python

                                    Прошло уже достаточно времени с момента публикации моей первой статьи на тему обработки естественного языка. Я продолжал активно исследовать данную тему, каждый день открывая для себя что-то новое.

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

                                    За основу был взят датасет размером ~32000 поисковых запросов, размеченных по 14ти классам: Автоистория, Автострахование, ВУ (водительское удостоверение), Жалобы, Запись в ГИБДД, Запись в МАДИ, Запись на медкомиссию, Нарушения и штрафы, Обращения в МАДИ и АМПП, ПТС, Регистрация, Статус регистрации, Такси, Эвакуация.
                                    Читать дальше →
                                    • +18
                                    • 7,3k
                                    • 6
                                  • Сравнительный анализ физических и функциональных объектов

                                      Эта статья является продолжением статьи Функция и функциональный объект


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


                                      1. Что будет, если в данном пространстве поменяется физическое наполнение. То есть, если потоки останутся, а материальный объект, который находился в этой части пространства, поменяется?
                                      2. Что произойдет, если потоки прервутся? функциональный объект будет непрерывным, или тоже прервется?

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

                                      Читать дальше →
                                    Самое читаемое