Windows 10 (2021/03/24 Update)
はじめに
PCで行うOCRや翻訳機能は、PCが普及して以降、多くの企業などが研究及びサービスを提供してきました。
近年は機械学習の普及により、クラウド経由で提供するサービスへと変わってきています。
このTipsでは、クラウドサービスで提供される最新のOCRと翻訳サービスを利用する上で必要になる、基本的な知識を中心に紹介していきます。
また、筆者が開発しているアプリ(OCR de PawS)で、これらのクラウドサービスを上手に活用していく方法なども説明していきます。
GoogleやMicrosoftなどの大手企業が提供するクラウドサービスでは、個人でも無料で利用できるサービスを提供しています。
これらの無料枠も使用し、最新の技術を上手に活用してみて下さい。
画像や映像(動画やゲームなど)などのデジタル及び紙面上のテキスト媒体を、未だに手入力をしている方は、時間や費用のコスト面を考え直してみてはどうでしょうか。
言語によっては未だ実用的でないケースもありますが、手書き文字や図形認識などのサービスも提供されはじめています。
是非体験してみて下さい。
用語の説明
クラウドサービスを利用するにあたり、知っておくと役に立ちそうな用語をまとめました。エンジニア向けの用語も含まれています。(随時追加予定)
SaaS |
Software as a Serviceの略語。メールやSNS、WEB会議、ファイル保管サービス等の様に、クラウド側の設定を意識しなくても利用できるサービス。
インターネットを経由してサービスを利用するソフトウェア全般(WEBやネイティブアプリも含む)を示している。 クラウドの知識がないユーザーには便利ではあるが、プライバシー保護の問題や自由度の低さがデメリットとなる。 PaaSの上位層に位置する。 |
---|---|
PaaS |
Platform as a Serviceの略語。PaaSプロバイダーが提供するツールや、フレームワーク、セキュリティ、API等を使用し、簡単及び安全に分析、調査、開発などが行える。 SaaSの下位層、IaaSの上位層に位置する。 |
IaaS |
Infrastructure as a Serviceの略語。サーバー、ストレージ、ネットワークを含むクラウドの基盤構造を提供するサービス。 クラウドサービスにおける最下層(PaaSの下位層)に位置する。サービスを利用するには、インフラに関する十分な知識が必要となる。 企業などがハードウェアも含めて自社内で運用していたシステムを、クラウド上に移行させていることで知られているように、昨今のクラウドサービスが普及した原点とも言える。 |
SLA |
Service Level Agreementの略語。サービスの提供者が契約者に対して、可用性や信頼性などの品質を保証する規約。
規約にある品質を下回った場合に、料金などの返金を行うなことなどを明示している。 ただし、無料枠に対しては、SLAを提供しないケースがほとんどである。 |
Microsoft Azure |
Microsoftが提供しているクラウドサービスの総称。 提供するサービスには、SaaS, PaaS, IaaS等が含まれる。 |
Google Cloud Platform (GCP) |
Googleが提供しているクラウドサービスの総称。 提供するサービスには、SaaS, PaaS, IaaS等が含まれる。 |
Amazon Web Service (AWS) |
Amazonが提供しているクラウドサービスの総称。 提供するサービスには、SaaS, PaaS, IaaS等が含まれる。 |
CNCF | Cloud Native Computing Foundationの略語。クラウドネイティブを推進するために、技術発展と関連する業界との連携を支援する団体の名称。 平たく言えば、コンテナ技術を発展普及させようとしている団体。 |
クラウドファースト |
システム構築時にクラウドサービスを優先して利用するとういう考え方。具体的には、SaaSの導入, PaaS, IaaS上での運用の検討を行うこと。 |
クラウドネイティブ |
クラウドファーストの考え方の粒度を細分化し、クラウド上で実行されるアプリケーションレベルでの最適化までを示す考え方。 具体的には、コンテナ、サービスメッシュ、マイクロサービス、イミュータブル・インフラストラクチャー、および宣言型API(declarative APIs)などの手法を利用し 疎結合システムを実現する。これらの手法を自動化及び組み合わせることでエンジニアの労力を低減できるとしている。 また、オープンソース化することでベンダー主導ではなく、ユーザーやコミュニティを中心とし誰もが利用できるようにすることを目的にしている。 クラウドネイティブの定義 |
コンテナ |
アプリケーションの実行に必要な環境を抽象化し、格納するための論理パッケージング メカニズム(a logical packaging mechanism)。
アプリケーションをコンテナ単位で動作させることで、利用するリソースなどを他のプロセスやコンテナから隔離することができる。
疎結合を目的とする技術ともいえる。そのため、サンドボックス化されたセキュアな環境や、異なるデバイス間への移植性などが向上する。 |
Docker |
コンテナ技術を用いてアプリケーションの開発、展開(デプロイ)、実行等を行うオープンなソースまたはプラットフォーム。 従来の仮想PC上でのアプリケーション実行と比較した場合、少ないリソースで速い起動ができる。 また、OSレベルでのコンテナ仮想化技術を用いているため、展開するデバイス間での移動が容易になる。 基本的にLinux上でしか動作しない。WindowsやMac上で動作させるためには、Docker for Macのように仮想的なLinuxカーネルが裏で動作することになる。 Windowsの場合は、Linuxカーネルが直接動作するWSL2の登場で、より快適にDockerを利用できるようになる。 |
Kubernetes |
略してK8sまたはk-eightsと表記されている場合もある。複数のコンテナをスケジューリングし運用管理を自動化するオープンソースソフトウェア。
そのため、コンテナ・オーケストレーター(container orchestrators)とも呼ばれている。
1つ以上のコンテナで構成されたポッド(pod)と呼ばれる単位でグループ化される。
PaaSにおいても基盤として欠かせない存在になってきている。 Kubernetesとは(Microsoft Azure) |
記事一覧
- 個人でもPaaSを直接利用しよう(2021/03/24 Update)
- AIを利用したOCRの認識精度を検証(2020)(2020/06/04 New)
- AIを利用したOCRの認識精度を検証(2020)その2(2020/06/09 New)
- バーコード・スキャナーの基本と活用(2021/08/03 New)
- バーコード・スキャナーのOCR機能(2021/11/09 New)