Spaces:
Runtime error
Runtime error
makcrx
commited on
Commit
·
64a1cc9
1
Parent(s):
a37ec14
update model
Browse files- app.py +3 -2
- extract_keywords.py +8 -6
app.py
CHANGED
|
@@ -10,11 +10,12 @@ db = FAISS.load_local('faiss_qa_2023-08-20', embeddings)
|
|
| 10 |
|
| 11 |
def main(query):
|
| 12 |
query = query.lower()
|
| 13 |
-
query_keywords =
|
| 14 |
result_docs = db.similarity_search_with_score(query, k=20)
|
|
|
|
| 15 |
|
| 16 |
if len(query_keywords) > 0:
|
| 17 |
-
result_docs = list(filter(lambda doc: len(
|
| 18 |
|
| 19 |
if len(result_docs) == 0:
|
| 20 |
return 'Ответ не найден', 0, ''
|
|
|
|
| 10 |
|
| 11 |
def main(query):
|
| 12 |
query = query.lower()
|
| 13 |
+
query_keywords, query = extract_keywords2(query)
|
| 14 |
result_docs = db.similarity_search_with_score(query, k=20)
|
| 15 |
+
print(query, query_keywords)
|
| 16 |
|
| 17 |
if len(query_keywords) > 0:
|
| 18 |
+
result_docs = list(filter(lambda doc: len(extract_keywords2(doc[0].page_content)[0].intersection(query_keywords)) > 0, result_docs))
|
| 19 |
|
| 20 |
if len(result_docs) == 0:
|
| 21 |
return 'Ответ не найден', 0, ''
|
extract_keywords.py
CHANGED
|
@@ -19,7 +19,7 @@ aliases = [
|
|
| 19 |
('пешкарики', []),
|
| 20 |
('импорт лидов директ', []),
|
| 21 |
('яндекс доставка экспресс', ['яндекс доставка express', 'яд экспресс', 'ядоставка экспресс']),
|
| 22 |
-
('яндекс доставка ndd', ['яд ндд', 'я доставка ндд', 'ядоставка ндд', 'модуль ндд']),
|
| 23 |
('яндекс доставка', ['яд', 'я доставка', 'ядоставка']),
|
| 24 |
('яндекс метрика', ['яндекс метрика импорт']),
|
| 25 |
('альфабанк', ['альфа банк', 'alfabank', 'альфа']),
|
|
@@ -142,8 +142,10 @@ def extract_keywords(text):
|
|
| 142 |
def extract_keywords2(text):
|
| 143 |
vocab = sorted([" ".join(tokenize_sentence(s)) for s in vocab_raw], key=len, reverse=True)
|
| 144 |
text = normalize_sentence(text)
|
| 145 |
-
keywords = []
|
| 146 |
-
for w in vocab:
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
|
|
|
|
|
|
|
|
| 19 |
('пешкарики', []),
|
| 20 |
('импорт лидов директ', []),
|
| 21 |
('яндекс доставка экспресс', ['яндекс доставка express', 'яд экспресс', 'ядоставка экспресс']),
|
| 22 |
+
('яндекс доставка ndd', ['ндд', 'ndd', 'яд ндд', 'я доставка ндд', 'ядоставка ндд', 'модуль ндд']),
|
| 23 |
('яндекс доставка', ['яд', 'я доставка', 'ядоставка']),
|
| 24 |
('яндекс метрика', ['яндекс метрика импорт']),
|
| 25 |
('альфабанк', ['альфа банк', 'alfabank', 'альфа']),
|
|
|
|
| 142 |
def extract_keywords2(text):
|
| 143 |
vocab = sorted([" ".join(tokenize_sentence(s)) for s in vocab_raw], key=len, reverse=True)
|
| 144 |
text = normalize_sentence(text)
|
| 145 |
+
keywords = [w for w in vocab if w in text]
|
| 146 |
+
#for w in vocab:
|
| 147 |
+
# if w in text:
|
| 148 |
+
# keywords.append(w)
|
| 149 |
+
for k in keywords:
|
| 150 |
+
text = text.replace(k, '')
|
| 151 |
+
return set(merge_keywords(canonical_keywords(keywords))), text
|