Go言語の学習1

Go言語を使って形態素解析

形態素解析ができるモジュールがあるのでそれを使ってみました。

Goで書かれた,kagomeというものです.キータに以下のエントリがあり、試しました。
ライブラリとして使うサンプルがうまく動かなかったなので自分なりにソースコード見て修正してみました。

[qiita] Pure Go で辞書同梱な形態素解析器 kagome を公開してみました
http://qiita.com/ikawaha/items/ff27ac03e22b7f36811b

以下が修正したソースです。

package main

import (
  "fmt"
  "github.com/ikawaha/kagome"
)

func main() {
  tkn := kagome.NewTokenizer()
  morphs := tkn.Tokenize("宇宙兄弟がHuluで見られるようになった!")
  for i, m := range morphs {
    if m.Surface == "EOS" || m.Surface == "BOS" {
      continue
    }
    f := m.Features()
    fmt.Printf("%3d, %v(%v, %v)\t%v\n", i, m.Surface, m.Start, m.End, f)
  }
}

実行結果はこうなります.

  1, 宇宙(0, 2)	[名詞 一般 * * * * 宇宙 ウチュウ ウチュー]
  2, 兄弟(2, 4)	[名詞 一般 * * * * 兄弟 キョウダイ キョーダイ]
  3, が(4, 5)	[助詞 格助詞 一般 * * * が ガ ガ]
  4, Hulu(5, 9)	[名詞 一般 * * * * *]
  5, で(9, 10)	[助詞 格助詞 一般 * * * で デ デ]
  6, 見(10, 11)	[動詞 自立 * * 一段 未然形 見る ミ ミ]
  7, られる(11, 14)	[動詞 接尾 * * 一段 基本形 られる ラレル ラレル]
  8, よう(14, 16)	[名詞 非自立 助動詞語幹 * * * よう ヨウ ヨー]
  9, に(16, 17)	[助詞 格助詞 一般 * * * に ニ ニ]
 10, なっ(17, 19)	[動詞 自立 * * 五段・ラ行 連用タ接続 なる ナッ ナッ]
 11, た(19, 20)	[助動詞 * * * 特殊・タ 基本形 た タ タ]
 12, !(20, 21)	[記号 一般 * * * * ! ! !]

初日はこんなもんかな.

リファレンス

http://qiita.com/ikawaha/items/ff27ac03e22b7f36811b