[NLP]夏目漱石の「ぼっちゃん」の本文を非対話で取得しMeCabで処理する

カテゴリ: MeCab

MeCabで自然言語処理のプログラムを書いて見ようとした場合、処理させる対象のテキストデータが必要となります。そこで今回は、サンプルのテキストとして青空文庫から夏目漱石の「ぼっちゃん」をダウンロードし、MeCabで操作してみました。

青空文庫から自動ダウンロードする

以下が,自動ダウンロードするスクリプトです。

# 青空文庫から、夏目漱石の「ぼっちゃん」をダウンロードする
wget https://www.aozora.gr.jp/cards/000148/files/752_ruby_2438.zip
unzip 752_ruby_2438.zip
rm 752_ruby_2438.zip

# sjisからutf-8に文字コードを変換する
cat bocchan.txt | iconv -f SJIS -t UTF8 > bocchan.utf8.txt
rm bocchan.txt

# ルビを削除する
sed --in-place -e 's/《[^》]\+》//g' -e 's/[#[^]]\+]//g' -e 's/|//g' bocchan.utf8.txt

実際に行ってみてところ、分かった注意点は下記の3点でした。

  • 文字コードがSJISで入っているのでutf-8に変換する必要がある
  • 文章中にルビ(ふりがな)が入っているので除去する必要がある
  • ファイルの先頭と末尾に本文以外の付加情報があるので除去する必要がある

最初の2つはスクリプトによる自動化を行いましたが、最後にあげた付加情報については機械的な除去が難しそうだったため、今回は手作業で除去しました。

MeCabで分かち書きしてみる

次に取得したファイルをMeCabで分かち書きしてみます。

cat bocchan.utf8.txt | mecab -Owakati

親譲り の 無鉄砲 で 小 供 の 時 から 損 ばかり し て いる 。 小学校 に 居る 時分 学校 の 
二 階 から 飛び降り て 一 週間 ほど 腰 を 抜かし た 事 が ある 。 なぜ そんな 無闇 を し 
た と 聞く 人 が ある かも 知れ ぬ 。 別段 深い 理由 で も ない 。 新築 の 二 階 から 首
を 出し て い たら 、 同級生 の 一 人 が 冗談 に 、 いくら 威張っ て も 、 そこ から 
飛び降りる 事 は 出来 まい 。 弱虫 や ー い 。 と 囃し た から で ある 。 小使 に 負ぶさっ て 
帰っ て 来 た 時 、 おやじ が 大きな 眼 を し て 二 階 ぐらい から 飛び降り て 腰 を 抜かす 
奴 が ある か と 云っ た から 、 この 次 は 抜かさ ず に 飛ん で 見せ ます と 答え た 。
...

上記のように無事、分かち書きすることができました。
(上記の出力は、表示のために適当なところで改行をいれています)

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。