pyrit.score.PlagiarismScorer#
- class PlagiarismScorer(reference_text: str, metric: PlagiarismMetric = PlagiarismMetric.LCS, n: int = 5, validator: ScorerPromptValidator | None = None)[source]#
Bases:
FloatScaleScorerA scorer that measures plagiarism by computing word-level similarity between the AI response and a reference text.
This scorer implements three similarity metrics: 1. Word-level longest common subsequence (LCS) 2. Word-level Levenshtein similarity 3. Word-level n-gram Jaccard similarity
- __init__(reference_text: str, metric: PlagiarismMetric = PlagiarismMetric.LCS, n: int = 5, validator: ScorerPromptValidator | None = None) None[source]#
Initialize the PlagiarismScorer.
- Parameters:
reference_text (str) – The reference text to compare against.
metric (PlagiarismMetric) – The plagiarism detection metric to use. Defaults to PlagiarismMetric.LCS.
n (int) – The n-gram size for n-gram similarity. Defaults to 5.
validator (Optional[ScorerPromptValidator]) – Custom validator for the scorer. Defaults to None.
Methods
__init__(reference_text[, metric, n, validator])Initialize the PlagiarismScorer.
get_identifier()Get an identifier dictionary for the scorer.
get_scorer_metrics(dataset_name[, metrics_type])Get evaluation statistics for the scorer using the dataset_name of the human labeled dataset.
scale_value_float(value, min_value, max_value)Scales a value from 0 to 1 based on the given min and max values.
score_async(message, *[, objective, ...])Score the message, add the results to the database, and return a list of Score objects.
score_image_async(image_path, *[, objective])Score the given image using the chat target.
score_image_batch_async(*, image_paths[, ...])Score a batch of images asynchronously.
score_prompts_batch_async(*, messages[, ...])Score multiple prompts in batches using the provided objectives.
score_response_async(*, response[, ...])Score a response using an objective scorer and optional auxiliary scorers.
score_response_multiple_scorers_async(*, ...)Score a response using multiple scorers in parallel.
score_text_async(text, *[, objective])Scores the given text based on the task using the chat target.
validate_return_scores(scores)Validate that the returned scores are within the valid range [0, 1].
Attributes
scorer_type