作为一个项目,我必须分析电影评论,以确定它们是积极的还是消极的。
在MySQL中,我有一个用于正面词的表,另一个用于负面词,另一个用于存储一些电影评论。
我只想知道如何使用PHP创建基本内容,这样我就可以查看其中一个电影评论,然后使用正面和负面的单词,看看它们是否出现在评论中,以确定是否审查是积极的或消极的。
这是我到目前为止所做的全部内容,它打印出一条评论:
<?php
// Connects to your Database
mysql_connect("localhost", "root", "");
mysql_select_db("film_reviews");
$result = mysql_query("SELECT * FROM review WHERE id = '1'");
while($row = mysql_fetch_array($result))
{
echo $row['filmreview'];
echo "<br />";
}
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:1)
除了基本上存在缺陷的方法之外,您只需要将评论分成单词然后将它们加入到您的表中。 e.g。
CREATE TABLE review_words (
film_id INTEGER NOT NULL,
review_id INTEGER NOT NULL,
rword VARCHAR(30),
occurrences INTEGER NOT NULL
PRIMARY KEY (rword, review_id) /* order is important */
/* you probably want some more indexes too */
);
然后用id $ revid审核否定词:
SELECT SUM(occurrences)
FROM review_words rw, negative_words nw
WHERE rw.rword=nw.nword
AND rw.review_id=$revid;
对于积极的话语也一样。
稍微好一点的方法是在同一个表格(比如review_dict)中使用加权因子保留正面和负面的字词:
SELECT SUM(rd.weight * rw.occurrences)
FROM review_words rw, review_dict rd
WHERE rw.rword=rd.dword
AND rw.review_id=$revid;
请注意,您可能希望首先对单词进行规范化 - 至少剥离空格并使用一致的大小写,如果不处理名词中的复数和动词的中性时态。
答案 1 :(得分:0)
尝试调试:
while($row = mysql_fetch_array($result))
{
echo '<pre>';
print_r($row);
echo '</pre>';
echo "<br />";
}