PsychiatryNLPKit.analysis.BatchAnalyzer
- class PsychiatryNLPKit.analysis.BatchAnalyzer(text_data, included_analyses='all', excluded_analyses=None, mask_filling_model=None, vit_model=None, image_paths=None)[source]
Run selected analyses on a
TextDataobject in batch.The analyzer is an orchestrator only — it does not construct text data or manage model lifecycles beyond what individual analysis functions require.
- Args:
text_data: Pre-built
TextDatainstance with sections and optional models.- included_analyses:
"all"runs every registered analysis. Pass an explicit list of function names to run a subset.
- excluded_analyses: Function names to remove from included_analyses. Every
name here must already be in the resolved inclusion list; otherwise an
AssertionErroris raised.- mask_filling_model: Required if any pseudo-perplexity function remains after
filtering.
vit_model: Required if
"image_text_similarity"is in analyses.- image_paths: Mapping of section name → image file path. Required if
"image_text_similarity"is in analyses; must cover every section intext_data.section_names.
- included_analyses:
- Raises:
- AssertionError: If a requested analysis requires a model or data argument
that was not provided.
- ValueError: If analyses contains an unknown function name (caught at
run time and recorded in
AnalysisResult.errors).
Example:
# Run all analyses (requires all models to be provided) result = BatchAnalyzer( text_data, mask_filling_model=mask_lm, vit_model=vit, image_paths={"p1": "img1.jpg", "p2": "img2.jpg"}, ).run() # Selective analyses with language-dependent metrics result = BatchAnalyzer( text_data, included_analyses=["sentence_length", "adverb_ratio", "filler_words_count"], ).run()
- __init__(text_data, included_analyses='all', excluded_analyses=None, mask_filling_model=None, vit_model=None, image_paths=None)[source]
Methods
__init__(text_data[, included_analyses, ...])run()Execute all requested analyses and return merged results.