HOME > Various Tips > OCRと翻訳 > PaaSの基礎知識


Windows 10  (2020/06/12 Update)

はじめに

PCで行うOCRや翻訳機能は、PCが普及して以降、多くの企業などが研究及びサービスを提供してきました。
近年は機械学習の普及により、クラウド経由で提供するサービスへと変わってきています。

このTipsでは、クラウドサービスで提供される最新のOCRと翻訳サービスを利用する上で必要になる、基本的な知識を中心に紹介していきます。 また、筆者が開発しているアプリ(OCR de PawS)で、これらのクラウドサービスを上手に活用していく方法なども説明していきます。

GoogleやMicrosoftなどの大手企業が提供するクラウドサービスでは、個人でも無料で利用できるサービスを提供しています。 これらの無料枠も使用し、最新の技術を上手に活用してみて下さい。

画像や映像(動画やゲームなど)などのデジタル及び紙面上のテキスト媒体を、未だに手入力をしている方は、時間や費用のコスト面を考え直してみてはどうでしょうか。

言語によっては未だ実用的でないケースもありますが、手書き文字や図形認識などのサービスも提供されはじめています。 是非体験してみて下さい。






Cloud


用語の説明

クラウドサービスを利用するにあたり、知っておくと役に立ちそうな用語をまとめました。エンジニア向けの用語も含まれています。(随時追加予定)


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を直接利用しよう

概要

最初の記事では、SaaSではなく何故PaaSが必要なのか、また、PaaSを企業や個人が直接利用するメリットを中心に紹介します。
クラウドサービスの利用を考えている、または興味がある方は参考にして下さい。





SaaSのデメリット

SaaSは誰でも簡単に利用できる反面、いくつかのデメリットを抱えています。ここでは、そのデメリットについて紹介します。

OCRや翻訳ができるサービスとして、無料で利用できるサービスや、定額または従量制のサービスも存在します。 これらのサービスをWEBサイトやアプリから利用している方も多いのではないでしょうか。
これらの多くは、メールアドレスなどの簡単な情報登録やアプリをダウンロードするだけで利用可能なSaaSと呼ばれているサービスです。

SaaSは誰でも簡単に利用できるメリットがある一方で、つぎのようなデメリットが存在します。

  • データのプライバシー保護
  • サービス利用時の自由度(制約が多い)
  • 無駄なコストの発生
  • サービスの永続性

SaaSを利用する場合は、これらのデメリットも理解し利用していく必要があります。









データのプライバシー保護

ここでは、SaaSを利用する場合のデメリットの一つである、データのプライバシー保護について説明します。

1.データのプライバシー保護

プライバシー保護の観点で問題になるのは、次のような内容です。

  • サービスの基盤となっているインフラや仕様が不明確である。(自前のインフラ? AWS等を利用して構築? どこ(どの国)で誰が運用?)

インフラ仕様が不明確な場合は、反社会的組織や類似する国家、個人等が関与している可能性も有ります。(具体的には口に出せないが・・・。)
また、GCPなど有名大手PaaSやIaaSを利用して構築したサービスの場合でも、SaaS提供者側がデータを搾取する可能性も考えられます。 これは、PaaS等が提供するリソースは、契約者であるSaaSプロバイダーに対して割り当てているためです。

例えばストレージリソースを割り当てている場合、SaaS管理者はストレージ内のデータを自由に閲覧できることになります。 当然PaaSプロバイダー側にも閲覧権限はあるため、2重でプライバシー漏洩の可能性がでてくることになります。
現実問題として、SaaS業者からデータが漏洩したというニュースは何度も繰返されています。不正アクセスも頻繁に発生しています。

OCRや翻訳サービスの場合、個人を特定できる画像やテキストなどの機密性が高いデータを扱う可能性があるため、特に注意する必要があります。
AzureのOCRサービスでは、コンテナーを使用し利用者独自の環境で検出処理を実行できるサービスも提供されています。(プロバイダー側には課金情報のみ送信される)



最近の事例を追加(2020/06/12)

紹介するのは、WEB会議サービスを提供しているZoomが、アメリカ、香港、中国を拠点としている人権活動家グループのアカウントを停止した事例です。
この事例となっているニュースは、2020/06/07にAxiosが報告後、CNN等を初めとする国内外の様々なメディアで公表されています。 内容を詳しく知りたい場合は、英文のサイトを直接読むことを推奨します。

問題となっている事案は、ZoomのWEB会議サービス(有料版)を利用し、天安門事件に関わる会議を開催していた上記グループの会議を閉鎖しアカウントを凍結したという内容です。
凍結した理由として、中国ではこれらの活動が違法であることを中国政府から指摘されたためであると、Zoomが06/11に同社のブログ上で公表しています。
なお、現時点で凍結されたアカウントは復活しているようです。 特に問題となっている事は、Zoomを使用した会議の内容が、中国政府によって常に監視されている可能性と、サービス提供者がその問題に国境を越えて加担したということです。

Zoomに関しては、以前からセキュリティの脆弱性によるハッキングや暗号化問題、サーバーの設置国など、様々な問題が発生しています。 Zoom側は、今回の批判を受けて改善すると述べているようですが、恐らく根本的に変わることは困難でしょう。(変われない・・・)

重要なことは、Zoomに限らずインターネットに接続されているサービスは常に盗聴されている可能性があるということです。 特に誰でも簡単に利用できるSaaSは、サービスの提供者やインフラの設置場所(どこで誰が運用管理しているか)について把握しておく必要があるということになります。
サービスを提供する企業が、プライバシーの保護やセキュリティーの安全性を謳っているから、利用者が多いから安全という安易な考えは持たないように注意したほうが良いです。
利用者自らが安全性を判断できるようになるには、少なくてもインターネットとクラウドサービスに関する基本知識を持つようになることです。
これができる企業や組織、個人は、既にZoomの様な問題の発生する可能性が有るサービスの導入については、拒否しているはずです。 様々な理由を並べて導入を継続する企業等については、組織のセキュリティーポリシーを疑った方が良いと思います。

どこで誰がどのように運用しているサービスであるかは、今後も非常に重要になるでしょう・・・。









サービス利用時の自由度

ここでは、SaaSを利用する場合のデメリットの一つである、サービス利用時の自由度について説明します。

1.サービス利用時の自由度

自由度の観点で問題になるのは、次のような内容です。

  • 利用できる機能が限定される。

例えばGmailなどを利用する場合で考えてみて下さい。 メールの内容を自動で翻訳させたり、PDFに変換して指定の場所へ転送や保管する事は、サービス内の機能として提供されていな限り不可能です。 あくまでも汎用的な機能を提供するだけで、ユーザー側が機能を拡張することは困難です。

PaaSを利用することで、ストレージサービスや翻訳サービス、機械学習などと組み合わせて、独自のサービスを作ることが可能になります。









無駄なコストの発生

ここでは、SaaSを利用する場合のデメリットの一つである、コストについて説明します。

1.無駄なコストの発生

コストの観点で問題になるのは、次のような内容です。

  • 全く利用しない期間でも料金が必要であったり、少しだけ便利な機能を利用しようとすると高額になる。

クラウドサービスを利用する場合、サブスクリプション(subscription)という契約を結ぶことが一般化しています。 サブスクリプションの内容によっては、毎月固定の基本料に合わせて使用したデータ量に応じた料金が発生するケースも多いです。
全く利用しない期間もあるのに、固定でコストが発生するのは無駄になるのではないでしょうか。 契約期間が長くなる程、このような無駄なコストの発生は避けたいところです。

大手が運用するPaaSでは、従量制のプランが用意されており、初期費用不要かつ使用料のみで済みます。 未使用期間は無駄なコストが発生しないことになります。
また、無料で利用できるサービスプランやツールも提供されているので、気軽に試してみることが可能になっています。

例えば、OCRサービスの場合、無料で利用できる内容は次のようになります。

  • GCP: 毎月、最初の1,000ユニット迄は無料。(テキスト検出の場合は、1ユニットが1画像になる)
  • Azure: 毎月、5,000トランザクション迄は無料のプランが用意されている。(テキスト検出の場合は、1トランザクションが1画像になる)

一般的な個人の利用では、毎月1,000以上の画像を処理することは少ないと思います。 例えば、名刺を毎月1,000枚OCRで検出する個人は存在するのでしょうか・・・。
大量に処理したい場合は、料金を払えば済むだけです。









サービスの永続性

ここでは、SaaSを利用する場合のデメリットの一つである、永続性について説明します。

1.サービスの永続性

永続性の観点で問題になるのは、次のような内容です。

  • サービス提供者の都合で、突然終了してしまう。

既に経験された方も少なくないと思いますが、便利に利用していたサービスが突然終了になってしまうことがあります。 特に小規模またはベンチャー企業が運用を開始するサービスの場合は、最初から赤字を抱えたまま運用を開始し、利益の増加が見込めなくて終了するパターンも少なくありません。 また、大手でもGoogleの無料サービスのように、短命で終了するサービスが有ることも周知されています。

企業が業務で永続性を望む場合は、SaaSではなく大手が提供するPaaSで独自にシステムを開発するほうが安全だと考えられます。









PaaS利用時のデメリット

これまで、PaaSのメリットに関することに触れてきましたが、当然PaaSにもデメリットが存在することになります。 ここでは、PaaSを個人ユーザーが直接利用する場合のデメリットについて説明します。

1.PaaS利用時のデメリット

最も大きなデメリットとなるのは、次のような内容です。

  • エンドユーザーがPaaSを直接利用する場合、サービス毎に基本的な知識が必要になる。(SaaSのようにお手軽ではない)

ユーザー自身がPaaSを直接利用しようとする場合、先ず最初にPaaSが提供する各種サービスを管理するための基本的な知識が必要になります。 Googleの場合はGoogle Cloud Platform(GCP)、Microsoftの場合はAzure Portalと呼ばれるWEBサイトの操作方法を覚える必要があります。 どちらも多機能で有るために、クラウド知識を持たない一般ユーザーでは2の足を踏むかもしれません。
しかし、実際やってみればわかるのですが、それほど難しいことではありません。 クラウドを専門としている業者に頼らなくても、基本的なIT知識を持っている中級以上のPCユーザーであれば操作できるレベルです。

PaaSについては今後、個人レベルで活用していく機会が大幅に増えてくると予想しています。









まとめ

PaaSは、SaaSとIaaSの中間に位置したクラウドサービスです。 SaaSのように誰でも簡単に導入できるわけではありませんが、SaaSが抱えるデメリットを軽減できます。 また、IaaSのように高度なインフラに関わる知識も必要ありません。
そのため導入の手軽さと、運用管理に置いて非常に優れたバランスを持っています。

突然に訪れたテレワーク作業により、普段PCを利用または所有していない方は、PCの操作に戸惑ったり必要性について新たに実感された方も少なくないと思います。 PCを利用する機会が増すごとに、単純かつお手軽であるSaaSサービスから、自由度やプライバシーへの配慮が必要になるサービスの利用が必須になってきます。

OCRや翻訳サービスに限らず、プライバシー保護の観点からも様々なクラウドサービスをSaaSなどのサービス業者に頼らず、個人が直接利用していく時代が近づいてきていると感じています。 非常に多くのサービスが提供されているので、テレワークが当たり前になっていく時代に備えて大いに活用していきましょう。











更新履歴

2020.06.12

 
  • データのプライバシー保護に、最近の事例を追加

2020.05.29

 
  • 新規追加