Incluindo correspondência de dados em classes de dados
É possível incluir correspondência de dados em uma classe de dados para especificar como designar classes de dados automaticamente. Selecione um método de correspondência para especificar como designar automaticamente classes de dados a ativos de dados durante a análise de dados.
Por padrão de correspondência de dados é configurado como "Nenhuma correspondência automática", o que significa que só é possível designar a classe de dados para uma coluna manualmente. Para permitir que uma classe de dados seja automaticamente designada, deve-se definir a correspondência de dados.
Para incluir um método de correspondência de dados a uma classe de dados:
Abra a classe de dados e certifique-se de que a correspondência de dados esteja ativada na visão geral de classe de dados.
Nota:Uma classe de dados não fica habilitada para a correspondência de dados se a classe de dados pai tiver a correspondência de dados desativada. As classes de dados em rascunho não podem ser utilizadas para a correspondência de dados. As classes de dados inativas podem ser utilizadas para especificar como classificar os dados, mas não contribuem para nenhuma ação até que se tornem ativas.
Clique em editar ao lado do campo Método de correspondência para escolher como especificar critérios de correspondência. A maioria dos métodos inclui critérios de correspondência de dados e de coluna. Dependendo dos serviços implantados, estão disponíveis os seguintes métodos de correspondência:
Nenhuma correspondência automática
Corresponder a uma lista de valores válidos - Um dicionário de valores válidos é usado para determinar se cada valor de uma coluna de banco de dados pertence à classe de dados.
Correspondência com dados de referência - Os códigos de um conjunto de dados de referência são utilizados para determinar se cada valor de uma coluna do banco de dados pertence à classe de dados.
Corresponder a critérios em uma expressão regular - Uma expressão regular é usada para determinar se cada valor de uma coluna de banco de dados pertence à classe de dados.
Corresponder a critérios na classe Java implementada - A lógica especificada em uma classe Java determina se cada valor de uma coluna de banco de dados ou a coluna de banco de dados como um todo pertence à classe de dados.
Você pode escolher entre um conjunto predefinido de classes Java ou usar sua própria classe Java.
Serviço personalizado - Um serviço personalizado, como o modelo ` Watson Machine Learning `, é usado para determinar se o valor de uma coluna do banco de dados pertence à classe de dados.
Outros critérios de correspondência - A correspondência baseia-se apenas na expressão regular a ser aplicada ao nome da coluna, no tipo de dados especificado da coluna ou em ambos. Não há critérios adicionais para avaliar os valores da coluna. Outros critérios de correspondência são aplicados antes da aplicação do método principal de correspondência. Somente se o nome ou o tipo de dados da coluna — ou ambos — corresponderem ao que foi especificado como outros critérios de correspondência, os valores da coluna serão avaliados em relação aos critérios de correspondência principais.
Insira as informações para definir os dados de correspondência ou as informações de implantação do serviço personalizado e outros critérios de correspondência, conforme exigido pelo método de correspondência selecionado, e selecione um valor limite.
Opcional: Defina uma prioridade de correspondência. Selecione um valor entre -2147483648 e 2147483647 para determinar a prioridade da classe de dados.
Publicar a classe de dados.
Notas sobre a ativação e a desativação da correspondência de dados:
- Uma classe de dados não será ativada se uma classe de dados pai tiver dados de correspondência desativados.
- Se você desativar dados de correspondência para uma classe de dados, isso também desativará a correspondência para classes de dados dependentes.
Classe de dados pai
A classe de dados pai é usada para organizar a classe de dados em relacionamentos pai/filhos. Ele também funciona como uma espécie de "pré-filtro" se um método de dados de correspondência automática for usado: Se uma classe de dados pai tiver um método de dados correspondente, os métodos de correspondência de dados para as classes de dados das crianças só serão avaliados se o método de correspondência de dados para a classe de dados pai retornou uma correspondência positiva. Isso significa que se você definir uma classe de dados pai, ela terá um impacto nos critérios usados pelo processo de classificação de dados para decidir se a classe de dados deve ser designada ou não a um campo de dados analisado.
Limite
Este campo representa a confiança mínima que um candidato de classe de dados deve ter em uma coluna para que essa classe de dados seja realmente designada à coluna. Por exemplo: você define o limite de uma classe como 90%. Durante a análise, uma coluna corresponde a classe de dados com uma confiança de 95% e outra coluna corresponde com uma confiança de 89%. Como o limite é 90%, a classe de dados será designada somente à primeira coluna.
Reduza o limite quando desejar que a designação de classe de dados aconteça mesmo que nem todos os dados correspondam à classe de dados. É possível fazer isso se a qualidade dos dados não for perfeita, e também nos casos em que sabe-se que a definição de método de correspondência não cobre 100% de todo o domínio de todos os valores possíveis. Um bom exemplo é um classificador para detectar nomes de cidade. Não é prático definir uma lista precisa de valores contendo todos os nomes de cidade no mundo, incluindo os locais menores. Uma abordagem mais prática seria entrar na lista das 100 maiores cidades e diminuir o limite para refletir o fato de não se esperar que todos os valores de uma coluna sejam uma dessas 100 maiores cidades, mas que uma classificação deve ser positiva mesmo que valores suficientes (< 100%) sejam encontrados nessa lista das 100 maiores cidades.
A definição de um limite é opcional. Para o enriquecimento de metadados, o limite definido no nível do projeto é utilizado caso você não defina um limite diretamente na classe de dados. Um limite definido na classe de dados sempre tem precedência sobre as configurações de atribuição da classe de dados no projeto setting.See.
As seguintes classes de dados predefinidas têm um limite padrão definido na definição da classe de dados:
| Classe de dados | Limite |
|---|---|
| Cidade | 50% |
| Nome da pessoa | 50% |
| Primeiro Nome | 50% |
| Segundo nome | 50% |
| Sobrenome | 50% |
| Nome da organização | 60% |
Prioridade
A prioridade da classe de dados determina a ordem em que as classes de dados candidatas devem se tornar a classe de dados inferida. Apenas as classes de dados com uma confiança acima do limite de confiança serão designadas. Quando os dados coincidem com diversas classes de dados, será designado aquele com a maior prioridade e uma confiança acima do limite de confiança.
Algumas classes de dados predefinidas têm uma prioridade definida. Caso contrário, a prioridade padrão é 10 para classes de dados predefinidas com o valor de escopo correspondente. Para classes de dados com a coluna de escopo correspondente, a prioridade padrão é 0. Para que uma classe de dados personalizada tenha precedência sobre uma classe de dados predefinida, ela deve ser definida com uma prioridade mais alta.
| Classe de dados | Prioridade |
|---|---|
| Linha de endereço 1 | 12 |
| Linha de endereço 2 | 12 |
| Linha de endereço 3 | 12 |
| Booleano | 16 |
| Código da província do Canadá | 14 |
| Nome da província do Canadá | 12 |
| Cidade | 7 |
| Código | -10 |
| Código do País | 13 |
| Nome do país | 12 |
| Primeiro Nome | 22 |
| Sexo | 16 |
| Identificador | -10 |
| Indicador | -10 |
| Sobrenome | 7 |
| Segundo nome | 22 |
| Organização | 7 |
| Nome da pessoa | 7 |
| Quantidade | -10 |
| Texto | -10 |
| Condado dos EUA | 8 |
| Código de estado dos EUA | 14 |
| Nome do estado dos EUA | 12 |
Corresponder a uma lista de valores válidos
Ao corresponder dados a uma lista de valores válidos, você cria uma lista de valores válidos que classificam seus dados no nível dos valores de uma coluna de banco de dados. Você deve inserir os valores manualmente, um por um; portanto, esse método é recomendado para um conjunto pequeno de valores. Para listas mais longas, você pode usar o método “Corresponder aos dados de referência ”.
Na seção Corresponder a lista de valores válidos, especifique uma lista de valores válidos.
Critérios de correspondência de texto:
- Faz distinção entre maiúsculas e minúsculas
- Se você selecionar, apenas os valores que tiverem o mesmo caso dos valores válidos especificados serão classificados como correspondência da classe de dados. Se não selecionado, o caso será ignorado.
- Espaçamento exato
- Se você selecionar, somente as correspondências exatas serão classificadas positivamente. Se não selecionado, vários caracteres de espaço em branco serão reduzidos em um único espaço antes de comparar os valores válidos com os valores testados. Por exemplo, se o valor válido for
New Yorke o valor testado forNew York, o valor testado será classificado como correspondente, mesmo que haja vários caracteres de espaço em branco no valor válido, comoNew York. Se o valor testado forNewYorksem um espaço, no entanto, o valor testado será classificado como não correspondente. - Palavras inteiras
- Se você selecionar, somente as correspondências exatas serão classificadas positivamente. Se não selecionado, os valores que forem localizados como subsequência serão classificados como correspondência da classe de dados também. Por exemplo, se o valor válido for
Parise o valor testado forParisienne moonlight, o valor testado será classificado como correspondente.
Em seguida, especifique a porcentagem de valores de dados correspondentes necessários para designar essa classe de dados.
Corresponder aos dados de referência
Ao corresponder dados a um conjunto de dados referência, você seleciona um conjunto de dados de referência para classificar os seus dados no nível dos valores de uma coluna de banco de dados. Um conjunto de dados de referência é composto, no mínimo, pelas seguintes colunas:
- Código
- Valor
Observe que este método de correspondência utiliza a coluna “código” no conjunto de dados de referência para determinar a classe de dados.
Exemplo de um arquivo ` CSV ` com uma amostra de códigos de país:
code,value
"AND","Andorra"
"ARE","United Arab Emirates"
"AFG","Afghanistan"
"ATG","Antigua And Barbuda"
"AIA","Anguilla"
"ALB","Albania"
"ARM","Armenia"
...
Os códigos neste exemplo, como AND, ARE, AFG, podem ser usados para determinar a classe de dados.
Corresponder aos critérios de uma expressão regular
Uma expressão regular é usada para determinar se cada valor de uma coluna de banco de dados pertence à classe de dados.
Ao corresponder a critérios em uma expressão regular, você cria uma expressão regular que classifica seus dados no nível dos valores de uma coluna de banco de dados. A expressão regular deve usar o formato JavaScript.
A expressão regular aplica-se a ativos de dados com estrutura clara, como bancos de dados, tabelas ou colunas.
É possível copiar e colar qualquer um dos exemplos a seguir para expressões regulares para Critérios de nome da coluna. Em seguida, especifique um nome de coluna para testar a expressão regular. Também é possível selecionar o tipo de dados e o comprimento do valor de dados.
Exemplo - Número do telefone (América do Norte)
Essa expressão regular corresponde a:
- 3334445555
- 333.444.5555
- 333-444-5555
- 333 444 5555
- (333) 444 5555
- e todas as combinações disso
\(?[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}
Exemplo - DOB (Data de nascimento)
Essa expressão regular corresponde a DOB (Data de nascimento):
<tns:DataClass id="DOB" name="%DOB.name" description="%DOB.description" provider="IBM" example="12-30-2015">
<tns:JavaClassifier
className="com.ibm.infosphere.classification.impl.DOBClassifier" />:
<tns:ColumnNameFilter>
<tns:ColumnNameRegularExpression><![CDATA[dob$|birth(day)?|geburtsdatum|na(issance|cimiento|scita)|urodzenia|(生ま(れた日)?|誕生日)|出生(年月)?]]></tns:ColumnNameRegularExpression>
</tns:ColumnNameFilter>
</tns:DataClass>
Corresponder aos critérios na classe Java implementada
É possível incluir uma classe Java para expressar a lógica de classificação de dados. Você pode escolher entre um conjunto predefinido de classes Java ou usar sua própria classe Java. Para obter mais informações sobre classes Java personalizadas, consulte Criação de pacotes de classes Java personalizadas.
Especifique o nome totalmente qualificado da classe Java.
Se você tiver excluído uma classe de dados predefinida que está usando uma classe Java como método de correspondência, será possível recriá-la usando a mesma especificação originalmente usada. Consulte os detalhes das classes de dados predefinidas.
Escopo do código
Deve-se definir o escopo para o qual a classe Java classifica os dados. Para classes Java personalizadas, o escopo dos dados é sempre “Value ”.
O escopo de correspondência depende das opções de amostragem:
- Os perfis dos ativos de dados individuais são criados com base nas primeiras 5.000 linhas de dados. Para obter mais informações, consulte Perfis de ativos.
- Para o enriquecimento de metadados, você pode controlar exatamente quantas linhas serão utilizadas. Nesse caso, todas as linhas utilizadas na análise são consideradas. Para obter mais informações, consulte Criação de um enriquecimento de metadados.
Os dados podem ser classificados em um nível de valor, no nível da coluna ou em todos os níveis de colunas do ativo de dados:
- Scope=Value
- O classificador pode testar cada valor de uma coluna e indicar se o valor corresponde à classe de dados. Isso significa que ele pode relatar uma contagem precisa do número de valores que correspondem à classe ou não quando a correspondência é concluída. A confiança da designação de classe de dados é calculada como a porcentagem de valores não nulos que correspondem à classe de dados.
- Scope=Column
- O classificador não avalia cada valor individual, mas olha para o resumo da coluna como um todo e toma uma decisão para a coluna como um todo sobre se a coluna corresponde à classe de dados. As informações que podem ser usadas por tal classificador são os metadados da coluna e as estatísticas reunidas sobre os dados da coluna durante a análise de dados. Tal classificador é mais rápido do que um classificador de Escopo = Valor e pode ser usado onde uma decisão pode ser tomada sobre um grupo de valores quando não há critérios claros para decidir se um único valor é de uma determinada classe. Tais classificadores não podem retornar uma contagem dos valores que correspondem à classe de dados, eles fornecem somente uma confiança em % de que a coluna como um todo corresponde à classe de dados.
- Scope=Data Set
- O conjunto de dados como um todo é classificado. As classes de dados que correspondem ao ativo de dados como um todo não são exibidas. Se um termo está associado a tal classe de dados e um ativo de dados corresponde a essa classe de dados, o termo é automaticamente designado para o ativo de dados quando você executa uma tarefa de autodescoberta ou quando você analisa o conjunto de dados. É possível usar classificadores desse escopo (scope=data set) para definir uma lógica customizada que especifica quando os termos particulares devem ser automaticamente atribuídos a um ativo de dados durante a análise.
Corresponder aos critérios no serviço personalizado
Esse método de correspondência só estará disponível se o ` Watson Machine Learning ` estiver instalado no seu ambiente ` Cloud Pak for Data `.
Você pode criar e implantar um serviço personalizado, como um modelo de validação de tipo ( Watson Machine Learning ), que contenha a lógica para determinar se o valor de uma coluna do banco de dados pertence à classe de dados. Para utilizar esse serviço personalizado para a correspondência de dados nas atribuições de classes de dados, selecione o espaço de implantação do serviço e a implantação do serviço. Opcionalmente, você pode verificar se o serviço pode ser chamado ao configurar esse método de correspondência.
Para saber como usar um modelo e uma função de pontuação implantados no Watson Machine Learning para a correspondência de dados na atribuição de classes de dados no Cloud Pak for Data, você pode trabalhar com um notebook de exemplo para a atribuição de classes de dados com base em um modelo do Watson Machine Learning. Você pode baixar o arquivo de exemplo do notebook no repositório de exemplos do IBM Knowledge Catalog : GitHub : custom_data_class_sample.ipynb
Outros critérios de correspondência
A correspondência é baseada em critérios relativos ao nome, ao tipo de dados da coluna ou a ambos. Não há critérios adicionais para avaliar os valores da coluna. Este critério é aplicado em conjunto com o método de correspondência selecionado inicialmente.
É possível especificar uma expressão regular para definir nomes de colunas correspondentes e fornecer um nome de coluna de amostra para teste. O tipo de dados da coluna pode ter qualquer tipo, Booleano, data ou número. Também é possível definir o comprimento mínimo e máximo do valor de dados.
Exemplo de âncora
O exemplo a seguir está ancorado. A ancoragem funciona da mesma forma que o recurso de Procura na maioria dos programas de software - procurando texto sozinho ou aninhado em outro texto. Se você deseja ancorar a sequência de sua expressão regular, use esta sintaxe:
^cadeia de caracteres$
O "^" e a âncora "$" os caracteres na string. O "^" representa o início da string e o "$" representa o final, quando encontrado no início e no fim, respectivamente. O caractere "^" tem esse significado especial apenas quando é o primeiro caractere de um padrão; o caractere "$" tem esse significado apenas quando é o último caractere de um padrão.
Por exemplo, se você deseja verificar se um valor de propriedade tem uma sequência específica de caracteres, certifique-se de ancorá-lo. Suponha que um rótulo em um formulário de pedido seja "Pedido" se o cliente tiver apenas um pedido, e é "Pedidos" se o cliente tiver diversos pedidos, e você deseja confirmar se este cliente tem apenas um pedido. Na propriedade de texto da etiqueta, altere o valor para uma expressão regular:
^Order$
Nesse caso, "Pedido" é o único valor que corresponde. "Pedidos" não corresponde.