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 TextData object 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 TextData instance 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 AssertionError is 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 in text_data.section_names.

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.

__init__(text_data, included_analyses='all', excluded_analyses=None, mask_filling_model=None, vit_model=None, image_paths=None)[source]
run()[source]

Execute all requested analyses and return merged results.