استخدم تقييم النطق
في هذه المقالة، ستتعلم كيفية تقييم النطق باستخدام الكلام إلى النص من خلال 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 و CompletenessScore FluencyScore و و و ProsodyScore بوزن شريطة أن ProsodyScore يكون و CompletenessScore متوفرين. إذا لم يكن أي منهما متوفرا، PronScore فلن يأخذ في الاعتبار هذه النتيجة. |
مستوى النص الكامل |
ErrorType |
تشير هذه القيمة إلى نوع الخطأ مقارنة بالنص المرجعي. تتضمن الخيارات ما إذا تم حذف كلمة أو إدراجها أو إدراجها بشكل غير صحيح مع فاصل. كما يشير إلى فاصل مفقود في علامات الترقيم. كما يشير إلى ما إذا كانت الكلمة واضحة بشكل سيئ، أو ترتفع بشكل رتيبة، أو تسقط، أو مسطحة على التعبير. القيم المحتملة هي None بدون خطأ في هذه الكلمة و Omission Insertion و. Mispronunciation Monotone UnexpectedBreak MissingBreak يمكن أن يكون نوع الخطأ عندما يكون 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 بدون خطأ في هذه الكلمة و Mispronunciation UnexpectedBreak MissingBreak و.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
المحتوى ذو الصلة
- تعرف على معيار الجودة.
- جرب تقييم النطق في الاستوديو.
- تحقق من عرض توضيحي سهل النشر لتقييم النطق.
- شاهد العرض التوضيحي للفيديو لتقييم النطق.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ