• Типы моделей

      Правильно заданный вопрос быстро приводит к правильному ответу. Недавно меня спросили: «Почему стандарты бизнес-анализа сконцентрированы на выявлении требований, но ничего не говорят о превращении этих требований в решение?» В самом начале своей карьеры аналитика я искал ответ на вопрос: как анализировать предметную область и как превращать результат анализа в структуру модели: откуда брать классы, атрибуты и методы? Тогда я нашел один более-менее вразумительный метод, описанный в книге Крега Лармана Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку. Аналитику предлагалось прохождение по тексту с маркерами разных цветов: Красный выделяет существительные и является основанием для создания классов, зеленый — прилагательные, причастия и проч. — основа для создания атрибутов этих классов. И глаголы выделяются синим — основа для создания методов.

      Однако, в реальности этот метод не работал. Один и тот же факт я мог смоделировать при помощи класса, значения атрибута или метода в зависимости от своего желания. Об этом написано подробно у Крисса Партриджа в книге Business Objects: Re-Engineering for Re-Use.
      Читать дальше →
    • Как Яндекс научил искусственный интеллект понимать смысл документов

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



        Но зачем вообще понадобились технологии из области искусственного интеллекта, если еще лет двадцать назад мы прекрасно находили в поиске искомое? Чем «Королёв» отличается от прошлогоднего алгоритма «Палех», где также использовались нейронные сети? И как архитектура индекса влияет на качество ранжирования? Специально для читателей Хабра мы ответим на все эти вопросы. И начнем с самого начала.

        Читать дальше →
      • Красочный код: как цвет помогает в работе с кодом

          Как программист, работающий с разными языками и на разных платформах, я столкнулась в определенный момент времени с одной неожиданной проблемой: для проведения ревью или же написания собственного кода, приходилось тратить достаточно много времени на переключение между IDE и языками. Возникла потребность в каком нибудь инструменте, который помог бы мне делать это эффективнее и без потери концентрации. И внезапно мне на помощь пришел цвет. И я хочу поделиться этим маленьким лайфхаком.
          Читать дальше →
        • Как работает нейронный машинный перевод?

          • Перевод

          Описание процессов машинного перевода основанного на базе правил (Rule-Based), машинного перевода на базе фраз (Phrase-Based) и нейронного перевода


          image

          В этой публикации нашего цикла step-by-step статей мы объясним, как работает нейронный машинный перевод и сравним его с другими методами: технологией перевода на базе правил и технологией фреймового перевода (PBMT, наиболее популярным подмножеством которого является статистический машинный перевод — SMT).

          Результаты исследования, полученные Neural Machine Translation, удивительны в части того, что касается расшифровки нейросети. Создается впечатление, что сеть на самом деле «понимает» предложение, когда переводит его. В этой статье мы разберем вопрос семантического подхода, который используют нейронные сети для перевода.

          Давайте начнем с того, что рассмотрим методы работы всех трех технологий на различных этапах процесса перевода, а также методы, которые используются в каждом из случаев. Далее мы познакомимся с некоторыми примерами и сравним, что каждая из технологий делает для того, чтобы выдать максимально правильный перевод.
          Читать дальше →
          • +25
          • 7,9k
          • 8
        • Как запутать аналитика — 5. Понятийный аппарат

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

            Мы говорили об объектах учета как о 4-х мерных объектах, существующих в пространстве-времени. Для моделирования этих объектов существуют три способа их представления:

            1. При помощи статических объектов (стул)
            2. При помощи динамических объектов, сохраняющих параметры своей динамики (вращающийся двигатель)
            3. При помощи динамических объектов, не сохраняющих постоянными параметры своей динамики – операции (операции и события)
            Читать дальше →
          • Как запутать аналитика — 4. Вероятность и точность

              В прошлой статье я сказал, что числовые атрибуты напрямую связаны с операциями, которые мы проводим над объектами. При этом натуральные числа – самый простой из рассматриваемых нами атрибутов. Есть и более сложные. Например, матрицы. Если мы говорим о свойстве линейного преобразования в трехмерном пространстве, то оно записывается 9-ю числовыми значениями, из которых удобно сформировать матрицу размером 3 на 3. Причина этого в том, что два преобразования, выполненных последовательно, — тоже преобразование, числовые атрибуты которого могут быть получены путем перемножения двух матриц. В этом сила моделирования преобразования при помощи матрицы.

              Я бы много отдал, чтобы преподавание математики строилось именно таким способом: через практическую задачу, через ввод нужных объектов (чисел, матриц, волновых функций) и объяснение, как операции над ними помогают решать конкретные задачи. Именно так строилось обучение в физмат школе, в которой мне довелось учиться – в интернате №18 при МГУ, спасибо преподавателям!
              Читать дальше →
            • Реклама помогает поддерживать и развивать наши сервисы

              Подробнее
              Реклама
            • Как запутать аналитика. Часть третья. Глаголы и числительные

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

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

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

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

                  Объект учета и результат его классификации (существительные)


                  Проведем мысленный эксперимент. Представьте себе два хранилища моделей. В одном хранилище созданы классы для хранения моделей плавательных средств, в другом – классы для хранения моделей автомобилей. Допустим, что есть объект, который в одном хранилище описан как объект класса плавсредство, а во второй – как объект класса автомобиль. Допустим, что стоит задача объединения этих хранилищ в одно. Как вы это сделаете?
                  Читать дальше →
                • Как запутать аналитика. Часть первая

                    — В армии научились совмещать пространство и время.
                    — Как?
                    — Очень просто! Прапорщик дает задание: «Сегодня будем копать от забора и до обеда»

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

                    В прошлой статье я дал определения типу и атрибуту. Напомню их:

                    • Тип – это выделение кучки (подмножества) из кучи (множества) и наделение объектов этой кучки уникальным именем — существительным.
                    • Атрибут разделяет кучу (множество) на кучки (подмножества) и наделяет объекты этих кучек разными прилагательными.

                    Это было определение типа и определение атрибута на основе анализа – мы делили кучу на части. Фактически, это было построение типа при помощи анализа. Теперь я покажу, как можно строить типы и атрибуты на основе синтеза.
                    Читать дальше →
                  • Понятия: множество, тип, атрибут

                      Математикам лень объяснять на языке обывателя, что такое действительное число. Обывателю трудно читать значки, написанные математиком, потому что их смысл для него не понятен. В итоге есть разрыв между теорией и практикой. В теории математики прекрасно знают, что такое типы объектов и что такое атрибуты, но, спускаясь к практике, мы видим, что мало, кто из практиков понимает, что это такое. Существует множество интуитивных понятий, но каждое из них скорее похоже на религиозную догму, нежели на знание. В данной статье я попытался ликвидировать пробел между математиками и прикладниками, объясняя основы теории множеств простым языком, без сложных значков. Например, вы знакомы с определением понятия атрибут? Я выстрадал его самостоятельно, потому что не мог найти формального его определения. И лишь потом Игорь Катричек прислал мне ссылку на книгу Е.Киндлера «Языки моделирования» (1979 год, перевод 1985 год), в которой дано определение атрибута:


                      В данной статье я дам свое, более общее определение атрибута, чтобы можно было легко его себе представить.
                      Читать дальше →
                    Самое читаемое