Help us understand the problem. What is going on with this article?

splunkで正規表現を使って形態素解析ぽい事をする

今回は、Slackやtwitter などの文章データを取り込んだあとに、単語ベースで分析したい場合に、英語だと単語がスペースで区切られているので解析しやすいのですが、日本語の場合品詞分解が非常に複雑で手間がかかるかと思います。
一般的には MeCabなどのツールを使って形態素解析するのがいいかもしれませんが、Splunkではデフォルトではそのようなツールが入っていないので、形態素解析した後に、Splunkに取り込む必要があります。

そこで、今回はMeCabなどのツールほど正確に形態素解析はできませんが、もどきの方法を正規表現を使ってやってみたいと思います。

image.png

正規表現で日本語を識別して取り込むには?

Splunkはデフォルト Unicodeで取り込まれますが、Unicodeスクリプトを使って簡単に漢字やひらがななどにマッチングさせて取り込むことができるようです。
http://module.jp/blog/regex_unicode_prop.html

正規表現 識別ターゲット
\p{Katakana} カタカナ
\p{Hiragana} ひらがな
\p{Han} 漢字
\p{Latin} 英数字

Splunkで正規表現を使って、文章を分解してみよう。

上記の正規表現を使って、単語に分解して、その出現回数をカウントしてみたいと思います。
ただし、漢字同士が続いたりすると同一単語と認識されてしまうので、正確性にはかけますので、その点はご容赦ください。

source=slack* 
| rex field=text max_match=100 "(?<Hira>\p{Hiragana}+)" 
| rex field=text max_match=100 "(?<Kanji>\p{Han}+)" 
| rex field=text max_match=100 "(?<Kata>\p{Katakana}+)" 
| rex field=text max_match=100 "(?<Latin>\p{Latin}+)" 
| eval word = mvappend(Latin,Kanji, Hira, Kata) 
| mvexpand word
| top limit=20 word

image.png

時系列で表示してみたり

image.png

Wordcloud で可視化してみたり
https://splunkbase.splunk.com/app/3212/

image.png

さいごに

今回は、日本語メッセージでも非常にシンプルにできる形態素解析もどきをご紹介しました。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away