def main(): argv = parse_args(__doc__, version='version 2') print(argv) lemmatizer = Lemmatizer() ptb2dep = NegBioPtb2DepConverter(lemmatizer, universal=True) splitter = NegBioSSplitter(newline=argv['--newline_is_sentence_break']) parser = NegBioParser(model_dir=argv['--bllip-model']) argv = get_absolute_path(argv, '--neg-patterns', 'negbio/patterns/neg_patterns.txt') argv = get_absolute_path(argv, '--uncertainty-patterns', 'negbio/patterns/uncertainty_patterns.txt') mm = pymetamap.MetaMap.get_instance(argv['--metamap']) neg_detector = negdetect.Detector(argv['--neg-patterns'], argv['--uncertainty-patterns']) if argv['--cuis'] == 'None': cuis = None else: cuis = read_cuis(argv['--cuis']) if argv['text']: collection = text2bioc.text2collection(argv['SOURCES']) elif argv['bioc']: with open(argv['SOURCE']) as fp: collection = bioc.load(fp) else: raise KeyError pipeline(collection, mm, splitter, parser, ptb2dep, neg_detector, cuis) with open(os.path.expanduser(argv['--output']), 'w') as fp: bioc.dump(collection, fp)
def main(): argv = parse_args(__doc__, version='version 2') print(argv) lemmatizer = Lemmatizer() ptb2dep = NegBioPtb2DepConverter(lemmatizer, universal=True) ssplitter = NegBioSSplitter(newline=argv['--newline_is_sentence_break']) parser = NegBioParser(model_dir=argv['--bllip-model']) argv = get_absolute_path(argv, '--mention_phrases_dir', 'negbio/chexpert/phrases/mention') argv = get_absolute_path(argv, '--unmention_phrases_dir', 'negbio/chexpert/phrases/unmention') argv = get_absolute_path( argv, '--pre-negation-uncertainty-patterns', 'negbio/chexpert/patterns/pre_negation_uncertainty.txt') argv = get_absolute_path( argv, '--post-negation-uncertainty-patterns', 'negbio/chexpert/patterns/post_negation_uncertainty.txt') argv = get_absolute_path(argv, '--neg-patterns', 'negbio/chexpert/patterns/negation.txt') # chexpert loader = NegBioLoader() extractor = NegBioExtractor(Path(argv['--mention_phrases_dir']), Path(argv['--unmention_phrases_dir']), verbose=argv['--verbose']) neg_detector = ModifiedDetector( argv['--pre-negation-uncertainty-patterns'], argv['--neg-patterns'], argv['--post-negation-uncertainty-patterns']) aggregator = NegBioAggregator(CATEGORIES, verbose=argv['--verbose']) if argv['text']: collection = text2bioc.text2collection(argv['SOURCES']) elif argv['bioc']: with open(argv['SOURCE']) as fp: collection = bioc.load(fp) else: raise KeyError pipeline(collection, loader, ssplitter, extractor, parser, ptb2dep, neg_detector, aggregator, verbose=argv['--verbose']) with open(os.path.expanduser(argv['--output']), 'w') as fp: bioc.dump(collection, fp)
negbio_pipeline neg [options] --output=<directory> <file> ... Options: --neg-patterns=<file> Specify negation rules [default: negbio/patterns/neg_patterns.txt] --uncertainty-patterns=<file> Specify uncertainty rules [default: negbio/patterns/uncertainty_patterns.txt] --suffix=<suffix> Append an additional SUFFIX to file names. [default: .neg.xml] --verbose Print more information about progress. --output=<directory> Specify the output directory. """ import os from negbio.cli_utils import parse_args, get_absolute_path from negbio.neg.neg_detector import Detector from negbio.pipeline.negdetect import detect from negbio.pipeline.scan import scan_document if __name__ == '__main__': argv = parse_args(__doc__) argv = get_absolute_path(argv, '--neg-patterns', 'negbio/patterns/neg_patterns.txt') argv = get_absolute_path(argv, '--uncertainty-patterns', 'negbio/patterns/uncertainty_patterns.txt') neg_detector = Detector(os.path.realpath(argv['--neg-patterns']), os.path.realpath(argv['--uncertainty-patterns'])) scan_document(source=argv['<file>'], directory=argv['--output'], suffix=argv['--suffix'], fn=detect, non_sequences=[neg_detector])
from negbio.chexpert.stages.extract import NegBioExtractor from negbio.cli_utils import parse_args, get_absolute_path from negbio.pipeline.scan import scan_collection def run_extractor(collection, extractor): """ Args: collection (BioCCollection): extractor (NegBioExtractor): """ extractor.extract_all(collection) if __name__ == '__main__': argv = parse_args(__doc__) argv = get_absolute_path(argv, '--mention_phrases_dir', 'negbio/chexpert/phrases/mention') argv = get_absolute_path(argv, '--unmention_phrases_dir', 'negbio/chexpert/phrases/unmention') extractor = NegBioExtractor(Path(argv['--mention_phrases_dir']), Path(argv['--unmention_phrases_dir']), verbose=argv['--verbose']) scan_collection(source=argv['<file>'], directory=argv['--output'], suffix=argv['--suffix'], fn=run_extractor, non_sequences=[extractor])
--suffix=<suffix> Append an additional SUFFIX to file names. [default: .neg.xml] --verbose Print more information about progress. --output=<directory> Specify the output directory. """ import os from negbio.chexpert.stages.classify import ModifiedDetector from negbio.cli_utils import parse_args, get_absolute_path from negbio.pipeline.negdetect import detect from negbio.pipeline.scan import scan_document if __name__ == '__main__': argv = parse_args(__doc__) argv = get_absolute_path( argv, '--pre-negation-uncertainty-patterns', 'negbio/chexpert/patterns/pre_negation_uncertainty.txt') argv = get_absolute_path( argv, '--post-negation-uncertainty-patterns', 'negbio/chexpert/patterns/post_negation_uncertainty.txt') argv = get_absolute_path(argv, '--neg-patterns', 'negbio/chexpert/patterns/negation.txt') neg_detector = ModifiedDetector( argv['--pre-negation-uncertainty-patterns'], argv['--neg-patterns'], argv['--post-negation-uncertainty-patterns']) scan_document(source=argv['<file>'], directory=argv['--output'], suffix=argv['--suffix'], fn=detect, non_sequences=[neg_detector])