قم بتبسيط رعاية المرضى باستخدام مساعد صوتي مخصص باستخدام Amazon Lex V2

عقدة المصدر: 988220

على مدى العقود القليلة الماضية، كان إرهاق الأطباء يمثل تحديًا في صناعة الرعاية الصحية. على الرغم من أن تفاعل المريض وتشخيصه يعدان جانبين حاسمين في عمل الطبيب، إلا أن المهام الإدارية مرهقة وتستغرق وقتًا طويلاً. يجب على الأطباء والأطباء الاحتفاظ بسجل طبي مفصل لكل مريض. يتم تخزين هذا السجل في نظام السجل الصحي الإلكتروني (EHR) بالمستشفى، وهو قاعدة بيانات تحتوي على سجلات كل مريض في المستشفى. وللحفاظ على هذه السجلات، يقضي الأطباء في كثير من الأحيان عدة ساعات كل يوم لإدخال البيانات يدويًا في نظام السجلات الصحية الإلكترونية، مما يؤدي إلى انخفاض الإنتاجية وزيادة الإرهاق.

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

ستتعرف في هذا المنشور على أهمية المساعدين الصوتيين وكيف يمكنهم أتمتة المهام الإدارية للأطباء. سنتعرف أيضًا على كيفية إنشاء مساعد صوتي مخصص باستخدام PocketSphinx و أمازون ليكس.

المساعدين الصوتيين كحل لإرهاق الطبيب

بدأ المساعدون الصوتيون الآن في أتمتة الأجزاء الحيوية واليدوية من رعاية المرضى. يمكن أن تكون أداة قوية لمساعدة الأطباء على توفير الوقت وتقليل التوتر وقضاء المزيد من الوقت في التركيز على المريض مقابل المتطلبات الإدارية للتوثيق السريري.

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

باعتبارنا مهندسي حلول يعملون في قطاع الرعاية الصحية، فإننا نرى اتجاهًا متزايدًا نحو اعتماد المساعدين الصوتيين في المستشفيات وغرف المرضى.

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

بنية حلول المساعد الصوتي المخصصة

يعرض الرسم البياني التالي للبنية نظرة عامة عالية المستوى على الحل الذي نقدمه.

في الحل الذي نقدمه، نتعامل أولاً مع برنامج مساعد صوتي يعمل على جهاز الكمبيوتر الخاص بك. بعد التعرف على كلمة التنبيه، يبدأ المساعد الصوتي في تسجيل ما تقوله ويرسل الصوت إلى Amazon Lex، حيث يستخدم AWS لامدا وظيفة لاسترداد بيانات المريض الوهمية المخزنة في الأمازون DynamoDB. يتم إنشاء بيانات المستشعر بواسطة برنامج Python آخر، generate_data.py، والذي تقوم بتشغيله أيضًا على جهاز الكمبيوتر الخاص بك.

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

أنت الآن جاهز لإنشاء المكونات اللازمة لهذا الحل.

نشر موارد الحل الخاص بك

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

يجب عليك نشر جدول DynamoDB ووظيفة Lambda مباشرةً عن طريق الاختيار قم بتشغيل Stack.

تكوين سحابة AWS يستغرق المكدس بضع دقائق حتى يكتمل. عند الانتهاء، يمكنك الذهاب إلى الموارد علامة التبويب للتحقق من وظيفة Lambda وجدول DynamoDB الذي تم إنشاؤه. لاحظ اسم وظيفة Lambda لأننا سنشير إليه لاحقًا عند إنشاء روبوت Amazon Lex.

قم بإنشاء روبوت Amazon Lex

عند اكتمال مكدس CloudFormation، نكون جاهزين لإنشاء روبوت Amazon Lex. في هذا المنشور، نستخدم وحدة التحكم V2 الأحدث.

  1. على وحدة Amazon Amazon ، اختر قم بالتبديل إلى وحدة التحكم Lex V2 الجديدة.
  2. في جزء التنقل ، اختر البوتات.
  3. اختار إنشاء بوت.
  4. في حالة اسم البوت، أدخل Healthbot.
  5. في حالة الوصف، أدخل وصفًا اختياريًا.
  6. في حالة دور وقت التشغيل، حدد أنشئ دورًا باستخدام أذونات Amazon Lex الأساسية.
  7. في مجلة قانون حماية خصوصية الأطفال على الإنترنت (COPPA) القسم، حدد لا.
  8. احتفظ بالإعدادات ل مهلة جلسة الخمول في الوضع الافتراضي (5 دقائق).
  9. اختار التالى.

  1. في حالة التفاعل الصوتي، اختر الصوت الذي تريد استخدامه.
  2. اختار تم. .

قم بإنشاء أنواع وأغراض وعبارات مخصصة للفتحات

نقوم الآن بإنشاء نوع فتحة مخصص لأجهزة الاستشعار وأغراضنا وعينات الكلام.

  1. على أنواع الفتحات الصفحة ، اختر أضف نوع الفتحة.
  2. اختار أضف نوع فتحة فارغة.
  3. في حالة اسم نوع الفتحةأدخل SensorType.
  4. اختار أضف.
  5. في المحرر تحت دقة قيمة الفتحة، حدد تقييد لقيم الفتحات.

  1. أضف القيم التالية:
    1. ضغط الدم
    2. جلوكوز الدم
    3. درجة حرارة الجسم
    4. معدل ضربات القلب
    5. معدل التنفس

  1. اختار حفظ نوع الفتحة.

على النوايا الصفحة، لدينا غرضان تم إنشاؤهما تلقائيًا لنا. نحن نحافظ على FallbackIntent كإعداد افتراضي.

  1. اختار النية الجديدة.
  2. في حالة اسم النية، التغيير إلى PatientData.

  1. في مجلة عينة من الكلام القسم، أضف بعض العبارات لاستدعاء هذه النية.

نقدم بعض الأمثلة في لقطة الشاشة التالية، ولكن يمكنك أيضًا إضافة الأمثلة الخاصة بك.

  1. في مجلة أضف فتحة القسم ل الاسم، أدخل PatientId.
  2. في حالة نوع الفتحةأختر أمازون.AlphaNumeric.
  3. في حالة يطالبك، أدخل What is the patient ID?

هذه المطالبة ليست مهمة في الواقع لأننا نستخدم Lambda للتنفيذ.

  1. قم بإضافة فتحة أخرى مطلوبة تسمى SensorType.
  2. في حالة نوع الفتحة، اختر نوع الاستشعار (لقد أنشأنا هذا في وقت سابق).
  3. في حالة يطالبك، أدخل What would you like to know?
  4. تحت خطاف كود، حدد استخدم وظيفة Lambda للتهيئة والتحقق من الصحة و استخدم دالة Lambda للوفاء.

  1. اختار حفظ القصد.
  2. اختار البناء.

قد يستغرق الإنشاء بضع دقائق حتى يكتمل.

إنشاء نسخة جديدة

نقوم الآن بإنشاء إصدار جديد بنوايانا الجديدة. لا يمكننا استخدام النسخة المسودة في الإنتاج.

  1. عند اكتمال البناء، على إصدارات البوت الصفحة ، اختر إنشاء نسخة.
  2. احتفظ بجميع الإعدادات في وضعها الافتراضي.
  3. اختار إنشاء.

يجب أن ترى الآن Version 1 المدرجة على إصدارات بوت .

قم بإنشاء اسم مستعار

الآن نقوم بإنشاء اسم مستعار للنشر.

  1. تحت قابل للفتح في جزء التنقل ، اختر الأسماء المستعارة.
  2. اختار إنشاء الاسم المستعار.
  3. في حالة اسم مستعارأدخل prod.
  4. قم بربط هذا الاسم المستعار بالإصدار الأحدث (Version 1).

  1. اختار إنشاء.
  2. على الأسماء المستعارة الصفحة ، اختر الاسم المستعار الذي أنشأته للتو.
  3. تحت اللغات، اختر الانجليزية (الولايات المتحدة).

  1. في حالة مصدر، اختر وظيفة Lambda التي قمت بحفظها مسبقًا.
  2. في حالة إصدار دالة Lambda أو الاسم المستعار، اختر $الأحدث.

  1. اختار حفظ.

لديك الآن Amazon Lex Bot الذي يمكنك بدء الاختبار باستخدامه. قبل أن نمضي قدمًا، تأكد من حفظ معرف الروبوت ومعرف الاسم المستعار.

يوجد معرف الروبوت في صفحة تفاصيل الروبوت.

معرف الاسم المستعار موجود على الأسماء المستعارة .

تحتاج إلى استبدال هذه القيم في البرنامج النصي للمساعد الصوتي voice_assistant.py في وقت لاحق.

في الأقسام التالية، نوضح كيفية استخدام PocketSphinx لاكتشاف كلمة تنبيه مخصصة بالإضافة إلى كيفية البدء في استخدام الحل.

استخدم PocketSphinx للتعرف على كلمات الاستيقاظ

تتضمن الخطوة الأولى من الحل الذي نقدمه استدعاء كلمة تنبيه مخصصة قبل أن نبدأ في الاستماع إلى أوامرك لإرسالها إلى Amazon Lex. يحتاج المساعدون الصوتيون إلى برنامج يعمل دائمًا ودقيق للغاية وصغير الحجم للاستماع باستمرار إلى كلمة التنبيه. ويرجع ذلك عادةً إلى استضافتها على جهاز صغير منخفض البطارية مثل Amazon Echo.

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

قم بإنشاء كلمة التنبيه المخصصة الخاصة بك

يعد بناء نموذج اللغة باستخدام PocketSphinx أمرًا بسيطًا. الخطوة الأولى هي إنشاء الجسم. يمكنك استخدام النموذج المضمن الذي تم تدريبه مسبقًا مع "Amazon"، لذلك إذا كنت لا ترغب في تدريب كلمة التنبيه الخاصة بك، فيمكنك الانتقال إلى الخطوة التالية. ومع ذلك، فإننا نشجعك بشدة على اختبار إنشاء كلمة التنبيه المخصصة الخاصة بك لاستخدامها مع البرنامج النصي للمساعد الصوتي.

المجموعة عبارة عن قائمة من الجمل التي تستخدمها لتدريب نموذج اللغة. يمكنك العثور على ملف المجموعة المعد مسبقًا في الملف corpus.txt الذي قمت بتنزيله مسبقًا.

  1. قم بتعديل ملف المجموعة بناءً على العبارة الرئيسية أو كلمة التنبيه التي تريد استخدامها ثم انتقل إلى صفحة LMTool.
  2. اختار تصفح وحدد corpus.txt الملف الذي قمت بإنشائه
  3. اختار تجميع قاعدة المعرفة.
  4. قم بتنزيل الملفات التي أنشأتها الأداة واستبدل ملفات مجموعة الأمثلة التي قمت بتنزيلها مسبقًا.
  5. استبدال KEY_PHRASE و DICT المتغيرات في البرنامج النصي بايثون لتعكس الملفات الجديدة وكلمة التنبيه.

  1. قم بتحديث معرف الروبوت ومعرف الاسم المستعار للروبوت بالقيم التي قمت بحفظها مسبقًا في البرنامج النصي للمساعد الصوتي.

قم بإعداد البرنامج النصي للمساعد الصوتي على جهاز الكمبيوتر الخاص بك

في مستودع GitHub، يمكنك تنزيل نصي Python اللذين تستخدمهما في هذا المنشور: generate_data.py و voice_assistant.py.

يجب عليك إكمال بعض الخطوات قبل أن تتمكن من تشغيل البرنامج النصي، وهي تثبيت إصدار Python والمكتبات الصحيحة.

  1. تحميل وتثبيت بيثون 3.6.

يدعم PocketSphinx ما يصل إلى Python 3.6. إذا كان لديك إصدار آخر من Python مثبتًا، فيمكنك استخدامه بينف للتبديل بين إصدارات بايثون.

  1. تثبيت جيوب فينكس.
  2. تثبيت بيوديو.
  3. قم بتثبيت Boto3.

تأكد من استخدام أحدث إصدار باستخدام pip install boto3==<version>.

  1. تثبيت ال واجهة سطر الأوامر AWS (AWS CLI) و تكوين ملف التعريف الخاص بك.

إذا لم يكن لديك ملف إدارة الهوية والوصول AWS (IAM) المستخدم حتى الآن، يمكنك ذلك اصنع واحدا. تأكد من تعيين المنطقة على نفس المنطقة التي أنشأت فيها مواردك مسبقًا.

ابدأ تشغيل مساعدك الصوتي

الآن بعد أن انتهينا من إعداد كل شيء، افتح Terminal على جهاز الكمبيوتر الخاص بك وقم بتشغيله generate_data.py.

تأكد من تشغيله لمدة دقيقة على الأقل حتى يتم ملء الطاولة بشكل لائق. يقوم مساعدنا الصوتي بالاستعلام فقط عن أحدث البيانات المدرجة في الجدول، لذا يمكنك إيقافه بعد تشغيله مرة واحدة. تتراوح معرفات المرضى التي تم إنشاؤها بين 0-99، ويتم طلبها لاحقًا.

تحقق من الجدول للتأكد من إنشاء البيانات.

الآن يمكنك الركض voice_assistant.py.

يستمع جهاز الكمبيوتر الخاص بك إلى كلمة التنبيه التي قمت بتعيينها مسبقًا (أو كلمة "Amazon" الافتراضية) ولا يبدأ التسجيل حتى يكتشف كلمة التنبيه. تتم معالجة اكتشاف كلمة التنبيه باستخدام وحدة فك ترميز PocketSphinx. يقوم جهاز فك التشفير بالتحقق بشكل مستمر من وجود KEYPHRASE or WakeWord في القناة الصوتية .

لبدء المحادثة، قل الكلام الذي حددته في نيتك مسبقًا. فيما يلي نموذج للمحادثة:

أنت: مرحبا أمازون

أنت: أريد الحصول على بيانات المريض.

ليكس: ما هوية المريض الذي ترغب في الحصول على معلومات عنه؟

أنت: 45

ليكس: ماذا تريد أن تعرف عن جون سميث؟

أنت: ضغط الدم

ليكس: ضغط دم جون سميث هو 120/80.

وفي الختام

تهانينا! لقد قمت بإعداد مساعد صوتي للرعاية الصحية يمكن أن يكون بمثابة روبوت لاسترجاع معلومات المريض. لقد أكملت الآن الخطوة الأولى نحو إنشاء مساعد صوتي مخصص.

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

استخدمنا PocketSphinx وAmazon Lex لإنشاء مساعد صوتي بمهمة بسيطة تتمثل في استرداد بعض معلومات المريض. بدلاً من تشغيل البرنامج على جهاز الكمبيوتر الخاص بك، يمكنك تجربة استضافة هذا البرنامج على أي جهاز صغير يدعم لغة Python، مثل Raspberry Pi.

علاوة على ذلك، فإن أمازون ليكس هو مؤهل لـ HIPAAمما يعني أنه يمكنك دمجه مع أنظمة الرعاية الصحية الحالية باتباع معايير HL7/FHIR.

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

نريد أن نتحداك لتجربة Amazon Lex ومعرفة ما يمكنك صنعه!


عن المؤلف

ديفيد تشيو هو مهندس حلول يعمل في قطاع HCLS، ويساعد شركات الرعاية الصحية على بناء حلول آمنة وقابلة للتطوير في AWS. إنه متحمس لتثقيف الآخرين حول التقنيات السحابية ومعالجة البيانات الضخمة. خارج العمل، يستمتع أيضًا بالعزف على الجيتار وألعاب الفيديو والسيجار والويسكي. يحمل ديفيد درجة البكالوريوس في الاقتصاد وعلوم الكمبيوتر من جامعة واشنطن في سانت لويس.

مانيش أغاروال هو متحمس للتكنولوجيا ويتمتع بخبرة هندسية تزيد عن 20 عامًا بدءًا من الشركات الناشئة الرائدة في مجال الرعاية الصحية وحتى تقديم ابتكارات واسعة النطاق في شركات مثل Apple وAmazon. نظرًا لخبرته العميقة في الذكاء الاصطناعي/التعلم الآلي والرعاية الصحية، فإنه يعتقد حقًا أن الذكاء الاصطناعي/التعلم الآلي سيحدث ثورة كاملة في صناعة الرعاية الصحية في السنوات الأربع إلى الخمس القادمة. تشمل اهتماماته الطب الدقيق، والمساعدين الافتراضيين، والسيارات/الطائرات بدون طيار ذاتية القيادة، والواقع المعزز/الواقع الافتراضي، وتقنية blockchain. مانيش حاصل على بكالوريوس في التكنولوجيا من المعهد الهندي للتكنولوجيا (IIT).

نافنيت سريفاستافا، مهندس الحلول الرئيسي، مسؤول عن مساعدة المؤسسات المقدمة وشركات الرعاية الصحية على نشر بحيرة البيانات وشبكة البيانات والسجلات الطبية الإلكترونية والأجهزة والتطبيقات المستندة إلى الذكاء الاصطناعي/تعلم الآلة مع تثقيف العملاء حول كيفية إنشاء مستودعات بيانات آمنة وقابلة للتطوير ومنخفضة التكلفة. حلول AWS الفعالة. يقوم بتطوير خطط إستراتيجية لإشراك العملاء والشركاء، ويعمل مع مجتمع من متخصصي HCLS ذوي التركيز الفني داخل AWS. Navneet حاصل على ماجستير إدارة الأعمال من جامعة نيويورك للتكنولوجيا والبكالوريوس في هندسة البرمجيات ويحمل العديد من الشهادات المهنية والزميلة في الهندسة المعمارية على AWS.

المصدر: https://aws.amazon.com/blogs/machine-learning/simplify-patient-care-with-a-custom-voice-assistant-using-amazon-lex-v2/

الطابع الزمني:

اكثر من AWS مدونة التعلم الآلي