さて日本語を解析するためには文法について考えないといけません。 日本語の文法は形態素解析の仕様にまとまっているので、以下の 2ページを読んでみてください。 特に重要なのは「助詞」です。
wncc-ja では 日本語ウェブコーパス 2010 の形態素 N-gram を利用して、 [名詞] に対する共起関係を抽出しています。具体的に利用している抽出ルールは以下の通りです。
前方共起
2gram
- 形容詞 [名詞]
- 連体詞 [名詞]
- 動詞(自立) [名詞]
3gram
- 形容詞(タ接続) た [名詞]
- 動詞(自立・タ接続) た [名詞]
- 動詞(自立) 動詞(非自立) [名詞]
- サ変接続名詞 動詞する [名詞]
4gram
- 動詞(自立) 動詞(非自立・タ接続) た [名詞]
- サ変接続名詞 動詞する た [名詞]
後方共起
3gram
- [名詞] が(格助詞) 形容詞
- [名詞] は/も/こそ/でも/しか/さえ(係助詞) 形容詞
- [名詞] など/なり/やら/か(副助詞) 名詞
- [名詞] (並列助詞) 名詞
- [名詞] は/も/こそ/でも/しか/さえ(係助詞) 動詞
- [名詞] ばかり/まで/だけ/ほど/くらい(副助詞) 動詞
- [名詞] を/へ/と/から/より/で(格助詞) 動詞
4gram (動詞は 1gram 走る or 2gram 追及|する)
- [名詞] は/も/こそ/でも/しか/さえ(係助詞) サ変接続名詞 動詞する
- [名詞] ばかり/まで/だけ/ほど/くらい(副助詞) サ変接続名詞 動詞する
- [名詞] ばかり/まで/だけ/ほど/くらい(副助詞) 動詞 動詞
- [名詞] を/へ/と/から/より/で(格助詞) サ変接続名詞 動詞する
3-5gram (不採用)
- [名詞] が/に(格助詞) 動詞 助動詞
- 猫|が|走る
- 水|が|飲み|たい
- ダム|が|破壊|さ|れる
- 前|に|向かう
- 風|に|吹か|れる
- 兄|に|追求|さ|れる
正規化
基本語彙のみ処理するときは、せいぜい 4gram を見ればいいのでかなりシンプルと思います。 助動詞は面倒なので辞めました。 とはいえサクッと考えたルールなので、完璧ではないかも知れません。 ちなみに少し迷ったところは 4つあります。(1) まずは動詞や形容詞の非自立です。 「走り続ける猫」の「続ける」はあまり意味がない情報です。 ただ非自立かどうかを判定するには gram 数が結構必要なので面倒です。 もう形容詞/連体詞なら 2gram、動詞なら 2-3gram で良い気がしました。
(2) 助詞に関しては、形態素解析器の結果をそのまま使えるかはきちんと検討してないですが、 不採用にした「が」と「に」は難しそうな気がしたのでハードコーディングにしました。
(3) 「赤かった花」のように日本語では高確率に「た」が出現するのですが、 こういった活用形のルールをどこまで真面目に考えるべきか。 無視しても良かったのですが、すべて「赤い花」に正規化してみました。
他にも未然形を除外したり、体現接続特殊を除外したり、数詞を除害したり、細かな解析ルールはあります。 あと gram 縛りをしていると気になるのは「〜性、〜感、〜事、〜度」のような接尾辞です。 接尾辞は 3gramだと名詞と判定されてしまうけど、4gramだと接尾や非自立になるので多少のノイズが発生します。 そのへんはコードを見ればわかるのであまり深くは書きませんでした。 細かいところはデータベースを作って、文法ルールのノイズや漏れを確認するのを 10回くらいくり返して、ルールを決めました。
ルール設定は可能な限り努力してみましたが、もっと良い実装があれば今後も改善はしてみたいと思ってます。
0 件のコメント:
コメントを投稿