Skip to main content

문단나누기

문단나누기는 STT API에서 전사된 텍스트를 복수개 문단을 나눠 가독성을 높여주는 기능입니다. 본 문서는 문단나누기 기능을 이용하기 위한 설정 가이드를 제공합니다.

문단나누기 기능을 사용하기 위해서는, API 요청 시에 min, max 값을 포함하는 paragraph 옵션을 포함해야 합니다.
(기본값: paragraph_splitter 옵션 포함하지 않음(Off))

문단나누기는 발화 속도와 내용을 기반으로, 이용자가 요청한 글자 수 옵션값 범위(min 이상 max 이하) 내 적절한 지점에서 텍스트를 나눕니다.

  • min(int, >=1): 한 문단이 가질 수 있는 최소 글자 수. 이보다 짧은 문장으로 나눠지는 것을 원치 않을 때 사용합니다.
    입력 가능한 최소값은 1로, 이 경우 최소 글자 수를 제한하지 않습니다.
  • max(int, >=min): 한 문단이 가질 수 있는 최대 글자 수. 해당 글자보다 긴 발화에 대해서만 문단나누기가 적용됩니다.

결과적으로 글자 수(공백은 제외)가 min개 이상이고 max개 이하인 복수개의 문단을 반환하게 됩니다.

예시)

  • min_len=10, max_len=50인 경우
    안녕하십니까 투자 증권 에이 알 에스 증권정보 서비스입니다.
    보이는 에이 알 에스에 연결 되었습니다.
    추가 데이터 요금이 발생되며 이용을 원하지 않으시면 음성 에이 알 에스 버튼을 눌러주세요.
    원하시는 서비스 코드를 눌러주십시오.
  • min_len=10, max_len=80인 경우
    안녕하십니까 투자 증권 에이 알 에스 증권정보 서비스입니다.
    보이는 에이 알 에스에 연결 되었습니다.
    추가 데이터 요금이 발생되며 이용을 원하지 않으시면 음성 에이 알 에스 버튼을 눌러주세요. 원하시는 서비스 코드를 눌러주십시오.
  • min_len=30, max_len=80인 경우
    안녕하십니까 투자 증권 에이 알 에스 증권정보 서비스입니다. 보이는 에이 알 에스에 연결 되었습니다.
    추가 데이터 요금이 발생되며 이용을 원하지 않으시면 음성 에이 알 에스 버튼을 눌러주세요. 원하시는 서비스 코드를 눌러주십시오.
    위는 예시일 뿐이며 발화 속도에 따라 문장분리 결과는 달라질 수 있습니다.
caution

단 항상 이 길이 조건이 보장되지는 않습니다. 발화 상황에 따라 적절하게 나눠질 수 있는 지점이 없다면, min_len보다 적거나 max_len보다 긴 문단이 반환될 가능성도 존재합니다.

화자분리(diarization) 기능을 함께 이용하는 경우에는, 이미 한 화자의 연속 발화 단위(즉 다른 화자로 전환되기 직전까지 한 화자가 연속적으로 발화한 내용)로 발화가 분리되어 있습니다. 이 때는 해당 화자의 연속 발화 내에서 개별적으로 문단나누기가 적용됩니다.
반면 화자분리 기능을 이용하지 않는 경우, 요청한 파일 전체 내용에 대해 문단나누기가 적용됩니다.

옵션값 조건 및 권장사항

문단나누기는 이용자가 입력한 min 이상, max 이하 개수의 글자로 구성된 문단으로 나누기를 시도합니다.

min / max 값은 1 <= min <= max 조건을 만족하는 정수이어야 합니다.
하지만 너무 큰 min 값 또는 너무 작은 max 값을 입력하거나, min 값과 max 값 차이가 너무 작을 경우에는 위 조건을 만족시키더라도 질 높은 문단나누기 결과를 얻지 못할 수 있습니다.

따라서 max 값으로 최소 30 이상이면서 설정한 min 값의 4배 이상을 권장하며, 서비스 상황에 따른 예시는 다음과 같습니다.

구분MinMax설명
짧게1050모바일 기기 사용 환경에 적합
보통1580태블릿 기기 사용 환경에 적합
길게30130PC 사용 환경에 적합

샘플 코드

아래의 코드 샘플에서 문단나누기를 사용하는 방법을 확인하실 수 있습니다.


curl -X 'POST' \
'https://openapi.vito.ai/v1/transcribe' \
-H 'accept: application/json' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@sample.wav' \
-F 'config={
"paragraph_splitter": {
"min": 10,
"max": 50
}
}'