Как стать автором
Поиск
Написать публикацию
Обновить
32
0
Сергей Горшков @SergeIndex

Пользователь

Отправить сообщение

Диалоговые помощники для работы со структурированными данными

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

 - Кто в нашей компании отвечает за согласование доступа в выходные на объект N?
 - Александр Иванов.
 - А какой у него телефон?

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

Логическая витрина для доступа к большим данным

Время на прочтение6 мин
Количество просмотров23K
Технологии Big Data создавались в качестве ответа на вопрос «как обработать много данных». А что делать, если объем информации не является единственной проблемой? В промышленности и прочих серьезных применениях часто приходится иметь дело с большими данными сложной и переменной структуры, разрозненными массивами информации. Встречаются задачи, способ решения которых наперед не известен, и аналитику необходимы средства исследования исходных данных или результатов вычислений на их основе без привлечения программиста. Нужны инструменты, сочетающие функциональную мощь систем BI (а лучше – превосходящие ее) со способностью к обработке огромных объемов информации.

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

Читать дальше →

Триггеры, права доступа и версионность в точке доступа SPARQL

Время на прочтение4 мин
Количество просмотров3K
Тому, кто попытается использовать точку доступа SPARQL в качестве замены базы данных в каком-нибудь индустриальном проекте, придется столкнуться с несколькими неприятностями. Одна из них — отсутствие в арсенале средств такого продукта контроля прав доступа, триггеров, и возможностей организации версионности. Изучив все, что предлагается на рынке сегодня, мы пришли к необходимости реализовать такой функционал собственными силами.
В качестве «подопытного кролика» выступает Apache Fuseki, хотя тот же принцип можно применить к любой другой SPARQL endpoint.
Читать дальше →

ISO 15926 vs Семантика: сравнительный анализ семантических моделей

Время на прочтение16 мин
Количество просмотров17K
Идея применения семантических моделей в корпоративных информационных системах существует давно, но устойчивая практика такого их использования еще не сформировалась. Семантические модели можно применять для интеграции данных, аналитики, управления знаниями; однако, пока нет общепринятого мнения о том, как подходить к оценке их полезности, по каким методикам должны строиться такие модели.
Задача статьи — на практическом примере сравнить аналитический потенциал моделей, построенных по правилам интеграционного стандарта ISO 15926, который предписывает использование OWL и SPARQL для выражения моделей и работы с ними, и «обычных» семантических моделей, построенных без использования этого стандарта. Решение этого вопроса позволит выбрать диапазон задач, для решения которого целесообразно применять такие высокоуровневые парадигмы семантического моделирования, как ISO 15926.
Читать дальше →

Редактор онтологий на естественном языке

Время на прочтение4 мин
Количество просмотров19K
На выставке CeBIT я познакомился с представителями польской компании Cognitum, которая разрабатывает семантический фреймворк Ontorion. Важнейшей частью этого фреймворка является редактор онтологий Fluent Editor, который показался мне замечательным и достойным обзора. Главное достоинство Fluent Editor'а состоит в том, что он позволяет создавать OWL-онтологии людям, не имеющим представления о синтаксисе OWL (хотя иметь представление о его концепциях, и о моделировании информационных структур, конечно, все равно нужно). Онтологии создаются на естественном языке, Controlled English — то есть на обычном английском, к которому применены определенные правила и ограничения. Приведу обзор основных возможностей синтаксиса этого языка, не забывая смотреть на то, в каком виде его основные выражения будут сохраняться в OWL.

Для примера начнем составлять онтологию, содержащую сведения о бизнесе некой компании. У этой компании, как у любой коммерческой организации, есть поставщики и покупатели. Те и другие являются организациями, причем одна и та же организация может быть одновременно и поставщиком, и покупателем. Запишем соответствующие выражения на Controlled English:

Every customer is a organization.
Every supplier is a organization.

Читать дальше →

Технологии Semantic Web для интеграции информационных систем

Время на прочтение5 мин
Количество просмотров9.8K
Технологии семантической паутины (Semantic Web) периодически привлекают внимание благодаря тому, что на их основе создаются новые интересные инструменты. Совсем недавно появился социальный поиск (Graph Search) в Facebook – первый инструмент поиска по графу, доступный действительно широкому кругу пользователей.
Однако, сфера применения семантических технологий не ограничивается социальными сетями и поисковыми сервисами. Идея применить эти технологии для организации обмена данными между информационными системами достаточно очевидна. Если одна система передает другой не только сами данные, но и информацию об их предметной сущности (смысле, семантике), это позволяет лучше абстрагировать обменивающиеся системы друг от друга, чем при использовании выгрузок в XML или веб-сервисов SOA.
Кодирование информации в семантическую форму при передаче
Сегодня существует несколько реализаций такого подхода. Большинство из них, конечно, сделано зарубежными компаниями, но есть и российские разработки. В этой статье я расскажу об архитектуре одной таких систем, которую реализовал на практике.
Читать дальше →

Расширения PHP: несколько интересных особенностей

Время на прочтение2 мин
Количество просмотров3.9K
Писать на C++ расширения для PHP приходится не так чтобы очень часто, но когда приходится — обнаруживается, что публикаций и документации на эту тему не так уж и много. Особенно, если копнуть поглубже. Опишу несколько интересных моментов, которые мне пришлось выяснять «на своей шкуре».

Неожиданные сложности подстерегают нас при вызове из кода расширения (которое, напомню, мы пишем на C++) PHP-функций. Для этого предусмотрена функция call_user_function_ex, пример использования которой найти не так уж сложно; проблемы возникают, если вынести ее вызов из C++'ной функции, которая вызывается из PHP. Объявляются такие функции следующим образом:

ZEND_FUNCTION(MyFunction) { … }


После вынесения вызова call_user_function_ex за ее пределы, наше расширение перестает компилироваться.
Разгадка (и решение проблемы) кроются, конечно же, в определении макроса ZEND_FUNCTION, который добавляет к определению функции пару параметров. Нам ничего не остается, кроме как передать их той функции, откуда мы хотим обратиться к PHP. Выглядеть это будет так:
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Зарегистрирован
Активность