توليد إجابات الاستعلام

نشرت: 2022-05-05

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

استخدام القيود للحصول على إجابات الاستعلام

تطرح براءة الاختراع هذه أسئلة حول المحتويات المتعلقة بحقائق حول الكيانات التي تتم إضافة الأسئلة عنها.

المستندات المتعلقة باستخدام قيود الإجابة على الاستعلام هي:

    GRIP: شرح مبني على القيد للإجابات المفقودة لاستعلامات الرسم البياني
    الإجابة على الأسئلة باستخدام الرضا المقيّد: ضمان الجودة بملف مع القيود

ومن المثير للاهتمام أن المستند الأول يشير إلى Google Knowlege Vault كمرجع. على الأرجح لأنه يركز على الحصول على إجابات صحيحة للأسئلة باستخدام القيود.

نظرًا لأن براءة الاختراع هذه تركز كثيرًا على تحسين محركات البحث الدلالية. ذكرني ذلك ببراءات اختراع Google الأخرى التي كانت تدور حول هذا الموضوع ، بما في ذلك هذين الموضوعين ، والتي تستحق القراءة بعناية:

  • تسوية الرسم البياني المعرفي من Google
  • استخراج الكيانات للرسوم البيانية المعرفية في Google

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

توليد إجابات الاستعلام عن طريق توفير الحقائق من قاعدة بيانات

قد تولد أنظمة البحث ردودًا على الاستفسارات الواقعية من خلال توفير الحقائق من قاعدة البيانات.

قد يتم تخزين هذه الحقائق في رسم بياني يمكن تحديثه في الوقت الفعلي.

قد يتم تنسيق هذه الردود على شكل قوائم لنتائج البحث بدلاً من الجمل.

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

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

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

تلقي إجابات الاستعلام التي تحدد سمات الكيان

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

تتضمن الإجراءات بعد ذلك الوصول إلى قوالب المرشح لإجابات الاستعلام بناءً على سمات الكيان. يحتوي كل قالب مرشح على حقول ؛ حيث ترتبط كل منطقة بقيد واحد على الأقل.

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

الثلاثيات الدلالية المتعلقة بالكيانات

قد تكون مجموعة المعلومات عبارة عن مجموعة من ثلاثة أضعاف قيمة سمة الكيان.

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

العبارة جملة أو جزء من جملة. أخيرًا ، تتضمن الإجراءات توصيل الكلمات إلى جهاز عميل.

قد يتم توصيل العبارة كإشارة صوتية مقابلة للكلمات.

قد تشمل القيود ما يلي:

  • نوع القيد
  • القيد الزمني
  • القيد الجنساني
  • قيد العلاقة
  • قيد المفرد / الجمع
  • وحدة القياس القيد
  • القيد المحدد.

تتضمن بعض عمليات التنفيذ الحصول على العديد من مجموعات المعلومات التي تستجيب لسمة واحدة في الاستعلام.

تشمل الإجراءات كذلك:

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

قد يتضمن هذا إجابات الاستعلام التي تتضمن العديد من السمات.

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

يمكن أن تشمل مزايا هذه العملية ما يلي:

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

إنشاء براءة اختراع إجابات الاستعلام هذا في

توليد إجابات الاستعلام
المخترعون: إنجين سينار شاهين وفينيسيوس جيه فورتونا وإيما إس بيرسكي
الوكيل: Google LLC
براءات الاختراع الأمريكية: 11321331
تم المنح: 3 مايو 2022
تاريخ التقديم: 23 يوليو 2018

خلاصة

يتلقى الخادم إجابات استعلام تحدد سمات الكيان.

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

يحصل الخادم على مجموعة من المعلومات وإجابات الاستعلام ويختار نموذجًا من مجموعة القوالب المرشحة.

يحتوي القالب المحدد على أكبر عدد من الحقول ذات القيود التي تفي بها مجموعة المعلومات.

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

أخيرًا ، ينقل الخادم العبارة إلى جهاز عميل.

تحويل الحقائق من قاعدة بيانات إلى جمل

عندما يسأل المستخدم سؤالًا واقعيًا ، قد يقدم محرك البحث إجابات للاستعلام عن طريق الوصول إلى قاعدة بيانات.

تسمح بعض الأنظمة ، مثل أنظمة الحوار الصوتي ، للمستخدمين بتخطيط الاستفسارات كأسئلة لغة طبيعية (على سبيل المثال ، "من هو رئيس اليابان؟").

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

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

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

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

الوصول إلى قوالب المرشح لتوليد إجابات الاستعلام على أساس السمة أو السمات

بمجرد جمع الحقائق ، قد يصل محرك الإجابة إلى القوالب المرشحة لتوليد إجابة بناءً على السمة أو السمات المتوفرة في الاستعلام. على سبيل المثال ، إذا كان السؤال الأصلي هو "من تزوج وودي آلن" ، فقد تكون النقطة "الزيجات". إذا كان طلب البحث الفعلي هو "كم عمر Woody Allen" ، فقد تكون السمة هي "age". كما هو موضح أدناه ، قد تتوافق كل نقطة من نقاط السؤال مع عدة نماذج مرشح ، على سبيل المثال ، لدعم إجابات أكثر أو أقل تفصيلاً.

على سبيل المثال ، إذا كانت السمة هي "العمر" ، فقد يحصل محرك الإجابة على نموذج يتضمن تاريخ الميلاد والعمر (على سبيل المثال ، وُلدت {<entity> في <date> وهي حاليًا <value> سنة}) ، نموذج يتضمن العمر فقط (على سبيل المثال ، {<entity> هو حاليًا <value> سنة}) ، ونموذجًا يتضمن تاريخ الميلاد وتاريخ الوفاة (على سبيل المثال ، ولد {<entity> في <date> وتوفي في < / التاريخ>}).

كما هو موضح بمزيد من التفصيل أدناه ، قد تترافق أجزاء القوالب المرفقة في "<>" (أي الحقول) مع قيود مختلفة على البيانات التي يمكنها الاحتفاظ بها.

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

نظام البحث في الرسم البياني للبيانات

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

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

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

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

قد يشتمل نظام البحث في الرسم البياني للبيانات على مخزن بيانات قائم على الرسم البياني. يخزن مثل هذا الرسم البياني للبيانات العقد والحواف ، والتي يمكن من خلالها إنشاء رسم بياني.

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

يخزن مخزن البيانات المستند إلى الرسم البياني مجموعات ثلاثية تمثل الكيانات والعلاقات في مثال واحد.

ثلاث مجموعات تمثل الكيانات والعلاقات

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

أحد الأمثلة على الثلاثي هو الكيان Woody Allen باعتباره الموضوع (أو الكيان) ، والعلاقة التي تعمل كمسند (أو سمة) ، والكيان Annie Hall ككائن (أو قيمة).

بالطبع ، قد يحتوي الرسم البياني للبيانات مع العديد من الكيانات وحتى عدد محدود من العلاقات على بلايين من الثلاثيات.

يمكن أن تتضمن أنظمة الفهرسة معالجات تم تكوينها لتنفيذ تعليمات الآلة التنفيذية أو أجزاء من البرامج أو البرامج الثابتة أو مجموعة منها.

البحث عن إجابات الاستعلام

قد يشتمل نظام البحث على خوادم (غير معروضة) تتلقى استعلامات من مستخدم العميل وتقدم هذه الاستعلامات إلى نظام البحث.

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

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

قد يحتوي نظام البحث على وحدة تجمع النتائج من جميع المصادر وتوفر النتائج المجمعة للعميل.

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

قد يكون نظام البحث على اتصال مع العملاء عبر الشبكة.

كتلة فهرس في البحث عن إجابات الاستعلام

قد يشتمل النظام أيضًا على مجموعة فهرس. قد تكون مجموعة الفهرس جهازًا واحدًا للحوسبة أو نظام قاعدة بيانات موزعًا به أجهزة حوسبة ، ولكل منها معالجها وذاكرتها.

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

يمكن أن تتضمن كل مجموعة فهرس معالجات تم تكوينها لتنفيذ تعليمات الآلة التنفيذية أو أجزاء من البرامج أو البرامج الثابتة أو مجموعة منها.

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

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

محلل الاستعلام الذي يصل إلى الفهرس لاسترداد النتائج المستجيبة للاستعلام

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

قد يكون محلل الاستعلام أيضًا جزءًا من نظام البحث أو قد يتم توزيعه بين نظام البحث ومجموعة الفهرس.

استعلامات وإجابات استعلام أكثر تعقيدًا بشكل تدريجي

استعلام بسيط يتضمن سمة واحدة ("العمر") وينتج عنه إجابة ثلاثية واحدة.

مثال على استعلام بسيط يتضمن سمة واحدة ("الزيجات") ولكنه ينتج عنه إجابات ثلاثية متعددة.

مثال على استعلام معقد يتضمن سمتين ("مسقط الرأس والجامعة الأم") وينتج عنه إجابات ثلاثية متعددة.

نظام مثال يولد الجمل استجابةً للاستفسارات الواقعية.

يشتمل النظام على جهاز عميل ونظام بحث ومجموعة فهرس ومحرك إجابات.

يمكن تنفيذ الكيانات كجزء من النظام.

يبدأ المستخدم استعلامًا يتضمن مصطلحات استعلام باستخدام جهاز عميل.

يمكن للمستخدم تنسيق الاستعلام الأصلي في شكل جملة.

التفاعل مع نظام حوار صوتي

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

على سبيل المثال ، قد ينطق المستخدم الاستعلام "كم عمر Woody Allen" في ميكروفون جهاز العميل.

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

وبدلاً من ذلك ، قد ينقل جهاز العميل بيانات الكلام الصوتي لترميز الكلام.

يتلقى نظام البحث الاستعلام (على سبيل المثال ، "كم عمر Woody Allen") من جهاز العميل.

إذا تم تشفير الاستعلام كبيانات كلام صوتي ، فقد يحول نظام البحث بيانات الكلام الصوتي إلى نسخ.

يقوم نظام البحث بعد ذلك بتحليل وتنسيق الاستعلام الأصلي في <كيان ؛ سمة> تنسيق (مثل <woody Allen / age <) باستخدام ، على سبيل المثال ، محرك تحليل لغة طبيعية مناسب.

ثم يرسل نظام البحث الاستعلام المنسق إلى كتلة الفهرس.

تصل كتلة الفهرس إلى الفهرس لاسترداد النتائج المستجيبة للاستعلام.

أجوبة الاستعلام في شكل ثلاثيات

قد تكون هذه النتائج عبارة عن مجموعة من المعلومات الواقعية في شكل ثلاثيات (على سبيل المثال ، </ Woody> <Woody Allen / من مواليد / 1 ديسمبر>

تنقل مجموعة الفهرس الاستعلام المنسق (على سبيل المثال ، </ woody> <woody Allen / age> والمعلومات الواقعية التي تجيب على الاستعلام (على سبيل المثال ، </ woody> <woody Allen / من مواليد / 1 ديسمبر 1935>) لمحرك الإجابة.

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

يولد محرك الإجابة إجابة على النحو التالي. أولاً ، يحصل محرك الإجابات على السمة أو السمات من الاستعلام المنسق.

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

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

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

الحصول على محرك إجابة على سمة أو سمات

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

في بعض الحالات ، قد يتضمن الاستعلام المنسق سمات متعددة. على سبيل المثال ، قد يكون الاستعلام المنسق في شكل <الكيان / السمة / السمة>. في مثل هذه الحالات ، قد يستخرج محرك الإجابة كل سمة من الاستعلام.

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

قد يتوافق كل قالب مع جملة كاملة أو جزء من جملة (على سبيل المثال ، عبارة).

يشتمل كل نموذج على حقول (تظهر كأجزاء بين قوسين "<>") يمكن أن تحتوي على معلومات واقعية مُدرجة.

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

نماذج المرشحين بلغة المستخدم

يحدد محرك الإجابة لغة المستخدم ويختار القوالب المرشحة بلغة المستخدم.

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

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

كما هو مستخدم في هذه المواصفة ، يشير الترميز "<X / Y>" إلى حقل به قيد "X" وقيد "Y".

قد تشمل قيود العينة قيود النوع والقيود الزمنية والقيود الجنسانية وقيود العلاقة وقيود المفرد / الجمع ووحدات قيود القياس والقيود المحددة.

قد تتطلب التركيبات المختلفة أنواع مختلفة من البيانات

قد يتطلب قيد النوع نوعًا معينًا من البيانات ، على سبيل المثال ، قد يتطلب قيد <date> تاريخًا ، وقد يتطلب قيد <entity> اسم كيان أو معرف آخر ، و قد يتطلب القيد عددًا.

قد يتطلب القيد الزمني ، على سبيل المثال ، أن يكون التاريخ أو الوقت في الماضي أو في المستقبل ، على سبيل المثال ، قد يتطلب الحقل الذي يحتوي على <التاريخ / الماضي> أن يتضمن الحقل تاريخًا في الماضي. قد تتطلب قيود الجنس ، على سبيل المثال ، ذكر أو أنثى.

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

قد تتطلب وحدة قياس القيد ، على سبيل المثال ، أن يتم قياس البيانات في الحقل بوحدة قياس معينة (على سبيل المثال ، البوصات ، الأقدام ، السنتيمترات ، الأمتار ، إلخ). قد يتطلب القيد المحدد ، على سبيل المثال ، أن تسبق كلمة "the" الحقل.

قد تعمل كل سمة في الاستعلام كمفتاح للوصول إلى مجموعة من القوالب المرشحة. على سبيل المثال ، قد تؤدي السمة "العمر" إلى استرداد القوالب. تتضمن نماذج القوالب النموذج الأول " ولد في <التاريخ / الماضي & glt؛ ويبلغ عمره حاليًا <value> سنة ، "والذي يتطلب اسم كيان لـ <الكيان & lgt؛ الحقل ، وهو تاريخ في الماضي لـ ، ورقم (على سبيل المثال ، عمر) للحقل <القيمة <.

يتطلب القالب الثاني ، "<entity> حاليًا <value <سنة" ، اسم كيان لحقل <entity> ورقمًا (على سبيل المثال ، عمر) للحقل <value>.

القالب الثالث ، "<entity> ولد في <تاريخ / ماضي> وتوفي في <تاريخ / ماضي> ،" يتطلب اسم كيان للحقل </entity> <entity> وتاريخين سابقين لـ <التاريخ / الماضي> الحقول.

قوالب متعددة لسمات معينة

من المفيد أن يكون لديك عدة قوالب لسمة معينة يمكّن عمليات التنفيذ من دعم الحقائق الجزئية. على سبيل المثال ، بالنسبة إلى قوالب العمر ، إذا كانت سنة الميلاد معروفة ولكن التاريخ المحدد غير معروف ، فقد يكون القالب المناسب هو "</entity> <entity> ولدت في <سنة / ماضية>." يتيح توفير قوالب متعددة لسمة معينة أيضًا تغيير الأزمنة لأجزاء مختلفة من الحقائق (على سبيل المثال ، "يتزوج وودي آلن" و "تزوج وودي آلن").

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

قد يحدد محرك الإجابات أيضًا ما إذا كانت القيود والحقول الخاصة بالقالب المحدد يتم استيفائها أم لا. قد يختار محرك الإجابة النموذج الذي يحتوي على أقصى عدد من الحقول ذات القيود التي تفي بالمعلومات الواقعية (على سبيل المثال ، النموذج الأكثر ثراءً بالبيانات). المعلومات الواقعية هي “<ودي ألن / ولد في / ديسمبر. 1 ، 1935>. "

في هذا المثال ، أول قالب مرشح هو “ولدت <entity> في <تاريخ / ماضي> وهي حاليًا سنة. " يحتوي هذا القالب على ملف الحقل والحقل <التاريخ / الماضي> وحقل <القيمة>. توفر المعلومات الواقعية كيانًا يلبي قيد الحقل <entity> وتاريخًا في الماضي يلبي متطلبات قيود المجال.

قد يشتق محرك الإجابة القيم بناءً على المعلومات الواقعية. لذلك ، قد يحسب محرك الإجابة قيمة عمرية لاستيفاء قيد الحقل <value <استنادًا إلى تاريخ الميلاد. نظرًا لأن المعلومات الواقعية تلبي جميع قيود الحقول في النموذج الأول ، فإن محرك الإجابة يحدد النموذج الأول.

يحدد محرك الإجابات النموذج الأول بالحقول التي يمكن ملؤها بالمعلومات الواقعية ، ولا يقوم بأي معالجة إضافية. بدلاً من ذلك ، قد يقوم محرك الإجابات بمعالجة كل قالب في القوالب المرشحة وتحديد القالب الذي يحتوي على أكبر كمية من الحقول التي يمكن ملؤها بالمعلومات الواقعية.

بعد تحديد النموذج ، يقوم محرك الإجابة بعد ذلك بإنشاء جملة أو عبارة بناءً على النموذج. على سبيل المثال ، قد يستبدل محرك الإجابة الحقول الموجودة في النموذج بالبيانات المناسبة من المعلومات الواقعية. محرك الإجابة يولد الجملة "ولد وودي آلن في 1 ديسمبر 1935 ، ويبلغ حاليًا 77 عامًا" باستخدام النموذج المحدد.

ينقل محرك الإجابة بعد ذلك إجابة إلى جهاز العميل ، حيث تتضمن الإجابة الجملة التي تم إنشاؤها. قد تكون الإجابة عبارة عن نسخة يحولها جهاز العميل إلى كلام ويعرضها للمستخدم.

النظام الذي يولد الجمل ردًا على الاستفسارات الواقعية

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

يبدأ جهاز العميل استعلامًا يتضمن مصطلحات استعلام.

على سبيل المثال ، يمكن للمستخدم إدخال الاستعلام "من كان وودي آلن متزوجًا" في مستعرض ويب على جهاز العميل.

يتلقى نظام البحث الاستعلام (على سبيل المثال ، "من كان وودي آلن متزوجًا") من جهاز العميل.

يقوم نظام البحث بعد ذلك بتحليل وتنسيق الاستعلام الأصلي في ملف التنسيق (على سبيل المثال ، ) باستخدام ، على سبيل المثال ، محرك مناسب لتحليل اللغة الطبيعية.

في هذا المثال ، يتضمن الاستعلام المنسق معرفًا للكيان (على سبيل المثال ، Woody Allen) ونوع الكيان (على سبيل المثال ، شخص) وسمة (مثل الزيجات).

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

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

تصل كتلة الفهرس إلى الفهرس لاسترداد مجموعة من المعلومات الواقعية التي تستجيب للاستعلام. تتضمن هذه النتائج ثلاثيتين على الأقل (على سبيل المثال ، و <لويز لاسر / زوجة / 1966/1970>).

تنقل مجموعة الفهرس الاستعلام المنسق (على سبيل المثال ، <woody Allen / age> والمعلومات الواقعية التي تجيب على الاستعلام (على سبيل المثال ، <Soon-Yi Previn / wife / 1997> ، و <louise Lasser / wife / 1966/1970> ) لمحرك الإجابة.

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

أولاً ، يحصل محرك الإجابة على معلومات النوع من الاستعلام المنسق (على سبيل المثال ، الشخص).

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

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

يتضمن كل قالب من القوالب الوصفية المرشح حقلاً لاسم أو معرف كيان وحقل واحد على الأقل لإضافة قوالب أخرى.

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

يحصل محرك الإجابات أيضًا على السمة أو السمات من الاستعلام المنسق ويستخدم السمة أو السمات للوصول إلى قوالب عبارات المرشح من قاعدة بيانات النموذج.

يتم تصميم قوالب العبارات هذه ليتم دمجها في القوالب الوصفية.

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

على سبيل المثال ، قد تؤدي السمة "زواج" إلى استرداد قوالب العبارات.

تتضمن نماذج العبارات النموذج الأول "تزوجت من <الكيان / الزوج> منذ <التاريخ / الماضي>" ، والذي يتطلب كيانًا يتزوج من الكيان في الاستعلام المنسق لـ الحقل ، وتاريخًا في الماضي لـ ميدان.

يتطلب النموذج الثاني ، "الزواج من <الكيان / الزوج>" ، كيانًا يتزوج من الكيان في الاستعلام المنسق لـ ميدان.

النموذج الثالث ، "متزوج" ، لا يتطلب معلومات إضافية.

يتطلب النموذج الرابع ، "كان متزوجًا من <الكيان / الزوج> من <التاريخ / الماضي> إلى <التاريخ / الماضي>" ، كيانًا يتزوج من الكيان في الاستعلام المنسق لـ وتاريخان في الماضي للحقول <التاريخ / الماضي>. يتطلب النموذج الخامس ، "كان متزوجًا من <كيان / زوج>" ، كيانًا يتزوج من الكيان في الاستعلام المنسق للحقل <الكيان / الزوج>. والنموذج السادس ، "متزوجة" ، لا يتطلب معلومات إضافية.

بعد ذلك ، يختار محرك الإجابة أحد القوالب الوصفية المرشحة بناءً على نوع المعلومات المضمنة في المعلومات الواقعية. على وجه الخصوص ، يختار محرك الإجابات نموذجًا تعريفًا مرشحًا استنادًا إلى عدد المضاعفات المضمنة في المعلومات الواقعية. يتم تضمين ثلاثة أضعاف في المعلومات الواقعية. لذلك ، يختار محرك الإجابة النموذج الوصفي "الشخص" الذي يحتوي على حقول لنموذجين ، على سبيل المثال ، "<entity> <template> و </template> <template>."

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

أول ثلاثية مدرجة في المعلومات الواقعية هي <Soon-Yi Previn / wife / 1997>. " في هذا المثال ، يكون أول قالب للعبارة المرشحة هو "متزوج من حيث . " يحتوي هذا القالب على <ntity / spouse & g؛ الحقل وحقل <التاريخ / الماضي>.

يحتوي الثلاثي الأول على كيان له علاقة زوج بالكيان في الاستعلام المنسق الذي يلبي قيد الحقل <الكيان / الزوج> ، وتاريخ في الماضي يلبي قيود الحقل <التاريخ / الماضي>. نظرًا لأن الثلاثي الأول يلبي جميع قيود الحقول في القالب الأول ، فإن محرك الإجابة يحدد القالب الأول للثالث الأول.

والثالث الثاني المتضمن في المعلومات الواقعية هو <louise Lasser / wife / 1966/1970>. " قالب عبارة المرشح الرابع هو "كان متزوجًا من <الكيان / الزوج> من <التاريخ / الماضي> إلى <التاريخ / الماضي> ،" والذي يحتوي على حقل <الكيان / الزوج> وحقلان <التاريخ / الماضي>. يوفر الثلاثي الثاني في المعلومات الواقعية كيانًا له علاقة زوج بالكيان في الاستعلام المنسق الذي يلبي قيد الحقل <الكيان / الزوج> ، وتاريخان في الماضي يلبيان قيود المجال.

نظرًا لأن الثلاثي الثاني يلبي جميع قيود الحقول في القالب الرابع ، فإن محرك الإجابة يحدد القالب الرابع للثالث الثاني.

يحدد محرك الإجابات النموذج الأول بالحقول التي يمكن ملؤها بالمعلومات الواقعية ، ولا يقوم بأي معالجة إضافية. بدلاً من ذلك ، قد يقوم محرك الإجابات بمعالجة كل قالب في القوالب المرشحة وتحديد القالب الذي يحتوي على أكبر كمية من الحقول التي يمكن ملؤها بالمعلومات الواقعية.

بعد تحديد القوالب ، يقوم محرك الإجابة بعد ذلك بإنشاء جملة بناءً على القوالب. على سبيل المثال ، قد يستبدل محرك الإجابة الحقول الموجودة في القوالب المحددة بالبيانات المناسبة من المعلومات الواقعية.

قد يستبدل محرك الإجابة الحقول في قالب العبارة الأول المحدد (على سبيل المثال ، "تزوجت من <الكيان / الزوج> منذ << التاريخ / الماضي>") بالمعلومات من أول ثلاثية لإنشاء العبارة "تزوجت إلى Soon-Yi Previn منذ عام 1997. "وهكذا ، فإن محرك الإجابة يولد الجملة" تزوج وودي آلن من سون يي بريفين منذ عام 1997 وكان سابقًا متزوجًا من لويز لاسر من عام 1966 إلى عام 1970 ". إلى جهاز العميل الذي يتضمن الجملة التي تم إنشاؤها. قد يتم تضمين الإجابة في صفحة نتائج البحث التي تتضمن الجملة ونتائج البحث الأخرى. تتضمن صفحة نتائج البحث أيضًا مربع بحث يعرض استعلام البحث الأصلي (على سبيل المثال ، "Who was Woody Allen married to "). قد يتم عرض صفحة نتائج البحث بواسطة جهاز العميل. يمكن بدلاً من ذلك نقل الجملة كنسخ يسمح لجهاز العميل بتوليد الكلام ، أو كإشارة صوتية ترميز الجملة لـ التقديم على جهاز العميل.

نظام يقوم بتوليد الجمل ردًا على الاستفسارات الواقعية

يشتمل النظام على جهاز عميل ونظام بحث ومجموعة فهرس ومحرك إجابات.

يبدأ جهاز العميل استعلامًا يحتوي على مصطلحي استعلام ("أين هي مسقط رأس وودي آلن والجامعة الأم") في مستعرض ويب على جهاز العميل.

يتلقى نظام البحث طلب البحث (على سبيل المثال ، "أين هي مسقط رأس وودي آلن والجامعة الأم") من جهاز العميل. يقوم نظام البحث بعد ذلك بتحليل وتنسيق الاستعلام الأصلي في تنسيق <الكيان / النوع / السمة> (على سبيل المثال ،> woody Allen / person / home / college <) باستخدام ، على سبيل المثال ، محرك تحليل لغة طبيعية مناسب.

في هذا المثال ، يتضمن الاستعلام المنسق معرّفًا للكيان (على سبيل المثال ، Woody Allen) ونوع الكيان (على سبيل المثال ، شخص) وسمتان (على سبيل المثال ، مسقط الرأس والكلية). ثم يرسل نظام البحث الاستعلام المنسق إلى كتلة الفهرس.

باستخدام الاستعلام المنسق والمعلومات الواقعية ، يقوم محرك الإجابة بعد ذلك بإنشاء إجابة في شكل جملة أو جمل على النحو التالي. First, the answer engine obtains the type information from the formatted query (eg, person).

Using the type information, the answer engine accesses candidate meta-templates that are associated with a “person” type of entity.

As referred to in this specification, meta-templates are templates that have fields configured to contain other templates.

The answer engine also obtains the attributes from the formatted query and uses the attributes to access candidate phrase templates from template databases.

These phrase templates get designed to get incorporated into the meta-templates.

As described above, each attribute in the query may function as a key for accessing a set of candidate phrase templates. For example, the attribute “hometown” may result in the retrieval of the phrase templates. The sample phrase templates include a first template “currently lives in >location<,” which requires a geographic location for the ميدان.

The second template, “has lived in </location><location> since <date/past>,” requires a geographic location for the </location<>location> field and a date in the past for the <date/past> field. The third template, “used to live in </location><location>,” requires a geographic location for the location field.

Next, the answer engine selects one of the candidate meta-templates based on the type of information included in the factual information. In particular, the answer engine selects a candidate meta-template based on the number of triples included in the factual information. Two triples get included in the factual information.

For each triple included in the factual information, the answer engine also selects a template from the candidate phrase templates The answer engine may select the phrase template having the maximum number of fields with constraints that get satisfied by the factual information (eg, the most data-rich template). The answer engine also may perform other heuristics, such as analyzing gender agreement and correct tense of the candidate templates.

The first triple included in the factual information is <woody Allen/hometown/NYC>.” In this example, the first candidate template in the hometown templates is “currently lives in <location>.” The first triple has a location (ie, NYC) that satisfies the </location><location> field constraint. Since the first triple satisfies all of the constraints for the fields in the first template, the answer engine selects the first template from the hometown templates for the first triple.

The second triple included in the factual information is <woody Allen/college/NYU>.” The first candidate template in the college templates is “his alma mater is </college><college>.” The second triple in the factual information provides a college name (ie, NYU) that satisfies the </college<>college> field constraint.

Also, the answer engine may determine that the gender of the entity (Woody Allen) agrees with the gender of the phrase in this template. The answer engine selects the first template from the college templates for the second triple.

The answer engine selects the first template with fields that can get filled by the factual information, and does not perform any additional processing. Alternatively, the answer engine may process each template in the candidate templates and select the template having the largest quantity of fields that can get filled by the factual information.

After selecting the templates, the answer engine then generates a sentence based on the templates. For example, the answer engine may replace the fields in the selected templates with the appropriate data from the factual information. The answer engine may replace the fields in the first selected phrase template (ie, “currently lives in <location>”) with the information from the first triple to generate the phrase “currently lives in New York City.”

The answer engine then replaces the template fields in the selected meta-template (ie, “<entity><template> and &kt;/template><template>”) with the phrases generated from the first and second phrase templates. Thus, the answer engine generates the sentence “Woody Allen currently lives in New York City and his alma mater is New York University.”

The answer engine then transmits an answer to the client device that includes the generated sentence.

The answer may get included in a search results page that includes the sentence and other search results. The search results page also includes a search box showing the original search query (ie, “Where is Woody Allen's hometown and alma mater”). The search results page may then get rendered by the client device.

As getting provided in search results, the sentence could alternatively get transmitted as a transcription that allows the client device to generate speech, or as an audio signal encoding the sentence for rendering at the client device.

An Example Data Graph

The example data graph includes nodes (eg, entities) and edges connecting the nodes (eg, relationships or attributes). Naturally, the example data graph shows only a partial graph–a full graph with a large number of entities and even a limited number of relationships may have billions of triples.

An indexing system may traverse the data graph to obtain factual information as various triples. One example of a triple that may get obtained is the entity “Woody Allen” as the subject (or entity), the relationship “was born” as the predicate (or attribute), and the entity “Dec. 1, 1935” as the object (or value).

Another example of a triple that may be obtained is the entity “Woody Allen” as the subject, the relationship “has type” as the predicate, and the entity “person” as the value. This triple may get used, for example, by the answer engine as described above to select candidate meta-templates.

Another example of a triple that may get obtained is the entity “Woody Allen” as the subject, the relationship “was married to” as the predicate, and the entity “Louise Lasser” as the value.

Note that to obtain this triple, the indexing system must traverse two edges in the data graph, ie, from the “Woody Allen” entity to the “Woody Allen marriages” entity, and then from the “Woody Allen marriages” entity to the “Louise Lasser” entity.

Generating Sentences In Response To Factual Queries

A server (eg, an answer engine) receives an original query that identifies the attributes of an entity. For example, the server may receive a query that identifies multiple attributes of an entity (eg, age, date of birth, place of birth, marriages, etc.).

The server accesses a set of candidate templates for answering the query based on the attributes of the entity. Each candidate template includes fields, wherein each field gets associated with at least one constraint. When multiple attributes get identified in the original query, the server accesses a set of candidate templates for each attribute of the entity. The constraints may include of a type constraint, a temporal constraint, a gender constraint, a relationship constraint, a singular/plural constraint, a unit of measure constraint, and a determinant constraint.

The server then obtains a set of information that answers the query, for example by accessing a graph-based datastore as described above. The set of information that answers the query may be, for example, a set of entity-attribute-value triples. When multiple attributes get identified in the original query, the server obtains a set of information for each attribute (ie, to answer each portion of the original query).

Multiple sets of information (eg, multiple triples) may be responsive to a single attribute. For example, if the attribute is “marriages” or “children,” then multiple triples may get obtained in response to the attribute.

the server selects a template from the set of candidate templates, where the selected template has a maximum number of fields with constraints that may get satisfied by the set of information that answers the query. When multiple attributes get identified in the original query, the server selects a template for each attribute from the appropriate set of candidate templates.

Also, when multiple sets of information get obtained in response to a single attribute, the server may select multiple templates from the same set of candidate templates.

The server then generates a phrase. The phrase may get generated by adding the set of information that answers the query to the fields of the selected template so that the phrase answers the original query. The phrase may get sentenced. Alternatively or in addition, the phrase may be portions of a sentence. When multiple attributes get identified in the original query, the server generates a phrase for each attribute. The server may then combine the phrases to generate a complete sentence.

The server may obtain a sentence template (eg, a meta-template) based on the type of the entity (eg, person or location). The sentence template may include multiple fields for inserting phrases. For example, the server may access a set of candidate meta-templates based on the type of entity, and then select a meta-template from the set based on the number of triples that answer the original query.

The server may then add the generated phrases described with reference to step to the fields of the sentence template to form a sentence.
The server communicates the phrase or sentence to a client device. The client device may then output the phrase to a display or as speech audio. The server transmits an audio signal corresponding to the phrase or sentence to the client device.