Configurar regras para classificar documentos ou páginas

Este tópico descreve o recurso de configuração de regras para classificar documentos ou páginas.

Compreensão das regras e seu uso

Uma regra é usada para determinar a categoria à qual um documento deve ser atribuído. No exemplo abaixo, uma regra pode especificar uma frase específica como Anexo e, quando a regra for aplicada ao texto do documento, se essa frase for encontrada, a categoria associada à regra receberá uma pontuação alta, como 80, indicando uma correspondência forte.

[
{
"DocumentTypeID": 0,
"Location": 0,
"Distance": 1,
"Score": 80,
"KBGuid": "00000000-0000-0000-0000-000000000000",
"IsEnabled": true,
"ExpectExactSequence": false,
"TextRulePhrases": [
{
"Text": "Annexure",
"IsNegativePhrase": false,
"PhraseType": 1
}
}
]

As regras são úteis quando é necessária uma orientação adicional para aumentar a precisão de um modelo de classificação na determinação da categoria de documento mais relevante. Embora tecnicamente seja possível fazer toda a classificação usando regras, essa não é a melhor prática, pois o gerenciamento da configuração das regras se torna uma sobrecarga significativa, especialmente quando se lida com um grande número de categorias.

Exemplo de um arquivo de regras

Um arquivo de regras é um esquema json e está no formato json, conforme especificado abaixo. O <nome do arquivo>.json pode ter várias regras configuradas. Para que um documento seja considerado durante o processo de treinamento para classificação, ele deve ser colocado em uma categoria de pasta de treinamento designada, por exemplo, C:\Invoice\Vendor1.

[
{
"DocumentTypeID": 0,
"Location": 1,
"Distance": 3,
"Score": 90,
"KBGuid": "00000000-0000-0000-0000-000000000000",
"IsEnabled": true,
"ExpectExactSequence": true,
"TextRulePhrases": [
{
"Text": "Annexure",
"IsNegativePhrase": false,
"PhraseType": 1
},
{
"Text": "Terms & Conditions",
"IsNegativePhrase": false,
"PhraseType": 1
},
{
"Text": "Payment Terms",
"IsNegativePhrase": false,
"PhraseType": 1
}
]
},
{
"DocumentTypeID": 2,
"Location": 2,
"Distance": 1,
"Score": 95,
"KBGuid": "00000000-0000-0000-0000-000000000000",
"IsEnabled": true,
"ExpectExactSequence": false,
"TextRulePhrases": [
{
"Text": "Addendum",
"IsNegativePhrase": true,
"PhraseType": 5
}
]
}
]

Propriedades configuráveis de um arquivo de regras

Configuração Descrição
DocumentTypeID Atualmente, esse campo não é compatível. Para qualquer regra que esteja sendo configurada, pode ser mantido um texto estático como 0.
Location
Essa configuração especifica em qual local do texto do documento a regra é aplicável. Os valores podem ser 0, 1, 2 ou 3.
  • "Location": 0Qualquer local: Não há restrições para encontrar a frase, ela pode estar em qualquer lugar do documento

  • "Location": 1Primeira página: A frase deve ser encontrada na primeira página do documento.

  • "Location": 2Legenda interna: A frase deve ser encontrada na parte interna do texto da legenda do documento.
  • "Location": 3Última página: A frase deve ser encontrada na última página do documento. Se apenas algumas páginas forem fornecidas ao classificador de regras de texto, a última página é a que será passada para o classificador.
Distance
Essa configuração especifica a distância entre as frases quando a pesquisa é feita no texto do documento. A regra só corresponderá se a distância for a especificada com base nessa configuração. Os valores podem ser 0, 1, 2 ou 3.
  • "Distance": 0Mesma linha de texto: todas as frases devem estar na mesma linha de texto.
  • "Distance": 1Próxima linha de texto: Todas as frases devem estar na mesma linha de texto ou ter no máximo uma quebra de linha entre elas.
  • "Distance": 2Mesmo parágrafo: Todas as frases devem estar no mesmo parágrafo de texto.
  • "Distance": 3Mesma página: Todas as frases devem estar na mesma página.
Score Depois que uma correspondência de regra é realizada, uma pontuação é atribuída à categoria (ou pasta de treinamento) associada a essa regra. O valor da pontuação pode variar de -100 a 100.
KBGuid Atualmente, esse campo não é compatível. Para qualquer regra que esteja sendo configurada, pode ser mantido um texto estático como 00000000-0000-0000-0000-000000000000
IsEnabled Isso permite que a regra seja ativada ou desativada com a configuraçãotrue OU false , respectivamente.
ExpectExactSequence
Ao procurar várias frases em uma regra, essa configuração especifica a correspondência baseada em sequência exata. Por exemplo, se for definido true no exemplo,"Text": "Annexure", "Text": "Terms & Conditions"e "Payment Terms" devem estar presentes no texto do documento nessa ordem para que a regra corresponda. É possível que haja outro texto entre essas frases, mas é importante que a ordem dessas frases seja consecutiva, uma após a outra.
Nota: A menos que esteja muito claro que a sequência esperada seguirá um padrão específico, recomenda-se manter essa configuração como false

TextRulePhrases

O TextRulePhrases contém todos os valores de texto de frase que precisam ser pesquisados no texto do documento. Ele pode ter um ou mais valores de texto de frase.

Text Text: especifica o valor do texto da frase que precisa ser pesquisado no texto do documento
IsNegativePhrase IsNegativePhrase: especifica se a condição de pesquisa é um tipo de pesquisa de frase negativa. Quando definido como true no exemplo, isso significa que "Text": "Addendum" não está presente no texto do documento para que a regra seja correspondida.
PhraseType PhraseType especifica o tipo de correspondência que será usado quando o valor do texto da frase for comparado com o texto do documento

"PhraseType": 1Correspondência difusa permite que você use alguma tolerância na correspondência de palavras. Uma frase é correspondida se a distância de Levenshtein for >= 80%. Para uma palavra de 5 caracteres, isso significa que 1 caractere pode ser diferente.

"PhraseType": 5Correspondência exata exige uma correspondência exata da frase, mas ainda ignora a caixa de caracteres e também inclui alguma filtragem de pontuações.

"PhraseType": 6RegularExpression permite que você defina uma expressão regular que será pesquisada no texto original. Nenhum pré-processamento de texto ou filtragem de caracteres de pontuação é feito para esse tipo de correspondência.