Все потоки
Поиск
Написать публикацию
Обновить
1.1

Семантические сети *

Веб 3.0

Сначала показывать
Порог рейтинга
Уровень сложности

Об одной любопытной возможности IPFS

Время на прочтение5 мин
Количество просмотров4.5K

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

Читать далее

Как снизить зависимость кода от структуры данных?

Время на прочтение7 мин
Количество просмотров9.8K

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

Читать далее

Примеры представления смысла документа через действия

Время на прочтение7 мин
Количество просмотров3.5K

Всем привет!

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

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

Читать далее

Немного о вариабельности SARS-CoV-2

Время на прочтение6 мин
Количество просмотров3.6K

На сегодняшний день применяется не менее четырёх способов классификации вариантов SARS-CoV-2 (или hCoV-19). Проще всего с непривычки запутаться в ветвях филогенетического дерева (кладах), по-разному обозначаемых двумя конкурирующими организациями – GISAID (gisaid.org) и Nextstrain (nextstrain.org). Лавинообразное нарастание количества вариантов вируса усложняет восприятие и понимание подобных обозначений, поэтому деление на клады постепенно вытесняется делением на линии, обозначенным как PANGOLIN (Phylogenetic Assignment of Named Global Outbreak LINeages). Для такого деления используется секвенирование вирусных геномов и построение их полного филогенетического дерева.

Читать далее

Снится ли GGG Тиму Бернерсу-Ли?

Время на прочтение8 мин
Количество просмотров2.5K

В 2007 году знаменитый автор слова из трёх букв 'W' опубликовал в своем блоге рассуждения о востребованности слова нового, на сей раз - из трёх букв 'G'. "Гигантский Глобальный Граф" - так предполагалось это произносить в полном, необрезанном виде. О чём шла речь? О том, что слово "граф" больше подходит для обозначения технологии представления взамосвязанных данных, нежели "паутина", пусть даже и "семантическая". Термин не прижился. Отчасти, возможно, из-за некоторой тавтологичности, отчасти же - из-за того, что привычная "паутина" оказалась милее сердцу обывателя, чем какой-то "граф".

Ну, да ладно, "ГГГ" не всплыло взлетело - не беда, ведь в конце концов - это лишь один из возможных псевдонимов планетарной семантической сети. Но что представлялось сиру Тиму в качестве цели для достижения (с помощью новых-то технологий связывания данных)?.. "Важны не документы, а то, что в них содержится. Очевидная истина." - писал он, - "...когда я бронирую билет на авиарейс, меня интересует именно этот рейс. Не страница рейса на сайте путешествий или страница рейса на сайте авиакомпании, но URI самого авиарейса. Вот что я поставлю в закладки. И каким бы устройством я ни воспользовался для открытия закладки, оно будет иметь доступ к ситуационно зависимому обзору всего, что я знаю об этом рейсе из разных источников. Задача заказа и совершения рейса потребует множества взаимодействий. И на их протяжении, эти задача и рейс будут на первом месте в моём осознании, веб-сайты – на втором, а сети и устройства – на третьем."

Читать далее

Алгоритм для рейтинга комментариев, поощряющий хорошие аргументы

Время на прочтение4 мин
Количество просмотров6.3K

Сайты вроде Хабра, Пикабу, Реддита, и Hacker News имеют древовидные системы комментариев к постам. Зарегистрированные пользователи могут голосовать за комментарии. Сайты используют рейтинги комментариев двумя способами:

- Управляют вниманием читателей комментариев. "Лучшие" комментарии отображаются сразу под постом, "худшие" - в подвале. Хабр почти не управляет вниманием читателей: он лишь блюрит "плохие" комментарии, но не переупорядочивает их. Впрочем, я (как наверное и многие другие читатели) часто листаю комментарии только цепляясь взглядом за двузначное значение рейтинга.

- Дают какие-то плюшки авторам "хороших" комментариев. Например, в некоторых сабреддитах нужно иметь определенный рейтинг комментариев в данном сабреддите чтобы опубликовать пост.

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

Читать далее

Как устроен «Русский медвежонок» — оплот психодела и здравого смысла в образовании

Время на прочтение14 мин
Количество просмотров73K


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

Сначала я вообще считал, что «Русский медвежонок» — это отдельное произведение искусства, созданное, чтобы с иррациональным юмором показать расширенные возможности языка. А потом allex познакомил меня с создателями сего шедевра, и выяснилось, что это вообще-то ужасно серьёзное дело, которым заняты математики и лингвисты. Предельно адекватные, насколько это вообще возможно для математиков и лингвистов.

Значит, сейчас «Медвежонок» — это самый массовый конкурс по русскому языку, подозрительно напоминающий олимпиаду всем, кроме формы. Формально он — игра. Предприятие это сугубо коммерческое, участие стоит 85 рублей (до 100 рублей на Дальнем Востоке). Участие добровольное, в качестве приза предполагается нечто символическое — это тоже осознанно, чтобы не было тех, кто играет на мамону. Все вопросы предполагают на входе некоторый общий уровень развития человека, рождённого на Земле в России. То есть это нечто из базовой школьной программы, общечеловеческие бытовые знания и базовый же кругозор. Задач на чистое академическое знание нет. Задач на зубрёжку нет. Даже если вам кажется, что есть. Задачи довольно хорошо тестируются на живых людях до раскатки на конечных пользователей.

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

Первое, что меня без меры порадовало — что в методологии «пять вариантов ответов» сразу подразумевается, что все эти варианты создаются так, чтобы максимально запутать отвечающего и, фактически, внести новый уровень сложности в задачу. Сейчас покажу пару примеров.
Читать дальше →

Перефразирование русских текстов: корпуса, модели, метрики

Время на прочтение13 мин
Количество просмотров22K

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

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

Читать далее

Что можно положить в тег <head>

Время на прочтение14 мин
Количество просмотров35K

Рекомендуемый минимум

Ниже приведены основные элементы для любого веб-документа (веб-сайта/приложения):

meta charset — определяет кодировку веб-сайта, стандартом является utf-8.

meta name="viewport" — настройки viewport, связанные с мобильной отзывчивостью

width=device-width — физическая ширина устройства (отлично подходит для мобильных устройств!)

initial-scale=1 — начальный масштаб, 1 означает отсутствие масштабирования

Элементы

Допустимые элементы <head> включают meta, link, title, style, script, noscript и base.

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

Читать далее

Дата-центрическая архитектура: «волшебная пуля» от интеграционных проблем

Время на прочтение5 мин
Количество просмотров6.7K

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

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

Читать далее

Маленький и быстрый BERT для русского языка

Время на прочтение9 мин
Количество просмотров71K

BERT – нейросеть, способная неплохо понимать смысл текстов на человеческом языке. Впервые появившись в 2018 году, эта модель совершила переворот в компьютерной лингвистике. Базовая версия модели долго предобучается, читая миллионы текстов и постепенно осваивая язык, а потом её можно дообучить на собственной прикладной задаче, например, классификации комментариев или выделении в тексте имён, названий и адресов. Стандартная версия BERT довольно толстая: весит больше 600 мегабайт, обрабатывает предложение около 120 миллисекунд (на CPU). В этом посте я предлагаю уменьшенную версию BERT для русского языка – 45 мегабайт, 6 миллисекунд на предложение. Она была получена в результате дистилляции нескольких больших моделей. Уже есть tinybert для английского от Хуавея, есть моя уменьшалка FastText'а, а вот маленький (англо-)русский BERT, кажется, появился впервые. Но насколько он хорош?

Читать далее

Узелковое мышление. Об информационной уникальности кипу

Время на прочтение8 мин
Количество просмотров7.6K

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

Начну этот рассказ с краткого отступления – истории, изложенной в книге «Код» Чарльза Петцольда.

Луи Брайль (1809 - 1852), знаменитый автор шрифта для слепых, от рождения слеп не был. Отец Брайля работал шорником, и девятилетний ребенок случайно попал себе в глаз острым инструментом, играя в отцовской мастерской. На один глаз он ослеп сразу, но затем инфекция быстро перекинулась и на второй глаз, в результате чего Луи полностью утратил зрение и оказался в парижском приюте Валентина Гаюи (1745 - 1822), который в 1784 году основал в Париже «Мастерскую трудящихся слепых», а в 1806-1818 годах занимался аналогичной работой в Санкт-Петербурге.

Именно Валентин Гаюи впервые попытался разработать тактильный шрифт для слепых. Он делал рельефные отпечатки латинских букв, которые затем должны были на ощупь изучать его воспитанники. Тем не менее, эта система оказалась малоэффективной и непонятной, поскольку Гаюи не смог поставить себя на место слепого человека, вообще не представляющего, что такое визуальное восприятие буквы. Система Брайля, сделанная ослепшим для слепых, оказалась гораздо более эффективной и семантически насыщенной, чем изобретение его учителя.   

Читать далее

Смысл текста или представление знаний в системе, основанной на действиях

Время на прочтение9 мин
Количество просмотров3.7K

Что такое смысл речи, текста? Как и какими понятиями его можно представить?

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

Читать далее

Ближайшие события

Категория контекста

Время на прочтение12 мин
Количество просмотров2.3K

Математической моделью знаковых последовательностей с повторами (текстов) является мультимножество. Мультимножество было определено Д. Кнутом в 1969 году и позже подробно изучено А.Б. Петровским [1]. Универсальное свойство мультимножества – существование одинаковых элементов. Предельным случаем мультимножества при единичных кратностях элементов является множество. Множество с единичными кратностями, соответствующее мультимножеству, называется его порождающим множеством или доменом. Множество с нулевой кратностью – это пустое множество.

Читать далее

Как преобразовать текст в алгебру: примеры

Время на прочтение5 мин
Количество просмотров4.6K

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

Читать далее

Как преобразовать текст в алгебру

Время на прочтение10 мин
Количество просмотров4.9K

Как пишут тексты в Большой Академии в Лагадо

Алгебра и язык (письменность) являются двумя разными инструментами познания. Если их объединить, то можно рассчитывать на появление новых методов машинного понимания. Определить смысл (понять) – это вычислить как часть соотносится с целым. Современные поисковые алгоритмы уже имеют задачей распознавание смысла, а тензорные процессоры Google выполняют матричные умножения (свертки), необходимые для алгебраического подхода. При этом в семантическом анализе используются в основном статистические методы. В алгебре выглядело бы странным использование статистики при поиске, например, признаков делимости чисел. Использование алгебраического аппарата полезно также для интерпретации результатов вычислений при распознавании смысла текста.

Читать далее

Как документировать базы данных на MediaWiki и не свихнуться

Время на прочтение22 мин
Количество просмотров11K

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

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

Ну что ж, рассказывай →

Проектируем мультипарадигменный язык программирования. Часть 6 — Заимствования из SQL

Время на прочтение18 мин
Количество просмотров2K
Продолжаем рассказ о создании мультипарадигменного языка программирования, сочетающего декларативный логический стиль с объектно-ориентированным и функциональным, который был бы удобен при работе со слабоструктурированными данными и интеграции данных из разрозненных источников. Язык будет состоять из двух компонент, тесно интегрированных между собой: декларативная компонента будет ответственна за описание модели предметной области, а императивная или функциональная — за описание алгоритмов работы с моделью и вычисления.

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

В области работы с данными неоспоримым лидером является язык SQL. Некоторые его возможности, оказавшиеся очень удобными на практике, такие как агрегация, позже перекочевали в логическое программирование. Поэтому будет полезным позаимствовать из SQL как можно больше возможностей и для компоненты моделирования. В этой статье я хочу показать, как в определения понятий можно встроить вложенные запросы, внешние соединения (outer join) и агрегацию. Также расскажу о еще одном типе понятий, которое описывается с помощью функции, генерирующей объекты (сущности) в алгоритмическом стиле не прибегая к логическому поиску. И покажу, как с его помощью можно использовать массивы объектов в качестве родительских понятий по аналогии с SQL операцией UNNEST, преобразовывающей коллекции в табличный формат и позволяющей соединить их с другими таблицами в секции FROM.
Читать дальше →

MarkedText — маркдаун здорового человека

Время на прочтение10 мин
Количество просмотров42K

Здравствуйте, меня зовут Дмитрий Карловский и все свои статьи (и презентации) пишу я в MarkDown разметке. И знаете что? Она уже порядочно меня подзаелозила! Тексты я пишу на русском, но большая часть спецсимволов есть только в английской раскладке клавиатуры. А редактирование таблиц - это вечная пизанская башня из вертикальных линий. Короче, есть у него проблемы как с удобством редактирования, так и с наглядностью представления. Так что давайте попробуем спроектировать его с нуля, не таща за собой килотонны головоломных конструкций.

Поехали..

Проектируем мультипарадигменный язык программирования. Часть 5 — Особенности логического программирования

Время на прочтение16 мин
Количество просмотров3.6K
Продолжаем рассказ о создании мульти-парадигменного языка программирования, сочетающего декларативный логический стиль с объектно-ориентированным и функциональным, который был бы удобен при работе со слабоструктурированными данными и интеграции данных из разрозненных источников. Язык будет состоять из двух компонент, тесно интегрированных между собой: декларативная компонента будет ответственна за описание модели предметной области, а императивная или функциональная — за описание алгоритмов работы с моделью и вычисления.

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

А сейчас я предлагаю окунуться в некоторые нюансы логического программирования. Поскольку язык компоненты моделирования имеет декларативную логическую форму, то придется решить такие проблемы, как определение семантики оператора отрицания, внедрение элементов логики высших порядков и добавление возможности работы с логическими переменными. А для этого придется разобраться с такими теоретическими вопросами как предположение об открытости/замкнутости мира, отрицание как отказ, семантикой стойких моделей (stable model semantics) и обоснованной семантикой (well-founded semantics). А также с тем, как реализованы возможности логики высших порядков в других языках логического программирования.
Читать дальше →