第3回目ですが、自分の理想通りに(ほぼ)動くコードが出来上がりました。ソースコードについては…公開できるようなシロモノではないので自粛させていただきます…。まぁでもとりあえず概要を少し。
TLからTweetを取得してそれを形態素解析する、というのは前回までの記事を参照。それ以降の大まかな動きを、一部のコードを付けて説明。
1. MySQLに接続し、解析された形態素が代入された配列をDBにINSERTしていきます。
<?php for($n=0; $n<count($wakatigaki); $n++) { $w = $wakatigaki[$n]; if($ == "") { $w = "null"; } else { $w = "'{$w}'"; } $sql = "INSERT INTO head (word, arr) VALUES ({$w}, '$n');"; $res = mysql_query($sql, $link); if($res == FALSE) { die("insert:{$n}で失敗しました。"); } }
2. DBからSELECTして取得した形態素を再び配列に代入します。
<?php sql = sprintf("SELECT * FROM head"); $query = mysql_query($sql, $link); while($date = mysql_fetch_assoc($query)) { $words[] = $date['word']; }
3. その配列から、接頭語2つ・接尾語1つの3階層テーブルを作り、マルコフ連鎖させます。