さくらのphp-mecabをインストールする際に嵌ってしまった

mecabはphp7.0とphp5.*では、クラスの書き方が異なります。
例:MeCab_Tagger
例:\MeCab\Tagger

その為、git-cloneもしくはwgetでファイルを取得して展開した後に、以下のようにコンパイルするかと思いますが、./configureで、phpのバージョンを指定する必要があります。

phpize
./configure
make
make install

configureでphp-configとmecab-configを指定しますが、さくらの場合、php-configをphpのバージョンごとにディレクトリを分けて管理されている為、利用しているバージョンのディレクトリを指定して、configureしなければなりません。

./configure --with-php-config=/usr/local/php/5.6/bin/php-config --with-mecab=/usr/local/bin/mecab-config

上記は5.6ですが、phpinfoで確認できます。

これを解決するのに、5時間ぐらい調べて何度も試していました。馬鹿ですね。

アナリストレポートの頻出単語を形態素分析で比較

フィーチャーベンチャーキャピタルの2/9と2/6のレポートで、2回以上書かれている単語を見てみます。
http://www.jpx.co.jp/listing/ir-clips/analyst-report/detail/tvdivq0000023hz1-att/ana_re_8462_20180209_1.pdf
http://www.jpx.co.jp/listing/ir-clips/analyst-report/detail/tvdivq0000023hz1-att/ana_up_8462_20180206_2.pdf

<?php

$text = "レポート内容(略)";
$appearances = 2;

$meishiPosIdArr = array(38, 41, 42, 43, 44, 45, 46, 47);

$meishiArr = &#91;&#93;;

$mecab = new MeCab_Tagger();
$nodes = $mecab->parseToNode($text);


foreach($nodes as $node){
	if($node->getStat() === MECAB_BOS_NODE || $node->getStat() === MECAB_EOS_NODE){
		continue;
	}
	if (in_array($node->getPosId(), $meishiPosIdArr)){
		$meishiArr[] = $node->getSurface();
	}
}

$retArr = array_count_values($meishiArr);
$retArr = array_filter($retArr, function($v) use($appearances){
	return ($v >= $appearances);
});

arsort($retArr, SORT_NUMERIC);
print_r($retArr);

2/9のレポート
Array ( [月] => 10 [Q] => 10 [利益] => 8 [赤字] => 7 [業績] => 5 [経常] => 3 [パラグラフ] => 2 [持分] => 2 [会社] => 2 [株式] => 2 [ファンドレイズ] => 2 [ZMP] => 2 [特] => 2 [子会社] => 2 [利] => 2 [売上] => 2 [幅] => 2 [最終] => 2 [段階] => 2 [ファンド] => 2 [ANEW] => 2 )

2/6のレポート
Array ( [IPO] => 5 [ZMP] => 3 [会社] => 3 [利益] => 3 [株式] => 2 [A] => 2 [ファンド] => 2 [収益] => 2 [M] => 2 [キャピタルゲイン] => 2 [期間] => 2 [黒字] => 2 [株] => 2 [月] => 2 [負] => 2 [経費] => 2 [Q] => 2 [事業] => 2 [状況] => 2 )

頻出単語から推察するに、2/6はIPOが話題に上がっているようですが、2/9は業績に関するレポートに変わっているようですね。