2022-01-13 20:23:35 +04:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import sys
|
2022-01-25 16:08:20 +04:00
|
|
|
from typing import List
|
2022-01-13 20:23:35 +04:00
|
|
|
|
2022-01-25 16:08:20 +04:00
|
|
|
from src.myontology import MyOntology
|
2022-01-24 17:04:54 +04:00
|
|
|
from src.nlp import NLP
|
2022-01-25 16:08:20 +04:00
|
|
|
from src.parse_tree.parse_tree import ParseTree
|
|
|
|
from src.speech import Speech
|
2022-01-14 17:07:18 +04:00
|
|
|
from syntax import Syntax
|
2022-01-13 20:23:35 +04:00
|
|
|
|
|
|
|
|
|
|
|
def _main():
|
|
|
|
if len(sys.argv) < 2:
|
2022-01-14 16:58:50 +04:00
|
|
|
print(f'Usage: {sys.argv[0]} FILE')
|
2022-01-13 20:23:35 +04:00
|
|
|
exit(1)
|
2022-01-25 16:08:20 +04:00
|
|
|
wav_file: str = sys.argv[1]
|
|
|
|
speech_server: str = 'http://vosk.athene.tech'
|
|
|
|
text: str = Speech().run_recognition(wav_file, speech_server)
|
2022-01-14 16:58:50 +04:00
|
|
|
print(f'Text: {text}')
|
2022-01-25 16:08:20 +04:00
|
|
|
syntax_server: str = 'http://syntaxnet.athene.tech'
|
|
|
|
parse_tree: ParseTree = Syntax().get_parse_tree(text, syntax_server)
|
2022-01-14 17:43:40 +04:00
|
|
|
print(f'Parse tree:\n{parse_tree}')
|
2022-01-25 16:08:20 +04:00
|
|
|
nouns: List[str] = NLP().get_nouns(parse_tree)
|
|
|
|
print(f'Nouns:\n{" ".join([noun for noun in nouns])}')
|
|
|
|
result: str = MyOntology().get_event_description(nouns)
|
|
|
|
print(f'Test: {result}')
|
2022-01-13 20:23:35 +04:00
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
2022-01-14 16:58:50 +04:00
|
|
|
_main()
|