joppotjoppotコピペで絶対動く。2018年11月26日Tweet概要みなさんこんにちはcandleです。今回は「分かち書き」をしてみましょう。分かち書きというのは文章を品詞毎に分ける事です。品詞とは名詞や動詞などのことです。「私はcandleという名前の技術者である。」というのを品詞毎にわけると、下の図の様になります。名詞とか助詞とかに分かれているでしょ。これをスペース区切りにしたのか分かち書きです。条件mecabコマンドがインストールされている。文章をダウンロードするサンプル用の文章をダウンロードします。http://www.aozora.gr.jp/cards/000148/card789.htmlURLに飛び、ページの一番下のzipファイルをダウンロードしましょう。ダウンロードされたら、ダブルクリックで解凍しましょう。文字エンコーディングを変更するこのファイルはShift-JISの文字エンコーディングです。mecabは初期設定でeucの文字エンコーディングを使用しています。最近はUTF-8が多く使われているので、このファイルもUTF-8に変換しましょう。変換はnkfコマンドを使用しましょう。-wオプションでutf-8に変換してくれます。nekodearu.txt別名のファイルに出力しました。原文を編集する正規表現ができるエディタを使用しましょう。いうのも、原文にはルビが入っていて、それを一括で削除するには正規表現をする必要があるからです。私はCotEditorを使用します。フリーですし、便利なので、軽いエディタを持っていない人はこれを試してください。文章の一番上の説明文を削除しましょう。次に、文章の一番下に移動して、書籍のデータを削除しましょう。次に正規表現を使用して、ルビを消します。検索ボックスを表示します。「正規表現」のチェックボックスにチェックを入れてください。この文章のルビは全部《》の中に書かれているので、それに対して正規表現を行いましょう。《.+?》と入力しましょう。置換の場所には何も書かなくてかまいません。したら、「一括置換」を押して全て置換し、ルビを消しましょう。保存して原文の編集は終わりです。mecabで分かち書きするここまでくれば簡単です。先ほどの編集したファイルに対して次のコマンドを打ちましょう。wakati.txtところが、overflowが沢山出ます。出ない人は成功だと思います。これぐらい長いファイルだとほとんどの人がこの問題に突き当たるでしょう。試しにできたwakati.txtのファイルを開きます。splitうんたらをしましょう。実際問題これは詳しい事はわからないし、あくまで私の予想なのですが、mecabの処理できる容量よりも大きいデータがきたから分けて処理しろということじゃないでしょうか?となれば、ひとまず原文ファイルの大きさを調べましょう。wcコマンドで大きさを調べます。nekodearu.txt私の場合は「978121」バイトと出ました。これをmecabの-bオプションの後につければ、問題なく動くと思います。wakati.txt今度はとくに警告も無く、処理が完了しました。ファイルを開いてみましょう。今度は奇麗に分かち書きできました。ファイルのサイズが文字だけで、1.2Mバイトになっていますね。まとめこれだけだと、何がしたいんだかわからないと思います。1つの可能性として、よく行われるのが、名詞だけを取り出して、データベースにおさめるというのもです。このデータも、今後何かに使えると思います。スポンサードリンク「為になったなぁ」と思ったら、シェアお願いします。コメントをキャンセルメールアドレスが公開されることはありません。studio3の使い方です。次の順序立てで説明していきたいと思います。みなさんこんにちはcandleです。今回は私がよく使っているソフトウェアの紹介をします。「文章、ブログ、プログラミング、デザイン」に関わっている人に向けてになります。みなさんこんにちはcandleです。Macのfinderはパスが表示されません。ショートカットから移動すると、一つ上の階層に移動することもままなりません。みなさんこんにちはcandleです。3の導入をやってみましょう。みなさんこんにちはcandleです。earlyを購入しました。Sansフォントウェイトのcss書き方まとめプロフィールベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。環境設定スポンサードリンクjoppotコピペで絶対動く。