def get_ucca_parser(): ucca_dir = RESOURCES_DIR / 'ucca' os.chdir(str(ucca_dir)) model_path = ucca_dir / 'models/ucca-bilstm' vocab_path = ucca_dir / 'vocab' argv = ['script_name', '-m', str(model_path), '--vocab', str(vocab_path)] with unittest.mock.patch('sys.argv', argv): Config.reload() args = Config().args model_files = [ base + '' + ext for base, ext in map(os.path.splitext, args.models or ( args.classifier, )) ] return Parser(model_files=model_files, config=Config(), beam=1)
def get_ucca_passage(sentence): source_path = Path(tempfile.mkdtemp()) / 'source.txt' with source_path.open('w') as f: f.write(sentence + '\n') argv = ['script_name', str(source_path)] with unittest.mock.patch('sys.argv', argv): Config.reload() args = Config().args train_passages, dev_passages, test_passages = [ read_passages(args, arg) for arg in (args.train, args.dev, args.passages) ] ucca_passages = [ ucca_passage for (ucca_passage, ) in PARSER.parse( test_passages, evaluate=[], display=False, write=False) ] assert len(ucca_passages) == 1 return ucca_passages[0]