CLOSE UP コラム | 人工知能の開発に適したプログラミング言語

人工知能の開発に適したプログラミング言語

CLOSE UP 事例

2017年02月20日
オープンソース活用研究所 所長 寺田雄一

人工知能の開発には、どのようなプログラミング言語が適しているのだろうか。

人工知能の処理では、統計学や数学を多用することになる。統計学や数学に精通しているのではない限り、開発途中で、ライブラリを活用する可能性がかなりの頻度で出てくるだろう。ライブラリが充実しているプログラミング言語としては、R言語 と Pythonがある。

人工知能開発のためのプログラミング言語-R言語

R言語は、オープンソースの、データ分析やデータ処理に特化したプログラミング言語である。システム開発を目的にした一般的なプログラムミング言語とは異なり、開発環境が付帯しており、統計解析処理やその結果もグラフィカルに表示できる。

R言語は、人工知能開発に限らず、教育機関や研究機関など本格的な統計分析を行う際によく用いられるメジャーなプログラミング言語であり、統計分析に特化しているため、統計分析用にロジックを書く必要がなく、その点で敷居が低い。

またオープンソースのため、誰でも無料で手に入れることができ、機能を追加するためのパッケージも充実しているのも大きな特長となる。CRAN(The Comprehensive R Archive Network)というレポジトリには、さまざまなパッケージが追加されており、人工知能開発を含めた最新の統計分析環境を容易に手に入れることができる。たとえば、Perl、Python、Rubyなど他のプログラミング言語で実装する前に、統計分析の基本モデルを作ったりする場合でよく使われる。

人工知能開発のためのプログラミング言語-Python(パイソン)

Python(パイソン)は、コードがシンプルで扱いやすく設計されており、C言語などに比べると少ないコード行数でプログラミングできるという特長がある。

また、汎用言語と呼ばれるさまざまなアプリケーションを作るのに適したプログラミング言語でもある。人工知能開発などで統計分析用に書いたプログラミングコードは、自作ライブラリとして製品に組み込むことも可能。またPythonは、ディープラーニングを含めた人工知能のライブラリが充実しているのも特長。

ふたつのプログラミング言語を比較すると、R言語 は本格的な統計分析を開発したい場合、もしくは統計分析をプログラミングで処理しなければならない場合、Python はWEBサービスなどのアプリに人工知能を利用したいという場合という使い分けが考えられる。

下記サイトからの要約。
http://www.amelt.net/imc/programming/mr/4455/
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14148833434


著者プロフィール

オープンソース活用研究所 所長 寺田雄一

1993年、株式会社野村総合研究所(NRI)入社。 インフラ系エンジニア、ITアーキテクトとして、証券会社基幹系システム、証券オンライントレードシステム、損保代理店システム、大手流通業基幹系システムなど、大規模システムのアーキテクチャ設計、基盤構築に従事。 2003年、NRI社内に、オープンソースの専門組織の設立を企画、10月に日本初となるオープンソース・ソリューションセンター設立。 2006年、社内ベンチャー制度にて、オープンソース・ワンストップサービス 「OpenStandia(オープンスタンディア)」事業を開始。オープンソースを活用した、企業情報ポータル、情報分析、シングルサインオン、統合ID管理、ドキュメント管理、統合業務システム(ERP)などの事業を次々と展開。 オープンソースビジネス推進協議会(OBCI),OpenAMコンソーシアムなどの業界団体も設立。同会の理事、会長や、NPO法人日本ADempiereの理事などを歴任。 2013年、NRIを退社し、株式会社オープンソース活用研究所を設立。

最新TOPICS

最新情報はありません。

関連タグ

IoTプラットフォームサービス(アイオーティープラットフォームサービス)

  • IoT

IoTプラットフォームサービスは、楽天コミュニケーションズが提供するIoTビジネス向け通信環境構築サービス。

Azure Databricks(アジュールデータブリックス)

  • AI

Azure Databricks(アジュールデータブリックス)は、Azureプラットフォームに最適化された「Apache Sparkベース」の分析プラットフォーム。

コネクテッドカー(Connected Car)

  • 用語集

コネクテッドカー(Connected Car)とは、「ICT端末を搭載し、車両状態や周囲道路状況などのさまざまなデータをセンサーにより取得し、ネットワークを介して集積/分析することで、新たな価値を生み出す自動車」を意味する。次世代の車として人を目的地へ運ぶ以上の価値を提供することが期待されている。

ロボット(Robot)

ロボット(Robot)は、人の代わりに何等かの作業を自律的に行う装置もしくは機械のことで、人間をはじめとする動物の動きを基本に動作する。「産業用ロボット」「サービスロボット」「アミューズメントロボット」「コンピュータプログラム」などに大別される。

IoT(Internet of Things)

IoT(Internet of Things)とは、従来インターネットに接続されていなかったさまざまなモノ(センサーデバイス、デジタルデバイス、工業機械、駆動装置、建物、車など)が、ネットワークを通じてサーバやクラウドサービスに接続されることで、相互情報交換や遠隔制御できる仕組みを指す。

バックナンバー

関連記事

無料資料プレゼント

2021/03/04 セキュリティDAYS Keyspider資料

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



セミナー講演資料公開中

FAXやメールで来る大量の注文書を、自動的に受注システムに投入する ~マスターデータとの突合、データの確認・修正まで~

契約書、約款、規定等のWord文書の新旧対照表を簡単に作成する~提出、配布用の新旧対照表の作成だけでなく、契約書や社内規定の差分を簡単に抽出~

よくある失敗事例から学ぶ、データ分析の理想と現実 「私の会社でもデータ活用できるの?」という疑問に答える、自社に合ったデータ活用のはじめ方

  • 書籍

facebook

twitter