Разработка алгоритма автоматической классификации комментариев на английском языке в соответствии с их токсичным тоном
Публикация - один из самых популярных форматов общения в социальной сети. Особенности векторного представления слов в двумерном пространстве. Архитектура рекуррентной нейронной сети. Модерация текста - инструмент борьбы с токсичностью в Интернете.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 02.09.2018 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
next_layer = Bidirectional(LSTM(args.lstm_size, return_sequences=True,
recurrent_dropout = args.recurrent_dropout, dropout = args.dropout))(concatenated_embeddings)
next_layer = Bidirectional(GRU(args.gru_size, recurrent_dropout = args.recurrent_dropout, dropout = args.dropout))(next_layer)
output = Dense(6, activation = 'sigmoid')(next_layer)
model = Model(inputs=input, outputs = output)
model.compile(loss='binary_crossentropy',
optimizer='adam', metrics = ['accuracy'])
best = 0
it = 0
while True:
model.fit(
X_train, y_train,
batch_size = args.batch_size,
epochs = 1
)
preds = pd.DataFrame(model.predict(X_valid), columns = classes)
valid_score = np.mean([roc_auc_score(valid_data[class_name], preds[class_name]) for class_name in classes])
print(valid_score)
if valid_score > best:
it = 0
best = valid_score
preds = pd.DataFrame(model.predict(X_test), columns = classes)
submit = pd.concat([test_data, preds], axis = 1)
submit[['id', 'toxic', 'severe_toxic', 'obscene', 'threat', 'insult', 'identity_hate']].to_csv('submission-neural.csv',index = None)
else:
it += 1
if it >= 10:
break
Приложение 5
import pandas as pd
import json
import logging
logging.basicConfig(filename = 'log.log', format='%(asctime)s %(message)s', level=logging.INFO)
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from flask import Flask, request, Response
classes = ['toxic', 'severe_toxic', 'obscene', 'threat', 'insult', 'identity_hate']
print('Loading train data ...')
train_data = pd.read_csv('data/train.csv').fillna(' ')
vectorizer = TfidfVectorizer(
token_pattern=r'\w{1,}',
stop_words = 'english',
sublinear_tf = True,
max_features = 10000)
print('Fitting vectorizer ...')
vectorizer.fit(train_data['comment_text'])
print('Transforming into TF-IDF sequences ...')
X_train = vectorizer.transform(train_data['comment_text'])
models = {}
print('Training ...')
for class_name in classes:
y_train = train_data[class_name]
models[class_name] = LogisticRegression(penalty = 'l2', C = 0.1, solver = 'sag')
models[class_name].fit(X_train, y_train)
app = Flask("toxic")
def predict(text):
vec = vectorizer.transform([text])
results = {}
for class_name in classes:
results[class_name] = models[class_name].predict_proba(vec)[0][1]
return results
@app.route('/')
def index():
return '''
<h1 id="toxicapi">TOXIC API</h1>
<p>API создано в рамках выполнения выпускной квалификационной работы студента <strong>Ляшука Александра</strong>.</p>
<p><em>НИУ ВШЭ-НН <br />
факультет информатики <br />
математики и комьютерных наук <br />
направление - прикладная математика и информатика.</em> </p>
<h2 id="">Использование</h2>
<ul>
<li>Для определения токсичности комментария, выполните запрос: /toxic/?text=TEXT</li>
</ul>
'''
@app.route('/toxic/')
def pos_tagging():
string = request.args.get('text')
response = {}
if string is not None:
results = predict(string)
return Response(json.dumps(results,ensure_ascii=False, indent = 1), mimetype='application/json')
else:
return '''
<ul>
<li>Для определения токсичности комментария, выполните запрос: /toxic/?text=TOXIC COMMENT</li>
</ul>
'''
app.run(host = '0.0.0.0', port = 80)
Размещено на Allbest.ru
Подобные документы
Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.
курсовая работа [1,0 M], добавлен 05.01.2013Исследование нечеткой модели управления. Создание нейронной сети, выполняющей различные функции. Исследование генетического алгоритма поиска экстремума целевой функции. Сравнительный анализ нечеткой логики и нейронной сети на примере печи кипящего слоя.
лабораторная работа [2,3 M], добавлен 25.03.2014Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Программная реализация статической нейронной сети Хемминга, распознающей символы текста. Описание реализации алгоритма. Реализация и обучение сети, входные символы. Локализация и масштабирование изображения, его искажение. Алгоритм распознавания текста.
контрольная работа [102,3 K], добавлен 29.06.2010Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Этап предварительной обработки данных, классификации, принятия решения. Изображения обучающих рукописных символов, тестового символа. Выход нейронной сети для тестового символа. График тренировки нейронной сети. Последовательность точек. Входные вектора.
статья [245,7 K], добавлен 29.09.2008Разработка нейронной сети, ее применение в алгоритме выбора оружия ботом в трехмерном шутере от первого лица, тестирование алгоритма и выявление достоинств и недостатков данного подхода. Обучение с подкреплением. Описание проекта в Unreal Engine 4.
контрольная работа [611,0 K], добавлен 30.11.2016Математические модели, построенные по принципу организации и функционирования биологических нейронных сетей, их программные или аппаратные реализации. Разработка нейронной сети типа "многослойный персептрон" для прогнозирования выбора токарного станка.
курсовая работа [549,7 K], добавлен 03.03.2015Понятие и отличительные особенности сетевого этикета или правил поведения, общения в Сети, традиций и культуры интернет-сообщества, которых придерживается большинство. Категории этикета. Основные правила общения во всемирной сети. Общепринятые сокращения.
презентация [1,5 M], добавлен 08.12.2014Выявление закономерностей и свойств, применимых в искусственной нейронной сети. Построение графиков и диаграмм, определяющих степень удаленности между объектами. Моделирование, тестирование и отладка программной модели, использующей клеточный автомат.
дипломная работа [4,1 M], добавлен 25.02.2015