前回 MSDN / TechNet フォーラムで良く使われる単語を紹介しましたが「使用」や「表示」だけでは「使用する」のか「使用しない」のか「表示できる」のか「表示できない」のかまではわかりません。もしフォーラムに質問をしたユーザーがどのような問題に困っているのかを理解しようとすると「しない」や「できない」といった否定表現に注目するのが良いかもしれません。
そのためにはMeCabの辞書を充実させれば・・・と考えてしまいますが実際に投稿される質問の表現は無数にあるためあまり現実的ではなく、プログラムである程度なんとする必要があります。
例えば「使用」直後の動詞、助動詞、接続助詞などをみて判断しようとする場合以下のような語句を辞書に登録するかプログラムでなんとかします。
語句
原型
使用されている
(使用-する-れる-て-いる)
使用し
(使用-する)
使用したい
(使用-する-たい)
使用したら
(使用-する-た)
使用していた
(使用-する-て-いる-た)
使用しています
(使用-する-て-いる-ます)
使用している
(使用-する-て-いる)
使用してて
(使用-する-てる-て
使用しない
(使用-する-ない)
使用する
上記のように、おそらく「名詞」+「する」系では直後の動詞も含めて「使用する」でまとめると綺麗にまとまりそうです。それ以降はいらないかと思われるかもしれませんが、日本語は最後に否定(原型だと「ない」「ん」「ぬ」あたり)がくるので最後まで情報として持ちつつ、否定文のフラグを立てれば良いのではないかと思います。
分類
肯定否定
肯定
使用されていない
否定
使用できる
使用できない
※「出来る」と書く場合もあります。
また「する」以外でまとめて取り扱った方が理解しやすいものとしては「やる」「ある」「なる」などが考えられます。
例文
やって
(やる-て)
どうやって
あります
(ある-ます)
(名詞が、は)ありますか
なった
(なる-た)
(形容詞)なった
ここまではできるんですが、長文で逆接などがあると文全体としてどう理解するべきか判断しなければなりませんし、直前のガ格、ヲ格から対象を判断するのも難しそうです。
例)
私のノートPCではXP Modeが使用できるのだが古いPCではXP Modeを使用できない。
その場合は自動でメールをOutlookが送信する。
(「Outlookがメールを送信する」と同義なので語順だけでは判断が難しい)