2017-02-12 23 views
0

Я пытаюсь использовать NLTK в приложении Django, которое я создаю, и не знаю, как это сделать. У меня есть функции, написанные в .py-файлах, и вы хотите использовать их в своем веб-приложении. Как именно это можно сделать?Использование nltk внутри приложения Django

Благодаря

+0

Импортируйте код для своих функций nltk в свой код django; либо скопируйте и вставьте его, либо просто выполните оператор импорта для них. – benjamin

+0

@benjamin Когда я пытаюсь импортировать nltk в начало my.support, он всегда возвращает ошибку "no module named 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) 

Теперь создайте обучение/тестирование наборов

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)