2018年11月7日水曜日

Microsoftという会社②

 Microsoftの創業は、1975年。創業からすでに40年以上が経過している、IT業界としては古い企業です。
 創業者は、ハーバード大学をドロップアウトした天才プログラマー、ビル・ゲイツ。MS-DOSというコマンドラインベースのOSとBASICを武器に、Microsoftはソフトウェア会社として急成長しました。そしてWindows OSとMicrosoft Officeにより、その地位を盤石なものにします。
ビル・ゲイツは、すさまじいまでの仕事人間だったようで、そのあたりは三田出版会1999年10月出版の「帝王の誕生-マイクロソフト最高経営責任者の軌跡」をご一読いただければと思います。
 現在、Microsoftの舵を取るのは、2014年に3代目のCEOに就任したサティア・ナデラです。
サティア・ナデラは、40年の歴史を持つMicrosoftの文化を変えることから始めました。それまで、Windows Server製品を脅かす存在だったオープンソース・ソフトウェアのLinuxや、長年のライバルであるApple社と手を組むことを決意しました。これらの製品は、決して競合製品ではなく、Microsoftのアプリやサービスを使ってくれる提供先だという考え方に変わったのです。現在では、さまざまなデバイスにてMicrosoft Office製品を使うことができるようになりました。これは、我々ユーザーにとっては、非常に喜ばしい決断だったのではないでしょうか。
 今後も、Microsoftの動向に期待大です。

Microsoftという会社①

 Microsoftという会社について、あなたはどのような印象を持っているでしょうか。
Windows OS、Microsoft Office。
この2つのソフトウェア製品を主力として開発しているソフトウェア会社というイメージが強いかと思います。しかし、それは今は昔。
 現在、Windows OSを搭載した「Surface」というハードウェア製品を提供するハードウェア会社でもあります。また、人工知能を利用した製品も数多く提供しています。Microsoftの人口知能と言えばCortana(コルタナ)が有名ですが、このCortanaは、決してWindows OSにのみ搭載されているわけではありません。Amazonの人工知能搭載スピーカーである「Amazon Echo」と業務連携し、Cortana搭載バージョンも発売される予定になっています。「Amazon Echo」には、Amazonが開発した人工知能であるAlexaと、Microsoftが開発した人工知能であるCortanaの2種類から選択できるようになるわけです。また、多くの自動車会社との協業も進んでおり、Cotanaがドライビング・アシスタントとして搭載される予定になっています。
 MR(Mixed Reality:複合現実)にも積極的に力を入れています。MRは、Microsoftが提唱する新しい概念であり、VR(Virtual Reality:仮想現実)ともAR(Augmented Reality:拡張現実)とも違います。物理的な物質が存在する「物理的現実」と仮想的な感覚を人工的に刺激する「仮想現実」を融合した世界であり、ARを利用したゲーム「ポケモンGO」の3D版というとイメージが付きやすいかと思います。「ポケモンGO」の場合、現実世界に2Dのポケモン画像が合わさって表示されているだけですが、MRでこれを実現した場合、ポケモンの背後に回り込んで背中をみることができます。
物理的には実現が難しい物体であっても、VRやARよりもよりリアリティのある世界を投影するための技術であり、今後さまざまな分野において応用されていくことが期待されています。
 また、同社のクラウドサービスである「Microsoft Azure」についても、言及すべき重要なポイントです。過去の主力製品であったWindows OSやMicrosoft Officeは、クラウド上のサービスとしても提供されるようになりました。Microsoft Officeについては、ブラウザ版であれば無償で利用できるようになりました。

人工知能が人類を超える日

 昨今、人工知能の活躍には目覚ましいものがあります。
将棋や碁といった複雑なルールにおけるゲームにおいては、ついにコンピューターが人間の知能を凌駕しました。
自動車の運転においても、人工知能がすべての運転を自動化することに成功しています。実用化される日も近いことでしょう。実際、Google社は近い将来、運転免許は不要になると豪語しています。
また証券取引や医療分野においても、人工知能はすでに欠かせないものになってきています。
 さて、このような時代のながれにおいて、Google社に勤めるレイ・カーツワイル(Ray Kurzweil)によれば、人工知能がすべての人類の知能を凌駕する技術的特異点、いわゆる「シンギュラリティ」(Singularity)は2045年に到来すると予言しており、その後も指数関数的に進化していくとのこと。
実際、今後さまざまな業種において、労働力が人工知能に取って代わられると言われています。オックスフォード大学が2013年に発表した論文では、「今後10~20年で47%の仕事が機械に取って代わられる高いリスクがある」と結論付けています。
 先ほども述べましたが、マーク・アンドリーセンは、「人類は、コンピューターを使う側と使われる側に分けられる」と言っています。本書の読者はきっと、コンピューターを使う側、人工知能を使う側となり、シンギュラリティを平穏無事に乗り切れるであろうことを著者は予言します。

プログラミング教育の必修化

 東京オリンピックが開始される2020年度より、小学校にてプログラミング教育の必修化が開始されます。
また、大学入試センター試験に代わる大学入学共通テストにおいて、「情報」が新たに出題教科に加わる検討を文部科学省にてなされており、2024年度からの実施を目標とされています。
 以前、ある書籍で読んだのですが、「これからはすべての業界がソフトウェア業界になる」と書かれておりました。また実際、人工知能がさまざまな業界から人による労働力を駆逐するという認識を多くの方が持っているかと思います。
Microsoftとのブラウザのシェア争いには敗北したものの、ネットスケープ・ナビゲーターというブラウザを開発した天才プログラマー、マーク・アンドリーセンは、「今後、人類は2つに分けれる。コンピューターを使う側と、使われる側だ。」と発言しました。
 情報学一筋で生きてきた著者にとっては、このような時代の流れは非常に喜ばしいことです。情報学は、より一般的な教養として浸透し、より多くの若者に興味をもっていただく学問になっていただければと強く思います。

2018年10月19日金曜日

私の15冊目の著書が近々発刊されます


私の15冊目の著書、

「あなたのワークシートがインターネットにつながる Excel VBAでクローリング&スクレイピング」

が10月30日に発刊されます。


 かつて人間は、皆一つの同じ言葉を使い、同じように話していた。彼らは東方に移動し、南メソポタミア地方のシンアルの地に平野を見つけて、そこに住みついた。彼らは石の代わりにレンガを、しっくいの代わりにアスファルトを用いることができるようになった。彼らは言った。
「さあ、天まで届く塔のある町を建て、有名になろう。そして、全地に散らされることのないようにしよう」
 こうして人々は、天まで届く、高くて大きな塔の建設に着手した。だが、このような人間の企てを神が見過ごすはずがなかった。神は下ってきて、人間が建てた塔のあるこの町を見て言った。
「彼らは一つの民で、皆一つの言葉を話しているからこのようなことをしはじめたのだ。これでは、彼らが何を企てても妨げられない。ただちに彼らの言葉を混乱させ、互いの言葉が聞き分けられぬようにしてしまおう。」
 この神の決断によって、人々は同じ言葉で話せず、相互に意思疎通を図ることができなくなってしまった。言語による人々の統制も不可能になった。その結果、人類は全地に散っていかざるを得なくなった。こうして人々は、この町の建設をやめたという。
塔の建設を企て、神の怒りを買ったこの町は、バベルと呼ばれた。神がそこで言葉を混乱(バラル)させ、またそこから人々を全地に散らしたからである。

▼引用文献
図説 聖書の世界(Page. 36 - 38、月本昭男・山野貴彦・山吉智久著 学研)


 インターネットについて語る時、私はこの「バベルの塔」の話しを思い出さずにはいられません。
神の怒りによって全地に散った人類は、現在において全地に張り巡らされたインターネットを通じ、再び結束しました。そして、新たにサイバー社会のバベルの塔を築き始めました。
人類は異なる言語を話すようになりましたが、人類が発明した優れたコンピューターによって、様々な言語を機械的に翻訳することが可能です。たとえ地理的に離れていても、人類はインターネットを通じて意思疎通を図ることができるようになりました。世界は、再びひとつとなったのです。

 前置きが長くなってしまいましたが、「クローリング」や「スクレイピング」は、サイバー社会のバベルの塔であるインターネットを通じて、世界中から様々なデータを収集するための技術です。聖書の時代であれば、神々から怒りを買っていた技術でしょう。世界中の英知を、あなたの手元に集中させるための技術なのです。

本書より、「インターネットを通じて繋がる世界」

2018年8月2日木曜日

昔ながらのWebページをモバイルフレンドリーに

数年前、Googleは「モバイルフレンドリーではないWebサイトの検索順位を下げる」ことを発表、以来、私のWebサイトは全盛期の10分の1程度のアクセス件数にまで激減してしまいました。

「モバイルフレンドリー」とは、『スマホやタブレットなどの解像度が低いモバイル端末でも閲覧しやすい』とGoogleが判断したWebサイトのことです。

私のWebサイトは、2002年に開設して以来、「秘伝のたれ」のように注ぎ足しながら、ゆっくりとコンテンツを増やしてきました。
現在、HTMLだけでも200を超え、総コンテンツ(ファイル数)は1,000以上もあります。
開設当時、HTMLやCSSの知識もほとんどなく、HTMLのタグ本を見ながらテキストエディタでWebページを生成していました。
そのため、Webデザインは個々のHTMLファイルに直接埋め込んであり、モバイルフレンドリー対応は完全にあきらめていました。

しかし、以下のブログ記事をみて、私のWebサイトもモバイルフレンドリーに挑戦してみました。

わかったブログ - 一番簡単な、Googleモバイルフレンドリー対応の方法
http://www.wakatta-blog.com/mobile-friendly-easy.html

まず、すべてのコンテンツをWebサイトからダウンロードし、HTMLファイルのみをコピー。

xcopy "ikachi.org\*.htm*" "temp\" /d /s /e /y
pause

次に、秀丸エディタのgrep機能で「WIDTH="1000px"」の記述を「WIDTH="100%"」に一斉置換。
(私のWebサイトは、横幅がすべて1000pxで定義されていました)

さらに、HEADタグの最後に、上記のブログに掲載されているビューポイントとcssの切り替え用のタグを設置し、また、同じく上記のブログに掲載されている手順でモバイル用のCSSファイルを用意。
ビューポイントとcssの切り替え用のタグも、秀丸の一斉置換を利用しました。

(もともと、GoogleアフェリエイトのタグがほとんとのHTMLに埋め込んであったため、以下の文字列で検索、置換しました)

検索:
</script>
</head>

置換:
</script>
<meta name="viewport" content="width=device-width; initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />
<link media="only screen and (max-device-width:480px)" href="style_mobile.css" type="text/css" rel="stylesheet"/>
</head>

これで、すっかり諦めていたモバイルフレンドリー化を、私のWebサイトでも実行することができました。

2018年7月2日月曜日

ExcelVBAでクローリング

もうじき、私が書かせていただいたExcelVBA本をある出版社さまより出版していただくことになっております。

ExcelVBAでクローラーを開発するための本です。
クローラーは最近の流行りのようでして、巷には多くの優秀なクローラー本があふれております。それら既存の本とは一線を画すため、プログラミング言語として非プログラマーでもふれる機会がもっとも多いと思われるExcelVBAを選択しました。

ExcelVBAを使ってインターネット上からWebデータをかき集めてくるには、ExcelVBAからInternet Explorerを操作するのがもっともかんたんです。このWebデータをかき集めてくることを「クローリング」といい、クローリングするプログラムのことを「クローラー」と言います。
第一部では、まずはExcelVBAを使ってさまざまなHTMLオブジェクト(たとえばテキストボックスやチェックボックスなど)を操作する方法を説明します。
また、インターネット上で取得可能なデータは、HTMLで書かれたテキストファイルだけではありません。CSVファイルやXMLファイル、ExcelブックやWordドキュメント、PDFファイルなど、さまざまです。本書では、これらHTMLファイル以外のファイルをExcelVBAから読み込む方法についても説明します。

第二部では、クローリングによって収集したWebデータを解析する方法を紹介します。クローリングによって収集したWebデータを解析することを「スクレイピング」と言います。
本書では、クローリングによって収集したテキストデータを、「マルコフ連鎖」によって文章要約したり、「ベイズ推定」よってスパムメールかどうかを判別するための方法を説明します。
少々数学的要素が強く、私自身、この執筆のために統計学の入門書を何冊か読みました。40なかばになると、なかなか新しい知識を身につけることは難しいことを再度実感しましたが、とてもよいサンプルプログラムを書くことができました。この苦心作のサンプルプログラムは、すべてある出版社さまのWebサイトからダウンロードできるようになるはずです。

とても良い本が書けたと思います。出版日が決まりましたら、再度お知らせいたします。