「文章中から韻を踏んでいるフレーズの組み合わせを検出するgem」という最高のプログラム。ぜひ実行してみたくて、勢いでRubyなどインストールしました。
好奇心に任せて取り組んだものの、ど素人ゆえにちょこちょことつまづいてしまいました。当記事はそのメモになります。
いろいろな用語に関して詳しく紹介していません(筆者もわかっていません)。
私について
- htmlとcssはいじれるデザイナー
- git使うときだけターミナルさわる
- 環境|OS X El Capitan (10.11.4)
つまずいたところ
インストールするGemのバージョンを指定する必要があった
「Gemのインストール」で「gem install rhymer-x.x.x.gem」をそのまま実行してもエラーになります。
ビルドした時、ターミナル画面に表示される「Version: 0.0.2」などの数値に書き換える必要がありました。
Ruby、Homebrew、Mecab、nattoの用意(インストール)が必要だった
「nattoが利用できる必要があります。」と書いてありましたが、きっと私のPCには入っていないだろうととりあえず「natto」検索。
【簡単】RubyとMecabを使うならnattoがおすすめ! | Brainvalley 人工知能と脳科学のアーカイブサイト。
イントール方法を紹介するページにたどり着くも、今度は「Ruby」と「Mecab」が必要と書いてありました。
「Ruby」をインストールしようと、Googleで検索。
インストールガイドにたどり着くと、今度は「Homebrewが便利!」と書いてあります。
Homebrewのサイトへ行き、指示通りターミナルからインストールしました。
Rubyのインストールガイドに戻り、指示通り「 brew install ruby 」を実行したところ、少し時間がかかりましたがインストールできました。
続いて、「Mecab」のインストール方法を検索。「Homebrew」が必要とのことですが幸いさっきインストールしましたね。
5分でMacにMecabをインストールする方法 | Brainvalley 人工知能と脳科学のアーカイブサイト。
指示通り、ターミナルにて「Mecab本体」「Mecabで利用する辞書」をインストールしました。
nattoの紹介ページに戻り、指示通り「 gem install natto 」を実行。
ところが、「Permission denied」エラーになりました。
「パーミッション」と言われると、ファイルを右クリックして「情報を見る」の中にある「共有とアクセス権」を連想したのですが、これを変更してもエラーは解消されませんでした。
試しに、ターミナルでrootログインして実行してみることに。でもログインの仕方がわからなかったので検索。
指示通り、パスワードを設定してから「 su - 」でログインできました。
で、先ほどのコードを実行したところ、無事インストールできました。
ターミナルにて「exit」を実行するとrootログアウトします。
一通り準備できたものの、コードを実行する方法がわからなかった
「使い方」の欄に丁寧に実行コードが書かれているのですが、そのままターミナルにペーストしても何も起こらない(エラーになる)ので途方にくれました…。結局「Ruby 初心者 コード実行」で検索。
「ruby.rb」など拡張子が「.rb」のテキストファイルを作り、そこにコードをコピペして、「ruby ruby.rb」のようにターミナルで実行するのだ!とわかりました。
やってみた
例えば、この記事の冒頭の文章…
好奇心に任せて取り組んだものの、ど素人ゆえにちょこちょことつまづいてしまいました。当記事はそのメモになります。
いろいろな用語に関して詳しく紹介していません(筆者もわかっていません)。
これで実行した結果がこちら。
これだけかよ!
世界史上の代表的な市民革命で、前近代的な社会体制を変革して近代ブルジョア社会を樹立した革命。
1787年にフランスの王権に対する貴族の反抗に始まった擾乱は、1789年から全社会層を巻き込む本格的な革命となり、政治体制は絶対王政から立憲王政、そして共和制へと移り変わった。さらに1794年のテルミドール反動ののち退潮へ向かい、1799年にナポレオン・ボナパルトによるクーデターと帝政樹立に至る(1799年11月9日のブリュメール18日のクーデター)。一般的には1787年の貴族の反抗から1799年のナポレオンによるクーデターまでが革命期とされている。
経済史においても重要な出来事である。フランスの王政とアンシャン・レジームが崩壊する過程で、封建的諸特権が撤廃されて近代的所有権が確立される一方、アッシニア紙幣をめぐる大混乱にも発展した。
結果がこちら。
無理ありますが一応韻踏んでます。
まとめ
プログラミングっておもしろいし、エンジニアの世界って奥が深いんだなと思いました。
おまけ
MeCabは 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所 共同研究ユニットプロジェクトを通じて開発されたオープンソース形態素解析エンジンです。言語、辞書、コーパスに依存しない汎用的な設計を 基本方針としています。パラメータの推定に Conditional Random Fields (CRF) を用いており、ChaSenが採用している 隠れマルコフモデルに比べ性能が向上しています。また、平均的にChaSen、Juman、KAKASIより高速に動作します。ちなみに和布蕪(めかぶ)は、 作者の好物です。
- MeCab: Yet Another Part-of-Speech and Morphological Analyzer
好物かよ!きっとnatto(納豆)もそんな感じなんだろうな。