Twitter BOT開発日記 Part3

第3回目ですが、自分の理想通りに(ほぼ)動くコードが出来上がりました。ソースコードについては…公開できるようなシロモノではないので自粛させていただきます…。まぁでもとりあえず概要を少し。

TLからTweetを取得してそれを形態素解析する、というのは前回までの記事を参照。それ以降の大まかな動きを、一部のコードを付けて説明。

1. MySQLに接続し、解析された形態素が代入された配列をDBにINSERTしていきます。

<?php
for($n=0; $n&lt;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階層テーブルを作り、マルコフ連鎖させます。

という感じ。これで某有名マルコフ連鎖BOTに近いものが完成です。