استخدم تقييم النطق

في هذه المقالة، ستتعلم كيفية تقييم النطق باستخدام الكلام إلى النص من خلال Speech SDK. تقييم النطق يقيّم نطق الكلام ويعطي المتحدثين ملاحظات حول دقة وطلاقة الصوت المنطوق.

استخدام تقييم النطق في وضع الدفق

يدعم تقييم النطق وضع الدفق دون انقطاع. يمكن أن يكون وقت التسجيل غير محدود من خلال Speech SDK. طالما أنك لا تتوقف عن التسجيل، فلن تنتهي عملية التقييم ويمكنك إيقاف التقييم مؤقتا واستئنافه بشكل ملائم.

للحصول على معلومات حول توفر تقييم النطق، راجع اللغات المدعومة والمناطق المتوفرة.

كخط أساسي، يكلف استخدام تقييم النطق نفس تكاليف الكلام إلى النص لتسعير الدفع أولا بأول أو مستوى الالتزام. إذا قمت بشراء مستوى التزام لتحويل الكلام إلى نص، فإن الإنفاق على تقييم النطق يذهب نحو الوفاء بالالتزام. لمزيد من المعلومات، راجع الأسعار.

لمعرفة كيفية استخدام تقييم النطق في وضع الدفق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

لمعرفة كيفية استخدام تقييم النطق في وضع الدفق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

لمعرفة كيفية استخدام تقييم النطق في وضع الدفق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

لمعرفة كيفية استخدام تقييم النطق في وضع الدفق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

لمعرفة كيفية استخدام تقييم النطق في وضع الدفق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

لمعرفة كيفية استخدام تقييم النطق في وضع الدفق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

لمعرفة كيفية استخدام تقييم النطق في وضع الدفق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

تعيين معلمات التكوين

إشعار

لا يتوفر تقييم النطق باستخدام Speech SDK for Go. يمكنك قراءة المفاهيم في هذا الدليل. حدد لغة برمجة أخرى للحل الخاص بك.

SpeechRecognizerفي ، يمكنك تحديد اللغة التي تريد تعلمها أو التدرب على تحسين النطق. الإعدادات المحلية الافتراضية هي en-US. لمعرفة كيفية تحديد لغة التعلم لتقييم النطق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

تلميح

إذا لم تكن متأكدا من الإعدادات المحلية التي يجب تعيينها للغة تحتوي على لغات متعددة، فجرب كل الإعدادات المحلية بشكل منفصل. على سبيل المثال، بالنسبة للإسبانية، حاول es-ES و es-MX. حدد درجات اللغة الأعلى للسيناريو الخاص بك.

يجب إنشاء كائن PronunciationAssessmentConfig . يمكنك تعيين EnableProsodyAssessment وتمكين EnableContentAssessmentWithTopic تقييم prosody والمحتوى. لمزيد من المعلومات، راجع أساليب التكوين.

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")

يسرد هذا الجدول بعض معلمات التكوين الرئيسية لتقييم النطق.

المعلمة ‏‏الوصف‬
ReferenceText النص الذي يتم تقييم النطق مقابله.

المعلمة ReferenceText اختيارية. قم بتعيين النص المرجعي إذا كنت تريد تشغيل تقييم نصي لسيناريو تعلم لغة القراءة. لا تقم بتعيين النص المرجعي إذا كنت تريد تشغيل تقييم غير محدد.

للحصول على اختلافات التسعير بين التقييم النصي وغير المحدد، راجع التسعير.
GradingSystem نظام النقاط لمعايرة النتيجة. FivePoint يعطي نقطة عائمة 0-5 درجة. HundredMark يعطي درجة نقطة عائمة من 0 إلى 100. افتراضي: FivePoint.
Granularity تحديد أدنى مستوى من دقة التقييم. إرجاع درجات المستويات الأكبر من أو تساوي الحد الأدنى للقيمة. القيم المقبولة هي Phoneme، والتي تعرض النتيجة على مستوى النص الكامل والكلمة والمنطق والهاتف، Wordوالتي تعرض النتيجة على النص الكامل ومستوى الكلمة، أو FullText، والتي تعرض النتيجة على مستوى النص الكامل فقط. يمكن أن يكون النص المرجعي الكامل المتوفر كلمة أو جملة أو فقرة. يعتمد ذلك على النص المرجعي للإدخل. افتراضي: Phoneme.
EnableMiscue تمكّن الحساب الخاطئ عند مقارنة الكلمات المنطوقة بالنص المرجعي. تمكين الخطأ اختياري. إذا كانت هذه القيمة هي True، يمكن تعيين قيمة النتيجة ErrorType إلى Omission أو Insertion استناداً إلى المقارنة. القيم هي False و True. افتراضي: False. لتمكين حساب الأخطاء، قم بتعيين EnableMiscue إلى True. يمكنك الرجوع إلى مقتطف التعليمات البرمجية أعلى الجدول.
ScenarioId GUID لنظام نقطة مخصص.

أساليب التكوين

يسرد هذا الجدول بعض الطرق الاختيارية التي يمكنك تعيينها للكائن PronunciationAssessmentConfig .

إشعار

لا تتوفر تقييمات المحتوى والتقييمات الاحترافية إلا في الإعدادات المحلية ل en-US .

لاستكشاف المحتوى وتقييمات prosody، قم بالترقية إلى إصدار SDK 1.35.0 أو أحدث.

الطريقة ‏‏الوصف
EnableProsodyAssessment تمكين تقييم النطق لتقييم النطق الخاص بك. تقوم هذه الميزة بتقييم جوانب مثل التوتر، والتجميع، وسرعة التحدث، والإيقاع. توفر هذه الميزة رؤى حول الطبيعة والتعبير عن كلامك.

تمكين تقييم prosody اختياري. إذا تم استدعاء هذا الأسلوب، ProsodyScore يتم إرجاع قيمة النتيجة.
EnableContentAssessmentWithTopic تمكين تقييم المحتوى. تقييم المحتوى هو جزء من التقييم غير المحدد لسيناريو تعلم اللغة الناطقة. من خلال تقديم وصف، يمكنك تحسين فهم التقييم للموضوع المحدد الذي يتم التحدث عنه. على سبيل المثال، في استدعاء pronunciationAssessmentConfig.EnableContentAssessmentWithTopic("greeting");C# . يمكنك استبدال "الترحيب" بالنص المطلوب لوصف موضوع. لا يحتوي الوصف على حد طول ولا يدعم en-US حاليا سوى اللغة.

الحصول على نتائج تقييم النطق

عند التعرف على الكلام، يمكنك طلب نتائج تقييم النطق كعناصر SDK أو سلسلة JSON.

using (var speechRecognizer = new SpeechRecognizer(
    speechConfig,
    audioConfig))
{
    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);
}

لا تتوفر نتائج Word وsyllable وphoneme باستخدام كائنات SDK مع Speech SDK ل C++. تتوفر نتائج الكلمات، والمقاطع اللفظية، والمقاطع الصوتية فقط في سلسلة JSON.

auto speechRecognizer = SpeechRecognizer::FromConfig(
    speechConfig,
    audioConfig);

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);

لمعرفة كيفية تحديد لغة التعلم لتقييم النطق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

لتطوير تطبيقات Android، تتوفر الكلمة ونتائج المقاطع والهاتف باستخدام كائنات SDK مع Speech SDK ل Java. تتوفر النتائج أيضاً في سلسلة JSON. بالنسبة لتطوير تطبيق Java Runtime (JRE)، تتوفر نتائج الكلمات والمقاطع اللفظية والمقاطع الصوتية فقط في سلسلة JSON.

SpeechRecognizer speechRecognizer = new SpeechRecognizer(
    speechConfig,
    audioConfig);

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);

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);
},
{});

لمعرفة كيفية تحديد لغة التعلم لتقييم النطق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

speech_recognizer = speechsdk.SpeechRecognizer(
        speech_config=speech_config, \
        audio_config=audio_config)

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)

لمعرفة كيفية تحديد لغة التعلم لتقييم النطق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

SPXSpeechRecognizer* speechRecognizer = \
        [[SPXSpeechRecognizer alloc] initWithSpeechConfiguration:speechConfig
                                              audioConfiguration:audioConfig];

[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];

لمعرفة كيفية تحديد لغة التعلم لتقييم النطق في التطبيق الخاص بك، راجع نموذج التعليمات البرمجية.

let speechRecognizer = try! SPXSpeechRecognizer(speechConfiguration: speechConfig, audioConfiguration: audioConfig)

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)

معلمات النتيجة

اعتمادا على ما إذا كنت تستخدم تقييما نصيا أو غير مبرمج ، يمكنك الحصول على نتائج مختلفة لتقييم النطق. التقييم النصي هو لسيناريو تعلم لغة القراءة. التقييم غير المحدد مخصص لسيناريو تعلم اللغة الناطقة.

إشعار

للحصول على اختلافات التسعير بين التقييم النصي وغير المحدد، راجع التسعير.

نتائج التقييم المكتوبة

يسرد هذا الجدول بعض نتائج تقييم النطق الرئيسية للتقييم النصي أو سيناريو القراءة.

المعلمة ‏‏الوصف‬ النقاوة
AccuracyScore دقة نطق الكلام. تشير الدقة إلى مدى تطابق الصوتيات مع نطق المتحدث الأصلي. يتم تجميع درجات دقة النص المقطعي والكلمة والنص الكامل من درجة الدقة على مستوى الهاتف، ويتم تحسينها مع أهداف التقييم. مستوى الهاتف me،
مستوى المقاطع (en-US فقط)،
مستوى Word،
مستوى النص الكامل
FluencyScore الطلاقة في الكلام المحدد. تشير الطلاقة إلى مدى تطابق الكلام مع استخدام المتحدث الأصلي للفواصل الصامتة بين الكلمات. مستوى النص الكامل
CompletenessScore اكتمال الكلام، يتم حسابه عن طريق نسبة الكلمات المنطوقة إلى نص الإدخال المرجعي. مستوى النص الكامل
ProsodyScore نواة الكلام المحدد. Prosody يشير إلى مدى طبيعية الكلام المحدد، بما في ذلك الإجهاد، والرجم، وسرعة التحدث، والإيقاع. مستوى النص الكامل
PronScore الدرجة الإجمالية لجودة النطق للكلام المحدد. PronScoreيتم حساب من AccuracyScoreو CompletenessScoreFluencyScoreو و و ProsodyScore بوزن شريطة أن ProsodyScore يكون و CompletenessScore متوفرين. إذا لم يكن أي منهما متوفرا، PronScore فلن يأخذ في الاعتبار هذه النتيجة. مستوى النص الكامل
ErrorType تشير هذه القيمة إلى نوع الخطأ مقارنة بالنص المرجعي. تتضمن الخيارات ما إذا تم حذف كلمة أو إدراجها أو إدراجها بشكل غير صحيح مع فاصل. كما يشير إلى فاصل مفقود في علامات الترقيم. كما يشير إلى ما إذا كانت الكلمة واضحة بشكل سيئ، أو ترتفع بشكل رتيبة، أو تسقط، أو مسطحة على التعبير. القيم المحتملة هي None بدون خطأ في هذه الكلمة و OmissionInsertionو. MispronunciationMonotoneUnexpectedBreakMissingBreak يمكن أن يكون نوع الخطأ عندما يكون Mispronunciation نطق AccuracyScore كلمة أقل من 60. مستوى Word

نتائج التقييم غير المحددة

يسرد هذا الجدول بعض نتائج تقييم النطق الرئيسية للتقييم غير المحدد أو سيناريو التحدث.

VocabularyScoreتظهر GrammarScoreالمعلمات و و TopicScore لتقييم المحتوى المدمج.

إشعار

لا تتوفر تقييمات المحتوى والتقييمات الاحترافية إلا في الإعدادات المحلية ل en-US .

معلمة الاستجابة ‏‏الوصف النقاوة
AccuracyScore دقة نطق الكلام. تشير الدقة إلى مدى تطابق الصوتيات مع نطق المتحدث الأصلي. يتم تجميع درجات دقة المقطع والكلمة والنص الكامل من درجة الدقة على مستوى الهاتف، ويتم تحسينها مع أهداف التقييم. مستوى الهاتف me،
مستوى المقاطع (en-US فقط)،
مستوى Word،
مستوى النص الكامل
FluencyScore الطلاقة في الكلام المحدد. تشير الطلاقة إلى مدى تطابق الكلام مع استخدام المتحدث الأصلي للفواصل الصامتة بين الكلمات. مستوى النص الكامل
ProsodyScore نواة الكلام المحدد. Prosody يشير إلى مدى طبيعية الكلام المحدد، بما في ذلك الإجهاد، والرجم، وسرعة التحدث، والإيقاع. مستوى النص الكامل
VocabularyScore الكفاءة في الاستخدام المعجمي. وهو يقيم الاستخدام الفعال للمتحدث للكلمات وملاءمتها في السياق المحدد للتعبير عن الأفكار بدقة، ومستوى التعقيد المعجمي. مستوى النص الكامل
GrammarScore التصحيح في استخدام التدقيق النحوي وأنماط الجملة المتنوعة. ترفع الدقة المعجمية والدقة النحوية وتنوع بنيات الجملة بشكل مشترك من الأخطاء النحوية. مستوى النص الكامل
TopicScore مستوى الفهم والتفاعل مع الموضوع، والذي يوفر رؤى حول قدرة المتحدث على التعبير عن أفكاره وأفكاره بفعالية والقدرة على التعامل مع الموضوع. مستوى النص الكامل
PronScore الدرجة الإجمالية لجودة النطق للكلام المحدد. PronScore يتم حسابها من AccuracyScore، FluencyScoreو، و، و ProsodyScore مع الوزن، شريطة أن ProsodyScore يكون متوفرا. إذا ProsodyScore لم يكن متوفرا، PronScore فلن تفكر في هذه النتيجة. مستوى النص الكامل
ErrorType يتم نطق الكلمة بشكل سيئ، أو إدراجها بشكل غير صحيح مع فاصل، أو فقدان فاصل في علامات الترقيم. كما يشير إلى ما إذا كان النطق يرتفع بشكل رتيبة أو يسقط أو مسطحا على النطق. القيم المحتملة هي None بدون خطأ في هذه الكلمة و MispronunciationUnexpectedBreakMissingBreakو.Monotone مستوى Word

يصف الجدول التالي نتائج تقييم prosody بمزيد من التفصيل:

الحقل ‏‏الوصف
ProsodyScore درجة Prosody من التعبير بأكمله.
Feedback الملاحظات على مستوى الكلمة، بما في ذلك Break و Intonation.
Break
ErrorTypes أنواع الأخطاء المتعلقة بالفواصل، بما في ذلك UnexpectedBreak و MissingBreak. لا يوفر الإصدار الحالي نوع خطأ التوقف. تحتاج إلى تعيين حدود على الحقول UnexpectedBreak – Confidence وتحديد MissingBreak – confidence ما إذا كان هناك فاصل غير متوقع أو فاصل مفقود قبل الكلمة.
UnexpectedBreak يشير إلى فاصل غير متوقع قبل الكلمة.
MissingBreak يشير إلى فاصل مفقود قبل الكلمة.
Thresholds العتبات المقترحة على كلتا درجات الثقة هي 0.75. وهذا يعني أنه إذا كانت قيمة UnexpectedBreak – Confidence أكبر من 0.75، فإن لها فاصلا غير متوقع. إذا كانت قيمة MissingBreak – confidence أكبر من 0.75، فإنه يحتوي على فاصل مفقود. في حين أن 0.75 هي قيمة نوصي بها، فمن الأفضل ضبط الحدود استنادا إلى السيناريو الخاص بك. إذا كنت تريد أن يكون لديك حساسية الكشف عن المتغيرات على هذين الفاصلين، يمكنك تعيين حدود مختلفة للحولتين UnexpectedBreak - Confidence و MissingBreak - Confidence .
Intonation يشير إلى التجفير في الكلام.
ErrorTypes أنواع الأخطاء المتعلقة بالتجميع، التي تدعم حاليا الرتابة فقط. Monotone إذا كان موجودا في الحقل ErrorTypes، يتم الكشف عن الألفاظ لتكون رتيبة. يتم الكشف عن الرتابة على التعبير بأكمله، ولكن يتم تعيين العلامة لجميع الكلمات. تشترك جميع الكلمات في نفس التعبير في نفس معلومات الكشف عن الرتابة.
Monotone يشير إلى الكلام الرتيب.
Thresholds (Monotone Confidence) الحقول Monotone - SyllablePitchDeltaConfidence محجوزة للكشف عن الرتابة المخصصة من قبل المستخدم. إذا لم تكن راضيا عن قرار الرتابة المقدم، فاضبط الحدود على هذه الحقول لتخصيص الكشف وفقا لتفضيلاتك.

مثال على نتيجة JSON

تظهر نتائج تقييم النطق المكتوبة للكلمة المنطوقة "hello" كسلسلة JSON في المثال التالي.

  • الأبجدية الصوتية هي نظام أتمتة العمليات الذكية.
  • يتم إرجاع المقاطع جنباً إلى جنب مع المقاطع الصوتية لنفس الكلمة.
  • يمكنك استخدام القيم Offset وDuration لمحاذاة المقاطع مع الصوتيات المقابلة لها. على سبيل المثال، تتم محاذاة إزاحة البدء (11700000) من المقطع loʊ الثاني مع الهاتف الثالث، l. تمثل الإزاحة الوقت الذي يبدأ فيه الكلام الذي تم التعرف عليه في دفق الصوت. يتم قياس القيمة بوحدات 100 نانو ثانية. لمعرفة المزيد حول Offset و Duration، راجع خصائص الاستجابة.
  • هناك خمسة NBestPhonemes تتوافق مع عدد الرسائل الصوتية المنطوقة المطلوبة.
  • ضمن Phonemes، كانت المقاطع الصوتية المنطوقة الأكثر احتمالاً ə بدلاً من المقطع الصوتي المتوقع ɛ. تلقى المقطع الصوتي المتوقع ɛ درجة ثقة فقط من 47. حصلت المطابقات المحتملة الأخرى على درجات ثقة من 52، و17، و2.
{
    "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
                        }
                    ]
                }
            ]
        }
    ]
}

يمكنك الحصول على درجات تقييم النطق من أجل:

  • النص الكامل
  • الكلمات
  • مجموعات المقاطع
  • الهاتف الرسائل في تنسيق SAPI أو IPA

الميزات المدعومة لكل إعدادات محلية

يلخص الجدول التالي الميزات التي تدعمها لغة. لمزيد من التحديدات، راجع الأقسام التالية. إذا لم تكن الحقول المحلية التي تحتاجها مدرجة في الجدول التالي للميزة المدعومة، فاملأ نموذج الاستيعاب هذا للحصول على مزيد من المساعدة.

الهاتف أبجدية مخطط الأبجدية الصوتية الدولية Sapi
اسم الهاتف me en-US en-US, zh-CN
مجموعة المقاطع en-US en-US
صوتيات منطوقة en-US en-US

مجموعات المقاطع

يمكن أن يوفر تقييم النطق نتائج تقييم على مستوى المقاطع. عادة ما تنطق الكلمة مقطعا بواسطة مقطع بدلا من phoneme بواسطة phoneme. يعد التجميع في المقاطع أكثر وضوحا وتتماشى مع عادات التحدث.

يدعم تقييم النطق المجموعات المقطعية فقط في en-US مع IPA ومع SAPI.

يقارن الجدول التالي أمثلة صوتيات مع المقاطع المقابلة.

عينة كلمة الصوتيات المقاطع
التكنولوجية teknələdʒɪkl tek·nə·lɑ·dʒɪkl
hello hɛloʊ hɛ·loʊ
الحظ lʌk lʌk
التمثيل الضوئي foʊtəsɪnθəsɪs foʊ·tə·sɪn·θə·sɪs

لطلب نتائج على مستوى المقاطع جنباً إلى جنب مع الصوتيات، عيّن معلمة تكوين النقاوة إلى Phoneme.

تنسيق أبجدي للصوتيات

يدعم تقييم النطق اسم الهاتف في en-US مع IPA و في en-US و zh-CN مع SAPI.

بالنسبة إلى الإعدادات المحلية التي تدعم اسم phoneme، يتم توفير اسم phoneme مع النتيجة. تساعد أسماء الهاتف م على تحديد الرسائل الصوتية التي تم نطقها بدقة أو بشكل غير دقيق. بالنسبة إلى الإعدادات المحلية الأخرى، يمكنك فقط الحصول على درجة phoneme.

يقارن الجدول التالي مثالاً للصوتيات بواجهة برمجة تطبيقات الخادم مع الصوتيات المقابلة لنظام أتمتة العمليات الذكية.

عينة كلمة صوتيات واجهة برمجة تطبيقات الخادم صوتيات نظام أتمتة العمليات الذكية
hello h eh l ow h ɛ l oʊ
الحظ l ah k l ʌ k
التمثيل الضوئي f ow t ax s ih n th ax s ih s f oʊ t ə s ɪ n θ ə s ɪ s

لطلب صوتيات نظام أتمتة العمليات الذكية، عيّن الأبجدية للصوتيات إلى IPA. إذا لم تحدد الأبجدية، تكون الرسائل الصوتية بتنسيق SAPI بشكل افتراضي.

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"

تقييم الرسائل الصوتية المنطوقة

باستخدام الرسائل الصوتية المنطوقة، يمكنك الحصول على درجات الثقة التي تشير إلى مدى احتمال تطابق الهواتف المنطوقة مع الرسائل الهاتفية المتوقعة.

يدعم تقييم النطق النطق الصوتي المنطوق باستخدام en-US IPA ومع SAPI.

على سبيل المثال، للحصول على الصوت المنطوق الكامل للكلمة Hello، يمكنك تسلسل أول هاتف منطوق لكل هاتف متوقع بأعلى درجة ثقة. في نتيجة التقييم التالية، عند التحدث بالكلمة hello، تكون هواتف IPA المتوقعة هي h ɛ l oʊ. ومع ذلك، فإن الرسائل الصوتية الفعلية المنطوقة هي h ə l oʊ. لديك خمسة مرشحين محتملين لكل هاتف هاتفي متوقع في هذا المثال. تظهر نتيجة التقييم أن الهاتف المنطوق الأكثر احتمالا كان ə بدلا من الهاتف ɛالمتوقع . تلقى المقطع الصوتي المتوقع ɛ درجة ثقة فقط من 47. حصلت المطابقات المحتملة الأخرى على درجات ثقة من 52، و17، و2.

{
    "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
                        }
                    ]
                }
            ]
        }
    ]
}

للإشارة إلى المقاطع الصوتية المنطوقة المحتملة وعددها، أيّاً كان، للحصول على درجات الثقة لها، عيّن المعلمة NBestPhonemeCount إلى قيمة عدد صحيح مثل 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