financial-assistant

Форк
0
51 строка · 1.7 Кб
1
from ..models import Bank, FinancialProduct
2

3
def get_banks_products():
4
    banks = Bank.objects.all()
5
    financial_products = FinancialProduct.objects.all()
6
    return banks, financial_products
7

8
def determine_bank_product(lemmas):
9
    banks, products = get_banks_products()
10
    
11
    bank_id = None    
12
    product_id = None 
13
    
14
    for bank in banks:
15
      for lemma in lemmas:
16
        if lemma.lower() in bank.nameRus.lower() or lemma.lower() in bank.nameEng.lower():
17
          bank_id = bank.id
18
    
19
    for product in products:
20
      for lemma in lemmas:
21
        if lemma.lower() in product.nameRus.lower() or lemma.lower() in product.nameEng.lower():
22
          product_id = product.id  
23
		
24
    return bank_id, product_id
25

26
def filter_texts_by_NE(query, texts):
27
    lemmas = query.split(' ')
28
    bank_id, product_id = determine_bank_product(lemmas)
29
    
30
    filtered_indices = []
31
    if bank_id is not None and product_id is not None:
32
        for idx, text in enumerate(texts):
33
            text_fields = text.split('||')
34
            if int(bank_id) == int(text_fields[0]) and int(product_id) == int(text_fields[1]):
35
                filtered_indices.append(idx)
36

37
    elif bank_id is not None and product_id is None:
38
        for idx, text in enumerate(texts):
39
            text_fields = text.split('|')
40
            if int(bank_id) == int(text_fields[0]):
41
                filtered_indices.append(idx)
42

43
    elif bank_id is None and product_id is not None:
44
        for idx, text in enumerate(texts):
45
            text_fields = text.split('|')
46
            if int(product_id) == int(text_fields[1]):
47
                filtered_indices.append(idx)
48
    
49
    if not filtered_indices:
50
        return list(range(len(texts)))
51
    else: return filtered_indices
52

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.