2022-01-13 20:23:35 +04:00
|
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
|
|
import sys
|
|
|
|
|
|
2024-05-04 12:35:12 +04:00
|
|
|
|
from src.speech import Speech
|
2022-01-25 16:08:20 +04:00
|
|
|
|
from src.myontology import MyOntology
|
2023-06-03 00:19:03 +04:00
|
|
|
|
from src.nlp import NLP
|
|
|
|
|
from src.parse_tree.parse_tree import ParseTree
|
|
|
|
|
from src.syntax import Syntax
|
2023-06-02 17:48:33 +04:00
|
|
|
|
|
2023-06-03 00:19:03 +04:00
|
|
|
|
test_data = [
|
2024-05-04 12:35:12 +04:00
|
|
|
|
"как получить кредит на обучение",
|
|
|
|
|
"Как получить кредит на образование?",
|
|
|
|
|
"Можно ли купить товар в рассрочку?",
|
|
|
|
|
"какая ставка кредита на ипотеку?",
|
|
|
|
|
"Самая низкая ставка по кредиту?",
|
|
|
|
|
"Как оформить кредит?",
|
|
|
|
|
"Ставка кредита",
|
|
|
|
|
"Какая ставка кредита на ипотеку?",
|
|
|
|
|
"Как получить деньги с заблокированной карты?",
|
|
|
|
|
"Как снять деньги с заблокированной карты",
|
|
|
|
|
"Какой баланс карты",
|
|
|
|
|
"Какой лимит карты",
|
|
|
|
|
"Почему не проходит оплата, хотя деньги есть",
|
|
|
|
|
"Сколько денег на карте",
|
|
|
|
|
"Сколько денег на счете",
|
|
|
|
|
"Как разблокировать карту?",
|
|
|
|
|
"Как заблокировать карту?",
|
|
|
|
|
"Какие условия по ипотеке?",
|
|
|
|
|
"Какие условия кредита на жилье",
|
|
|
|
|
"Какой срок кредита на жилье",
|
|
|
|
|
"Какой срок ипотеки",
|
|
|
|
|
"Я потеряла карту. Что делать?",
|
|
|
|
|
"Карта застряла в банкомате. Что делать?",
|
|
|
|
|
"У меня украли карту. Что делать?",
|
|
|
|
|
"Какой остаток по карте?",
|
|
|
|
|
"Хочу купить дом",
|
|
|
|
|
"Хочу купить дом . Что делать?",
|
|
|
|
|
"Можно ли купить товар в кредит?",
|
|
|
|
|
"Какой срок по ипотеке",
|
|
|
|
|
"Хочу купить дом в кредит Что делать?",
|
|
|
|
|
"Можно ли снизить ставку по кредиту?",
|
|
|
|
|
"Можно ли рефинансировать кредит?",
|
|
|
|
|
"Можно ли снизить ставку по кредиту другого банка?",
|
|
|
|
|
"У меня кредит в другом банке. Можно ли его перевести в ваш банк?",
|
|
|
|
|
"Можно провести рефинансирование кредита?",
|
|
|
|
|
"Можно ли рефинансировать ипотеку?",
|
2023-06-02 17:48:33 +04:00
|
|
|
|
]
|
2022-01-13 20:23:35 +04:00
|
|
|
|
|
|
|
|
|
|
2022-01-27 23:15:40 +04:00
|
|
|
|
def _main(wav_file: str):
|
2024-05-04 12:35:12 +04:00
|
|
|
|
text: str = Speech().run_recognition(wav_file)
|
2023-06-02 17:48:33 +04:00
|
|
|
|
# text: str = 'Как получить деньги с заблокированной карты?'
|
2024-05-04 12:35:12 +04:00
|
|
|
|
# for text in test_data:
|
|
|
|
|
print(f"Text: {text}")
|
|
|
|
|
parse_tree: ParseTree = Syntax().get_parse_tree(text)
|
|
|
|
|
print(f"Parse tree:\n{parse_tree}")
|
|
|
|
|
terms = NLP().get_terms(parse_tree)
|
|
|
|
|
print(f'Extracted terms:\n\t{", ".join(terms)}')
|
|
|
|
|
result: str = MyOntology().get_events(terms)
|
|
|
|
|
print(f"Result:\n{result}")
|
|
|
|
|
print()
|
2022-01-13 20:23:35 +04:00
|
|
|
|
|
2024-05-04 12:35:12 +04:00
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2022-01-27 23:15:40 +04:00
|
|
|
|
if len(sys.argv) < 2:
|
2024-05-04 12:35:12 +04:00
|
|
|
|
print(f"Usage: {sys.argv[0]} FILE")
|
2022-01-27 23:15:40 +04:00
|
|
|
|
exit(1)
|
|
|
|
|
_main(sys.argv[1])
|