- Introdução
- Configurando sua conta
- Balanceamento
- Clusters
- Desvio de conceito
- Cobertura
- Conjuntos de dados
- Campos gerais
- Rótulos (previsões, níveis de confiança, hierarquia do rótulo e sentimento do rótulo)
- Modelos
- Transmissões
- Classificação do Modelo
- Projetos
- Precisão
- Lembrar
- Mensagens anotadas e não anotadas
- Campos de extração
- Fontes
- Taxonomias
- Treinamento
- Previsões positivos e negativos verdadeiros e falsos
- Validação
- Mensagens
- Controle de acesso e administração
- Gerencie origens e conjuntos de dados
- Entender a estrutura de dados e permissões
- Criando ou excluindo uma origem de dados na GUI
- Carregar um arquivo CSV para uma origem
- Preparando dados para carregamento de .CSV
- Criação de um conjunto de dados
- Origens e conjuntos de dados multilíngues
- Habilitando o sentimento em um conjunto de dados
- Como corrigir as configurações do conjunto de dados
- Excluindo uma mensagem
- Exclusão de um conjunto de dados
- Exportação de um conjunto de dados
- Usando integrações do Exchange
- Treinamento e manutenção do modelo
- Noções Básicas sobre rótulos, campos gerais e metadados
- Hierarquia de rótulos e práticas recomendadas
- Comparação de casos de uso de análise e automação
- Transformando seus objetivos em rótulos
- Visão geral do processo de treinamento do modelo
- Anotação generativa
- Status do conjunto de dados
- Treinamento de modelos e práticas recomendadas de anotação
- Treinamento com análise de sentimento de rótulo habilitada
- Dados de chamadas e chat de treinamento
- Compreensão dos requisitos de dados
- Treinamento
- Introdução ao Refine
- Precisão e recall explicados
- Precisão e recall
- Como a validação funciona
- Compreender e melhorar o desempenho do modelo
- Motivos para baixa precisão média do rótulo
- Treinamento usando Check label e Perda de rótulo
- Treinamento usando Ensinar rótulo (Refinar)
- Treinamento usando a Pesquisa (Refinamento)
- Noções Básicas e Aumentando a Cobertura
- Melhorando o balanceamento e usando o Rebalanceamento
- Quando parar de treinar seu modelo
- Uso dos campos gerais
- Extração generativa
- Uso de análise e monitoramento
- Automations e Communications Mining™
- Desenvolvedor
- Integração do Exchange com usuário do serviço do Azure
- Integração do Exchange com Autenticação de Aplicativo do Azure
- Integração do Exchange com Autenticação de aplicativo e gráfico do Azure
- Como buscar dados para o Tableau com o Python
- Integração do Elasticsearch
- Integração auto-hospedada do Exchange
- Framework de automação da UiPath®
- Atividades do UiPath® Marketplace
- Atividades oficiais da UiPath®
- Como as máquinas aprendem a entender as palavras: um guia para incorporações ao NLP
- Aprendizado baseado em solicitação com Transformers
- Efficient Transformers II: extração de conhecimento e ajustes finos
- Transformers eficientes I: mecanismos de atenção
- Modelagem de intenção hierárquica profunda não supervisionada: obtenção de valor sem dados de treinamento
- Corrigindo viés de anotação com o Communications Mining™
- Aprendizado ativo: melhores modelos de ML em menos tempo
- Está tudo nos números - avaliando o desempenho do modelo com métricas
- Por que a validação de modelos é importante
- Comparação do Communications Mining™ e do Google AutoML para inteligência de dados de conversa
- Licenciamento
- Perguntas frequentes e mais

Guia do usuário do Communications Mining
Integração do Elasticsearch
linkO Communications Mining™ oferece um conjunto avançado de ferramentas de análise integradas. No entanto, às vezes é necessário unir as previsões do Communications Mining com dados que não podem ser carregados como parte dos comentários do Communications Mining. Nesses casos, uma solução comum é indexar as previsões do Communications Mining e quaisquer dados adicionais no Elasticsearch e usar uma ferramenta como o Kibana para gerar análises. Esse tutorial descreve como importar dados do Communications Mining para o Elasticsearch e visualizá-los no Kibana.
Os dados usados nos exemplos ao longo deste tutorial são e-mails fictícios gerados do domínio de seguros.
Armazenar dados no Elasticsearch
link{
"comment": {
"id": "c7a1c529-3f57-4be6-9102-c9f892b81ae51",
"uid": "49ba2c56a945386c.c7a1c529-3f57-4be6-9102-c9f892b81ae51",
"timestamp": "2021-03-29T08:36:25.607Z",
"messages": [
{
"body": {
"text": "The policyholder has changed their address to the new address: 19 Essex Gardens, SW17 2UL"
},
"subject": {
"text": "Change of address - Policy SFG48807871"
},
"from": "CPX8460080@broker.com",
"to": ["underwriter@insurer.com"],
"sent_at": "2021-03-29T08:36:25.607Z"
}
]
// (... more properties ...)
},
"labels": [
{
"name": ["Admin"],
"probability": 0.9995054006576538
},
{
"name": ["Admin", "Change of address"],
"probability": 0.9995054006576538
}
],
"entities": [
{
"name": "address-line-1",
"formatted_value": "19 Essex Gardens",
"span": {
"content_part": "body",
"message_index": 0,
"char_start": 63,
"char_end": 79,
"utf16_byte_start": 126,
"utf16_byte_end": 158
}
},
{
"name": "post-code",
"formatted_value": "SW17 2UL",
"span": {
"content_part": "body",
"message_index": 0,
"char_start": 81,
"char_end": 89,
"utf16_byte_start": 162,
"utf16_byte_end": 178
}
},
{
"name": "policy-number",
"formatted_value": "SFG48807871",
"span": {
"content_part": "subject",
"message_index": 0,
"char_start": 27,
"char_end": 38,
"utf16_byte_start": 54,
"utf16_byte_end": 76
}
}
]
}
{
"comment": {
"id": "c7a1c529-3f57-4be6-9102-c9f892b81ae51",
"uid": "49ba2c56a945386c.c7a1c529-3f57-4be6-9102-c9f892b81ae51",
"timestamp": "2021-03-29T08:36:25.607Z",
"messages": [
{
"body": {
"text": "The policyholder has changed their address to the new address: 19 Essex Gardens, SW17 2UL"
},
"subject": {
"text": "Change of address - Policy SFG48807871"
},
"from": "CPX8460080@broker.com",
"to": ["underwriter@insurer.com"],
"sent_at": "2021-03-29T08:36:25.607Z"
}
]
// (... more properties ...)
},
"labels": [
{
"name": ["Admin"],
"probability": 0.9995054006576538
},
{
"name": ["Admin", "Change of address"],
"probability": 0.9995054006576538
}
],
"entities": [
{
"name": "address-line-1",
"formatted_value": "19 Essex Gardens",
"span": {
"content_part": "body",
"message_index": 0,
"char_start": 63,
"char_end": 79,
"utf16_byte_start": 126,
"utf16_byte_end": 158
}
},
{
"name": "post-code",
"formatted_value": "SW17 2UL",
"span": {
"content_part": "body",
"message_index": 0,
"char_start": 81,
"char_end": 89,
"utf16_byte_start": 162,
"utf16_byte_end": 178
}
},
{
"name": "policy-number",
"formatted_value": "SFG48807871",
"span": {
"content_part": "subject",
"message_index": 0,
"char_start": 27,
"char_end": 38,
"utf16_byte_start": 54,
"utf16_byte_end": 76
}
}
]
}
{
"id": "c7a1c529-3f57-4be6-9102-c9f892b81ae51",
"uid": "49ba2c56a945386c.c7a1c529-3f57-4be6-9102-c9f892b81ae51",
"timestamp": "2021-03-29T08:36:25.607Z",
"subject": "Change of address - Policy SFG48807871",
"body": "The policyholder has changed their address to the new address: 19 Essex Gardens, SW17 2UL",
// (... more fields ...)
"labels": ["Admin", "Admin > Change of address"],
"entities": {
"policy_number": ["SFG48807871"],
"address-line-1": ["19 Essex Gardens"],
"post-code": ["SW17 2UL"]
}
}
{
"id": "c7a1c529-3f57-4be6-9102-c9f892b81ae51",
"uid": "49ba2c56a945386c.c7a1c529-3f57-4be6-9102-c9f892b81ae51",
"timestamp": "2021-03-29T08:36:25.607Z",
"subject": "Change of address - Policy SFG48807871",
"body": "The policyholder has changed their address to the new address: 19 Essex Gardens, SW17 2UL",
// (... more fields ...)
"labels": ["Admin", "Admin > Change of address"],
"entities": {
"policy_number": ["SFG48807871"],
"address-line-1": ["19 Essex Gardens"],
"post-code": ["SW17 2UL"]
}
}
labels
precisa ser uma matriz. Além disso, se um ou mais tipos de campo gerais tiverem sido configurados para o conjunto de dados, um comentário terá zero, um ou mais campos gerais de cada tipo de campo geral. Os nomes de rótulos hierárquicos na resposta bruta da API são, eles próprios, matrizes (["Admin", "Change of address"]
) e devem ser convertidos em strings ("Admin > Change of address"
).
Busca de dados
linkPara buscar os dados, recomendamos usar o arquivo . Para obter uma visão geral de todos os métodos de download de dados disponíveis, consulte Download de dados. Ao criar um Stream, você deve definir os limites para cada rótulo para que rótulos com pontuações de confiança abaixo do limite sejam descartados. Isso é mais fácil de fazer a partir da interface gráfica do Communications Mining™, acessando a página "Streams" de um conjunto de dados. Depois de usar as pontuações de confiança para determinar se um rótulo se aplica, você pode importar apenas os nomes dos rótulos para o Elasticsearch. Para uma análise sobre quando é recomendável descartar ou manter as pontuações de confiança do rótulo, consulte Rótulos para análise.
Os campos gerais não têm pontuações de confiança, portanto, nenhum manuseio especial é necessário.
GESTÃO DE MUDANÇAS DE MODELO
Ao criar um Fluxo, você especifica uma versão do modelo. Essa versão do modelo é usada para fornecer previsões ao buscar comentários do Fluxo. Mesmo que os usuários continuem treinando novas versões de modelo na plataforma, seu Stream usará a versão de modelo que você especificou, fornecendo resultados deterministas.
Para atualizar para uma nova versão do modelo, você precisa criar um novo Stream que use essa versão do modelo e, em seguida, atualizar seu código para usar o novo Stream. (Por esse motivo, recomendamos que você torne o nome do Stream configurável em seu código.) Para garantir que a análise usando previsões permaneça consistente, você deve ingerir novamente as previsões para dados históricos usando a versão atualizada do modelo. Você pode fazer isso pelo Stream para o carimbo de data/hora antes do seu comentário mais antigo e reingerindo os dados do início.
Visualização de dados no Kibana
linkApós indexar os dados no Elasticsearch, você pode começar a criar visualizações. Essa seção fornece exemplos simples para várias ferramentas de visualização comuns no Kibana.
Temporário
Você pode usar a seguinte expressão para produzir uma plotagem dos 5 principais rótulos mais comuns ao longo do tempo. Observe que isso mostra tanto os rótulos de categoria quanto de subcategoria.
.es(index=example-data,split=labels:5,timefield=@timestamp)
.label("$1", "^.* > labels:(.+) > .*")
.es(index=example-data,split=labels:5,timefield=@timestamp)
.label("$1", "^.* > labels:(.+) > .*")
Gráfico de Barras
Gráfico de Pizza