Entidades customizadas

Entidades customizadas são as entidades definidas pelo desenvolvedor, possivelmente específicas para a aplicação. Os seguintes tipos de entidades customizadas podem ser definidas pelo desenvolvedor:

  • Lista de sinônimos

  • Expressões regulares

Lista de sinônimos

Para usar lista de sinônimos, basta indicar a lista de palavras ou frases no campo “synonyms” que são sinônimos do termo indicado no campo “value”. No exemplo a seguir, temos uma entidade denominada PHONE_NUMBER que se utiliza deste recurso:

{
  "name": "PHONE_NUMBER",
  "synonym_values": [
    {
      "value": "casa",
      "synonyms": [
        "telefone de casa",
        "minha casa"
      ]
    }
  ]
}

Expressões regulares

Para usar expressões regulares, basta indicar a expressão regular no campo “regex” e o valor resultante desejado no campo “value”.

O campo “regex” deve seguir a Sintaxe do Python.

O campo “value” pode ter valores especiais:

  • @text” = texto original normalizado

  • @clean” = texto original normalizado e contendo apenas caracteres alfanuméricos.

Caso não seja usada nenhuma dessas formas especiais, o sistema considera que o valor é uma expressão de substituição do conteúdo analisado com expressão regular (veja Python Match.expand). Esta expressão pode ser também simplesmente um texto.

A seguir, temos um exemplo do uso deste recurso para entidade customizada CEP:

{
  "name": "CEP",
  "regex_values": [
    {
      "value": "\\1\\2",
      "regex": "(\\d{5})-(\\d{3})"
    }
  ]
}

O campo “value” foi definido como o texto dos dois grupos capturados pela expressão regular “(\d{5})-(\d{3})”, ou seja:

(\d{5})  ==>  \1
(\d{3})  ==>  \2

Neste caso, um texto de entrada “13060-432” seria convertido para “value = 13060432”.

Para mais informações sobre expressões regulares em Python, consulte Regular Expression HOWTO.