phpで文章の重複率を取得する その1
phpで文章の重複率を取得する方法
1.AとBの文章があった場合にどれだけ文章が重複しているかを%で出す
2.コンテンツ的な重複なので、完全一致でなく、内容も鑑みる。
3.文章の前後が違うだけで、文節が一緒の場合も重複とみなす。
考えられる対応策
1.日本語文章を文節で分ける
2.A/Bの文章の要素を分けた文節を、array_diff で差分をとる。
3.A/Bの文章の要素が少ないほうを本体とする(とりあえず)
4.count(差分)/ count(本体) * 100 = 重複率の%
と考えてみた。
http://mecab.sourceforge.net/#download
mecab-0.96.tar.gzをいんすこ
% tar zxfv mecab-X.X.tar.gz
% cd mecab-X.X
% ./configure
% make
% make check
% su
# make install
辞書もインスコ
% tar zxfv mecab-ipadic-2.7.0-XXXX.tar.gz
% mecab-ipadic-2.7.0-XXXX
% ./configure
% make
% su
# make install
php_mecab-0.2.0.tgz (alpha)
http://page2.xrea.jp/pub/php_mecab-0.2.0.tgz
$ ./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/local/bin/mecab-config
configure: WARNING: You will need re2c 0.9.11 or later if you want to regenerate PHP parsers.
とでるが問題ないみたいなので無視
$ make
$ su
# make install
ここでLD_PATH?何ちゃらの警告がでる。
そこで、/etc/lo.so.confに追加
/usr/lib64/php/modules/
そのあとに
/sbin/ldconfig
最後に/etc/php.iniの最末尾に
このあと、
/etc/rc.d/init.d/httpd reload
mecab
MeCab Support => enabled
MeCab Library Version => 0.96
Module Version => 0.2.0-alpha
があるのを確認
そして、本題に入ります。
本題は次回で。。。