nltk
Pythonで使用する自然言語処理のプロジェクトを行っています。プロジェクトのブロック構造は次のとおりです。
- インターフェース (php) ->
- [NLP エンジン] (Python で) ->
- API 呼び出し (php) ->
- 結果 (php)
入力は、GET メソッドを介して PHP インターフェイスから Python エンジンに送られることになっています。
バックグラウンド:
url=/linguistics/
Easy-PHP Dev Server ( ) を使用して仮想ホスト ( ) サーバーを作成しましたLocation=D:\Computational_Linguistics
。Test.py
入力すると実行されるように実行できるように有効にしましたlinguistics/Test.py
。
問題:
基本的な CGI が正常に実行され、出力が Chrome に表示されました。しかし、別のモジュールをインポートするとすぐに、次のエラーが返されました。
サーバーエラー!
サーバーで内部エラーが発生し、リクエストを完了できませんでした。
エラー メッセージ: ヘッダーの前のスクリプト出力の終わり: engine.py
これがサーバー エラーであると思われる場合は、ウェブマスターに連絡してください。
エラー 500
言語学 Apache/2.4.4 (Win32) PHP/5.5.0
nltk (またはその他の非標準パッケージ) をインポートしないと、機能します。
解決策を見つけるためにウェブ検索を行いましたが、それを機能させるにはいくつかの環境変数を設定する必要があることがわかりました。 しかし、私は方法を理解することはできません。
私のコード:
#!C:/Python27/python.exe
import nltk
from nltk import *
import re
import cgi, cgitb
inpt=cgi.FieldStorage()
str_in = inpt.getvalue('query')
def is_noun (str):
tags=nltk.pos_tag(nltk.word_tokenize(str))
for i in tags:
if i[1][1]=='N' or i[1][1]=='V': #Finding out the Nouns and the Verbs.
print "<h5>%s is a noun.<h5>" %i[0]
is_noun(str_in)
print "Content-type:text/html\r\n\r\n"
print "<html>"
print "<head>"
print "<title>Hello - Second CGI Program</title>"
print "</head>"
print "<body>"
is_noun(str_in)
print "</body>"
print "</html>"