Amazon Textract でポール・マッカートニーの直筆歌詞を文字起こしする

#はじめに
**この記事は株式会社ナレッジコミュニケーションが運営する [Amazon AI by ナレコム Advent Calendar 2020](https://qiita.com/advent-calendar/2020/knowcom-amazonai)  の 3日目にあたる記事になります。**

この度、Amazon Textract がスペイン語、イタリア語、フランス語、ポルトガル語、ドイツ語のOCR（光学文字認識）と英語の手書きドキュメントからのOCRが可能になりました。
今回は新機能である英語の手書きドキュメントからのOCRを検証してみます！

#Amazon Textract とは？
Amazon Textract はスキャンしたドキュメントから印刷されたテキスト（英語、スペイン語、ポルトガル語、フランス語、ドイツ語、イタリア語）、
手書きの文字（英語のみ）を自動抽出するフルマネージド型の機械学習サービスです。

また構造化されたデータの関連付けを保ったまま自動的に検出することができます。
![2020-12-01_16h51_58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/578416/1cdb0cad-ea2d-716d-a0af-f5f33d997886.png)
引用：https://aws.amazon.com/jp/textract/

#Amazon Textract の利用料金
利用料金は以下となっています。
※東京リージョン非対応のためバージニアリージョンで計算

***Detect Document Text API (OCR)***
※文書から印刷されたテキストと手書きの文字を抽出する機能
無料利用枠：月に 1,000 ページまでは無料（最初の3か月のみ）

|1か月あたり|ページあたりの料金|1,000 ページあたりの実質料金|
|-----------:|------------:|------------:|
|最初の 100 万ページ|0.0015USD|1.50USD|
|100 万ページ超|0.0006USD|0.60USD|

***Analyze Document API***
※表を含む文書から文字を抽出する機能
無料利用枠：月に 1,00 ページまでは無料（最初の3か月のみ）

|1か月あたり|ページあたりの料金|1,000 ページあたりの実質料金|
|-----------:|------------:|------------:|
|最初の 100 万ページ|0.015USD|15.00USD|
|100 万ページ超|0.01USD|10.00USD|

#検証内容
ビートルズ往年の名曲”Hey Jude”の手書き歌詞を文字起こしします。
”Hey Jude”は当時ジョン・レノンと最初の妻シンシア・レノンの離婚が決定的になり、精神的に不安定になっていたジョン・レノンの息子ジュリアン・レノンを慰めるためにポール・マッカートニーが書いた曲です。
YouTube動画：https://www.youtube.com/watch?v=A_MjCqQoLLA&list=PLi6stywEyD2KQLYZti2sXP7DGCWqGKkWI&index=30&t=0s

レコーディング用楽譜類譜がロンドンで1996年にオークションに出された際には、
ジュリアンが「ポールが僕のために書いてくれた曲だから」として2万5千ポンド（約350万円）で落札しました。
引用：https://ja.wikipedia.org/wiki/%E3%83%98%E3%82%A4%E3%83%BB%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%89

#分析に利用する画像
今回は2020年に91万ドル（約9800万円）で落札されたポール・マッカートニー直筆の歌詞原稿を利用します。
この原稿は1968年にロンドンでのレコーディングに使われたもので、黒のペンによる筆記体で歌詞や番号が書かれており「BREAK」といったメモ書きも残されています。
![hey-jude-lyrics-super-169.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/578416/50584882-5739-12ec-0c7f-7b53f03c8ff3.jpeg)
引用：https://www.cnn.co.jp/showbiz/35152283.html

#検証結果
![2020-12-01_16h00_48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/578416/048203b6-890c-620b-acc8-c6f01b9584f4.png)
コンソールにサインインしてサービスからAmazon Textract にアクセスします。
（東京リージョンはサポートしていません）

![2020-12-02_13h42_44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/578416/2394322f-9550-c591-2d6d-476d93eab5ea.png)
"ドキュメントのアップロード"から対象画像をアップロードし、完了したら"結果をダウンロードする"から出力フォルダを入手します。

![2020-12-01_16h11_50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/578416/42667a27-b099-ac47-2f49-b8722d45d8f7.png)
ZIPフォルダを解凍すると上記のファイルを入手できます。

![2020-12-01_16h13_59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/578416/4a477d38-fd15-b178-59cb-16d4793a7c4d.png)
"rawText"を開くと上記の出力を確認できました。ほぼ完璧ですね。
続いてapiResponse.jsonからAPIのレスポンスを確認してみます。

```apiResponse.json
      {
      "BlockType": "LINE",
      "Confidence": 99.11865234375,
      "Text": "Hey Jude don't make it bad",
      "Geometry": {
        "BoundingBox": {
          "Width": 0.6866654753684998,
          "Height": 0.052347924560308456,
          "Left": 0.09252239763736725,
          "Top": 0.06466802954673767
        },
        "Polygon": [
          {
            "X": 0.09396231919527054,
            "Y": 0.06466802954673767
          },
          {
            "X": 0.7791878581047058,
            "Y": 0.07248140126466751
          },
          {
            "X": 0.7777479887008667,
            "Y": 0.11701595038175583
          },
          {
            "X": 0.09252239763736725,
            "Y": 0.10920257866382599
          }
        ]
      },
```

一部抜粋ですが認識したテキスト、信頼度、座標などといったインサイトを得ることができます。素晴らしいですね。
また今回は無料利用枠の範囲内なので安心して検証できました。皆さんもお好きな画像で是非お試しください！

#おわりに
今回、読みにくい走り書きの文書でも高い精度で認識できました。
現状Amazon Textract はまだ日本語に未対応ですが、いずれくるであろう日本語の対応が待ち遠しいですね！