Pergunta

Atualmente estou trabalhando em um pequeno projeto com o Finereader 11 SDK.Para melhorar meus resultados gosto de trabalhar com um dicionário ad hoc.O conteúdo do dicionário é baseado na primeira palavra de uma determinada linha

Exemplo:

Samsung Galaxy S3 ... many other word in this line
Apple Iphone 4 ... much more words
some more lines

Minha idéia é reconhecer a primeira palavra (Samsung ou Apple) e preencher o dicionário com todas as palavras possíveis com base na primeira (para Samsung:Galáxia, S3, ...)

Alguma idéia de como resolver isso com o Finereader

Cumprimentos

Foi útil?

Solução

Obrigado pelo esclarecimento.Então aqui está o que você pode fazer na minha opinião.Isso se aplica à linha de produtos FineReader e, claro, no SDK você tem um controle mais específico via API.

O FineReader OCR possui estes dicionários:

  • Dicionário integrado - grande conjunto de palavras comuns e suas variações, um dos pontos fortes da tecnologia ABBYY OCR.Não contém palavras especializadas, como “Samsung” e “S3”, por exemplo.Ao selecionar um idioma popular, você ativa automaticamente o dicionário integrado para esse idioma.

  • Dicionário personalizado - este é um dicionário que você pode construir e usar sozinho ou em conjunto com o dicionário integrado.

Portanto, para o seu projeto, acredito que faz sentido usar o dicionário integrado, porque suas frases podem ter palavras padrão em inglês (você não forneceu frases completas para eu ver, então decida você mesmo).

Também acredito fortemente que você precisa criar um dicionário personalizado com marcas e modelos, etc.Se você tiver essa opção, e parece que sim.Melhorará muito o reconhecimento, especialmente de palavras não naturais, como "S3", porque as regras linguísticas comuns indicam que letras e números não devem ser misturados.Isso é muito fácil de fazer.

Atualmente, não vejo benefício em ler cada linha com um dicionário separado, a menos que você acredite que terá uma interseção de palavras muito semelhantes aplicáveis ​​a linhas diferentes e queira essas palavras em dicionários separados e em relação a cada linha.Em seguida, você poderá criar dicionários separados e ativar cada dicionário para reconhecimento secundário com base na palavra inicial.No entanto, para conseguir isso, você precisa primeiro separar em linhas (na memória ou, na verdade, cortar imagens) para poder processar cada uma separadamente com um dicionário exclusivo.Isso só é possível no SDK com uma quantidade substancial de trabalho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top