Migrate to new libs

This commit is contained in:
Aleksey Filippov 2024-05-04 12:35:12 +04:00
parent dfb4973b86
commit 3820878372
4 changed files with 61 additions and 57 deletions

2
.flake8 Normal file
View File

@ -0,0 +1,2 @@
[flake8]
max-line-length = 120

98
main.py
View File

@ -2,66 +2,68 @@
import sys
from src.speech import Speech
from src.myontology import MyOntology
from src.nlp import NLP
from src.parse_tree.parse_tree import ParseTree
from src.syntax import Syntax
test_data = [
'как получить кредит на обучение',
'Как получить кредит на образование?',
'Можно ли купить товар в рассрочку?',
'какая ставка кредита на ипотеку?',
'Самая низкая ставка по кредиту?',
'Как оформить кредит?',
'Ставка кредита',
'Какая ставка кредита на ипотеку?',
'Как получить деньги с заблокированной карты?',
'Как снять деньги с заблокированной карты',
'Какой баланс карты',
'Какой лимит карты',
'Почему не проходит оплата, хотя деньги есть',
'Сколько денег на карте',
'Сколько денег на счете',
'Как разблокировать карту?',
'Как заблокировать карту?',
'Какие условия по ипотеке?',
'Какие условия кредита на жилье',
'Какой срок кредита на жилье',
'Какой срок ипотеки',
'Я потеряла карту. Что делать?',
'Карта застряла в банкомате. Что делать?',
'У меня украли карту. Что делать?',
'Какой остаток по карте?',
'Хочу купить дом',
'Хочу купить дом . Что делать?',
'Можно ли купить товар в кредит?',
'Какой срок по ипотеке',
'Хочу купить дом в кредит Что делать?',
'Можно ли снизить ставку по кредиту?',
'Можно ли рефинансировать кредит?',
'Можно ли снизить ставку по кредиту другого банка?',
'У меня кредит в другом банке. Можно ли его перевести в ваш банк?',
'Можно провести рефинансирование кредита?',
'Можно ли рефинансировать ипотеку?'
"как получить кредит на обучение",
"Как получить кредит на образование?",
"Можно ли купить товар в рассрочку?",
"какая ставка кредита на ипотеку?",
"Самая низкая ставка по кредиту?",
"Как оформить кредит?",
"Ставка кредита",
"Какая ставка кредита на ипотеку?",
"Как получить деньги с заблокированной карты?",
"Как снять деньги с заблокированной карты",
"Какой баланс карты",
"Какой лимит карты",
"Почему не проходит оплата, хотя деньги есть",
"Сколько денег на карте",
"Сколько денег на счете",
"Как разблокировать карту?",
"Как заблокировать карту?",
"Какие условия по ипотеке?",
"Какие условия кредита на жилье",
"Какой срок кредита на жилье",
"Какой срок ипотеки",
"Я потеряла карту. Что делать?",
"Карта застряла в банкомате. Что делать?",
"У меня украли карту. Что делать?",
"Какой остаток по карте?",
"Хочу купить дом",
"Хочу купить дом . Что делать?",
"Можно ли купить товар в кредит?",
"Какой срок по ипотеке",
"Хочу купить дом в кредит Что делать?",
"Можно ли снизить ставку по кредиту?",
"Можно ли рефинансировать кредит?",
"Можно ли снизить ставку по кредиту другого банка?",
"У меня кредит в другом банке. Можно ли его перевести в ваш банк?",
"Можно провести рефинансирование кредита?",
"Можно ли рефинансировать ипотеку?",
]
def _main(wav_file: str):
# text: str = Speech().run_recognition(wav_file)
text: str = Speech().run_recognition(wav_file)
# text: str = 'Как получить деньги с заблокированной карты?'
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()
# 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()
if __name__ == '__main__':
if __name__ == "__main__":
if len(sys.argv) < 2:
print(f'Usage: {sys.argv[0]} FILE')
print(f"Usage: {sys.argv[0]} FILE")
exit(1)
_main(sys.argv[1])

View File

@ -1,7 +1,7 @@
scipy==1.7.3
requests==2.27.1
anytree==2.8.0
spacy==3.3.0
https://github.com/explosion/spacy-models/releases/download/ru_core_news_sm-3.3.0/ru_core_news_sm-3.3.0.tar.gz
Owlready2==0.36
scipy==1.13.0
requests==2.31.0
anytree==2.12.1
spacy==3.7.4
https://github.com/explosion/spacy-models/releases/download/ru_core_news_sm-3.7.0/ru_core_news_sm-3.7.0.tar.gz
Owlready2==0.46
ordered-set==4.1.0

View File

@ -39,7 +39,7 @@ class NLP:
return nodes
def __get_terms_by_template(self, tree: ParseTree, template: str, reverse: bool = False) -> List[str]:
terms: OrderedSet[str] = OrderedSet()
terms: OrderedSet[str] = OrderedSet([])
nodes: list = []
tmplt = template
if '/' in template:
@ -69,9 +69,9 @@ class NLP:
continue
terms.add(" ".join(upos_terms))
if len(terms) == 0:
print(f'Can\'t find some terms by template NOUN/./NOUN')
print('Can\'t find some terms by template NOUN/./NOUN')
else:
print(f'Success terms extraction by template NOUN/./NOUN')
print('Success terms extraction by template NOUN/./NOUN')
return list(terms)
def __get_adj_noun(self, tree: ParseTree) -> List[str]: