투명도 메모란?
AI 시스템에는 기술뿐만 아니라 기술을 사용하는 사람, 영향을 받는 사람, 배포되는 환경이 포함됩니다. 의도한 목적에 맞는 시스템을 만들려면 기술의 작동 방식, 기능 및 제한 사항, 최상의 성능을 달성하는 방법에 대한 이해가 필요합니다. Microsoft의 투명성 메모는 AI 기술의 작동 방식, 시스템 소유자가 시스템 성능 및 동작에 영향을 줄 수 있는 선택 사항, 기술, 사용자 및 환경을 포함한 전체 시스템에 대한 사고의 중요성을 이해하는 데 도움이 되도록 하기 위한 것입니다. 고유한 시스템을 개발하거나 배포할 때 투명도 메모를 사용하거나 시스템의 영향을 받는 사용자와 공유할 수 있습니다.
Microsoft의 투명성 메모는 Microsoft에서 AI 원칙을 실천하기 위한 광범위한 노력의 일환입니다. Microsoft AI 원칙에 대해 자세히 알아보세요.
제한된 음성 인식의 기본 사항
소개
음성 인식은 음성 지원 AI 시스템에 참여하는 데 중요한 기능입니다. 이러한 시스템("음성 텍스트 변환" 엔진이라고도 함)은 사용자의 음성 단어를 텍스트로 변환하여 출력의 정확성 확률을 나타내는 신뢰도 점수를 생성하는 경우가 많습니다. 제한된 음성 인식은 엔진 자체에서 인식할 수 있는 단어 또는 구 집합을 구체적으로 제한하는 특정 형식입니다. 이 제약 조건은 문법을 통해 수행됩니다. 문법은 정의상 엔진이 인식할 예상 단어 또는 구의 규칙 기반 목록입니다.
제한된 음성 인식 엔진은 다음 작업에 특히 유용합니다.
계정 번호 및 추적 번호와 같은 영숫자 입력 인식
도메인별 큰 목록(주식, 주소, 이름).
인식할 작은 단어 및 구 집합과의 상호 작용을 위해 설계된 작은 범위의 애플리케이션입니다.
호출자의 첫 번째 상호 작용에 사용되거나 시스템의 대화형 디자인의 기초로 사용되는 항목의 메뉴 트리를 탐색하는 데 도움이 되는 지시된 대화 상자입니다.
주요 용어
| 용어 | Definition |
|---|---|
| 문법 | 문법은 음성 인식기가 이해하고 해석하는 단어와 구에 대한 설명입니다. 인식기는 런타임에 문법을 로드하여 사용자의 음성 응답 및 명령을 음성 애플리케이션에서 사용할 수 있는 정보로 변환합니다. |
| GrXML | 문법이 구성되는 형식입니다. |
| 음성 인식 문법 사양(SRGS) | 문법을 정의하기 위한 W3C 표준입니다. |
| 말 | 음성 인식 시스템에서 해석하는 음성 AI 시스템에 대한 사용자의 음성 단어 또는 구입니다. |
역량
시스템 동작
인식기가 사용자 발화를 해석할 때마다 음성 애플리케이션으로 돌아가기 위해 가능한 가장 가까운 일치 항목 목록을 컴파일합니다. 이 목록은 사용자가 말한 것과 가장 일치하는 미리 지정된 수의 해석으로 구성되기 때문에 n-best l ist로 호출됩니다. 사용자가 말할 때 인식기가 문법에 정의된 항목 중에서 가장 일치하는 항목을 검색합니다. 인식기 n-best 목록에 대 한 고려 되 고 후보에 각 일치 해석을 추가 합니다. 검색하는 동안 인식기는 음향 모델을 사용하여 오디오 입력, 어휘 모델을 분석하여 문법에서 가장 가능성이 큰 문장을 결정하고 의미 체계 모델을 사용하여 호출자가 말한 내용의 가장 가능성이 있는 의미를 결정합니다. 인식기가 가능한 가장 높은 해석을 찾을 때까지 또는 나머지 항목이 수신된 내용과 일치하지 않을 때까지 검색합니다.
인식기가 후보 목록의 각 항목에 신뢰도 점수를 할당하고 가장 높은 신뢰도에서 가장 낮은 값으로 순위를 지정합니다. 인식기가 새로운 해석을 발견할 때 이러한 점수를 재평가하고 미세 조정합니다. 문법에서 호모니즘(동일하지만 의미가 다른 단어)을 허용하는 경우 인식기는 동일한 신뢰도 점수로 해석을 구분하기 위해 동성애를 할당합니다. 인식기에서는 문법에 지정된 제약 조건 목록 및/또는 ECMAScript(의미 체계 해석 스크립트)를 처리하여 후보 목록을 구체화합니다. 인식기가 인식에 대해 구성된 대상 신뢰도 수준을 충족하지 않는 해석을 제거합니다. 인식기가 최종 상위 n개 결과를 애플리케이션에 반환합니다. 이 n-best 목록에는 일치하는 텍스트(전체 발화 및 개별 슬롯), 신뢰도 점수, 발화에 대해 설정된 키 및 값이 포함됩니다.
사용 사례
의도한 용도
제한된 음성 인식은 여러 시나리오에서 사용할 수 있습니다. 시스템의 용도는 다음과 같습니다.
음성 단어 인식: "문법"을 통해 시스템에 제공된 최종 목록에 의해 제한된 텍스트로 음성을 번역합니다. 예를 들어 영숫자 번호판 및 사회 보장 번호 입력 또는 목록 기반 회사 디렉터리, 주식 시세 및 주소입니다.
입력 유효성 검사: 말한 내용이 시스템에서 수락되도록 의도되었는지 확인합니다. 예를 들어 신용 카드 번호가 올바른지 확인합니다(수학적으로).
출력 후보 제거: 반복 인식 시도에서 인식에서 단어 또는 구를 제거합니다.
다른 사용 사례를 선택할 때 고려 사항
고객은 혁신적인 솔루션 또는 애플리케이션에서 제한된 음성 인식을 사용하는 것이 좋습니다. 그러나 사용 사례를 선택할 때 몇 가지 고려 사항은 다음과 같습니다.
공개: AI 에이전트 생성과 일치하며, 항상 호출자에게 상호 작용하는 시스템이 AI를 구동한다는 사실을 공개합니다.
지원되지 않는 용도:
일괄 처리 전사: 사람의 음성 단어를 완전한 텍스트 전사로 완전히 기록합니다.
의도 해석: 전사가 아닌 사람의 음성 단어를 해석된 의도로 매핑합니다.
법률 및 규제 고려 사항: 조직은 모든 산업 또는 시나리오에서 사용하기에 적합하지 않을 수 있는 AI 서비스 및 솔루션을 사용할 때 잠재적인 특정 법률 및 규제 의무를 평가해야 합니다. 제한 사항은 지역 또는 지역 규제 요구 사항에 따라 달라질 수 있습니다. 또한 AI 서비스 또는 솔루션은 해당 서비스 약관 및 관련 행동 강령에서 금지된 방식으로 설계되지 않았으며 사용되지 않을 수도 있습니다.
제한점
앞서 설명한 것처럼 제한된 음성 인식은 정보가 명시적이고 정확하며 사용자로부터 제한된 영숫자 및 목록 기반 인식 작업과 같은 특정 사용 사례에 대해 매우 잘 수행됩니다. 반면, 의미 체계 기반 또는 자연어 이해 모델을 사용하는 기존의 음성 텍스트 변환 시스템은 광범위한 음성 토픽을 인식하고 모델에서 또는 그 주변에서 해석하는 데 가장 적합합니다. 명시적으로 말하면 문법 정의 외부에 있는 음성 입력은 인식되지 않습니다. 따라서 음성 기반 애플리케이션을 빌드하는 개발자는 제한된 음성과 대체 방법을 사용하는 것이 적절한 위치를 고려하는 것이 좋습니다.
기술 제한 사항, 운영 요소 및 범위
특히 제한된 음성 인식이 정확하게 작동하려면 잘 설계된 문법이 다양한 사용자 응답을 수락하고 빠르고 정확하며 효율적으로 해석할 수 있어야 합니다. 즉, 개발자는 각 애플리케이션 프롬프트에서 생성할 응답을 예측하고 가능한 한 효율적으로 문법으로 인코딩할 수 있어야 합니다. 따라서 문법은 음성 애플리케이션과 병렬로 설계되어야 합니다.
좋은 문법은 다음 목표의 균형을 이봅니다.
철저한 검사: 문법은 이전 애플리케이션 프롬프트에 대한 사용자의 합리적인 응답을 수락하고 해석합니다.
정확도: 문법은 응답을 올바르게 인식하므로 사용자가 반복하라는 요청을 받지 않고 문법이 기본 애플리케이션에 잘못된 값을 전달하지 않습니다.
속도: 문법은 사용자를 좌절시키는 지연 없이 응답을 빠르게 인식합니다.
리소스 사용: 문법이 효율적으로 처리됩니다.
문법 작성은 반복적인 프로세스입니다. 호출자가 말하는 내용에 따라 초기 문법을 만들고, 실제 데이터를 수집하고, 문법을 구체화하고, 더 많은 데이터를 수집하고, 문법을 다시 구체화하는 등의 작업을 수행합니다. 구를 추가하고 제거하여 문법을 구체화하면 호출자가 애플리케이션에 말하는 방식과 더 유사합니다. 실제로는 사용자가 말하는 방식을 제어할 수 없으므로 애플리케이션에서 발생할 수 있는 모든 응답을 문법에 포함할 수 없습니다.
문법 집합을 개발하는 프로세스에는 일반적으로 다음 단계가 포함됩니다.
정보 항목을 식별하고 슬롯을 정의합니다. 사용자가 애플리케이션에 제공해야 하는 정보 및 제공해야 하는 특정 순서가 있나요?
대화 디자인: 사용자와 애플리케이션 간의 가장 효율적인 대화 흐름을 결정합니다.
프롬프트 디자인: 필요한 정보를 유도하는 프롬프트를 만듭니다.
프롬프트에 대한 호출자 응답을 예상합니다. 문법에서 인식해야 하는 음성 단어를 고려합니다.
문법의 핵심 및 필러 부분을 식별합니다. 응답에서 찾을 핵심 단어를 식별합니다.
문법 전략 계획: 각 문법에 대한 요구 사항을 충족하는 가장 좋은 방법을 결정하고 적절한 방법 또는 이를 해결하기 위한 방법 조합을 선택합니다.
문법 조정 및 구체화: 문제를 해결하고 문법 성능을 최적화합니다.
시스템 성능
제한된 음성 인식 엔진은 요청을 처리할 때 제한된 메모리를 사용하여 음성 인식의 대체 형식에 비해 성능이 향상됩니다. 개발자 컨트롤 내의 요소는 시스템 자체보다 성능에 더 많은 영향을 줍니다. 문법 개발을 위한 가장 중요한 목표는 최적의 인식 정확도를 위해 디자인하는 것입니다. 다음 목표는 명확성, 유지 관리 및 확장성을 위해 작성하는 것입니다. 세 번째 목표는 효율적인 인식 컨텍스트를 만드는 것입니다.
시스템 성능 향상을 위한 모범 사례
다음은 리소스 사용량에 영향을 주는 문법 특성입니다.
적용 범위: 문법은 호출자가 사용할 것으로 예상하는 구를 포함합니다(포함). 범위가 낮으면 어휘 외 발화, 확인 및 재시도가 증가하여 CPU 사용량, 통화 기간 및 호출자 만족도가 낮아질 수 있습니다.
세대 초과: 정확도가 낮아지기 때문에 문법이 무의미한 구를 허용하여 과도하게 생성되지 않는 것이 중요합니다. 예를 들어 도시와 주를 인식하는 문법은 발화를 도시와 주의 유효한 조합으로 제한해야 합니다.
여러 구문 분석: 이상적으로 문법에서 가능한 각 문장에는 고유한 구문 분석이 있습니다. 경우에 따라 문법이 단일 문장의 여러 구문 분석을 허용할 수 있습니다. 일반적으로 여러 구문 분석에서는 수정이 필요한 문법 디자인의 감독을 나타냅니다.
애플리케이션에 전달된 키: 키/값 쌍이 올바르게 설정되었는지 확인해야 합니다.
호출자가 문법으로 구문 분석할 수 없는 단어 또는 구문을 말하는 경우 단어 또는 구문은 문법을 벗어난 것으로 간주됩니다. 엄지 손가락의 규칙으로, 5%의 문법 외 비율은 허용 가능한 것으로 간주됩니다. 경우에 따라 특정 유형의 인식 작업에서 10~20%의 문법 외 비율도 드물지 않습니다. 이 후자의 속도로 대체 형태의 음성 인식을 사용하는 것이 좋습니다.
대기 시간은 인식 결과가 애플리케이션에 반환될 때까지 호출자가 말하기를 중지한 후(구성된 음성 종료 시간 제한 포함) 경과된 시간으로 정의됩니다. 대기 시간이 너무 높으면 사용자 환경이 저하됩니다. 시스템이 느려서 사용자에게 실망할 수 있으며 추가 사용자 인터페이스 합병증으로 이어질 수 있습니다.
극단적인 상황에서 사용자가 대화의 목표를 달성하지 않고 말하기를 중지하면 과도한 대기 시간으로 인해 애플리케이션 트랜잭션이 실패합니다. 잘못된 인식 응답 시간에는 다음과 같은 많은 기여 요인이 있을 수 있습니다.
수십만 개의 항목을 포함하는 매우 큰 문법을 사용합니다.
매우 긴 평균 발화 길이입니다.
문법 내에서 많은 양의 ECMAScript 처리를 처리합니다.
문법을 가져올 때 네트워크가 지연됩니다.
다양한 구를 사용하여 테스트 시나리오를 실행하는 등 라이브 실행 시스템 내에서 문법을 배포하기 전에 문법을 제대로 테스트해야 합니다.
제한된 음성 인식 평가
평가 방법
제한된 음성 인식을 평가하기 위해 일반적으로 사용되는 몇 가지 메트릭은 다음과 같습니다.
WER(단어 오류율): 잘못 인식된 단어의 백분율을 측정합니다. 대체, 삭제 및 삽입의 합계를 참조의 총 단어 수로 나눈 값으로 계산됩니다.
N-best 목록 정확도: 인식기에서 생성된 상위 N개 가설의 정확도를 평가합니다. 올바른 해석이 주요 제안 중 얼마나 자주 표시되는지 이해하는 데 유용합니다.
적용 범위: 이 메트릭은 문법에 사용자가 말할 수 있는 필요한 모든 구와 변형이 포함되어 있는지 여부를 평가합니다. 검사 범위가 좋은 문법은 시스템에서 다양한 입력을 처리할 수 있도록 합니다.
대기 시간: 시스템이 음성 입력을 처리하고 인식 결과를 생성하는 데 걸리는 시간을 측정합니다. 짧은 대기 시간은 실시간 애플리케이션에 매우 중요합니다.
거짓 수락/거부율: 시스템이 경험하는 가양성 및 부정을 측정합니다. 이는 연락처 센터 시나리오의 호출자 포함 및 애플리케이션 성공률에 직접적인 영향을 줍니다.
공정성 고려 사항
Microsoft는 전 세계의 모든 사용자가 더 많은 일을 할 수 있도록 역량을 강화하기 위해 노력하고 있습니다. 이 목표의 필수적인 부분은 공정하고 포괄적인 기술과 제품을 만들기 위해 노력하는 것입니다. 공정성은 다차원 사회 기술 주제이며 제품 개발의 다양한 측면에 영향을 줍니다. Microsoft의 공정성 접근 방식에 대해 자세히 알아볼 수 있습니다.
제한된 음성 인식을 포함하여 AI 시스템을 사용할 때 고려해야 할 중요한 한 가지 차원은 시스템이 여러 사용자 그룹에 대해 얼마나 잘 수행하는지입니다. 연구에 따르면 모든 그룹의 성능 향상에 초점을 맞춘 의식적인 노력이 없다면 AI 시스템은 인종, 민족, 성별 및 연령과 같은 다양한 인구 통계학적 요인에 따라 다양한 수준의 성능을 나타낼 수 있습니다.
경우에 따라 성능 차이가 남아 있을 수 있습니다. 이러한 차이는 목표를 초과할 수 있으며, 잠재적 편견이나 성과 격차를 해결하고 최소화하고, 행위자의 인구 통계 그룹 선택을 신중하게 고려하고, 다양한 배경에서 다양한 관점을 모색하기 위해 적극적으로 노력하고 있습니다.
스테레오티핑, 비하 또는 출력 지우기와 같은 표현적 피해와 관련하여 당사는 이러한 문제와 관련된 위험을 인정합니다. 평가 프로세스는 이러한 위험을 완화하는 것을 목표로 하지만 사용자가 특정 사용 사례를 신중하게 고려하고 추가 완화를 적절하게 구현하는 것이 좋습니다. 루프에 사람이 있으면 잠재적인 편견이나 의도하지 않은 결과를 해결하기 위한 추가적인 감독 계층을 제공할 수 있습니다.
우리는 다양한 인구 통계 그룹 및 잠재적 공정성 문제에 대한 시스템의 성과를 더 깊이 이해하기 위해 공정성 평가를 지속적으로 개선하기 위해 최선을 다하고 있습니다. 평가 프로세스가 진행 중이며 공정성과 포용성을 향상시키고 식별된 차이를 완화하기 위해 적극적으로 노력하고 있습니다. 우리는 공정성 고려 사항을 해결하는 것의 중요성을 이해하고 제한된 음성 인식이 안정적이고 공평한 음성 인식 출력을 제공하도록 노력합니다.
비고
이 정보는 우리가 지금까지 공정성 평가에 대해 알고 있는 것을 나타내며, 평가 방법론을 구체화하고 발생할 수 있는 공정성 문제를 해결하기 위해 최선을 다하고 있습니다.
책임 있는 AI에 대해 자세히 알아보기
Microsoft AI 원칙
Microsoft 책임 AI 리소스
책임 있는 AI에 대한 Microsoft Azure Learning 과정