ROUGE 점수
| 항목 | 값 |
|---|---|
| 화면 이름 | ROUGE score |
| 식별자 | rougeScoreV1 |
| 지원 실행 방식 | Batch |
| 범주 | 유사도와 거리 (Distance measurement), 문자열 (String) |
| 반환 자료형 | Struct<precision:Double, recall:Double, fmeasure:Double> |
예측 텍스트와 정답 텍스트의 ROUGE 정밀도, 재현율과 F-measure를 계산합니다. 텍스트를 소문자로 바꾸고 ASCII 영문자와 숫자만 비교하며 나머지 문자는 단어 구분자로 취급합니다. 입력이 null이거나 평가할 수 없으면 null을 반환하며 평가기의 크기 제한 초과도 이에 해당합니다. 비교할 토큰이 없으면 입력이 같아도 점수는 0입니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Prediction | 필수 | Expression<String> | 평가할 생성 텍스트입니다. |
ROUGE type | 필수 | Enum<ROUGE-1, ROUGE-2, ROUGE-3, ROUGE-L, ROUGE-Lsum, ROUGE-Lsum (detected sentences)> | 텍스트 비교에 사용할 ROUGE 변형입니다. |
Target | 필수 | Expression<String> | 비교 기준 텍스트입니다. |
Use stemmer | 선택 | Literal<Boolean> | 비교 전에 단어의 어간을 추출할지 지정합니다. |
입출력 예시
예시 1: 기본 동작
소문자로 바꾼 ASCII 영문자와 숫자만 비교하고 나머지 문자는 단어 구분자입니다. 비교 토큰이 없으면 두 입력이 같아도 점수는 0입니다.
인자 값:
Prediction:predictionROUGE type:rouge1Target:targetUse stemmer: null
| prediction | target | 출력 |
|---|---|---|
| 你好 | 你好 | { fmeasure: 0.0, precision: 0.0, recall: 0.0, } |
| cat你好dog | cat dog | { fmeasure: 1.0, precision: 1.0, recall: 1.0, } |
| CAT 42 | cat 42 | { fmeasure: 1.0, precision: 1.0, recall: 1.0, } |
| empty string | empty string | { fmeasure: 0.0, precision: 0.0, recall: 0.0, } |
예시 2: 기본 동작
ROUGE-2는 연속된 두 단어 묶음의 중복을 측정합니다.
인자 값:
Prediction:predictionROUGE type:rouge2Target:targetUse stemmer: null
| prediction | target | 출력 |
|---|---|---|
| the cat sat | the cat slept | { fmeasure: 0.5, precision: 0.5, recall: 0.5, } |
예시 3: 기본 동작
인자 값:
Prediction:predictionROUGE type:rouge1Target:targetUse stemmer: null
| prediction | target | 출력 |
|---|---|---|
| the cat sat | the cat sat | { fmeasure: 1.0, precision: 1.0, recall: 1.0, } |
예시 4: 기본 동작
ROUGE-L은 같은 순서로 나타나는 가장 긴 단어 수열을 측정합니다.
인자 값:
Prediction:predictionROUGE type:rouge_lTarget:targetUse stemmer: null
| prediction | target | 출력 |
|---|---|---|
| cat sat | sat cat | { fmeasure: 0.5, precision: 0.5, recall: 0.5, } |
예시 5: 기본 동작
ROUGE-Lsum은 줄바꿈으로 문장을 나눕니다. 구두점만으로는 문장을 나누지 않습니다.
인자 값:
Prediction:predictionROUGE type:rouge_lsumTarget:targetUse stemmer: null
| prediction | target | 출력 |
|---|---|---|
| cat sat. dog ran. | dog ran. cat sat. | { fmeasure: 1.0, precision: 1.0, recall: 1.0, } |
| cat sat. dog ran. | dog ran. cat sat. | { fmeasure: 0.5, precision: 0.5, recall: 0.5, } |
예시 6: 기본 동작
ROUGE-1은 개별 단어의 중복을 측정합니다.
인자 값:
Prediction:predictionROUGE type:rouge1Target:targetUse stemmer: null
| prediction | target | 출력 |
|---|---|---|
| the cat sat | the cat slept | { fmeasure: 0.6666666666666666, precision: 0.6666666666666666, recall: 0.6666666666666666, } |
예시 7: 기본 동작
어간 추출을 사용하면 관련된 단어 형태를 일치시킬 수 있습니다.
인자 값:
Prediction:predictionROUGE type:rouge1Target:targetUse stemmer: true
| prediction | target | 출력 |
|---|---|---|
| cars | car | { fmeasure: 1.0, precision: 1.0, recall: 1.0, } |
예시 8: 기본 동작
ROUGE-Lsum sentences는 문장 경계를 자동 감지하고 문장 순서 변경에 불이익을 주지 않으며 문장 수준의 일치를 비교합니다.
인자 값:
Prediction:predictionROUGE type:rouge_lsum_sentencesTarget:targetUse stemmer: null
| prediction | target | 출력 |
|---|---|---|
| The dog ran. The cat sat. | The cat sat. The dog ran. | { fmeasure: 1.0, precision: 1.0, recall: 1.0, } |
| Cat sat. Dog ran. | Dog ran. Cat sat. | { fmeasure: 1.0, precision: 1.0, recall: 1.0, } |
예시 9: 기본 동작
ROUGE-3는 연속된 세 단어 묶음의 중복을 측정합니다.
인자 값:
Prediction:predictionROUGE type:rouge3Target:targetUse stemmer: null
| prediction | target | 출력 |
|---|---|---|
| the cat sat down | the cat sat still | { fmeasure: 0.5, precision: 0.5, recall: 0.5, } |
| the cat | the cat | { fmeasure: 0.0, precision: 0.0, recall: 0.0, } |
예시 10: null 처리
어느 입력이든 null이면 ROUGE 점수 출력 전체가 null입니다.
인자 값:
Prediction:predictionROUGE type:rouge1Target:targetUse stemmer: null
| prediction | target | 출력 |
|---|---|---|
| null | target | null |
| prediction | null | null |
| null | null | null |