2011年11月27日日曜日

ギップルbot開発メモ 1.Yahoo! APIによるクサさ判定機能

ギップルbotのクサさ判定機能の実現のため、Yahoo! APIを久しぶりに利用してみた。

クサイ文章(名言?)とは、以下の条件を満たすものだと勝手に決めた。

条件1.文章中に名詞、助詞・助動詞などがバランスよく出現する

条件2.検索エンジンで対象文章を全文検索しても、ヒット数がそれなりにある


名言は、だいたい「○○は~~である」の形式であると仮定すると、文章中には必ず名詞と、助詞か助動詞が1つずつなければならない。気がする。

というわけで1.について。
まず文章としての体裁を整えていないものは弾くようにしたい。
ここでYahoo! APIの形態素解析を利用した。
まず文章から名詞の合計数(S)、助詞と助動詞の合計数(P)を求める。
そしてS×Pが0の場合、SかPのどちらかが抜けてると判断して、問答無用で0点とする。

また文章の長さ(解析結果から得られる形態素の合計数L)と、Pの数が多ければ多いほど、文章として複雑であると判断し、得点が伸びるようにしたい。

次に2.ついて。
条件1だけでは、得点にばらつきを持たせることが難しく、(精度はともかく)ギップルbotにバラエティに飛んだクサがり方をさせにくい。なので原始的な方法として、文章を全文検索した結果の件数(H)が多いほど、得点が伸びるようにしたい。

以上から、以下の計算式を勝手に決めた。

得点 = √H + √(L × P)

ギップルbotはこの計算式に従ってクサさ判定をすると決めた。

0 件のコメント:

コメントを投稿