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.