前提・実現したいこと
Google Vision APIで文字認識を行いたいのですが、文字が特殊文字で認識されてしまい、これを本来の半角英字として認識させたい(もしくは読み取り後に一括で半角英字に変換したい)。今後何千枚とOCRを実行するため、今回のAだけでなく、より汎用性高く一括で対応できる方法を教えていただきたいです。
発生している問題・エラーメッセージ
アルファベットや数字が、半角英数字でなくギリシャ文字等の酷似した特殊文字として読み取られてしまうことが度々起こる。これを完成形では半角英字に変換されている必要がある。
以下のように、3A0という文字列が特殊文字として読み込まれてしまったため、これを対象に文字判定を行なった。AはAmbiguous(ギリシャ文字等の特殊な全角英数字)を意味する。
Python
1import unicodedata 2 3recognition_cell = "ЗАО" 4for character in recognition_cell: 5 print(unicodedata.east_asian_width(character)) 6 7#結果 8# A 9# A 10# A 11
該当のソースコード
Python
1 2
試したこと
ギリシャ文字が文字列に含まれる場合、それに対応する半角英数字に置き換えるようにしたが、一部変換できなかった。あくまでもAmbiguous判定なだけでギリシャ文字ではないみたい。
Python
1# ギリシャ文字 2greek_character_list = ["Α","Β","Ζ","Η","Ε","Ι","Κ","Ρ","Τ","О","Μ","Ν"] 3alternative_character_list = ["A","B","Z","H","E","I","K","P","T","O","M","N"] 4 5for greek_character,alternative_character in zip(greek_character_list,alternative_character_list): 6 if greek_character in cell: 7 print(greek_character) 8 cell = cell.replace(greek_character,alternative_character) 9 print(cell) 10 11#結果 12# О 13# ЗАO 14## Oはギリシャ文字として判定されたが、Aはギリシャ文字ではない別種の特殊文字として読み取られていたため変換されなかった。 15 16
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/24 07:04
2021/09/24 07:21
2021/09/24 08:03