> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # 콘텐츠 유사성 점수 측정기 그만큼`createContentSimilarityScorer()`함수는 두 문자열 사이의 텍스트 유사성을 측정하여 얼마나 일치하는지 나타내는 점수를 제공합니다. 대소문자 구분 및 공백 처리를 위한 구성 가능한 옵션을 지원합니다. ## 매개변수 `createContentSimilarityScorer()` 함수는 다음 속성을 가진 단일 옵션 객체를 받습니다. **ignoreCase** (`boolean`): 문자열을 비교할 때 대소문자 차이를 무시할지 여부입니다. (Default: `true`) **ignoreWhitespace** (`boolean`): 문자열을 비교할 때 공백을 정규화할지 여부입니다. (Default: `true`) 이 함수는 MastraScorer 클래스의 인스턴스를 반환합니다. `.run()` 메서드와 해당 입력/출력에 관한 자세한 내용은 [MastraScorer 레퍼런스](https://mastra.zisheng.pro/ko/reference/evals/mastra-scorer)를 참조하세요. ## `.run()`보고 **runId** (`string`): 실행 ID입니다(선택 사항). **preprocessStepResult** (`object`): 처리된 입력과 출력을 포함하는 객체입니다: { processedInput: string, processedOutput: string } **analyzeStepResult** (`object`): 유사성을 포함하는 객체입니다: { similarity: number } **score** (`number`): 유사성 점수입니다(0\~1). 1은 완벽한 유사성을 나타냅니다. ## 채점 세부정보 채점자는 문자 수준 일치 및 구성 가능한 텍스트 정규화를 통해 텍스트 유사성을 평가합니다. ### 채점 과정 1. 텍스트를 표준화합니다. - 사례 정규화(ignoreCase: true인 경우) - 공백 정규화(ignoreWhitespace: true인 경우) 2. 문자열 유사성 알고리즘을 사용하여 처리된 문자열을 비교합니다. - 문자 시퀀스 분석 - 단어 경계를 정렬합니다. - 상대적인 위치를 고려합니다. - 길이 차이를 설명합니다. 최종 점수:`similarity_value * scale` ## 예 예상되는 Agent 출력과 실제 Agent 출력 간의 텍스트 유사성을 평가합니다. ```typescript import { runEvals } from '@mastra/core/evals' import { createContentSimilarityScorer } from '@mastra/evals/scorers/prebuilt' import { myAgent } from './agent' const scorer = createContentSimilarityScorer() const result = await runEvals({ data: [ { input: 'Summarize the benefits of TypeScript', groundTruth: 'TypeScript provides static typing, better tooling support, and improved code maintainability.', }, { input: 'What is machine learning?', groundTruth: 'Machine learning is a subset of AI that enables systems to learn from data without explicit programming.', }, ], scorers: [scorer], target: myAgent, onItemComplete: ({ scorerResults }) => { console.log({ score: scorerResults[scorer.id].score, groundTruth: scorerResults[scorer.id].groundTruth, }) }, }) console.log(result.scores) ``` `runEvals`에 관한 자세한 내용은 [runEvals 레퍼런스](https://mastra.zisheng.pro/ko/reference/evals/run-evals)를 참조하세요. 이 득점자를 Agent에 추가하려면 다음을 참조하세요.[Scorers overview](https://mastra.zisheng.pro/ko/docs/evals/overview) guide. ### 점수 해석 0과 1 사이의 유사성 점수: - **1.0**: 완벽하게 일치하며 내용이 거의 동일합니다. - **0.7\~0.9**: 유사성은 높지만 단어 선택이나 구조에서는 약간의 차이가 있습니다. - **0.4\~0.6**: 중간 정도의 유사성, 눈에 띄는 변화가 있는 일반적인 중복. - **0.1\~0.3**: 유사성이 낮고 공통 요소가 적거나 의미가 공유됩니다. - **0.0**: 유사성은 없으며 내용은 전혀 다릅니다. ## 관련된 - [완전성 득점자](https://mastra.zisheng.pro/ko/reference/evals/completeness) - [텍스트 차이 득점자](https://mastra.zisheng.pro/ko/reference/evals/textual-difference) - [답변 관련성 득점자](https://mastra.zisheng.pro/ko/reference/evals/answer-relevancy) - [키워드 적용 범위 득점자](https://mastra.zisheng.pro/ko/reference/evals/keyword-coverage)