$db = DatabaseManager::connectDB();
//empty table keyword
DatabaseManager::query("TRUNCATE table keyword");
$stopword_list = loadStopwords("stopword.txt");
$keywords_set = DatabaseManager::query("SELECT id, keywords FROM preprocessed_user");
while ($keywords_row = mysql_fetch_array($keywords_set)) {
    $preprocessed_keywords = preprocess_keywords($keywords_row['keywords']);
    DatabaseManager::query("UPDATE preprocessed_user SET keywords = '" . addslashes(' ' . implode(" ", $preprocessed_keywords) . ' ') . "' WHERE id = {$keywords_row['id']}");
    foreach ($preprocessed_keywords as $preprocessed_keyword) {
        DatabaseManager::query("INSERT INTO keyword(keyword) VALUE('" . addslashes($preprocessed_keyword) . "')");
    }
}
DatabaseManager::query("TRUNCATE table keyword_train");
$keywords_set_train = DatabaseManager::query("SELECT id, keywords FROM preprocessed_user_train");
while ($keywords_row_train = mysql_fetch_array($keywords_set_train)) {
    $preprocessed_keywords_train = preprocess_keywords($keywords_row_train['keywords']);
    DatabaseManager::query("UPDATE preprocessed_user_train SET keywords = '" . addslashes(' ' . implode(" ", $preprocessed_keywords_train) . ' ') . "' WHERE id = {$keywords_row['id']}");
    foreach ($preprocessed_keywords_train as $preprocessed_keyword_train) {
        DatabaseManager::query("INSERT INTO keyword_train(keyword) VALUE('" . addslashes($preprocessed_keyword_train) . "')");
    }
}
DatabaseManager::closeDB($db);
/**
 * split the keywords, remove the stopword, extract word stem from inflected variants
 */
function preprocess_keywords($keywords)
{
    global $stopword_list;
    $keywords = preg_replace("/[,&\\+\\/-]/", ' ', $keywords);
    $keys = preg_split('@ @', $keywords, NULL, PREG_SPLIT_NO_EMPTY);
    $result = array();
 */
include "class.stemmer.inc.php";
$stemmer = new Stemmer();
// $stopword_list = array('for', 'of', 'in', 'it', 'online', 'is', 'on', 'and', 'at', 'with');
$stopword_list = loadStopwords("stopword.txt");
$map_dictionary = array("woman" => "women", "woman's" => "women", "women's" => "women", "man" => "men", "man's" => "men", "men's" => "men", "bags" => "bag");
// connect to mysql
ini_set("max_execution_time", 2400);
$db = mysql_connect("localhost", "recsys-nju", "recsys-nju");
mysql_select_db("bagsok", $db);
// empty table keyword
mysql_query("TRUNCATE table 'keyword';");
$keywords_set = mysql_query("SELECT * FROM keywords_from_userinfo");
assert('$keywords_set != false');
while ($keywords_row = mysql_fetch_array($keywords_set)) {
    $preprocessed_keywords = preprocess_keywords($keywords_row['keywords']);
    $query_sql = "UPDATE keywords_from_userinfo SET keywords = '" . addslashes(' ' . implode(" ", $preprocessed_keywords) . ' ') . "' WHERE id = " . $keywords_row['id'] . ";";
    $query_result = mysql_query($query_sql);
    if (!$query_result) {
        echo $query_sql;
        echo "<br>";
        echo mysql_error();
        echo "<br>";
    }
    foreach ($preprocessed_keywords as $preprocessed_keyword) {
        $query_sql = "INSERT INTO keyword (keyword) VALUES ('" . addslashes($preprocessed_keyword) . "');";
        $query_result = mysql_query($query_sql);
        if (!$query_result) {
            echo $query_sql;
            echo "<br>";
            echo mysql_error();