Rista Tech Blog

株式会社リスタの技術?ブログ

Google Cloud Vision APIで街の求人チラシを読み取ってみる

エンジニアのmikedaです。

街の求人チラシの写真をアップロードすれば求人広告が自動生成される、
というのが出来ると楽だなーとふと思って、
Google Cloud Vision APIを使ってOCR処理(画像からのテキスト読み取り)をちょっとやってみました。

コード

事前にGoogleのdeveloper consoleでキーを作って、コードはこんな感じです。

require 'google/apis/vision_v1'

GOOGLE_API_SERVER_KEY = 'XXXXXXXXXXXXXXXXX'

def ocr_text(content)
  vision = Google::Apis::VisionV1::VisionService.new
  vision.key = GOOGLE_API_SERVER_KEY
  request = Google::Apis::VisionV1::BatchAnnotateImagesRequest.new(
    requests: [
      {
        image:{
          content: content
        },
        features: [
          {
            type: "TEXT_DETECTION",
            maxResults: 100 
          }
        ]
      }
    ]
  )
  response = vision.annotate_image(request)
  response.responses[0].text_annotations[0].description
end 

puts ocr_text(File.open(ARGV.shift, &:read))

画像ファイルを指定すると読み取ったテキストが表示されます。

$ bundle exec ruby ocr_text.rb ocr_test01.png
4さん募集!!
月~土曜日
時給900円以上
食事&交通費付き
時間·曜日応相談
昔ながらの町のお麦蕎屋さんです。
平日のランチ9(ムに、日数多く働ける方.
大觀迎!!
広尾丸屋 です担当金田

実際に求人チラシを読み込んで見る

印刷物その1

元画像

f:id:mikeda:20161019085843p:plain:w400

読み取ったテキスト

アルバイトスタッフ 社員同時募集
OKONOMI-YAKI HOUSE
aw'So: FLOUR
hass
鉄板焼キュイジーヌバンブーグラッシィ恵比寿店
·お好み焼きハウス フラワー
お問合せ
03-5739-0527
採用担当:金城 090-2620-xxxx
給与:
アルバイト 1050円~/社員25万円~
勤務時間
14:00-24:00 / 1日3時間·週2日から応相談
待遇:
制服貸与·労災完備。食事あり·従業員割引あり
資格:
学歴不問·未経験者OK·経験者優遇
鉄板焼キュイジーヌバンブーグラッシ億比寿店店内イメージ www.roundtable-tky.com

レイアウトやフォントサイズなど複雑ですが、いい感じに読み取ってます。

印刷物その2

元画像

f:id:mikeda:20161019085909p:plain:w400

読み取ったテキスト

明るく楽しく元気な職場です腕に覚えのあるあなたも
未経験の方も大切なのはヤル気です!まずは2を!
時 給| 1000円~1250円
平日土日10:00~16:0017:30~24:00
勤務時間|その他週5フルタイムまたは
週3日~、1日4時間以上勤務OK!
職種|接客·調理,調理補助
交通費|交通費支給
勤務地|当店(ちょもらんま酒煬恵比寿東口店)
その他|制服貸与·まかない有●昇給有 社員登用有
社員同時募集
詳しくは
お電話で
ちょもらんま酒場恵比寿東口店
雷話:03-6459-3968
担当迄
ら1か

筆文字っぽいフォントもけっこうちゃんと読めてますね。

手書きその1

元画像

f:id:mikeda:20161019085925p:plain:w400

読み取ったテキスト

4さん募集!!
月~土曜日
時給900円以上
食事&交通費付き
時間·曜日応相談
昔ながらの町のお麦蕎屋さんです。
平日のランチ9(ムに、日数多く働ける方.
大觀迎!!
広尾丸屋 です担当金田

手書きでもこのぐらいはっきりとした文字だとかなりの制度で読み込めます。

でも斜めに書かれた部分はちょっとつらいですね。

手書きその2

元画像

f:id:mikeda:20161019085934p:plain:w400

読み取ったテキスト

剋募.
昼, Q/ooo~ ( ~日瞬)
/0 :30^. 4 : 3010
夜、G) /_coo~ (月哪~日㈱
«h氛为ジ湘谈下さい
ˋ洗V't, ® /ro~ <义剔日曜)
/ 1:30N 《4:30
訓꿸補助@H70~ ("X蜘889)
吹透彪妗, a)服あ')
●勤移畸1히 (zhN)
㍼ .眑ぢー47湘娑1:0)29
47湘炙にの
日

ここまで崩した字体だとぜんぜんだめです。。。

まとめ

求人チラシ画像からのテキスト取り込みにGoogle Cloud Vision APIを試してみました。

手書きはなかなか厳しいですが、一般的なフォントを使った印刷物であればそこそこの精度で読み取れそうでした。

ただ今回のサンプルはかなりハッキリとした画像を中心に選んでしまっていて、
実際はもっとごチャットした特殊なレイアウトもいっぱいだし、
撮影した角度など写真の状態も様々だしでそこまでちゃんと読み取れないものが多く、
そのままこのテキストからなんらかのデータを抽出するのはけっこう厳しいなという印象でした。

なので実際は人力なりで、求人チラシとして自然な内容に補正する必要がありそうで、
そうすると最初から人力のでもいいかなぁ。。。