File size: 1,464 Bytes
fcac8bc
1f4b9ea
 
fcac8bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1f4b9ea
 
fcac8bc
 
1f4b9ea
 
 
fcac8bc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import spacy
import gradio as gr

# Загрузка модели spaCy
nlp = spacy.load("ru_core_news_md")  # или "ru_core_news_md" для русского языка

# Функция для загрузки статей из файла
def load_articles(file_path):
    with open(file_path, "r", encoding="utf-8") as f:
        articles = f.readlines()
    return [article.strip() for article in articles]

# Функция для нахождения самой релевантной статьи
def find_most_relevant_article(query, articles):
    query_doc = nlp(query)
    similarities = [(article, query_doc.similarity(nlp(article))) for article in articles]
    most_relevant_article = max(similarities, key=lambda x: x[1])
    return most_relevant_article[0]

# Загрузка статей из файла
file_path = "dataset.txt"
articles = load_articles(file_path)

# Определение функции для интерфейса Gradio
def get_relevant_article(query):
    return find_most_relevant_article(query, articles)

# Создание интерфейса Gradio
iface = gr.Interface(
    fn=get_relevant_article,
    inputs="text",
    outputs="text",
    title="Поиск релевантных статей из Википедии",
    description="Введите запрос, чтобы найти самую релевантную статью из датасета."
)

# Запуск интерфейса
iface.launch()