2017-02-12 13 views
0

私が作成しているDjangoアプリケーションでNLTKを使用しようとしていますが、これを実現する方法がわかりません。私は.pyファイルで書かれた関数を持っていて、私のWebアプリケーションの中でそれらを使いたいと思っています。どのようにこれを正確に行うことができますか?Djangoアプリケーション内でnltkを使用する

おかげ

+0

nltk関数のコードをdjangoコードにインポートします。コピーして貼り付けるか、単にインポートステートメントを実行してください。 – benjamin

+0

@ベンジャミン私がviews.pyの上部にあるnltkをインポートしようとすると、常に "no module nltk"というエラーが返されます。 – jblew

+0

@jblew、どうやってNLTKをインストールしましたか? – Chris

答えて

0

はそうあなたが女性または男性のように、ユーザーの名前を分類したいと言う、あなたはview.pyに

from django.shortcuts import render 
import nltk 
from nltk.corpus import names 
import random 

を次の操作を行うことができ、その後、我々はポストの要求を取ることができ、それが含まれています名前、あなたがフォーム

def index(request): 
message = '' 
if request.method == 'POST': 
    input_name = request.POST.get("name", "") 

    if input_name != '': 

その後、すべての男女のためのラベルを準備し、それらに

をシャッフルでそれを行う正確な方法
labeled_names = ([(name, 'male') for name in names.words('male.txt')] + [(name, 'female') for name in names.words('female.txt')]) 
random.shuffle(labeled_names) 

は今訓練/テストは、私たちは分類器にinput_nameを渡す必要がある予測を行うとメッセージ

を返すために、その後

train_set = feature_set[:3000] 
test_set = feature_set[3000:] 

NaivesBayes分類器

classifier = nltk.NaiveBayesClassifier.train(train_set) 

を設定し、作成します

message = input_name + " is probably " + classifier.classify(gender_features(input_name)) 

最終的にコンテキストとメッセージをtに返します。彼のテンプレート

context = {'message': message} 
return render(request, 'Myapp/template.html', context) 
関連する問題