読者です 読者をやめる 読者になる 読者になる

それはたぶんあなたの欲しかった名詞ではない

概要

形態素解析してテキストの中から名詞っぽいところだけを抜き出したい.ってのはよくある話だと思うのですが,単純にやるといろいろ混じってます.

( '-`).oO( そもそも抜き出してるのは名詞の形態素であって,名詞句じゃないもんな・・・.

名詞を抜き出す kagome の単純なサンプル

package main

import (
        "fmt"

        "github.com/ikawaha/kagome/tokenizer"
)

func main() {
        t := tokenizer.New()
        tokens := t.Tokenize("寿司が食べたい。")
        for _, token := range tokens {
                if token.Pos() == "名詞" {
                        fmt.Printf("%s\n", token.Surface)
                }
        }
}

output

$ go run main.go
寿司

以上! 簡単ですね

ところがどっこい

これでいろいろ解析してみると分かると思いますが,おもってたのと違う感じの形態素が取れてたりしないでしょうか?

たとえば,こんなのが入ります.

の,1310,1310,5893,名詞,非自立,一般,*,*,*,の,ノ,ノ
美味しそうなのを見つけた
美味し   形容詞,自立,*,*,形容詞・イ段,ガル接続,美味しい,オイシ,オイシ
そう  名詞,接尾,助動詞語幹,*,*,*,そう,ソウ,ソー
な 助動詞,*,*,*,特殊・ダ,体言接続,だ,ナ,ナ
の 名詞,非自立,一般,*,*,*,の,ノ,ノ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
見つけ   動詞,自立,*,*,一段,連用形,見つける,ミツケ,ミツケ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
EOS

とか

行ったのは僕だ
行っ  動詞,自立,*,*,五段・カ行促音便,連用タ接続,行く,イッ,イッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
の 名詞,非自立,一般,*,*,*,の,ノ,ノ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
僕 名詞,代名詞,一般,*,*,*,僕,ボク,ボク
だ 助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
EOS

連体助詞の「の」ってやつですね.なので,単純にやっちゃうといろいろ混じっちゃいます.

名詞にはどんなのがあるの?

名詞にも色々あります.名詞のカラムの後に続いてる品詞情報がそれです.

辞書によって違いますが,IPADic (kagomeのデフォルト辞書) では,名詞はこんな感じに区分されてます.

IPADic の品詞の説明はこちらの仕様書を御覧下さい. http://www.gavo.t.u-tokyo.ac.jp/~mine/japanese/nlp+slp/NAIST-JDIC_manual.pdf

品詞細分類 おおざっぱな説明
七,千,万
一般 キーボード,暖かみ,饅頭
特殊 そう,そ 例に挙げたこの2つだけ
代名詞 彼,あいつ,何,おれ
非自立 かぎり,ため,まんま,以下 連体詞,「の(格助詞)」,活用語の基本形に接続して使われるもの
サ変接続 解析,大破,ピンぼけ 後ろに「する」「できる」「なさる」「くださる」などをつけられるもの
副詞可能 全員,平日,以来,いつか 曜日,月,量,割合などを表す副詞的な用法を持つ名詞
固有名詞 ノーベル,JR四国,電気通信大学,徳島 人名,地名,組織名など
接続詞的 VS,対,兼 例に挙げた3つのみ
引用文字列 いわく 例に挙げた1つのみ
動詞非自立的 ご覧,ちょ,御覧,頂戴,ちょうだい,ごらん 例に挙げた6つのみ
形容動詞語幹 きらびやか,違法,無限 「きらびやか」な,とか「違法」なとか,ナ形容動詞の活用しない部分
ナイ形容詞語幹 味け,だらし,大人気 ナイ形容詞の活用しない部分

まとめ

用途によりますが,詳細品詞まで見ていらないものは省いた方がよさそうですね. あと,UniDic 使うとまた品詞体系がちょっと異なるので注意が必要です.

ほんとは,形態素を適当な単位につなぎ合わせる文節認定の処理を入れて,名詞句を抜き出したいですね.

たとえば,

15:29 $ kagome
形態素解析にかける
形態素   名詞,一般,*,*,*,*,形態素,ケイタイソ,ケイタイソ
解析  名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
かける   動詞,自立,*,*,一段,基本形,かける,カケル,カケル

なら,「形態素解析」を取り出したいです・・・.

とはいえ,大分類で名詞だけ抜き出しておけば,ゴミ混じっていても特に困らない用途が多いのかもですね.

要するに『形態素抜き出したら,データの中身も見てみてね!』というお話でした.