Yerzhxn commited on
Commit
db42472
·
verified ·
1 Parent(s): d05873a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -30
app.py CHANGED
@@ -6,15 +6,6 @@ from sklearn.metrics.pairwise import cosine_similarity
6
  from sklearn.feature_extraction.text import CountVectorizer
7
  import pandas as pd
8
  import streamlit as st
9
- from translate import Translator # Для перевода текста
10
-
11
- # Загрузка модели FastText для определения языка
12
- @st.cache_resource
13
- def load_language_detection_model():
14
- fasttext.util.download_model('lid.176', if_exists='ignore')
15
- return fasttext.load_model('lid.176.bin')
16
-
17
- lang_model = load_language_detection_model()
18
 
19
  # Загрузка модели FastText для русского языка
20
  @st.cache_resource
@@ -27,19 +18,9 @@ ft_model = load_fasttext_model()
27
  # Функция для очистки текста от знаков препинания и чисел
28
  def clean_text(text):
29
  text = text.lower() # Приведение к нижнему регистру
30
- text = re.sub(r'[^а-яёa-z\s]', ' ', text) # Удаление знаков препинания и чисел
31
  return text
32
 
33
- # Функция для определения языка текста
34
- def detect_language(text, model):
35
- prediction = model.predict(text)[0][0]
36
- return prediction.split("__label__")[-1]
37
-
38
- # Функция для перевода текста
39
- def translate_to_russian(text):
40
- translator = Translator(from_lang="kk", to_lang="ru")
41
- return translator.translate(text)
42
-
43
  # Функция для получения эмбеддинга текста с использованием FastText
44
  def get_fasttext_embedding(text, model):
45
  cleaned_text = clean_text(text)
@@ -62,16 +43,9 @@ st.title("Text Similarity Finder using FastText and Jaccard Similarity")
62
  # Ввод текста для поиска
63
  text1 = st.text_input("Enter the text to compare:", "Оператор пульта управления")
64
 
65
- # Определение языка и перевод на русский
66
- detected_language = detect_language(text1, lang_model)
67
- if detected_language == "kk":
68
- st.write("Detected language: Kazakh. Translating to Russian...")
69
- text1 = translate_to_russian(text1)
70
- st.write(f"Translated text: {text1}")
71
- else:
72
- st.write("Detected language: Russian or other.")
73
 
74
- if 1 > 0:
 
75
  df = pd.read_csv("nkz_1.csv")
76
  if 'NAME_RU' in df.columns:
77
  # Получение векторов текстов с использованием FastText
@@ -81,7 +55,7 @@ if 1 > 0:
81
  text1_vector_fasttext = get_fasttext_embedding(text1, ft_model)
82
 
83
  # Поиск текстов в колонке NAME_RU, сходство которых с text1 больше заданного порога
84
- thresh = 0.59
85
  similar_texts_cosine = []
86
  similar_texts_jaccard = []
87
  for index, row in df.iterrows():
 
6
  from sklearn.feature_extraction.text import CountVectorizer
7
  import pandas as pd
8
  import streamlit as st
 
 
 
 
 
 
 
 
 
9
 
10
  # Загрузка модели FastText для русского языка
11
  @st.cache_resource
 
18
  # Функция для очистки текста от знаков препинания и чисел
19
  def clean_text(text):
20
  text = text.lower() # Приведение к нижнему регистру
21
+ text = re.sub(r'[^а-яёa-z\s]', '', text) # Удаление знаков препинания и чисел
22
  return text
23
 
 
 
 
 
 
 
 
 
 
 
24
  # Функция для получения эмбеддинга текста с использованием FastText
25
  def get_fasttext_embedding(text, model):
26
  cleaned_text = clean_text(text)
 
43
  # Ввод текста для поиска
44
  text1 = st.text_input("Enter the text to compare:", "Оператор пульта управления")
45
 
 
 
 
 
 
 
 
 
46
 
47
+
48
+ if 1>0:
49
  df = pd.read_csv("nkz_1.csv")
50
  if 'NAME_RU' in df.columns:
51
  # Получение векторов текстов с использованием FastText
 
55
  text1_vector_fasttext = get_fasttext_embedding(text1, ft_model)
56
 
57
  # Поиск текстов в колонке NAME_RU, сходство которых с text1 больше заданного порога
58
+ thresh = 0.59
59
  similar_texts_cosine = []
60
  similar_texts_jaccard = []
61
  for index, row in df.iterrows():