ギップル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 件のコメント:
コメントを投稿