#Analytics

0 Seguidores · 48 Postagens

Esta tag está relacionada às discussões sobre o desenvolvimento de soluções de análise e inteligência de negócios, visualização, KPI e gerenciamento de outras métricas de negócios.

Artigo Fernando Ferreira · Mar. 17, 2021 10m read

Olá Comunidade,

Chegou a hora de iniciarmos o desenvolvimento dos relatórios utilizando o InterSystems IRIS Reports, powered by Logi Analytcs.

Lembrando que na primeira parte do artigo falamos o que é o InterSystems IRIS Reports, e como ele vem facilitar a vida dos desenvolvedores na entrega de relatórios, e na segunda parte executamos o procedimento de instalação dos ambientes server e designer e o procedimento para fazer o download dos binários de instalação!

Alguns conceitos importantes antes de iniciarmos o desenvolvimento sobre os tipos de relatórios que podemos desenvolver:

  • Estáticos: Os relatórios e seus resultados não podem ser modificados pelo usuário final. O layout e os dados inclusos são definidos pelo desenvolvedor.
  • Dinâmicos: Os relatórios podem ser modificados pelos usuários finais, como no estático o layout e dos dados são inclusos pelo desenvolvedor, porém o usuário final consegue modificá-los em tempo de execução.
  • Ad Hoc – Relatórios e dados são construídos e modificados em tempo de execução pelo usuário final. 
2
0 426
Artigo Fernando Ferreira · Mar. 4, 2021 6m read

Olá comunidade,

              Vamos para a 2º parte do artigo InterSystems IRIS Reports.

Somente relembrando na primeira parte do artigo falamos dos desafios existentes para atender a demanda das áreas de negócios, clientes ou usuários finais com a entrega de relatórios em diversos formatos e suas melhorias, e como o InterSystems IRIS Reports vem para facilitar está demanda, facilitando o desenvolvimento, a administração, o deploy de relatórios em diversos formatos, bem como a automação da distribuição por e-mail ou pastas e integração (build-in) em suas aplicações já existentes!

O InterSystems IRIS Reports, powered by Logi Report se encontra disponível para download no WRC (https://wrc.intersystems.com/wrc/coDistribution.csp), lembrando que para clientes que já possuem o licenciamento InterSystems IRIS Advanced Server ou InterSystems IRIS Advanced for Health, precisam somente abrir um chamado solicitando o serial para a instalação do InterSystems IRIS Reports, sem custo adicional.

Como mencionando no artigo anterior o InterSystems IRIS Reports é divido em dois componentes:

Server: O ambiente servidor tem a sua finalidade de administrar as configurações e segurança. É também onde os usuários finais via browser têm acesso aos relatórios, você pode agendar execução de relatórios, aplicar filtros e modificar os relatórios disponibilizados.

Designer: O ambiente designer por sua vez é onde os relatórios são desenvolvidos. É possível visualizar os relatórios antes de disponibilizar acessando diretamente a bases de dados.

0
0 332
Artigo Fernando Ferreira · Fev. 23, 2021 2m read

Olá comunidade,

Todos nós já conhecemos o poder da solução InterSystems IRIS Data platformou IRIS for Health, a facilidade de desenvolver aplicações utilizando Object Script, Java, Node.JS, Python, .NET,  com alto desempenho e confiabilidade do nosso banco de dados multi-modelo altamente escalável de forma horizontal ou vertical, o poder da interoperabilidade entre aplicações, com outros bancos de dados, a possibilidade de integrar utilizando diversos protocolos como REST, SOA, MQTT, FTP, etc., a nossa solução de BI, NLP, tudo em um mesmo binário, em uma mesma plataforma, o que facilita a vida do desenvolvedor a entregar soluções inovadoras e confiáveis!

Mesmo entregando soluções inovadoras, existe um desafio diário para muitos desenvolvedores, demandada pelas áreas de negócios, seja para entregar informação para clientes e ou usuários internos/externos etc., que são os relatórios.

0
0 211
Artigo Yuri Marx · Fev. 4, 2021 7m read

O Gartner definiu DataOps como: "Uma prática de gerenciamento de dados colaborativo focada em melhorar a comunicação, integração e automação dos fluxos de dados entre os gerentes de dados e consumidores de dados em uma organização. O objetivo do DataOps é entregar valor mais rápido criando entrega previsível e gerenciamento de mudanças dados, modelos de dados e artefatos relacionados. DataOps usa tecnologia para automatizar o design, implantação e gerenciamento de entrega de dados com níveis apropriados de governança e usa metadados para melhorar a usabilidade e o valor dos dados em um

0
0 425
Artigo Henrique Dias · jan 27, 2021 2m read

A pandemia que atacou o mundo em 2020 fez com que todos passassem a acompanhar as notícias e números que envolvem a COVID-19.

Então, por que não usar essa oportunidade e criar algo simple e agradável de se acompanhar os números das vacinações mundo afora?

Para participar deste desafio, utilizo os dados providos pelo Our World in Data - Research and data to make progress against the world’s largest problems.

Eles tem um repositório dedicado no Github com dados sobre a COVID-19, e utilizo os dados de vacinação para me ajudar com o meu rastreador.

Se você não conhece os caras, dá uma conferida, vai valer seu tempo. Github repository

A aplicação iris-vaccine-tracker tem 3 páginas diferentes:

  1. O dashboard principal
  2. Um datatable com as informações detalhadas, apresentadas pelo dashboard
  3. E um heat map

Dashboard

O dashboard principal mostra uma visão geral sobre a situação de vacinação ao redor do mundo.

O primeiro widget oferece as seguintes informações :

  • Quantos tipos de vacinas estão sendo utilizadas para vacinar a população
  • Quantos países estão informando os dados da vacinação
  • Total de vacinações até o momento

O segundo widget nos dá uma visão em linha do tempo com o top 10 de países com os números mais significantes da vacinação.

O terceiro widget exibe um gráfico de barras para os números do top 10 de países, mostrando o número total de vacinações até agora.

E o último widget, traz a distribuição de vacinas, que estão sendo utilizadas e seu percentual de utilização dentre os países.

Datatable

O data table exibe as informações detalhadas que o dashboard principal condensa para a exibição.

Heat Map

O heat map é uma visão diferente das informações já apresentadas no dashboard principal e no data table—Mas agora, estamos utilizando os detalhes providos pela informação que a tabela persistente Country nos oferece. A biblioteca amCharts usa o ISO Code Alpha2, nome do país e valor para criar esse mapa super show =D.

Demo

http://iris-vaccine-tracker.eastus.cloudapp.azure.com:52773/csp/irisapp/index.html

Curtiu o aplicativo? Acha que vale seu voto? Então vote em iris-vaccine-tracker!

https://openexchange.intersystems.com/contest/current

2
0 345
Artigo Anton Umnikov · jan 11, 2021 8m read

IRIS External Table é um projeto de código aberto da comunidade InterSystems, que permite usar arquivos armazenados no sistema de arquivos local e armazenamento de objetos em nuvem, como o AWS S3, como tabelas SQL. IRIS External Table

Ele pode ser encontrado no GitHub https://github.com/intersystems-community/IRIS-ExternalTable, Open Exchange https://openexchange.intersystems.com/package/IRIS-External-Table e está incluído no InterSystems Package Manager, ZPM.

Para instalar o External Table a partir do GitHub, use:

git clone https://github.com/antonum/IRIS-ExternalTable.git
iris session iris
USER>set sc = ##class(%SYSTEM.OBJ).LoadDir("<path-to>/IRIS-ExternalTable/src", "ck",,1)

Para instalar usando o ZPM Package Manager:

USER>zpm "install external-table"

Trabalhando com arquivos locais

Vamos criar um arquivo simples parecido com este:

a1,b1
a2,b2

Abra seu editor favorito e crie o arquivo ou apenas use uma linha de comando no linux/mac:

echo $'a1,b1\na2,b2' > /tmp/test.txt

No IRIS SQL, crie uma tabela para representar este arquivo:

create table test (col1 char(10),col2 char(10))

Converta a tabela para usar o armazenamento externo:

CALL EXT.ConvertToExternal(
    'test',
    '{
        "adapter":"EXT.LocalFile",
        "location":"/tmp/test.txt",
        "delimiter": ","
    }')

E finalmente, consulte a tabela:

select * from test

Se tudo funcionar conforme o esperado, você verá uma saída como esta:

col1    col2
a1  b1
a2  b2

Agora volte ao editor, altere o conteúdo do arquivo e execute novamente a consulta SQL. Uau!!! Você está lendo os novos valores de seu arquivo local no SQL.

col1    col2
a1  b1
a2  b99

Lendo dados a partir do S3

Em https://covid19-lake.s3.amazonaws.com/index.htmlhttps:você pode obter acesso a dados atualizados constantemente sobre o COVID, armazenados pela AWS no data lake público.

Vamos tentar acessar uma das fontes de dados neste data lake: s3://covid19-lake/rearc-covid-19-nyt-data-in-usa/csv/us-states

Se você tiver a ferramenta de linha de comando AWS instalada, pode repetir as etapas abaixo. Caso contrário, vá direto para a parte SQL. Você não precisa de usar um AWS específico instalado em sua máquina para acompanhar a parte SQL.

$ aws s3 ls s3://covid19-lake/rearc-covid-19-nyt-data-in-usa/csv/us-states/
2020-12-04 17:19:10     510572 us-states.csv

$ aws s3 cp s3://covid19-lake/rearc-covid-19-nyt-data-in-usa/csv/us-states/us-states.csv .
download: s3://covid19-lake/rearc-covid-19-nyt-data-in-usa/csv/us-states/us-states.csv to ./us-states.csv

$ head us-states.csv 
date,state,fips,cases,deaths
2020-01-21,Washington,53,1,0
2020-01-22,Washington,53,1,0
2020-01-23,Washington,53,1,0
2020-01-24,Illinois,17,1,0
2020-01-24,Washington,53,1,0
2020-01-25,California,06,1,0
2020-01-25,Illinois,17,1,0
2020-01-25,Washington,53,1,0
2020-01-26,Arizona,04,1,0

Portanto, temos um arquivo com uma estrutura bastante simples. Com cinco campos delimitados.

Para expor esta pasta S3 como um External Table, primeiro, precisamos criar uma tabela "regular" com a estrutura desejada:

-- create external table
create table covid_by_state (
    "date" DATE, 
    "state" VARCHAR(20),
    fips INT,
    cases INT,
    deaths INT
)

Observe que alguns nomes de campo como “Date” são palavras reservadas no IRIS SQL e precisam ser colocados entre aspas duplas. Em seguida, precisamos converter esta tabela “regular” para a tabela “externa”, com base no bucket AWS S3 e tipo CSV.

 -- convert table to external storage
call EXT.ConvertToExternal(
    'covid_by_state',
    '{
    "adapter":"EXT.AWSS3",
    "location":"s3://covid19-lake/rearc-covid-19-nyt-data-in-usa/csv/us-states/",
    "type": "csv",
    "delimiter": ",",
    "skipHeaders": 1
    }' 
)

Se você observar com atenção, os argumentos dos procedimentos EXT.ExternalTable são o nome da tabela e a string JSON, contendo vários parâmetros, como localização para procurar por arquivos, adaptador, delimitador, etc. Além da AWS S3, o External Table oferece suporte ao armazenamento BLOB do Azure, Cloud Buckets e o sistema de arquivos local. O GitHub Repo contém referências para a sintaxe e as opções suportadas em todos os formatos.

E finalmente, consulte a tabela:

-- query the table
select top 10 * from covid_by_state order by "date" desc

[SQL]USER>>select top 10 * from covid_by_state order by "date" desc
2.  select top 10 * from covid_by_state order by "date" desc

date    state   fips    cases   deaths
2020-12-06  Alabama 01  269877  3889
2020-12-06  Alaska  02  36847   136
2020-12-06  Arizona 04  364276  6950
2020-12-06  Arkansas    05  170924  2660
2020-12-06  California  06  1371940 19937
2020-12-06  Colorado    08  262460  3437
2020-12-06  Connecticut 09  127715  5146
2020-12-06  Delaware    10  39912   793
2020-12-06  District of Columbia    11  23136   697
2020-12-06  Florida 12  1058066 19176

Compreensivelmente, leva mais tempo para consultar dados da tabela remota, do que na tabela "IRIS nativa" ou com base global, porém, ela é completamente armazenada e atualizada em nuvem e está sendo puxada para o IRIS "nos bastidores".

Vamos explorar mais alguns recursos do External Table.

%PATH e tabelas, com base em vários arquivos

Em nossa pasta de exemplo, o bucket contém apenas um arquivo. Mais frequentemente, ele teria vários arquivos com a mesma estrutura, onde nome do arquivo identifica o carimbo de data/hora ou deviceid de algum outro atributo que desejaremos usar em nossas consultas.

O campo %PATH é adicionado automaticamente a cada External Table e contém o caminho completo para o arquivo de onde a linha foi recuperada.

select top 5 %PATH,* from covid_by_state

%PATH   date    state   fips    cases   deaths
s3://covid19-lake/rearc-covid-19-nyt-data-in-usa/csv/us-states/us-states.csv    2020-01-21  Washington  53  1   0
s3://covid19-lake/rearc-covid-19-nyt-data-in-usa/csv/us-states/us-states.csv    2020-01-22  Washington  53  1   0
s3://covid19-lake/rearc-covid-19-nyt-data-in-usa/csv/us-states/us-states.csv    2020-01-23  Washington  53  1   0
s3://covid19-lake/rearc-covid-19-nyt-data-in-usa/csv/us-states/us-states.csv    2020-01-24  Illinois    17  1   0
s3://covid19-lake/rearc-covid-19-nyt-data-in-usa/csv/us-states/us-states.csv    2020-01-24  Washington  53  1   0

Você pode usar este campo %PATH em suas consultas SQL como em qualquer outro campo.

Dados ETL para "Tabelas Regulares"

Se sua tarefa é carregar dados do S3 em uma tabela IRIS, você pode usar o External Table como uma ferramenta ETL. Apenas faça:

INSERT INTO internal_table SELECT * FROM external_table

No nosso caso, se quisermos copiar os dados sobre COVID do S3 para a tabela local:

--create local table
create table covid_by_state_local (
    "date" DATE, 
    "state" VARCHAR(100),
    fips INT,
    cases INT,
    deaths INT
)
--ETL from External to Local table
INSERT INTO covid_by_state_local SELECT TO_DATE("date",'YYYY-MM-DD'),state,fips,cases,deaths FROM covid_by_state

JOIN entre IRIS - tabela nativa e externa. Consultas federadas

External Table é uma tabela SQL. Ele pode ser unido a outras tabelas, usado em subseleções e UNIONs. Você pode até combinar a tabela IRIS “Regular” e duas ou mais tabelas externas de fontes diferentes na mesma consulta SQL.

Tente criar uma tabela regular, como os nomes de estado correspondendo com códigos de estado, como por exemplo, Washington – WA. E junte-a com nossa tabela baseada em S3.

create table state_codes (name varchar(100), code char(2))
insert into state_codes values ('Washington','WA')
insert into state_codes values ('Illinois','IL')

select top 10 "date", state, code, cases from covid_by_state join state_codes on state=name

Altere 'join' para 'left join' para incluir linhas para as quais o código de estado não foi definido. Como você pode ver, o resultado é uma combinação de dados do S3 e sua tabela IRIS nativa.

Acesso seguro aos dados

A AWS Covid Data Lake é público. Qualquer pessoa pode ler dados dele sem qualquer autenticação ou autorização. Na vida real, você desejará acessar seus dados de forma segura, evitando que estranhos espiem seus arquivos. Os detalhes completos da AWS Identity and Access Management (IAM) estão fora do escopo deste artigo. Mas o mínimo que você precisa saber é que você precisa de pelo menos a chave de acesso e a chave secreta da conta da AWS para acessar dados privados em sua conta. https:

AWS usa autenticação de chave/segredo de conta para assinar solicitações. https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys

Se você estiver executando o IRIS External Table na instância EC2, a maneira recomendada de lidar com a autenticação é usar as funções da instância EC2 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html. O IRIS External Table será capaz de usar as permissões dessa função. Nenhuma configuração extra é necessária.

Em uma instância local/não EC2, você precisa especificar o AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY, especificando variáveis de ambiente ou instalando e configurando o cliente AWS CLI.

export AWS_ACCESS_KEY_ID=AKIAEXAMPLEKEY
export AWS_SECRET_ACCESS_KEY=111222333abcdefghigklmnopqrst

Certifique-se de que a variável de ambiente esteja visível em seu processo IRIS. Você pode verificá-lo executando:

USER>write $system.Util.GetEnviron("AWS_ACCESS_KEY_ID")

Ela deve retornar o valor da chave.

ou instale o AWS CLI, seguindo as instruções aqui https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html e execute:

aws configure

O External Table poderá, então, ler as credenciais dos arquivos de configuração do aws cli. Seu shell interativo e o processo IRIS podem estar sendo executados em contas diferentes. Certifique-se de executar aws configure na mesma conta do seu processo IRIS.

0
0 227
Anúncio Angelo Bruno Braga · jan 4, 2021

Olá Comunidade,

Estamos felizes em convidá-los para o encontro online com os ganhadores do Concurso Analítico da InterSystems!

Dia e Horário: Segunda-Feira, 4 de Janeiro de 2021 – 12:00 horário de Brasília

O que lhe aguarda neste Encontro virtual? 

  • A biografia de nossos ganhadores.
  • Pequenas demonstrações de suas aplicações.
  • Uma discussão aberta sobre as tecnologias utilizadas, os bônus, espaço para esclarecimento de dúvidas e planos para os próximos concursos.

0
0 73
Anúncio Angelo Bruno Braga · Dez. 30, 2020

Olá Desenvolvedores,

Concurso Analítico InterSystems terminou. Obrigado a todos vocês que participaram de mais esta edição da nossa maratona de codificação !

E agora é hora de anunciarmos os ganhadores ! 

Nossos aplausos e congratulações vão para os seguintes desenvolvedores e suas aplicações:

🏆 Nominação de Experts  - os ganhadores são determinados por um juri especialmente selecionado:

🥇 1° lugar e US$2,000 vai para o projeto iris-analytics-notebook de @José Pereira

🥈 2° lugar e US$1,000 vai para o projeto website-analyzer de @Yuri Marx

0
0 96
Pergunta Henrique Dias · Dez. 16, 2020

Fala pessoal, tudo bem?

Criei uma tabela com 100k registros. No SELECT, retorna tudo belezinha. No entanto, quando tento criar um cubo utilizando essa tabela como base, o cubo é compilado com sucesso. No entanto, quando faço o BUILD, ele gera apenas 1 fato.

Alguém já se deparou com alguma situação similar?

Alguns detalhes:

2
0 99
Anúncio Angelo Bruno Braga · Dez. 21, 2020

Olá Desenvolvedores,

Esta semana é a semana de votação para o  Concurso Analítico InterSystems! Então, é a hora de você dar seu voto para as melhores soluções construídas utilizando a plataforma de dados InterSystems IRIS.

🔥 Você decide: VOTE AQUI 🔥

0
0 78
Anúncio Angelo Bruno Braga · Dez. 7, 2020

Olá Comunidade!

Estamos gratos em convidar todos os desenvolvedores para o Webinar Inicial do Concurso Analítico da InterSystems! O tópico deste webinar será dedicado ao Concurso Analítico.

Neste webinar, nós iremos demonstrar o modelo-iris-analítico e responder as perguntas de como desenvolver, empacotar e publicar aplicações analíticas usando o InterSystems IRIS.

Dia & Horário: Segunda-feira, 7 de Dezembro — 14:00 Horário de Brasília

Palestrantes:  
🗣 @Carmen Logue, InterSystems Product Manager - Analytics and AI
🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager


<--break->

0
0 102
Anúncio Angelo Bruno Braga · Dez. 4, 2020

Olá Desenvolvedores!

Aqui estão os bônus tecnológicos para o Concurso Analítico da InterSystems que irão prover pontos extras na votação:

  • InterSystems IRIS BI 
  • InterSystems IRIS NLP
  • IntegratedML
  • Uso de dados reais
  • Implantação em Pacote ZPM
  • Uso de contêiner Docker 

Vejam os detalhes abaixo:

InterSystems IRIS BI - 1 ponto

O InterSystems IRIS BI é uma funcionalidade do IRIS que lhe permite a opção de criar cubos e tabelas pivô a partir dos dados persistentes do IRIS e entregar estes dados como informação para usuários através do uso de painéis interativos.

Aprenda mais

0
0 72
Artigo Alessandro Marin · Nov. 26, 2020 3m read

Estou planejando implementar a Inteligência de Negócio (BI) com base nos dados de minhas instâncias. Qual é a melhor maneira de configurar meus bancos de dados e ambiente para usar o DeepSee?

Este tutorial aborda essa questão mostrando três exemplos de arquitetura para DeepSee. Começaremos com um modelo de arquitetura básico e destacaremos suas limitações. O modelo subsequente é recomendado para aplicações de Inteligência de Negócio (BI) de complexidade intermediária e deve ser suficiente para a maioria dos casos de uso. Terminaremos este tutorial descrevendo como aumentar a flexibilidade da arquitetura para gerenciar implementações avançadas.

Cada exemplo neste tutorial apresenta novos bancos de dados e mapeamentos globais, junto com uma discussão sobre por que e quando eles devem ser configurados. Ao construir a arquitetura, os benefícios fornecidos pelos exemplos mais flexíveis serão destacados.

Antes de começar

Servidores primários e analíticos

Para tornar os dados altamente disponíveis, a InterSystems geralmente recomenda usar as soluções de espelhamento ou sombreamento e então basear a implementação DeepSee no servidor espelho/sombra. A máquina que hospeda a cópia original dos dados é chamada de servidor Primário, enquanto as máquinas que hospedam cópias dos dados e as aplicações de Inteligência de Negócio (BI) costumam ser chamados de servidores Analíticos (ou, às vezes, de Relatórios)

Ter servidores primários e analíticos é muito importante, o principal motivo é evitar problemas de desempenho em qualquer um dos servidores. Verifique a documentação sobre a Arquitetura Recomendada.

Dados e código da aplicação

Armazenar dados de origem e código no mesmo banco de dados geralmente funciona bem apenas para aplicações de pequena escala. Para aplicações mais extensas, é recomendado armazenar os dados de origem e código em dois bancos de dados dedicados, o que permite compartilhar o código com todos os namespaces onde o DeepSee é executado, mantendo os dados separados. O banco de dados de dados de origem deve ser espelhado no servidor de produção. Este banco de dados pode ser somente leitura ou leitura-gravação. É recomendável manter o registro do diário habilitado para este banco de dados.

As classes de origem e as aplicações personalizados devem ser armazenados em um banco de dados dedicado nos servidores de produção e analítico. Observe que esses dois bancos de dados para o código-fonte não precisam estar sincronizados ou mesmo rodar a mesma versão do Caché. Normalmente, o registro no diário não é necessário, desde que o backup do código seja feito regularmente em outro lugar.

Neste tutorial teremos a seguinte configuração. O namespace do APP no servidor analítico tem o APP-DATA e o APP-CODE como bancos de dados padrão. O banco de dados APP-DATA tem acesso aos dados (a classe da tabela de origem e seus fatos) no banco de dados de dados de origem no Primário. O banco de dados APP-CODE armazena o código Caché (arquivos .cls e .INT) e outros códigos personalizados. Essa separação de dados e código é uma arquitetura típica e permite ao usuário, por exemplo, implantar com eficiência o código DeepSee e a aplicação personalizada.

Executar DeepSee em diferentes namespaces

As implementações de Inteligência de Negócio (BI) usando DeepSee geralmente são executadas a partir de namespaces diferentes. Nesta postagem, mostraremos como configurar um único namespace de APP, mas o mesmo procedimento se aplica a todos os namespaces onde a aplicação de inteligência de negócio é executada.

Documentação

Recomenda-se familiarizar-se com a página de documentação Executando a Configuração Inicial. Esta página inclui a configuração de aplicações web, como colocar DeepSee globais em bancos de dados separados e uma lista de mapeamentos alternativos para DeepSee globais.


Na segunda parte desta série mostraremos com a implementação de um modelo básico de arquitetura

1
0 261
Artigo Nikita Savchenko · Out. 26, 2020 7m read

Este artigo apresenta o InterSystems iKnow Entity Browser, uma aplicação web que permite visualizar dados de texto extraídos e organizados obtidos de um grande número de textos, alimentado pela tecnologia InterSystems iKnow, também conhecida como InterSystems Text Analytics no InterSystems IRIS. Sinta-se à vontade para experimentar a demonstração dessa ferramenta ou aprender mais sobre ela no InterSystems Open Exchange.

Comecei o desenvolvimento deste projeto no final de 2016. De agora em diante, o meu iKnow Entity Browser é usado em todo o mundo por aqueles que usam a tecnologia InterSystems e por aqueles que fazem extração de texto. Este artigo deveria ter aparecido antes, entretanto, nunca é tarde para contar algo sobre coisas úteis!

Sobre o que é o InterSystems Text Analytics

InterSystems iKnow (ou InterSystems Text Analytics) é uma tecnologia de NLP incorporável que permite extrair dados significativos de textos. Bem, não apenas para extrair esses dados, mas também para coletá-los, vinculá-los, filtrá-los e priorizá-los. Como resultado, o InterSystems iKnow fornece uma base sólida para a construção de aplicações de dados para mineração de dados.

Do ponto de vista da programação, o iKnow fornece uma API rica que permite incorporar essa tecnologia a qualquer aplicação, independentemente de sua linguagem de programação. O iKnow Entity Browser usa esta API para visualizar os dados processados na forma de uma árvore de conceitos e relações.

Antes do lançamento do InterSystems iKnow Entity Browser, a única solução pronta para uso disponível para exploração de dados era o visualizador incorporado do iKnow, que é enviado junto com os produtos baseados no InterSystems Caché e IRIS. Este visualizador apresenta muitas ferramentas úteis principalmente para pesquisar algo no texto processado (no iKnow é chamado de domínio), enquanto o iKnow Entity Browser é criado também para visualizar e organizar conceitos em um texto.

Visualização do Portal de Conhecimento iKnow

iKnow Entity Browser

O iKnow Entity Browser é um projeto de código aberto, o que significa que qualquer pessoa pode contribuir com seu núcleo. Aqui está a lista de recursos que foram desenvolvidos:

  • visualização de conceitos semelhantes e relacionados como uma árvore (diagrama de floco de neve), suporte a ampliação e redução de zoom;
  • ferramentas de edição de gráficos: operações de seleção, exclusão, desfazer e refazer;
  • customização da fonte de dados, que também permite explorar o gráfico em servidores remotos;
  • visualização tabular personalizável de todas as entidades apresentadas em um gráfico, que também pode ser exportada como uma planilha *.csv;
  • interface de usuário responsiva, compatível com toque e dispositivos móveis.
  • Demonstração de gráfico do iKnow Entity Browser

    Instalação

    A instalação do iKnow Entity Browser é bastante direta. Baixe a versão mais recente (arquivo XML) da aplicação e importe-a para o namespace habilitado para iKnow (por exemplo, SAMPLES). Isso funciona com todos os lançamentos mais recentes dos produtos InterSystems, incluindo a plataforma de dados InterSystems IRIS. Para importar o arquivo XML, você pode arrastar e soltar o arquivo na janela do Studio (Atelier). Alternativamente, você pode importar o arquivo usando o portal de gerenciamento de sistemas, no explorador de sistemas - classes. Em seguida, abra o seu navegador na página web http://localhost:57772/EntityBrowser/ (altere o host/porta respectivamente para a configuração do seu servidor e lembre-se de colocar uma barra / no final da URL).

    Para excluir a aplicação, basta excluir o pacote EntityBrowser do Studio/Atelier. A aplicação web instalada será excluída automaticamente da mesma forma que foi criada durante a instalação, se não foi modificada desde então.

    Atualmente, para usar o iKnow Entity Browser em diferentes namespaces, você precisa importá-lo para cada namespace habilitado para iKnow e configurar manualmente a aplicação web (por exemplo, você pode clonar a aplicação /EntityBrowser e renomeá-la). Nesse caso, altere as configurações dentro da aplicação web para as correspondentes (leia o guia de personalização abaixo).

    Se você instalou o iKnow Entity Browser no servidor e tornou a aplicação web pública, pode se conectar a esse servidor a partir de qualquer front-end, até mesmo a partir desta aplicação de demonstração, por exemplo.

    Personalização

    O menu de configuração da aplicação, localizado no canto superior direito da interface do usuário, permite personalizar a aparência e a fonte de dados. No menu de configurações, você pode especificar o seguinte (veja a imagem abaixo):

  • URL da fonte de dados, que identifica o servidor com o navegador de entidade iKnow instalado (aplicação web /EntityBrowser).
  • Nome do domínio. Ao criar um novo domínio no InterSystems iKnow, você especifica o nome do domínio. Este nome vai para a entrada de nome de domínio.
  • Um conceito que constrói o gráfico. Por padrão, o iKnow Entity Browser constrói o gráfico a partir de conceitos relacionados ao conceito que você especifica, no entanto, você pode alterá-lo para conceitos semelhantes, usando o menu suspenso do lado esquerdo da entrada do conceito ou do menu suspenso menu inferior na visualização principal, se ativado.
  • Se deve ou não colocar a entrada do conceito na visualização principal.
  • Se deve ou não colocar o menu suspenso do tipo de consulta na visualização principal.
  • Se deve ou não mostrar nós ocultos na visualização tabular. Os nós ocultos são aqueles que não são expandidos em uma visualização, mas estão presentes em um resultado de consulta.
  • Colunas que são exibidas em uma visualização tabular. Aqui você pode personalizar o nome da coluna e selecionar um valor que exibe (ID, tipo de borda de entrada, rótulo, pontuação, propagação (spread), frequência, rótulo do conceito pai, ID do conceito pai).
  • Redefinir todas as configurações para os padrões.
  •   

    Configurações do iKnow Entity Browser

    O Gráfico

    Uma vez que o conceito de seed é especificado nas configurações, o iKnow Entity Browser constrói um gráfico de conceitos semelhantes ou relacionados ao conceito de seed. Você pode brincar com este gráfico arrastando seus nós, no entanto, a força física sempre tentará organizá-lo na forma de um diagrama de floco de neve.

    O gráfico pode ser editado usando os controles na parte inferior da tela. Isso inclui os botões desfazer/refazer, aumentar/diminuir o zoom e redefinir os botões de zoom, redefinir o botão de seleção, desvincular e excluir botões de seleção. Passar o mouse sobre qualquer um desses botões exibe uma dica de ferramenta.

    Menu com controles

    Caso precise de uma lista de conceitos selecionados, você pode alternar uma visualização tabular pressionando o botão correspondente no canto superior direito. Tudo o que você faz no gráfico fica sincronizado com a visualização tabular e vice-versa.

    Na visualização tabular, quando você passa o mouse sobre uma das linhas, o nó correspondente é destacado no gráfico. Se você clicar na linha, a visualização do gráfico se concentra automaticamente no nó correspondente. Assim como no gráfico, você pode clicar nos botões nas linhas da tabela para selecionar/desmarcar os nós.

    Visualização Tabular

    Depois de ter uma seleção de nós, você pode exportá-los como uma tabela no formato *.csv. Pressione o botão de visualização tabular no canto superior direito para que a tabela apareça e então você encontrará o botão "Exportar". Isso exportará todos os nós selecionados na forma de uma tabela, a mesma tabela que você tem em uma visualização tabular.

    Tem Mais

    iKnow Entity Browser é apenas um dos vários projetos que fiz para a corporação InterSystems. Aqui estão alguns, se você ainda não viu esses projetos: WebTerminal, Visual Editor, Class Explorer, Light Pivot Table, GlobalsDB Admin. Encontre esses e outros projetos relacionados à InterSystems no InterSystems Marketplace.

    Todos os meus projetos são de código aberto, permitindo que outros contribuam. O código desses projetos está disponível no GitHub. Você também pode usar seu código como um exemplo para construir sua própria aplicação sobre os produtos da InterSystems. Se você der uma olhada mais de perto, descobrirá que a maioria deles são pacotes instaláveis, enviados em um único arquivo XML. Se você está curioso em usar a mesma estratégia para seus pacotes, confira este artigo.

    Espero que você ache o iKnow Entity Browser e outros projetos úteis! Aproveite!

    0
    0 203