GoogleAppEngineでPythonの文の名詞を引き出すために文字列のタグ付けの一部を実行しようとしています。これまで、nltkライブラリを使用しようとしました。しかし、GAEでnltkを動作させることができません。エラーメッセージは、numpyモジュールがないことについて文句を言います。
この人は同じ問題を抱えています: https ://groups.google.com/forum/?fromgroups#!topic / nltk-users / 2nWZtLgFyvI
nltkをGAEで実行する方法、またはGAEで実行する代替POSタガーを取得する方法についての明確な指示が見つかりません
編集:
nltkを機能させるための私の手順(私はosx 10.7を使用しています):
- ターミナル「easy_installnltk」を介してnltkをインストールします
- nltkをappengineプロジェクトのルートにコピーします/Library/Python/2.7/site-packages/nltk-2.0.1-py2.7.egg/nltk/
次の設定をapp.yamlに追加します。
runtime: python27 threadsafe: false libraries: name: numpy version: "latest"
import nltk
その中にtest.pyを書く- デプロイして実行すると、次のエラーが発生します(numpyエラーは解決されましたが、新しいエラーが発生します):
トレースバック(最後の最後の呼び出し):ファイル "/base/data/home/apps/s~domain/1.359540170137090086/dynamic/test.py"、4行目、importnltkファイル"/ base / data / home / apps / s 〜domain / 1.359540170137090086 / nltk / init .py "、行116、インポートccgファイル" / base / data / home / apps / s〜domain / 1.359540170137090086 / nltk / ccg / init .py "、行14、nltkから.ccg.combinator import(UndirectedBinaryCombinator、DirectedBinaryCombinator、File "/base/data/home/apps/s~domain/1.359540170137090086/nltk/ccg/combinator.py"、line 8 in from nltk.parse import ParserI File "/ base / data / home / apps / s〜domain / 1.359540170137090086 / nltk / parse / init.py "、68行目、nltk.parse.utilからインポートload_parser、TestGrammar、extract_test_sentencesファイル" /base/data/home/apps/s~domain/1.359540170137090086/nltk/parse/util.py "、15行目、 from nltk.data import load File "/base/data/home/apps/s~domain/1.359540170137090086/nltk/data.py"、75行目、if os.path.expanduser('〜/')!='〜 /':パス+ =[ファイル"/base/python27_runtime/python27_dist/lib/python2.7/posixpath.py"、259行目、expanduser import pwd ImportError:pwdという名前のモジュールがありません
以下はnltk/data.pyからのものです(75行目あたり):
######################################################################
# Search Path
######################################################################
path = []
"""A list of directories where the NLTK data package might reside.
These directories will be checked in order when looking for a
resource in the data package. Note that this allows users to
substitute in their own versions of resources, if they have them
(e.g., in their home directory under ~/nltk_data)."""
# User-specified locations:
path += [d for d in os.environ.get('NLTK_DATA', '').split(os.pathsep) if d]
if os.path.expanduser('~/') != '~/': path += [
os.path.expanduser('~/nltk_data')]
# Common locations on Windows:
if sys.platform.startswith('win'): path += [
r'C:\nltk_data', r'D:\nltk_data', r'E:\nltk_data',
os.path.join(sys.prefix, 'nltk_data'),
os.path.join(sys.prefix, 'lib', 'nltk_data'),
os.path.join(os.environ.get('APPDATA', 'C:\\'), 'nltk_data')]
# Common locations on UNIX & OS X:
else: path += [
'/usr/share/nltk_data',
'/usr/local/share/nltk_data',
'/usr/lib/nltk_data',
'/usr/local/lib/nltk_data']