Rubyチュートリアル 〜英文小説の最頻出ワードを見つけよう!(その1)

ー2020年ー
インターネットにおけるワード枯渇問題が深刻化している
この10年で紙ベースのドキュメントから
ビットドキュメントへの移行が急速に進行し
現在では新刊書籍の90%は書店に置かれることなく
ネット上の大規模ストレージに直接格納されるようになった
人々の「本を読む」という習慣は
ネットインタフェースとしての
モバイルディスプレイに対峙するものに完全に置き換えられた


そこで10年前には誰も想像しえなかった
新たな問題が浮上してきた
それは当初懸念されていた
IPアドレスやストレージの枯渇問題ではなかった


それは
ワードとりわけASCIIワードの枯渇問題であった


米国資源エネルギー庁主任研究員ドレス・コード博士の研究*1
によれば
ネット上の特定英単語(以下ワードという)の出現数が10^{68}
超えると
ネット接続ストレージ上の対象ワードが消失する*2
ということが判明し
現在の指数関数的なワード伸長率を勘案すれば
5年後の2025年に最頻出の10ワードが消失し
7年後の2027年には100ワード
10年後の2030年には1000ワードが消失すると予言されている


主要国政府による連携した対応により本年2月に
スウェーデン国ルンド(Lund)にて
ワード枯渇問題に関する国際条約 ールンド条約ー が制定され
主要20カ国はこれを直ちに批准した
本条約発効に伴い条約加盟各国には
国民による主要ワード30語の使用頻度を
年内に30%以上削減することを課せられたことになる
各国政府は現在この問題の対応に追われている...


-*-*-*-*-*-*-*-*-*-*-


この影響は
世界小説家協会日本支部情報処理課に
新人プログラマとして入社・配属されたあなたにも及んでいる
早々同課課長安藤はこの問題に対応するプロジェクトを発足し
あなたに以下の指令を出した
「本日10時までに英文小説の最頻出ワードトップ30を特定せよ!」
そしてその結果をもって協会加盟の小説家たちに
それらのワードの使用を制限する通達を即時出せという


あなたに与えられた時間は2時間しかない
しかもあなたは初級プログラマである


逡巡する気持ちを抱えながら
席に戻ろうとするあなたの背中越しに
上司は一言付け加えた
「無駄にワードは使うなよ」


そんなこと分かっています
ワードエコのこの時代...


さてどうしようか
自分一人ではできそうにない
誰かの助けが必要だ...


席に戻ると直ちにネットを検索し助けを求めた
検索結果の一覧の中に
Rubyチュートリアル 〜英文小説の最頻出ワードを見つけよう!』
というタイトルのブログ投稿を見つけた
救われたか...
しかしRubyのことはよく知らない
でもまずはこれを読んで見ようか...

Rubyチュートリアル 〜英文小説の最頻出ワードを見つけよう!

忙しい読者の皆様が求めているものは
表題「英文小説の最頻出ワードを見つけよう!」に対する
Rubyのサンプルプログラムであることは熟知しています
しかしそれを速やかに理解するためには
Rubyに関する前提知識が必要です
少し時間をいただいて
最初にRubyの特徴的な事柄について説明させてください


なおRubyは1993年に日本で生まれてから
複数回のヴァージョンアップを繰り返し
現在もなお進化の過程にあります
現行安定ヴァージョンはRuby4.8.10ですが
以下で説明する内容はレガシーヴァージョンでも動作します
またJRuby, PRuby, MRuby, SRuby,
あるいはLittleRuby, MicroRuby, uby, byでも動作するでしょう
ただ, Cuby, roobee, RubybuR, λRuby, ComeOn!Rubyおよび
LavieRubis, Ruby홍, Rubykakā*3では動作しないでしょう
さあ説明を始めましょう


(次回に続く

*1:『共空間における多重情報ー自然言語アスペクト間の競合およびエネルギー零回帰の可能性(ICWSM2019, Seattle, Washington)』

*2:正確にはコード博士は’逸失’という語を使用している。’消失’という語の使用頻度を低減する目的と考えられる

*3:rubyインタプリタマオリ語による実装