LoginSignup
1
1

More than 5 years have passed since last update.

HaikuFinderを触ってみた

Last updated at Posted at 2014-08-11

きっかけ

まずタイトルからして訳わからん感じですが,きっかけはProcessingのpython modeを探していた時でした.Python Modeを作っている人自体は沢山いますが,そのうちのProcessingの公式モジュール?一覧で出ていたPython Modeを作成した人のウェブサイトをよく見ていました.すると彼は俳句ファインダーなるものを作っていた,という次第です.というわけで触ってみました.ちなみに俳句と言っても英語で,音節の数を数えているようです.

動かしてみた

インストール

いたって通常通りです.

$ wget http://MrFeinberg.com/haikufinder-1.1.zip

$ unzip haikufinder-1.1.zip

$ cd haikufinder-1.1

$ python setup.py install

あとはREADMEにあるようなスクリプトをつらつらと書けばできる.........はずでしたが,まず音節の並びが5 7 5となるような文書を見つけねばなりません.
いろいろさまよって,なんとかこれをみつけました.シンデレラです(笑)

スクリプト

というわけでこんな感じになります.

haiku_test.py
from haikufinder import HaikuFinder

text = ''' Once there was a gentleman who married, for his
second wife, the proudest and most haughty woman that
was ever seen. She had, by a former husband, two
daughters of her own humor, who were, ..(長いので略)'''

haikus = HaikuFinder(text).find_haikus()
for haiku in haikus:
    print haiku[0]
    print "    %s" % haiku[1]
    print haiku[2]
    print

こんなスクリプトを用意して,先ほどのhaikufinder-1.1/下に置いて実行しましょう.結果はこの様になりました.

$ python haiku_test.py
Nothing was then heard
     but a confused noise of: "Ha!
how handsome she is!

です.
これだけです.とりあえずリズムの良いフレーズが取り出せますよっということですね.

日本語なら

  1. まずはmecab等で分かち書き
  2. 文章中の漢字もmecabで読み推定しておく
  3. 日本語を文節ごとに切る(なんかツールある?)
  4. 5 7 5数える

ですかね.形態素じゃなくて文節で区切れるツールあると思いますが,詳しく調べていません.mecabの形態素解析は文節数最小をヒューリスティックに使ってるみたいなのできっとあると思います.では.

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1