この記事は以下の方を対象としています。
・Pythonの勉強を始めるか迷っている方。
・Pythonを習得すると何が出来るか知りたい方。
・Pythonの活用によるメリットを知りたい方。
・Pythonのスクールの受講を検討されている方。
・Pythonを使った開発をベンダーへ依頼するか検討されている方。
・部下からPythonの教育、開発を申請され、Pythonの概要を知りたい方。
Pythonを使ってみませんか?
こんにちは。自動化コンサルタントの江坂です。
「Pythonってよく聞くけど、何が出来るか、分からない。」という意見をよく聞きます。
Pythonは、事務業務の効率化のためのライブラリや、専門業務のためのライブラリが充実しているので、いろいろな業務に活用することができます。
本コラムのゴール
Pythonを仕事に役立たせるため、Pythonで出来ること、Pythonの業務への活用方法の全体像を解説します。特に事務業務の効率化は、Pythonを手軽に始めるのに適しています。
本コラムでは、「Pythonで何が出来るか」の概要を理解することをゴールとしています。
ここでは、Pythonで出来ることを、(I)事務業務での活用事例、(II)専門業務での活用事例に分けて解説します。
(I)事務業務での活用事例
事務業務の効率化は、自分のパソコンの中にPythonをインストールし、Pythonのプログラムを作成し、効率化を進めていきます。例えると、エクセルのVBAによる効率化やRPAのようなイメージです。
このような事務業務の自動処理は、多くの場合、担当者自身の業務を自動化させます。このため、担当者の方は、自分の業務内容をよく理解しており、プログラムに間違えがあれば、すぐ気が付くことが出来ます。このため、Pythonを手軽に始めるのに適していると言えます。
Pythonは、ExcelのVBAやRPAツールよりも、活用分野が広く、自動処理からデビューし、各種専門分野での活躍も期待できます。
1.事務業務の効率化
【Pythonによる処理の内容】
Pythonを使って、エクセルデータの自動処理、大量のファイルの自動処理、あるいは、業務用システムを自動操作することが出来ます。こういった普段パソコン上で行う事務業務の処理をPythonで実行し、業務を効率化することが出来ます。
コンピュータの処理は、どれも自動的な処理ですが、人の作業を自動化する場合を特に「Pythonによる自動化」と呼びます。
また、いわゆるRPAと呼ばれる「Robotic Process Automation」という手法があります。これは、自動化の中でも人の操作をPythonのプログラムに置き換え、ロボットのように操作する手法です。
【効果・メリット】
Pythonを使うことで、作業時間の短縮や、ミスの防止・正確性の向上、人の不在時でも自動処理が出来るようになります。
Pythonはオープンソースソフトウェアとして無償で使用することができます。このため、職場全体でプログラムを共有化し、効率化を進めていくことが容易です。
【補足・注意点】
業務用システムを操作するときは、適切なインターバルで操作する必要があります。特に、お客様のシステムを高速で操作し、システムをダウンさせることの無いようにしましょう。影響は、自分1人で解決出来る範囲を超えてしまいます。(一般的に、お客様のシステムをダウンさせたら、社長、役員はじめ上層部の方がお詫びに行くことになりますのでご注意ください。)
(II)専門業務での活用事例
続いて、各種の専門的な業務にPythonを活用する場合を解説します。主な活用事例を説明します。
パソコン上で行う場合だけでなく、大量の情報を扱う場合は、専用のコンピュータやサーバ上の環境で行うケースがあります。
2.インターネットからの情報収集(Webスクレイピング)
【Pythonによる処理の内容】
インターネット上から口コミ情報等の情報収集に活用することができます。Web画面から、Pythonを用い大量に情報を取得します。この様子を、「削る」の英語(scraping:スクレイピング)を用いて表し、Webスクレイピングと呼ばれます。
【効果・メリット】
人が手作業で、口コミ情報を集めることもできますが、大量の口コミを集める場合、Pythonのプログラムを活用することで、効率的に情報収集することができます。
【補足・注意点】
高速処理により、相手側サーバに負担をかけないようにします。また、元データの著作権、Webサイトの利用規約等に注意する必要があります。こちらも正しく運用しないと、影響は、自分1人で解決出来る範囲を超えてしまいますので注意しましょう。
3.データ分析
【Pythonによる処理の内容】
インターネット上から集めたデータや、自社の販売データ等をPythonを用い、各種統計処理方法等を用い分析します。複雑な統計計算を専用のライブラリを用いて処理することができます。
【効果・メリット】
お客様のレビューデータを分析することで、世の中のトレンドの傾向を明確にすることができます。また、売り上げ等のデータ分析の結果に基づき、次期型の商品開発の方向性、仕入計画、販売計画の立案や、人、モノ、金等の経営資源をどこに集中するのかといった戦略立案に活用することができます。
【補足】
Pythonを使うと、誰でも簡単に統計上の指標の値を出力させることができます。しかしながら、分析結果を深く読み取るためには、対象データの業務の知識、および、統計分析の知識も必要です。
4.機械学習・深層学習
機械学習や深層学習、人工知能といったAI・データサイエンス等の分野への活用です。
機械学習の教師あり学習、教師なし学習を例にして説明します。
4.1.教師あり学習
【Pythonによる処理の内容】
人の判断内容を機械(コンピュータ)に学習させ、判断処理を自動化させることができます。
一例としてあげますと製造ライン上の製品の画像を解析し、製造工程上の不良品の検査に活用されてきています。人間の不良品の検査結果を学習させ、検査の自動化に、機械学習の技術が活用されています。
【効果・メリット】
熟練者の判断方法を学習させることで、高度な判断をコンピュータにより自動化させ、効率的化、および、チェック品質の向上、チェックミスの低減が可能です。
4.2.教師無し学習
【Pythonによる処理の内容】
例えば、有名な画家の絵について学習させ、本物かどうか判定したい絵に対して真贋判定をさせるケースです。このとき、画家の真贋判定の基準を人が機械に学習させるのではなく、その画家の絵とはどういうものなのかを機械に学習させ、真贋判定の対象の絵が、その範囲内に入っているかどうかを判定させて、真贋判定させます。
【効果・メリット】
このような場合は、人が特徴として認識していない根拠(判断基準)に基づいて判断することができ、人間を超えた判断をコンピュータにさせることができます。
【補足】
機械学習の結果は、過去のデータから得られる結果です。機械学習から得られた結果に基づき、実際のアクションを実行したとき、予想と反する場合もあると思います。その場合、なぜ違う結果になったのか考えられるよう、自分でも対象物、現象を深く考えることができると、新しい発見に結びつくと思います。
5.Webアプリの開発
Webアプリとは、chromeのようなブラウザ上で動作するアプリのことを言います。多くの場合、複数のプログラムを組んで、大きなプログラムを作ります。このため、自分一人でなくチームでプログラムを組んで行うケースが多く見られます。
【Pythonによる処理の内容】
業務用のシステム、ECサイト、装置の操作プログラム等、ブラウザ上で動作するアプリをPythonを用いて開発します。
【効果・メリット】
Pythonには、Djangoというフレームワークがあり、動作の設計、ユーザ認証等をはじめ、Webアプリを効率的に開発することができます。
6.その他
他にも、Pythonは、画像処理、音声解析、テキストマイニング(自然言語処理)、生成AIの分野等に活用することができます。
専門業務への活用においては、Pythonの知識だけでなく、対象業務分野(マーケティング、製品等)の専門知識も必要になります。これからPythonを活用し、就職する場合、対象業務の分野の情報等も考慮して選定すると良いと思います。
まとめ
Pythonは、ライブラリの活用により、事務業務だけでなく、専門業務に活用することができます。
オープンソースソフトウェアなので、無償で使えることもあり、勉強する方、活用される方が増えています。乗り遅れることなく、この流れの中に入りましょう。
現在、Pythonを使っている方のお話を聞くと、「Pythonの将来性を感じて勉強を始めた。」とのお話を聞きます。とても人気の高いプログラミング言語であり、皆さんの活躍の幅が広がることと思います。
また、Pythonを活用した自動化ソリューションに興味がある方は以下のページをご覧ください。
https://gw-python.com/python-auto
著者:江坂 和明(えざか かずあき)
自動化コンサルタント。
名古屋大学大学院 農学研究科修了。大手メーカに勤務。
製品の研究開発において、統計手法を活用。社内の管理業務に用いる業務用システムの企画、開発、運用を担当。また、業務用システムの運用効率化のため、RPA、Pythonを活用した業務効率化に取り組む。
著書:Python業務自動化マスタリングハンドブック(秀和システム)。