2012-03-26 71 views
1

我是python腳本的新手我想爲單詞或短語創建情感分析,無論文本或短語是正面還是負面。通過使用php發佈短語或文本通過$ _POST [「textarea的」]和獲得python腳本和檢查短語或文字是正還是負的,我想使用Python NLTK例如像這樣(請參見鏈接)使用python和php -python進行情感分析nltk

http://text-processing.com/demo/sentiment/

if(isset($_POST['submit']) && $_POST['submit'] == 'Analyze') { 

$data = $_POST['text']; 
$tmp = exec("/home/Ismath/Desktop/check.py $data"); 
echo $tmp; 

}

// in check.py i想的單詞或短語是正面和負面和中性情況以及我如何在check.py得到textarea的框中崗位價值,如果我使用

import sys 
    print sys.argv[1] 

//如果我使用上面的代碼假設我輸入「這是個好東西「在PHP的textarea框我只有第一個文本」這個「只在我的check.py文件我想打印在textarea框中可用的整個單詞,並通過這個詞我想檢查句子(」這是好事「 )爲通過傷感分析正或負如何

?>

<body > 
    <div id="main"> 
     <form action="sentiment.php" method="post" > 
      <div id="text-div">Enter Text:</div> 
      <textarea rows="12" cols="38" name="text"></textarea> 
     <input type="submit" name="submit" value="Analyze"> 
     </form> 
    </div> 
</body> 

所以請任何人都可以幫我我怎麼才能繼續這與PHP和python 不使用api.i wnat創建新的語料庫,文本在我自己的請告訴我怎樣才能繼續執行這些步驟爲我的PHP頁面像這樣

在此先感謝

+1

爲什麼不使用api? http://text-processing.com/docs/sentiment.html – 2012-03-26 05:22:11

+1

是的,如果你對演示的功能感到滿意,那就使用API​​。如果沒有,分類器的源代碼是[here](https://github.com/japerk/nltk-trainer),你可以改變它的工作原理和你自己使用的語料庫。 – Marius 2012-03-26 05:58:11

回答

0

您可以用單引號

包$數據
$data = htmlentities($data, ENT_QUOTES); 
$tmp = exec("/home/Ismath/Desktop/check.py '$data'"); 

蟒蛇:

import sys 
from HTMLParser import HTMLParser 
print HTMLParser().unescape(sys.argv[1]) 
+0

也我想檢查我的文本是正面或負像這個鏈接http://text-processing.com/demo/sentiment/我怎麼能繼續這個 – user1105395 2012-03-29 10:17:11

+0

謝謝,但我鍵入「NLTK是我的第一個工作在python」在textarea框iget只有第一個文本NLTK不是完整的句子,因爲我使用sys.argv [1] -tat平均打印只有第一我如何打印與「NLTK是我的第一個工作在python」 – user1105395 2012-03-29 11:59:59

2

這是一個想法。

您可以在您的PHP代碼中使用文件處理並將$data的內容寫入文件。 然後,不要通過$data作爲參數,從您的python代碼中讀取文件內容,執行您想要的任何算法並打印結果,以便將其存儲在$tmp中。