AIで自動で日本語の文字認識をしよう!①
この記事の目的
数字や英字、管理の写真データを表に入力して提出する形式のデータ入力業務があった。これを自動化できないかと思い、色々と模索してみることにした。文字データを画像認識技術を使用してデータに起こす際のコスト削減方法を調査、検証する。例えば、効率的な画像処理アルゴリズムの選択や、クラウド上での処理方法をリサーチすることで、コスト削減につなげる視点からのアイデアをまとめる。
仕様
今回自動化したい作業のデータ入力は専用のポータルサイトで行うらしい。つまりローカルに何かソフトをダウンロードしたりする訳ではない。ユーザーIDとパスワードを用いてログインし、業務選択画面に移動、そこで各データ入力案件の単価が表示されるので、承諾する場合は承諾ボタンを押す。承諾ボタンを押したデータについては「開始」ボタンを押すと入力画面に移行する。
さらにログインを行い、データをダウンロードすると各データを「開始」することができる。入力開始ボタンを押してデータをダウンロード。
要するにhtmlの自動化ツールみたいなものを動かせば良いと思った。そこでまずhtmlを用いてサイトをプログラムで操作する方法について調べていこうと思う。
今回の目的
・ウェブサイト画面の入力、クリックをローカルのプログラムを実行することで実現する方法を調べる
htmlツール(?)の作成
htmlで書かれたサイト等のページをツールで操作できることはなんとなく知っている。大兵衛的な例で言うと「ワサビチョコワ事件」のツールによる大量投票だ。しかしこの事件から同時にツール対策というものも存在することがわかる。ともかくhtmlを用いたWebページの操作ツールの作成方法などについて調べていこうと思う。
pythonのseleniumを利用する方法
実はpythonでWebブラウザを自動操作できるらしい。htmlなんて必要なかったんや。Webブラウザ上で人間がマウスやキーボードなどといったインターフェイスを用いてできることはpythonから全て自動で行うことができるとのこと。機械学習においてもpythonを用いるつもりであるため、願ったり叶ったりである。
Seleniumというライブラリでは、
・ボタンのクリック
・スクロール
・フォームに値を入力する
・Webページ上のデータの自動収集
・スクリーンショットの撮影
・チェックボックスのクリック
など、とにかく人間にできる操作を行うことができるらしい。まあ人間のためにインターフェイスが用意されているのだから、当然っちゃ当然な気もするが、それでもpythonで全てできることは大変ありがたい。seleniumはお馴染みpipコマンドでインストールできる。また他にWebDriverのインストールが必要とのこと。今回はGoogle Chromeブラウザ対応のドライバで検証を行うことにする。最終的にはinternet explorerブラウザ対応のドライバを用いることになるのだと思う。
chromeのヘルプからChromeのバージョンを確認、それに合ったドライバをインストールする。ここで更新にエラーが生じるという事態が発生。どうもCドライブの空き容量不足が原因のようで、いらないファイルを削除したらうまくいった。そろそろどうにかせねば。
以下リンクから適したバージョンのドライバをダウンロードする。しかしここでバージョン117が見当たらない。どうもサイトにはIf you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON endpoints for specific ChromeDriver version downloading.とある。
https://chromedriver.chromium.org/downloads
訳:Chromeのバージョン115以降をお使いの場合は、Chrome for Testingダッシュボードをご参照ください。このページでは、特定のChromeDriverバージョンをダウンロードするための便利なJSONエンドポイントを提供しています。
と書かれている。なるほど?JSONエンドポイントってなんだ?よくわからんけど、JSON形式のデータをローカルに持ってくるためのものなのか?
よくわかりませんが、chromedriverと書いてあるものをダウンロードしてみました。細かいバージョンは異なっているが、うまくいってくれ!
きた!!!
とりあえずpythonプログラムを用いてウェブサイトを開くことに成功しました。
sereniumでIE(InternetExplorer)を操作
参考記事
どうも、IEはgooglechromeとかに比べてseleniumを使いにくいっぽい。うーむ。というかそもそもIEってもう死んでいるのでは・・・だんだんやばいバイトな気がしてきました。
Microsoft Edge の Internet Explorer モード
一部のサイトは Internet Explorer で動作するように構築されていますが、Microsoft Edge のような最新のブラウザーでサポートされていない機能があります。 これらのサイトのいずれかを表示する必要がある場合は、Microsoft Edge で Internet Explorer モードを使用できます。
らしい。windows11からIEが抹消されたということは、つまり現実的にはEdgeの IEモードで実行するのが現実的だと思う。ということはレジストリの書き換えとかそんなレベルの操作は要らないようだ。となると
この辺りの記事が参考になりそうです。