言語処理100本ノック 2015 を Ruby で解きました。
回答は src
ディレクトリに #{問題番号}.rb
の形で置いてあります。
問題文、回答、実行結果は https://fuji-nakahara.github.io/nlp100/ から一覧できます。
はじめに、このリポジトリをクローンします:
$ git clone https://github.com/fuji-nakahara/nlp100.git
次に、依存する以下のソフトウェアをインストールしてください:
- Ruby 2.6.1
- MeCab 0.996 (with IPA dictionary)
- gnuplot 5.2.6
- CaboCha 0.69
- Graphviz 2.40.1
- Stanford CoreNLP 3.9.2
- Redis 5.0.3
- MongoDB 4.0.3
macOS であれば Homebrew を使ってこれらをインストールできます:
$ brew install ruby mecab mecab-ipadic gnuplot cabocha graphviz stanford-corenlp redis mongodb
インストールができれば、スクリプト bin/setup
を実行してください。
このスクリプトは、課題を解くのに必要なデータのダウンロードと前処理、必要な gem のインストールを行います:
$ cd nlp100 && bin/setup
また、「第7章: データベース」の回答を実行する場合は、その前に Redis と MongoDB を起動してください:
$ brew services redis && brew services mongodb
以上で、回答の Ruby プログラムを実行するのに必要な環境が整いました。
回答の Ruby プログラムは bundle exec ruby
コマンドで実行できます:
$ bundle exec ruby src/01.rb
また、以下のコマンドで、すべての回答とその実行時の標準出力を記録したファイル output/index.md
を作成できます:
$ bundle exec rake