Megosztás a következőn keresztül:


Kiejtési értékelés használata

Ebből a cikkből megtudhatja, hogyan értékelheti ki a kiejtést a beszéd és a szöveg között a Speech SDK-n keresztül. A kiejtésértékelés kiértékeli a kiejtett beszédet, és visszajelzést ad a beszélőknek a beszéd pontosságáról és gördülékenységéről.

Feljegyzés

A kiejtés-értékelés a beszéd-szöveg modell egy adott verzióját használja, amely eltér a hagyományos beszédtől a szövegmodellig, így egységes és pontos kiejtési értékelést biztosít.

Kiejtés-felmérés használata streamelési módban

A kiejtés értékelése támogatja a folyamatos streamelési módot. A rögzítési idő korlátlan lehet a Speech SDK-val. Amíg nem állítja le a felvételt, a kiértékelési folyamat nem fejeződik be, és kényelmesen szüneteltetheti és folytathatja az értékelést.

A kiejtési értékelés elérhetőségéről további információt a támogatott nyelvek és az elérhető régiók című témakörben talál.

Alapkonfigurációként a kiejtés-felmérés használata ugyanúgy jár, mint a használatalapú fizetés vagy a kötelezettségvállalási szint díjszabása. Ha a szöveghez való beszédhez egy kötelezettségvállalási szintet vásárol, a kiejtési értékelésre fordított költség a kötelezettségvállalás teljesítésére irányul. További információt a Díjszabás című szakasz tartalmaz.

A Pronunciation Assessment saját alkalmazásbeli streamelési módban való használatáról lásd a mintakódot.

A Pronunciation Assessment saját alkalmazásbeli streamelési módban való használatáról lásd a mintakódot.

A Pronunciation Assessment saját alkalmazásbeli streamelési módban való használatáról lásd a mintakódot.

A Pronunciation Assessment saját alkalmazásbeli streamelési módban való használatáról lásd a mintakódot.

A Pronunciation Assessment saját alkalmazásbeli streamelési módban való használatáról lásd a mintakódot.

A Pronunciation Assessment saját alkalmazásbeli streamelési módban való használatáról lásd a mintakódot.

A Pronunciation Assessment saját alkalmazásbeli streamelési módban való használatáról lásd a mintakódot.

Folyamatos felismerés

Ha a hangfájl meghaladja a 30 másodpercet, használjon folyamatos módot a feldolgozáshoz. A folyamatos mód mintakódja a GitHubon található a függvény PronunciationAssessmentContinuousWithFilealatt.

Ha a hangfájl meghaladja a 30 másodpercet, használjon folyamatos módot a feldolgozáshoz.

Ha a hangfájl meghaladja a 30 másodpercet, használjon folyamatos módot a feldolgozáshoz. A folyamatos mód mintakódja a GitHubon található a függvény pronunciationAssessmentContinuousWithFilealatt.

Ha a hangfájl meghaladja a 30 másodpercet, használjon folyamatos módot a feldolgozáshoz. A folyamatos mód mintakódja a GitHubon található a függvény pronunciation_assessment_continuous_from_filealatt.

Ha a hangfájl meghaladja a 30 másodpercet, használjon folyamatos módot a feldolgozáshoz. A folyamatos mód mintakódja a GitHubon található.

Ha a hangfájl meghaladja a 30 másodpercet, használjon folyamatos módot a feldolgozáshoz. A folyamatos mód mintakódja a GitHubon található a függvény pronunciationAssessFromFilealatt.

Ha a hangfájl meghaladja a 30 másodpercet, használjon folyamatos módot a feldolgozáshoz. A folyamatos mód mintakódja a GitHubon található a függvény continuousPronunciationAssessmentalatt.

Konfigurációs paraméterek beállítása

Feljegyzés

A kiejtési értékelés nem érhető el a Speech SDK for Go használatával. A fogalmakról ebben az útmutatóban olvashat. Válasszon másik programozási nyelvet a megoldáshoz.

SpeechRecognizerA nézetben megadhatja a megtanulandó nyelvet, vagy gyakorolhatja a kiejtés javítását. Az alapértelmezett területi beállítás a következő en-US. Ha meg szeretné tudni, hogyan adhatja meg a kiejtés-felmérés nyelvét a saját alkalmazásában, az alábbi mintakódot használhatja.

var recognizer = new SpeechRecognizer(speechConfig, "en-US", audioConfig);
auto recognizer = SpeechRecognizer::FromConfig(speechConfig, "en-US", audioConfig);
SpeechRecognizer recognizer = new SpeechRecognizer(speechConfig, "en-US", audioConfig);
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, language="en-US", audio_config=audio_config)
speechConfig.speechRecognitionLanguage = "en-US";
SPXSpeechRecognizer* recognizer = [[SPXSpeechRecognizer alloc] initWithSpeechConfiguration:speechConfig language:@"en-US" audioConfiguration:audioConfig];
let recognizer = try! SPXSpeechRecognizer(speechConfiguration: speechConfig, language: "en-US", audioConfiguration: audioConfig)

Tipp.

Ha nem biztos abban, hogy melyik területi beállítás legyen beállítva egy több területi beállítással rendelkező nyelvhez, próbálja meg külön-külön az egyes területi beállításokat. Például a spanyol, próbálja meg es-ES és es-MX. Határozza meg, hogy melyik területi pontszám magasabb a forgatókönyvhöz.

Létre kell hoznia egy objektumot PronunciationAssessmentConfig . Beállíthatja EnableProsodyAssessment és engedélyezheti a prosodia- és EnableContentAssessmentWithTopic tartalomértékelést. További információkért lásd a konfigurációs módszereket.

var pronunciationAssessmentConfig = new PronunciationAssessmentConfig( 
    referenceText: "", 
    gradingSystem: GradingSystem.HundredMark,  
    granularity: Granularity.Phoneme,  
    enableMiscue: false); 
pronunciationAssessmentConfig.EnableProsodyAssessment(); 
pronunciationAssessmentConfig.EnableContentAssessmentWithTopic("greeting"); 
auto pronunciationConfig = PronunciationAssessmentConfig::Create("", PronunciationAssessmentGradingSystem::HundredMark, PronunciationAssessmentGranularity::Phoneme, false); 
pronunciationConfig->EnableProsodyAssessment(); 
pronunciationConfig->EnableContentAssessmentWithTopic("greeting"); 
PronunciationAssessmentConfig pronunciationConfig = new PronunciationAssessmentConfig("", 
    PronunciationAssessmentGradingSystem.HundredMark, PronunciationAssessmentGranularity.Phoneme, false); 
pronunciationConfig.enableProsodyAssessment(); 
pronunciationConfig.enableContentAssessmentWithTopic("greeting");
pronunciation_config = speechsdk.PronunciationAssessmentConfig( 
    reference_text="", 
    grading_system=speechsdk.PronunciationAssessmentGradingSystem.HundredMark, 
    granularity=speechsdk.PronunciationAssessmentGranularity.Phoneme, 
    enable_miscue=False) 
pronunciation_config.enable_prosody_assessment() 
pronunciation_config.enable_content_assessment_with_topic("greeting")
var pronunciationAssessmentConfig = new sdk.PronunciationAssessmentConfig( 
    referenceText: "", 
    gradingSystem: sdk.PronunciationAssessmentGradingSystem.HundredMark,  
    granularity: sdk.PronunciationAssessmentGranularity.Phoneme,  
    enableMiscue: false); 
pronunciationAssessmentConfig.enableProsodyAssessment(); 
pronunciationAssessmentConfig.enableContentAssessmentWithTopic("greeting");  
SPXPronunciationAssessmentConfiguration *pronunicationConfig = 
[[SPXPronunciationAssessmentConfiguration alloc] init:@"" gradingSystem:SPXPronunciationAssessmentGradingSystem_HundredMark granularity:SPXPronunciationAssessmentGranularity_Phoneme enableMiscue:false]; 
[pronunicationConfig enableProsodyAssessment]; 
[pronunicationConfig enableContentAssessmentWithTopic:@"greeting"]; 
let pronAssessmentConfig = try! SPXPronunciationAssessmentConfiguration("", 
    gradingSystem: .hundredMark, 
    granularity: .phoneme, 
    enableMiscue: false) 
pronAssessmentConfig.enableProsodyAssessment() 
pronAssessmentConfig.enableContentAssessment(withTopic: "greeting")

Ez a táblázat felsorolja a kiejtés-értékelés néhány kulcsfontosságú konfigurációs paraméterét.

Paraméter Leírás
ReferenceText Az a szöveg, amely alapján a kiejtés kiértékelése történik.

A ReferenceText paraméter megadása nem kötelező. Állítsa be a referenciaszöveget, ha szkriptes értékelést szeretne futtatni az olvasási nyelvtanulási forgatókönyvhöz. Ne állítsa be a referenciaszöveget, ha íratlan értékelést szeretne futtatni.

A szkriptelt és a nem leíró értékelés közötti díjszabási különbségekért lásd: Díjszabás.
GradingSystem A pontrendszer a pontszám-kalibrációhoz. FivePoint 0-5 lebegőpontos pontszámot ad. HundredMark 0–100 lebegőpontos pontszámot ad. Alapértelmezett: FivePoint.
Granularity A kiértékelési részletesség legalacsonyabb szintjét határozza meg. A minimális értéknél nagyobb vagy egyenlő szintek pontszámait adja vissza. Az elfogadott értékek a Phonemeteljes szöveg, szó, szótag és telefonszint pontszámát jelenítik meg, Wordamely a teljes szöveg és a szó szintjén jeleníti meg a pontszámot, vagy FullTexta pontszámot csak a teljes szöveges szinten jeleníti meg. A megadott teljes hivatkozási szöveg lehet szó, mondat vagy bekezdés. Ez a bemeneti referenciaszövegtől függ. Alapértelmezett: Phoneme.
EnableMiscue Lehetővé teszi a hibás számítást, ha a kimondott szavakat a referenciaszöveghez hasonlítják. A hibás adatok engedélyezése nem kötelező. Ha ez az Trueérték, az ErrorType eredmény értéke az összehasonlítás alapján vagy Insertion az Omission alapján állítható be. Az értékek és Truea False . Alapértelmezett: False. A hibás számítás engedélyezéséhez állítsa be a EnableMiscue következőt True: . A tábla feletti kódrészletre is hivatkozhat.
ScenarioId GUID egy testre szabott pontrendszerhez.

Konfigurációs módszerek

Ez a táblázat felsorolja az objektumhoz megadható választható módszerek némelyikét PronunciationAssessmentConfig .

Feljegyzés

A tartalom- és prózaértékelések csak az USA-beli területi beállításokban érhetők el.

A tartalom és a prózaértékelések megismeréséhez frissítsen az SDK 1.35.0-s vagy újabb verziójára.

A témakörparaméternek nincs hosszkorlátja.

Metódus Leírás
EnableProsodyAssessment Lehetővé teszi a proszódiák kiértékelését a kiejtési értékeléshez. Ez a funkció olyan szempontokat értékel fel, mint a stressz, az intonáció, a beszédsebesség és a ritmus. Ez a funkció betekintést nyújt a beszéd természetességébe és kifejezőképességébe.

A prosodiaértékelés engedélyezése nem kötelező. A metódus meghívása esetén a függvény visszaadja az ProsodyScore eredményértéket.
EnableContentAssessmentWithTopic Engedélyezi a tartalomértékelést. A tartalomértékelés a beszédalapú nyelvtanulási forgatókönyv leíró nélküli értékelésének része. Egy leírás megadásával javíthatja az értékelés megértését az adott témakörről, amelyről beszélnek. C#-hívásban pronunciationAssessmentConfig.EnableContentAssessmentWithTopic("greeting");például. A "köszöntés" szöveget lecserélheti a kívánt szövegre egy témakör leírásához. A leírásnak nincs hosszkorlátja, és jelenleg csak a en-US területi beállításokat támogatja.

Kiejtési értékelés eredményeinek lekérése

A beszéd felismerésekor SDK-objektumként vagy JSON-sztringként kérheti le a kiejtési értékelés eredményeit.

using (var speechRecognizer = new SpeechRecognizer(
    speechConfig,
    audioConfig))
{
    // (Optional) get the session ID
    speechRecognizer.SessionStarted += (s, e) => {
        Console.WriteLine($"SESSION ID: {e.SessionId}");
    };
    pronunciationAssessmentConfig.ApplyTo(speechRecognizer);
    var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync();

    // The pronunciation assessment result as a Speech SDK object
    var pronunciationAssessmentResult =
        PronunciationAssessmentResult.FromResult(speechRecognitionResult);

    // The pronunciation assessment result as a JSON string
    var pronunciationAssessmentResultJson = speechRecognitionResult.Properties.GetProperty(PropertyId.SpeechServiceResponse_JsonResult);
}

A Word, a szótag és a telefon nem érhető el SDK-objektumok és a Speech SDK for C++ használatával. A Word, a szótag és a telefonszöveg eredményei csak a JSON-sztringben érhetők el.

auto speechRecognizer = SpeechRecognizer::FromConfig(
    speechConfig,
    audioConfig);
// (Optional) get the session ID
speechRecognizer->SessionStarted.Connect([](const SessionEventArgs& e) {
    std::cout << "SESSION ID: " << e.SessionId << std::endl;
});
pronunciationAssessmentConfig->ApplyTo(speechRecognizer);
speechRecognitionResult = speechRecognizer->RecognizeOnceAsync().get();

// The pronunciation assessment result as a Speech SDK object
auto pronunciationAssessmentResult =
    PronunciationAssessmentResult::FromResult(speechRecognitionResult);

// The pronunciation assessment result as a JSON string
auto pronunciationAssessmentResultJson = speechRecognitionResult->Properties.GetProperty(PropertyId::SpeechServiceResponse_JsonResult);

Ha meg szeretné tudni, hogyan adhatja meg a kiejtés-felmérés nyelvét a saját alkalmazásában, tekintse meg a mintakódot.

Android-alkalmazásfejlesztés esetén a szó, szótag és telefonszöveg eredményei SDK-objektumokkal és a Java Speech SDK-val érhetők el. Az eredmények a JSON-sztringben is elérhetők. Java-futtatókörnyezeti (JRE) alkalmazásfejlesztés esetén a szó, szótag és telefonszöveg eredményei csak a JSON-sztringben érhetők el.

SpeechRecognizer speechRecognizer = new SpeechRecognizer(
    speechConfig,
    audioConfig);
// (Optional) get the session ID
speechRecognizer.sessionStarted.addEventListener((s, e) -> {
    System.out.println("SESSION ID: " + e.getSessionId());
});
pronunciationAssessmentConfig.applyTo(speechRecognizer);
Future<SpeechRecognitionResult> future = speechRecognizer.recognizeOnceAsync();
SpeechRecognitionResult speechRecognitionResult = future.get(30, TimeUnit.SECONDS);

// The pronunciation assessment result as a Speech SDK object
PronunciationAssessmentResult pronunciationAssessmentResult =
    PronunciationAssessmentResult.fromResult(speechRecognitionResult);

// The pronunciation assessment result as a JSON string
String pronunciationAssessmentResultJson = speechRecognitionResult.getProperties().getProperty(PropertyId.SpeechServiceResponse_JsonResult);

recognizer.close();
speechConfig.close();
audioConfig.close();
pronunciationAssessmentConfig.close();
speechRecognitionResult.close();
var speechRecognizer = SpeechSDK.SpeechRecognizer.FromConfig(speechConfig, audioConfig);
// (Optional) get the session ID
speechRecognizer.sessionStarted = (s, e) => {
    console.log(`SESSION ID: ${e.sessionId}`);
};
pronunciationAssessmentConfig.applyTo(speechRecognizer);

speechRecognizer.recognizeOnceAsync((speechRecognitionResult: SpeechSDK.SpeechRecognitionResult) => {
    // The pronunciation assessment result as a Speech SDK object
    var pronunciationAssessmentResult = SpeechSDK.PronunciationAssessmentResult.fromResult(speechRecognitionResult);

    // The pronunciation assessment result as a JSON string
    var pronunciationAssessmentResultJson = speechRecognitionResult.properties.getProperty(SpeechSDK.PropertyId.SpeechServiceResponse_JsonResult);
},
{});

Ha meg szeretné tudni, hogyan adhatja meg a kiejtés-felmérés nyelvét a saját alkalmazásában, tekintse meg a mintakódot.

speech_recognizer = speechsdk.SpeechRecognizer(
        speech_config=speech_config, \
        audio_config=audio_config)
# (Optional) get the session ID
speech_recognizer.session_started.connect(lambda evt: print(f"SESSION ID: {evt.session_id}"))
pronunciation_assessment_config.apply_to(speech_recognizer)
speech_recognition_result = speech_recognizer.recognize_once()
# The pronunciation assessment result as a Speech SDK object
pronunciation_assessment_result = speechsdk.PronunciationAssessmentResult(speech_recognition_result)

# The pronunciation assessment result as a JSON string
pronunciation_assessment_result_json = speech_recognition_result.properties.get(speechsdk.PropertyId.SpeechServiceResponse_JsonResult)

Ha meg szeretné tudni, hogyan adhatja meg a kiejtés-felmérés nyelvét a saját alkalmazásában, tekintse meg a mintakódot.

SPXSpeechRecognizer* speechRecognizer = \
        [[SPXSpeechRecognizer alloc] initWithSpeechConfiguration:speechConfig
                                              audioConfiguration:audioConfig];
// (Optional) get the session ID
[speechRecognizer addSessionStartedEventHandler: ^ (SPXRecognizer *sender, SPXSessionEventArgs *eventArgs) {
    NSLog(@"SESSION ID: %@", eventArgs.sessionId);
}];
[pronunciationAssessmentConfig applyToRecognizer:speechRecognizer];

SPXSpeechRecognitionResult *speechRecognitionResult = [speechRecognizer recognizeOnce];

// The pronunciation assessment result as a Speech SDK object
SPXPronunciationAssessmentResult* pronunciationAssessmentResult = [[SPXPronunciationAssessmentResult alloc] init:speechRecognitionResult];

// The pronunciation assessment result as a JSON string
NSString* pronunciationAssessmentResultJson = [speechRecognitionResult.properties getPropertyByName:SPXSpeechServiceResponseJsonResult];

Ha meg szeretné tudni, hogyan adhatja meg a kiejtés-felmérés nyelvét a saját alkalmazásában, tekintse meg a mintakódot.

let speechRecognizer = try! SPXSpeechRecognizer(speechConfiguration: speechConfig, audioConfiguration: audioConfig)
// (Optional) get the session ID
speechRecognizer.addSessionStartedEventHandler { (sender, evt) in
	print("SESSION ID: \(evt.sessionId)")
try! pronConfig.apply(to: speechRecognizer)

let speechRecognitionResult = try? speechRecognizer.recognizeOnce()

// The pronunciation assessment result as a Speech SDK object
let pronunciationAssessmentResult = SPXPronunciationAssessmentResult(speechRecognitionResult!)

// The pronunciation assessment result as a JSON string
let pronunciationAssessmentResultJson = speechRecognitionResult!.properties?.getPropertyBy(SPXPropertyId.speechServiceResponseJsonResult)

Eredményparaméterek

Attól függően, hogy szkriptes vagy nem indexelt értékelést használ, különböző kiejtésértékelési eredményeket kaphat. A szkriptelt értékelés az olvasási nyelvtanulási forgatókönyvhöz készült. A nem leíró értékelés a beszélő nyelvtanulási forgatókönyvhöz tartozik.

Feljegyzés

A szkriptelt és a nem leíró értékelés közötti díjszabási különbségekért lásd: Díjszabás.

Szkriptelt értékelés eredményei

Ez a táblázat felsorolja a szkriptelt értékelés vagy olvasási forgatókönyv legfontosabb kiejtési értékelési eredményeit.

Paraméter Leírás Részletesség
AccuracyScore A beszéd kiejtési pontossága. A pontosság azt jelzi, hogy a fonimok milyen közel felelnek meg egy natív beszélő kiejtésének. A szótag-, szó- és teljes szöveges pontossági pontszámokat a rendszer a fonetikai szintű pontossági pontszámból összesíti, és az értékelési célokkal pontosítja. Telefonszint,
Szótagszint (csak az USA-ban),
Word-szint,
Teljes szövegszint
FluencyScore Az adott beszéd folyékonysága. A fluency azt jelzi, hogy a beszéd mennyire egyezik meg az natív beszélő szavak közötti csendes szüneteinek használatával. Teljes szövegszint
CompletenessScore A beszéd teljessége, a kimondott szavak és a bemeneti referenciaszöveg arányával számítva. Teljes szövegszint
ProsodyScore Az adott beszéd prófódiája. A prosodia azt jelzi, hogy mennyire természetes az adott beszéd, beleértve a stresszt, az intonációt, a beszéd sebességét és a ritmust. Teljes szövegszint
PronScore Az adott beszéd kiejtési minőségének összesített pontszáma. PronScoreaz , , FluencyScoreCompletenessScore, és ProsodyScore súly alapján van kiszámítvaAccuracyScore, feltéve, hogy ProsodyScore rendelkezésre állnak.CompletenessScore Ha egyik sem érhető el, PronScore nem veszi figyelembe ezt a pontszámot. Teljes szövegszint
ErrorType Ez az érték a hivatkozás szövegéhez viszonyított hibatípust jelzi. A beállítások közé tartozik, hogy egy szó kihagyva, beszúrva vagy helytelenül van-e beszúrva töréssel. Azt is jelzi, hogy az írásjelek hiányzó törést jeleznek. Azt is jelzi, hogy egy szó rosszul van-e kimondva, vagy monoton módon emelkedik, esik vagy lapos a kimondott szövegen. A lehetséges értékek None ebben a szóban, Omission, , Insertion, MispronunciationUnexpectedBreak, MissingBreakés Monotone. A hibatípus akkor lehet Mispronunciation , ha egy szó kiejtése AccuracyScore 60 alatt van. Word-szint

Nem leíró értékelés eredményei

Ez a táblázat felsorolja a nem leíró értékelés vagy beszédforgatókönyv legfontosabb kiejtési értékelési eredményeit.

VocabularyScore, GrammarScoreés TopicScore a paraméterek összegződnek a kombinált tartalomértékelésben.

Feljegyzés

A tartalom- és prózaértékelések csak az USA-beli területi beállításokban érhetők el.

Válaszparaméter Leírás Részletesség
AccuracyScore A beszéd kiejtési pontossága. A pontosság azt jelzi, hogy a fonimok milyen közel felelnek meg egy natív beszélő kiejtésének. A szótag-, szó- és teljes szöveges pontossági pontszámokat a rendszer a fonetikai szintű pontossági pontszám alapján összesíti, és az értékelési célokkal pontosítja. Telefonszint,
Szótagszint (csak az USA-ban),
Word-szint,
Teljes szövegszint
FluencyScore Az adott beszéd folyékonysága. A fluency azt jelzi, hogy a beszéd mennyire egyezik meg az natív beszélő szavak közötti csendes szüneteinek használatával. Teljes szövegszint
ProsodyScore Az adott beszéd prófódiája. A prosodia azt jelzi, hogy mennyire természetes az adott beszéd, beleértve a stresszt, az intonációt, a beszéd sebességét és a ritmust. Teljes szövegszint
VocabularyScore Jártasság a lexikális használatban. Kiértékeli a beszélő hatékonyan használja a szavakat, és azok megfelelőségét az adott kontextusban, hogy pontosan kifejezze elképzeléseit, és a lexikális összetettség szintjét. Teljes szövegszint
GrammarScore Helyesség a nyelvhelyesség és a különböző mondatminták használatában. A mondatszerkezetek lexikális pontossága, nyelvtani pontossága és sokfélesége együttesen emeli ki a nyelvtani hibákat. Teljes szövegszint
TopicScore A témakör megértésének és elkötelezettségének szintje, amely betekintést nyújt az előadó azon képességébe, hogy hatékonyan fejezze ki gondolatait és ötleteit, valamint hogy képes legyen kapcsolatba lépni a témával. Teljes szövegszint
PronScore Az adott beszéd kiejtési minőségének összesített pontszáma. PronScoreaz , FluencyScoreés ProsodyScore a súly alapján van kiszámítvaAccuracyScore, feltéve, hogy ProsodyScore elérhető. Ha ProsodyScore nem érhető el, PronScore akkor ezt a pontszámot nem veszi figyelembe. Teljes szövegszint
ErrorType Egy szó rosszul van kimondva, nem megfelelően van beszúrva töréssel, vagy hiányzik egy írásjeltörés. Azt is jelzi, hogy a kiejtés monoton módon emelkedik, esik vagy lapos a kimondott szövegen. A lehetséges értékek None ebben a szóbanMispronunciation, , , UnexpectedBreakMissingBreakés Monotone. Word-szint

Az alábbi táblázat részletesebben ismerteti a prosodiaértékelés eredményeit:

Mező Leírás
ProsodyScore A teljes kimondott szöveg prózai pontszáma.
Feedback Visszajelzés a szó szintjén, beleértve Break és Intonation.
Break
ErrorTypes Törésekkel kapcsolatos hibatípusok, beleértve UnexpectedBreak és MissingBreak. Az aktuális verzió nem adja meg a törési hiba típusát. Meg kell adnia a küszöbértékeket a mezőkön UnexpectedBreak – Confidence , és MissingBreak – confidence el kell döntenie, hogy váratlan vagy hiányzó törés van-e a szó előtt.
UnexpectedBreak Váratlan törést jelez a szó előtt.
MissingBreak Hiányzó törést jelez a szó előtt.
Thresholds Mindkét megbízhatósági pontszám javasolt küszöbértékei 0,75. Ez azt jelenti, hogy ha az érték UnexpectedBreak – Confidence nagyobb, mint 0,75, váratlan törést eredményez. Ha az érték MissingBreak – confidence nagyobb, mint 0,75, akkor hiányzik a törés. Bár a 0,75 egy ajánlott érték, érdemes a küszöbértékeket a saját forgatókönyve alapján módosítani. Ha ezen a két törésen változóészlelési érzékenységet szeretne használni, különböző küszöbértékeket rendelhet a mezőkhöz és MissingBreak - Confidence a UnexpectedBreak - Confidence mezőkhöz.
Intonation Intonációt jelez a beszédben.
ErrorTypes Az intonációhoz kapcsolódó hibatípusok, amelyek jelenleg csak a Monotone-t támogatják. Ha a Monotone szöveg szerepel a mezőben ErrorTypes, a kimondott szöveg monoton lesz. A rendszer a teljes kimondott szövegen monotont észlel, de a címke az összes szóhoz hozzá van rendelve. Az ugyanabban a kimondott szövegben lévő összes szó ugyanazt a monoton észlelési információt tartalmazza.
Monotone Monoton beszédet jelez.
Thresholds (Monotone Confidence) A mezők Monotone - SyllablePitchDeltaConfidence a felhasználó által testre szabott monoton észleléshez vannak fenntartva. Ha nincs megelégedve a megadott monoton döntéssel, módosítsa a mezők küszöbértékeit, hogy a beállításoknak megfelelően testre szabja az észlelést.

Példa JSON-eredményre

Az alábbi példában a "hello" kimondott szóhoz írt kiejtési értékelés eredménye JSON-sztringként jelenik meg.

  • A fonetikai ábécé az IPA.
  • A szótagok a fonefonok mellett ugyanahhoz a szóhoz lesznek visszaadva.
  • A szótagokat és Duration az Offset értékeket használhatja a szótagok és a hozzájuk tartozó fonefonok igazítására. A második szótag loʊ kezdő eltolása (11700000) például a harmadik fonáléhoz igazodik. l Az eltolás azt az időpontot jelöli, amikor a felismert beszéd megkezdődik a hangstreamben. Az érték mérése 100 nanoszekundumos egységekben történik. További információ és Offset Durationa választulajdonságok megtekintése.
  • A kért hanghívások számának öt NBestPhonemes felel meg.
  • Belül Phonemesa legvalószínűbben beszélt fofómok a várt fonál ɛhelyett .ə A várt telefon csak ɛ 47 megbízhatósági pontszámot kapott. Más potenciális találatok 52, 17 és 2 megbízhatósági pontszámot kaptak.
{
    "Id": "bbb42ea51bdb46d19a1d685e635fe173",
    "RecognitionStatus": 0,
    "Offset": 7500000,
    "Duration": 13800000,
    "DisplayText": "Hello.",
    "NBest": [
        {
            "Confidence": 0.975003,
            "Lexical": "hello",
            "ITN": "hello",
            "MaskedITN": "hello",
            "Display": "Hello.",
            "PronunciationAssessment": {
                "AccuracyScore": 100,
                "FluencyScore": 100,
                "CompletenessScore": 100,
                "PronScore": 100
            },
            "Words": [
                {
                    "Word": "hello",
                    "Offset": 7500000,
                    "Duration": 13800000,
                    "PronunciationAssessment": {
                        "AccuracyScore": 99.0,
                        "ErrorType": "None"
                    },
                    "Syllables": [
                        {
                            "Syllable": "hɛ",
                            "PronunciationAssessment": {
                                "AccuracyScore": 91.0
                            },
                            "Offset": 7500000,
                            "Duration": 4100000
                        },
                        {
                            "Syllable": "loʊ",
                            "PronunciationAssessment": {
                                "AccuracyScore": 100.0
                            },
                            "Offset": 11700000,
                            "Duration": 9600000
                        }
                    ],
                    "Phonemes": [
                        {
                            "Phoneme": "h",
                            "PronunciationAssessment": {
                                "AccuracyScore": 98.0,
                                "NBestPhonemes": [
                                    {
                                        "Phoneme": "h",
                                        "Score": 100.0
                                    },
                                    {
                                        "Phoneme": "oʊ",
                                        "Score": 52.0
                                    },
                                    {
                                        "Phoneme": "ə",
                                        "Score": 35.0
                                    },
                                    {
                                        "Phoneme": "k",
                                        "Score": 23.0
                                    },
                                    {
                                        "Phoneme": "æ",
                                        "Score": 20.0
                                    }
                                ]
                            },
                            "Offset": 7500000,
                            "Duration": 3500000
                        },
                        {
                            "Phoneme": "ɛ",
                            "PronunciationAssessment": {
                                "AccuracyScore": 47.0,
                                "NBestPhonemes": [
                                    {
                                        "Phoneme": "ə",
                                        "Score": 100.0
                                    },
                                    {
                                        "Phoneme": "l",
                                        "Score": 52.0
                                    },
                                    {
                                        "Phoneme": "ɛ",
                                        "Score": 47.0
                                    },
                                    {
                                        "Phoneme": "h",
                                        "Score": 17.0
                                    },
                                    {
                                        "Phoneme": "æ",
                                        "Score": 2.0
                                    }
                                ]
                            },
                            "Offset": 11100000,
                            "Duration": 500000
                        },
                        {
                            "Phoneme": "l",
                            "PronunciationAssessment": {
                                "AccuracyScore": 100.0,
                                "NBestPhonemes": [
                                    {
                                        "Phoneme": "l",
                                        "Score": 100.0
                                    },
                                    {
                                        "Phoneme": "oʊ",
                                        "Score": 46.0
                                    },
                                    {
                                        "Phoneme": "ə",
                                        "Score": 5.0
                                    },
                                    {
                                        "Phoneme": "ɛ",
                                        "Score": 3.0
                                    },
                                    {
                                        "Phoneme": "u",
                                        "Score": 1.0
                                    }
                                ]
                            },
                            "Offset": 11700000,
                            "Duration": 1100000
                        },
                        {
                            "Phoneme": "oʊ",
                            "PronunciationAssessment": {
                                "AccuracyScore": 100.0,
                                "NBestPhonemes": [
                                    {
                                        "Phoneme": "oʊ",
                                        "Score": 100.0
                                    },
                                    {
                                        "Phoneme": "d",
                                        "Score": 29.0
                                    },
                                    {
                                        "Phoneme": "t",
                                        "Score": 24.0
                                    },
                                    {
                                        "Phoneme": "n",
                                        "Score": 22.0
                                    },
                                    {
                                        "Phoneme": "l",
                                        "Score": 18.0
                                    }
                                ]
                            },
                            "Offset": 12900000,
                            "Duration": 8400000
                        }
                    ]
                }
            ]
        }
    ]
}

A kiejtési értékelési pontszámokat a következőhöz érheti el:

Támogatott funkciók területi beállítások szerint

Az alábbi táblázat összefoglalja, hogy mely funkciók támogatottak. További információkért tekintse meg a következő szakaszokat. Ha a szükséges területi beállítások nem szerepelnek a támogatott funkció alábbi táblázatában, további segítségért töltse ki ezt a beviteli űrlapot .

Fonetikai ábécé IPA SAPI
Telefonnév en-US en-US, zh-CN
Szótagcsoport en-US en-US
Beszélt telefon en-US en-US

Szótagcsoportok

A kiejtési értékelés szótagszintű értékelést adhat. A szó általában szótagként van kifejezve szótagként, nem pedig fotelmánként. A szótagok csoportosítása olvashatóbb, és igazodik a beszélő szokásokhoz.

A kiejtési értékelés csak az IPA-val és az SAPI-val támogatja a en-US szótagcsoportokat.

Az alábbi táblázat összehasonlítja a példa fotelmákat a megfelelő szótagokkal.

Mintaszó Fonefonok Szótagok
technológiai teknələdʒɪkl tek·nə·lɑ·dʒɪkl
Üdvözöljük hɛloʊ hɛ·loʊ
szerencse lʌk lʌk
fotoszintézis foʊtəsɪnθəsɪs foʊ·tə·sɪn·θə·sɪs

Ha szótagszintű eredményeket szeretne lekérni a fonefonokkal együtt, állítsa a részletességi konfigurációs paramétert a következőre Phoneme: .

Fonetikai ábécé formátuma

A kiejtési értékelés támogatja a telefonneveket az IPA-ban en-US és az SAPI-ban en-US és zh-CN az SAPI-ban.

A telefonneveket támogató területi beállítások esetében a telefonnév a pontszámmal együtt lesz megadva. A telefonnevek segítenek azonosítani, hogy mely fonetikai kifejezéseket ejtették pontosan vagy pontatlanul. Más területi beállítások esetén csak a fonálpontot kaphatja meg.

Az alábbi táblázat összehasonlítja a példa SAPI-fonémákat a megfelelő IPA-fonémákkal.

Mintaszó SAPI Phonemes IPA-fonémák
Üdvözöljük h eh l ow h ɛ l oʊ
szerencse l ah k l ʌ k
fotoszintézis f ow t ax s ih n th ax s ih s f oʊ t ə s ɪ n θ ə s ɪ s

Az IPA-fonémák kéréséhez állítsa a fonéma ábécét a következőre IPA: . Ha nem adja meg az ábécét, a fonetikusok alapértelmezés szerint SAPI formátumban vannak.

pronunciationAssessmentConfig.PhonemeAlphabet = "IPA";
auto pronunciationAssessmentConfig = PronunciationAssessmentConfig::CreateFromJson("{\"referenceText\":\"good morning\",\"gradingSystem\":\"HundredMark\",\"granularity\":\"Phoneme\",\"phonemeAlphabet\":\"IPA\"}");
PronunciationAssessmentConfig pronunciationAssessmentConfig = PronunciationAssessmentConfig.fromJson("{\"referenceText\":\"good morning\",\"gradingSystem\":\"HundredMark\",\"granularity\":\"Phoneme\",\"phonemeAlphabet\":\"IPA\"}");
pronunciation_assessment_config = speechsdk.PronunciationAssessmentConfig(json_string="{\"referenceText\":\"good morning\",\"gradingSystem\":\"HundredMark\",\"granularity\":\"Phoneme\",\"phonemeAlphabet\":\"IPA\"}")
var pronunciationAssessmentConfig = SpeechSDK.PronunciationAssessmentConfig.fromJSON("{\"referenceText\":\"good morning\",\"gradingSystem\":\"HundredMark\",\"granularity\":\"Phoneme\",\"phonemeAlphabet\":\"IPA\"}");
pronunciationAssessmentConfig.phonemeAlphabet = @"IPA";
pronunciationAssessmentConfig?.phonemeAlphabet = "IPA"

Beszélt hanghívások értékelése

A beszélt telefonnal megbízhatósági pontszámokat kaphat, amelyek jelzik, hogy a beszélt fotelek milyen valószínűséggel felelnek meg a várt fonefonoknak.

A kiejtési értékelés támogatja a beszélt fonémákat az IPA-val en-US és az SAPI-val.

Ha például a szó Helloteljes beszélt hangját szeretné megkapni, összefűzheti az első beszélt telefonhangot minden várt telefonhoz a legmagasabb megbízhatósági pontszámmal. A következő értékelési eredményben, amikor kimondja a szót hello, a várt IPA-fonémák lesznek h ɛ l oʊ. A tényleges beszélt telefonhangok azonban a következők h ə l oʊ: . Ebben a példában öt lehetséges jelöltje van minden várható telefonhoz. Az értékelés eredménye azt mutatja, hogy a legvalószínűbb beszélt telefonhang ə volt a várt fonál ɛhelyett. A várt telefon csak ɛ 47 megbízhatósági pontszámot kapott. Más potenciális találatok 52, 17 és 2 megbízhatósági pontszámot kaptak.

{
    "Id": "bbb42ea51bdb46d19a1d685e635fe173",
    "RecognitionStatus": 0,
    "Offset": 7500000,
    "Duration": 13800000,
    "DisplayText": "Hello.",
    "NBest": [
        {
            "Confidence": 0.975003,
            "Lexical": "hello",
            "ITN": "hello",
            "MaskedITN": "hello",
            "Display": "Hello.",
            "PronunciationAssessment": {
                "AccuracyScore": 100,
                "FluencyScore": 100,
                "CompletenessScore": 100,
                "PronScore": 100
            },
            "Words": [
                {
                    "Word": "hello",
                    "Offset": 7500000,
                    "Duration": 13800000,
                    "PronunciationAssessment": {
                        "AccuracyScore": 99.0,
                        "ErrorType": "None"
                    },
                    "Syllables": [
                        {
                            "Syllable": "hɛ",
                            "PronunciationAssessment": {
                                "AccuracyScore": 91.0
                            },
                            "Offset": 7500000,
                            "Duration": 4100000
                        },
                        {
                            "Syllable": "loʊ",
                            "PronunciationAssessment": {
                                "AccuracyScore": 100.0
                            },
                            "Offset": 11700000,
                            "Duration": 9600000
                        }
                    ],
                    "Phonemes": [
                        {
                            "Phoneme": "h",
                            "PronunciationAssessment": {
                                "AccuracyScore": 98.0,
                                "NBestPhonemes": [
                                    {
                                        "Phoneme": "h",
                                        "Score": 100.0
                                    },
                                    {
                                        "Phoneme": "oʊ",
                                        "Score": 52.0
                                    },
                                    {
                                        "Phoneme": "ə",
                                        "Score": 35.0
                                    },
                                    {
                                        "Phoneme": "k",
                                        "Score": 23.0
                                    },
                                    {
                                        "Phoneme": "æ",
                                        "Score": 20.0
                                    }
                                ]
                            },
                            "Offset": 7500000,
                            "Duration": 3500000
                        },
                        {
                            "Phoneme": "ɛ",
                            "PronunciationAssessment": {
                                "AccuracyScore": 47.0,
                                "NBestPhonemes": [
                                    {
                                        "Phoneme": "ə",
                                        "Score": 100.0
                                    },
                                    {
                                        "Phoneme": "l",
                                        "Score": 52.0
                                    },
                                    {
                                        "Phoneme": "ɛ",
                                        "Score": 47.0
                                    },
                                    {
                                        "Phoneme": "h",
                                        "Score": 17.0
                                    },
                                    {
                                        "Phoneme": "æ",
                                        "Score": 2.0
                                    }
                                ]
                            },
                            "Offset": 11100000,
                            "Duration": 500000
                        },
                        {
                            "Phoneme": "l",
                            "PronunciationAssessment": {
                                "AccuracyScore": 100.0,
                                "NBestPhonemes": [
                                    {
                                        "Phoneme": "l",
                                        "Score": 100.0
                                    },
                                    {
                                        "Phoneme": "oʊ",
                                        "Score": 46.0
                                    },
                                    {
                                        "Phoneme": "ə",
                                        "Score": 5.0
                                    },
                                    {
                                        "Phoneme": "ɛ",
                                        "Score": 3.0
                                    },
                                    {
                                        "Phoneme": "u",
                                        "Score": 1.0
                                    }
                                ]
                            },
                            "Offset": 11700000,
                            "Duration": 1100000
                        },
                        {
                            "Phoneme": "oʊ",
                            "PronunciationAssessment": {
                                "AccuracyScore": 100.0,
                                "NBestPhonemes": [
                                    {
                                        "Phoneme": "oʊ",
                                        "Score": 100.0
                                    },
                                    {
                                        "Phoneme": "d",
                                        "Score": 29.0
                                    },
                                    {
                                        "Phoneme": "t",
                                        "Score": 24.0
                                    },
                                    {
                                        "Phoneme": "n",
                                        "Score": 22.0
                                    },
                                    {
                                        "Phoneme": "l",
                                        "Score": 18.0
                                    }
                                ]
                            },
                            "Offset": 12900000,
                            "Duration": 8400000
                        }
                    ]
                }
            ]
        }
    ]
}

Annak jelzéséhez, hogy a megbízhatósági pontszámok lekéréséhez és hány lehetséges beszélt fotelhez állítsa be a NBestPhonemeCount paramétert egész számra, például 5.

pronunciationAssessmentConfig.NBestPhonemeCount = 5;
auto pronunciationAssessmentConfig = PronunciationAssessmentConfig::CreateFromJson("{\"referenceText\":\"good morning\",\"gradingSystem\":\"HundredMark\",\"granularity\":\"Phoneme\",\"phonemeAlphabet\":\"IPA\",\"nBestPhonemeCount\":5}");
PronunciationAssessmentConfig pronunciationAssessmentConfig = PronunciationAssessmentConfig.fromJson("{\"referenceText\":\"good morning\",\"gradingSystem\":\"HundredMark\",\"granularity\":\"Phoneme\",\"phonemeAlphabet\":\"IPA\",\"nBestPhonemeCount\":5}");
pronunciation_assessment_config = speechsdk.PronunciationAssessmentConfig(json_string="{\"referenceText\":\"good morning\",\"gradingSystem\":\"HundredMark\",\"granularity\":\"Phoneme\",\"phonemeAlphabet\":\"IPA\",\"nBestPhonemeCount\":5}")
var pronunciationAssessmentConfig = SpeechSDK.PronunciationAssessmentConfig.fromJSON("{\"referenceText\":\"good morning\",\"gradingSystem\":\"HundredMark\",\"granularity\":\"Phoneme\",\"phonemeAlphabet\":\"IPA\",\"nBestPhonemeCount\":5}");
pronunciationAssessmentConfig.nbestPhonemeCount = 5;
pronunciationAssessmentConfig?.nbestPhonemeCount = 5

Kiejtési pontszám kiszámítása

A kiejtési pontszámokat a pontosság, a proszóditás, a folyékonyság és a teljességi pontszámok súlyozásával számítjuk ki az olvasási és beszédes forgatókönyvek adott képletei alapján.

A pontosság, a proszóditás, a folyékonyság és a teljesség pontszámának alacsonyról magasra történő rendezésekor (ha minden pontszám elérhető), és a legalacsonyabb pontszámot a legmagasabb pontszámra 0-tól s3-ra jelölő értékre rendezi, a kiejtési pontszám kiszámítása az alábbiak szerint történik:

Olvasási forgatókönyv esetén:

  • PronScore = 0,4 * s0 + 0,2 * s1 + 0,2 * s2 + 0,2 * s3
  • Prosody pontszám nélkül: PronScore = 0,6 * s0 + 0,2 * s1 + 0,2 * s2

A beszélő forgatókönyv esetében (a teljességi pontszám nem alkalmazható):

  • PronScore = 0,6 * s0 + 0,2 * s1 + 0,2 * s2
  • Prosody pontszám nélkül: PronScore = 0,6 * s0 + 0,4 * s1

Ez a képlet az egyes pontszámok fontossága alapján súlyozott számítást biztosít, amely biztosítja a kiejtés átfogó kiértékelését.