Вы находитесь на странице: 1из 2

Практических заданий на Python для анализа результатов поиска и сбора обратной связи от

пользователей:
а) Методы анализа результатов поиска:
1. Написать программу, которая принимает на вход эталонные ответы и результаты поиска, а затем
вычисляет точность, полноту и F-меру.
2. Анализ метрик качества поиска:
Напишите скрипт, который сравнивает предложенные результаты поиска с эталонными
ответами для набора запросов.
Рассчитайте точность, полноту и F-меру для каждого запроса.

def calculate_precision(true_positives, false_positives):


return true_positives / (true_positives + false_positives)

def calculate_recall(true_positives, false_negatives):


return true_positives / (true_positives + false_negatives)

def calculate_f_measure(precision, recall):


return 2 * ((precision * recall) / (precision + recall))

# Пример данных
true_positives = 70
false_positives = 20
false_negatives = 10

precision = calculate_precision(true_positives, false_positives)


recall = calculate_recall(true_positives, false_negatives)
f_measure = calculate_f_measure(precision, recall)

print("Precision:", precision)
print("Recall:", recall)
print("F-measure:", f_measure)

3. Ранжирование результатов:
1. Напишите скрипт для анализа порядка представления результатов поиска и
вычисления средней релевантности.
2. Напишите скрипт, который анализирует порядок представления результатов поиска
для различных запросов.
Оцените, насколько релевантные результаты располагаются ближе к вершине страницы.

# Пример анализа порядка результатов


def analyze_ranking(search_results):
relevance_score = [10, 8, 6, 4, 2, 1] # Пример оценок релевантности
total_score = sum(relevance_score[:len(search_results)])
average_score = total_score / len(search_results)
return average_score

# Пример данных
search_results = ["Результат 1", "Результат 2", "Результат 3", "Результат 4", "Результат 5"]
average_relevance_score = analyze_ranking(search_results)
print("Average Relevance Score:", average_relevance_score)

б) Сбор обратной связи от пользователей:


1. Напишите веб-приложение с использованием Flask, чтобы пользователи могли отправлять
свои комментарии о качестве результатов поиска.
2. Оценка релевантности результатов:
Создайте форму, где пользователи могут оценить релевантность каждого результата
поиска.
Соберите данные о рейтингах и проанализируйте их.

# Пример использования библиотеки Flask для создания веб-формы

from flask import Flask, request, render_template

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])


def index():
if request.method == 'POST':
relevance_ratings = request.form.getlist('relevance_rating')
# Обработка данных, например, сохранение в базу данных
return 'Thank you for your feedback!'
return render_template('feedback_form.html')

if __name__ == '__main__':
app.run(debug=True)

3. Комментарии и отзывы:
1. Напишите программу для анализа комментариев пользователей, чтобы определить
общие темы или проблемы.
2. Напишите скрипт для сбора комментариев и отзывов пользователей о качестве
результатов поиска.
Сохраните комментарии в файл или базу данных для дальнейшего анализа.
# Пример сохранения комментариев в текстовый файл
def save_feedback(comment):
with open('user_feedback.txt', 'a') as file:
file.write(comment + '\n')

# Пример сбора обратной связи от пользователя


user_comment = input("Please provide your feedback: ")
save_feedback(user_comment)
print("Thank you for your feedback!")

Вам также может понравиться