薬を飲んでもやる気がでない。薬って効いているのか疑問です。el(える)です。
今回はLinuxの面白いツールを見つけたので紹介したいと思います。
その名は「mecab」といいます。
面白いツールですので、インストールして遊んでみるのもいい勉強になるかもしれません。
インストール
このツールは「形態素解析エンジン」というものらしく、
テキストを読み込ませることで文法を解析してくれます。
ただ、すべてを完璧に解析はできなかったです。
(辞書登録とかが必要そうです。)
インストール方法
下記のコマンドでインストールしていきます。
$ sudo apt install mecab libmecab-dev mecab-ipadic-utf8
mecabコマンド
まずはファイルに書かれている中身です。
とりあえず、一行目は文章にして、後は名前を羅列してみました。
このファイルから人名を取得し、何回記載されているか確認してみましょう。
先ほどのファイルをmecabを使い解析しました。
先頭の文章は解析出来ていますね。
人名もちゃんと解析出来ています。
とりあえず、grepを使い、人名かつ固有名詞のみの行を取得します。
awk、sort、uniqコマンドを使い、
カタカナで記載されている最後から2番目の人名を取得します。
(最後から2番目が一番苗字らしい記載だったので2番目にしています。)
ちなみに、awk -F, ‘{print $(NF-1)}’の$(NF-1)はフィールドの最後から1つ目を指しています。
人名をソートして重複を削除したけど、
何回同じ名前が出てきたかを知りたい場合はuniqにオプション-cをつけます。
リュウザキさんは4回出てきてましたね。
これで、人名が何回記載されているか確認ができました。
しかし、このツールも完璧ではありません。
夜神さんを試したところ、人名と認識してくれませんでした。
なんか他にやることがあるのかなぁ??
(辞書登録とかありそうですねぇ・・・)
注意点
Linuxをお使いの方ならご存知だとは思いますが、
uniqを使用する場合は直前にsortを使いましょう。
uniqは連続している行の比較を行います。
そのため、連続していない行に重複があった場合は残ってしまいます。
気をつけましょう。
まとめ
- mecabは完璧ではない。
- uniqの直前にはsortを行う。
終わりに
こんなツールがあるなんて知りませんでした。
「形態素解析エンジン」なんて難しそうな名前がついていますが、
いろいろ試して面白かったのでついつい時間を忘れて遊んでしまいました。
こういった面白いツールやコマンドがあればもっともっとLinuxが好きになれそうです。
みなさまも、こんなツールがあるよとか、
面白いコマンド知っているよという方がいましたら、
ぜひ教えてください。僕も楽しく勉強させていただきます。
ちなみに今回のツールは下記の本にも載っていました。
ちゃんと読んでない事がバレバレですね。。。
読めばとても勉強になります。
ただしLinux超初心者には難しいかもしれません。
ですが、手元に置いておくだけでも、
もし困った際に見て調べて考えることができます。
Linuxを使う方にはおすすめできる本です。
おすすめのおやつ(チップスター)です。
それではまた次回。