#!/usr/bin/env python3 import sys import json from natasha import NamesExtractor, MorphVocab, Doc morph_vocab = MorphVocab() def extract_entities(text): doc = Doc(text) names_extractor = NamesExtractor(morph_vocab) matches = list(names_extractor(text)) if len(matches) >= 1: истец = matches[0].fact.first if matches[0].fact.first else 'Не определено' else: истец = 'Не определено' if len(matches) >= 2: ответчик = matches[1].fact.first if matches[1].fact.first else 'Не определено' else: ответчик = 'Не определено' суть_спора = text[:100] if text else 'Не определено' return { "истец": истец, "ответчик": ответчик, "суть_спора": суть_спора } if __name__ == '__main__': if len(sys.argv) < 2: print(json.dumps({ "истец": "Не определено", "ответчик": "Не определено", "суть_спора": "Не определено" }, ensure_ascii=False)) sys.exit(0) input_text = " ".join(sys.argv[1:]) entities = extract_entities(input_text) print(json.dumps(entities, ensure_ascii=False))