إدخال عمليات تضمين النص والرمز في ذكاء بيانات OpenAI API PlatoBlockchain. البحث العمودي. عاي.

إدخال عمليات تضمين النص والرمز في واجهة OpenAI API

إدخال عمليات تضمين النص والرمز في واجهة OpenAI API

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

قراءة الوثائقاقرأ الورقة

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

إدخال عمليات تضمين النص والرمز في واجهة OpenAI API
إدخال عمليات تضمين النص والرمز في واجهة OpenAI API
إدخال عمليات تضمين النص والرمز في واجهة OpenAI API
إدخال عمليات تضمين النص والرمز في واجهة OpenAI API
إدخال عمليات تضمين النص والرمز في واجهة OpenAI API
إدخال عمليات تضمين النص والرمز في واجهة OpenAI API

حفلات الزفاف المتشابهة عدديًا متشابهة أيضًا من الناحية اللغوية. على سبيل المثال ، سيكون متجه التضمين لـ "الكلاب المرافقة" أكثر تشابهًا مع متجه التضمين لـ "woof" من متجه "المواء".

إدخال عمليات تضمين النص والرمز في واجهة OpenAI API
إدخال عمليات تضمين النص والرمز في واجهة OpenAI API

تستخدم نقطة النهاية الجديدة نماذج الشبكة العصبية ، التي تنحدر من GPT-3 ، لتعيين نص وكود لتمثيل متجه - "تضمينها" في مساحة عالية الأبعاد. كل بعد يلتقط بعض جوانب المدخلات.

الجديد / حفلات الزفاف نقطة النهاية في افتح AI API يوفر حفلات الزفاف النصية والرموز مع بضعة أسطر من التعليمات البرمجية:

import openai
response = openai.Embedding.create( input="canine companions say", engine="text-similarity-davinci-001")

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

الموديلات استخدم حالات
تشابه النص: يلتقط التشابه الدلالي بين أجزاء النص. تشابه النص- {ada، babbage، curie، davinci} -001 التجميع ، الانحدار ، كشف الشذوذ ، التصور
بحث نصي: استرجاع المعلومات الدلالية على الوثائق. بحث نصي- {ada، babbage، curie، davinci} - {query، doc} -001 البحث ، صلة السياق ، استرجاع المعلومات
البحث عن الكود: ابحث عن الكود ذي الصلة باستعلام بلغة طبيعية. كود البحث- {ada، babbage} - {code، text} -001 البحث عن الكود وأهميته

نماذج تشابه النص

توفر نماذج تشابه النص عمليات تطريز تلتقط التشابه الدلالي لقطع النص. هذه النماذج مفيدة للعديد من المهام بما في ذلك المجموعات, عرض مرئي للمعلوماتو تصنيف.

يُظهر التصور التفاعلي التالي تضمين عينات نصية من مجموعة بيانات DBpedia:

اسحب للتحريك أو التمرير أو الضغط للتكبير

حفلات الزفاف من text-similarity-babbage-001 النموذج المطبق على DBpedia مجموعة البيانات. اخترنا عشوائيًا 100 عينة من مجموعة البيانات التي تغطي 5 فئات ، وقمنا بحساب حفلات الزفاف عبر ملف / حفلات الزفاف نقطة النهاية. تظهر الفئات المختلفة في شكل 5 مجموعات واضحة في مساحة التضمين. لتصور مساحة التضمين ، قمنا بتقليل أبعاد التضمين من 2048 إلى 3 باستخدام PCA. الكود الخاص بكيفية تصور تضمين الفضاء في البعد ثلاثي الأبعاد متاح هنا.

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

import openai, numpy as np resp = openai.Embedding.create( input=["feline friends go", "meow"], engine="text-similarity-davinci-001") embedding_a = resp['data'][0]['embedding']
embedding_b = resp['data'][1]['embedding'] similarity_score = np.dot(embedding_a, embedding_b)

أحد الاستخدامات الشائعة لحفلات الزفاف هو استخدامها كميزات في مهام التعلم الآلي ، مثل التصنيف. في أدبيات تعلم الآلة ، عند استخدام المصنف الخطي ، تسمى مهمة التصنيف هذه بـ "المسبار الخطي". تحقق نماذج تشابه النص لدينا نتائج جديدة على أحدث طراز في تصنيف المسبار الخطي في سينتيفال (كونو وآخرون ، 2018) ، وهو مقياس شائع الاستخدام لتقييم جودة التضمين.

تصنيف المسبار الخطي على 7 مجموعات بيانات
السابق SOTA (جاو وآخرون. 2021)
90.2%
تشابه النص davinci-001
92.2%
أظهر المزيد

نماذج البحث عن النص

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

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

نماذج بحث التعليمات البرمجية

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

متوسط ​​الدقة على 6 لغات برمجة
السابق SOTA (قوه وآخرون. 2021)
77.4%
code-search-babbage- {doc، query} -001
93.5%
أظهر المزيد

أمثلة على Embeddings API قيد التشغيل

أبحاث JetBrains

JetBrains Research's معمل فيزياء الجسيمات الفلكية يحلل البيانات مثل برقية الفلكي ووكالة ناسا منشورات GCN، وهي تقارير تحتوي على أحداث فلكية لا يمكن تحليلها بواسطة الخوارزميات التقليدية.

بدعم من تضمين OpenAI لهذه التقارير الفلكية ، يمكن للباحثين الآن البحث عن أحداث مثل "انفجارات النجوم النابضة" عبر قواعد بيانات ومنشورات متعددة. كما حققت عمليات التضمين دقة تصل إلى 99.85٪ في تصنيف مصادر البيانات من خلال تجميع الوسائل k.

تعلم FineTune

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

حسنت حفلات زفاف OpenAI بشكل كبير مهمة العثور على محتوى الكتاب المدرسي بناءً على أهداف التعلم. تحقيق أعلى 5 دقة بنسبة 89.1٪ ، تفوق نموذج تضمين بحث نصوص كوري في OpenAI على الأساليب السابقة مثل Sentence-BERT (64.5٪). في حين أن الخبراء البشريين لا يزالون أفضل ، أصبح فريق FineTune قادرًا الآن على تصنيف الكتب المدرسية بأكملها في غضون ثوانٍ ، على عكس الساعات التي استغرقها الخبراء.

مقارنة بين حفلات الزفاف لدينا مع Sentence-BERT ، بحث GPT-3 وخبراء في الموضوعات البشرية لمطابقة محتوى الكتاب المدرسي مع الأهداف المكتسبة. نفيدكم دقة @ ك، هو عدد المرات التي تكون فيها الإجابة الصحيحة ضمن تنبؤات top-k.

فابيوس

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

على سبيل المثال ، قد يستخدم العملاء كلمات مثل "آلي" أو "سهل الاستخدام" للمطالبة بمنصة خدمة ذاتية أفضل. في السابق ، كان فابيوس يستخدم بحثًا غامضًا بالكلمات الرئيسية لمحاولة تمييز تلك النصوص بعلامة النظام الأساسي للخدمة الذاتية. من خلال التضمينات في OpenAI ، أصبح بإمكانهم الآن العثور على 2x المزيد من الأمثلة بشكل عام ، و 6x-10x المزيد من الأمثلة للميزات مع حالات الاستخدام المجردة التي لا تحتوي على كلمة رئيسية واضحة قد يستخدمها العملاء.

يمكن لجميع عملاء API البدء في استخدام توثيق حفلات الزفاف لاستخدام حفلات الزفاف في تطبيقاتهم.

قراءة الوثائق


شكر وتقدير

بفضل ما يلي على مساهماتهم في هذا الإصدار:

تاو شو ، كريس هالسي ، راؤول بوري ، أليك رادفورد ، جيسي مايكل هان ، جيري توريك ، كيمينغ يوان ، نيكولاس تيزاك ، جونغ ووك كيم ، يوهانس هايدك ، براناف شيام ، تينا إلوندو نيكول ، جيريش ساستري ، جريتشن كروجر ، ديفيد شنور ، فيليبي مثل ، كيني هسو ، ومادلين طومسون ، وتبارك خان ، وتوكي شيرباكوف.

نشكرك على ما يلي لتعليقاتهم على هذا المنشور: توم كلاينبيتر ، مورغان جالانت ، سام التمان ، إيليا سوتسكيفر ، ستيف داولينج ، راشيل ليم ، آرون فيجايفيرجيا ، راجيف ناياك ، بيتر ويلندر ، جاستن جاي وانج.

.vector-diagram img {display: none؛
}
.vector-diagram img: first-child {display: block؛
}

var printResponse = function (btn) {// append response var responseEl = document .querySelector ('. endpoint-code-response') .querySelector ('code') var callParentEl = document .querySelector ('. endpoint-code-call' ) .querySelector ('pre') if (! responseEl ||! callParentEl) return؛ callParentEl.appendChild (responseEl) ، // إخفاء الزر btn.style.display = 'لا شيء' ؛
} ؛ var initRotate = function () {var rotates = document.querySelectorAll ('. js-rotate') ؛ إذا (! rotates.length) يعود ؛ // لكل مجموعة من rotates rotates.forEach (الوظيفة (r) {// حرك الطفل الأول لإنهاء كل n ثانية window.setInterval (function () {moveToEnd (r، r.firstElementChild) ؛} ، 1500) ؛}) ؛
};
var moveToEnd = function (الوالد ، الطفل) {parent.removeChild (child) ؛ الوالد. appendChild (طفل) ؛ // إلحاق الوالد
} ؛ var initShowMore = function () {var showmores = document.querySelectorAll ('. js-showmore') ؛ showmores.forEach (function (e) {e.addEventListener ('click'، function () {var showmoreparent = this.parentElement؛ if (! showmoreparent) return؛ var more = showmoreparent.querySelector ('. js-more')؛ if (! more) return؛ more.style.display = 'block'؛ this.style.display = 'none'؛})؛}) ؛
} ؛ // فيه
document.addEventListener ('DOMContentLoaded'، function () {initRotate ()؛ initShowMore ()؛
})؛
استيراد {Runtime، Inspector، Library} من “https://unpkg.com/@observablehq/runtime@4.5.0/dist/runtime.js” ؛
import notebook_topk from “https://api.observablehq.com/d/20c1e51d6e663e6d.js?v=3”;
استيراد notebook_embed3d من “https://api.observablehq.com/d/fef0801cb0a0b322.js؟v=3” const customWidth = function (selector) {return (new Library) .Generators.observe (function (change) {var width = change (document.querySelector (selector) .clientWidth)؛ تم تغيير حجم الوظيفة () {var w = document.querySelector (selector) .clientWidth؛ if (w! == width) change (width = w)؛} window.addEventListener (“ تغيير الحجم "، تم تغيير حجمه) ؛ وظيفة الإرجاع () {window.removeEventListener (" تغيير الحجم "، تم تغيير حجمه) ؛} ؛}) ؛
} ؛ const topk_renders = {"مخطط": "# topk-chart" ،
};
new Runtime (Object.assign (new Library، {width: customWidth (“# topk-chart”)})). module (notebook_topk، name => {const selector = topk_renders [name]؛ if (selector) {// key موجود إرجاع المفتش الجديد (document.querySelector (محدد)) ؛} آخر {إرجاع صحيح ؛}
}) ؛ const embed3d_renders = {"الرسم البياني": "# embed3d-chart"، "legend": "# embed3d-legend"،
};
new Runtime (Object.assign (new Library، {width: customWidth (“# embed3d-chart”)})). موجود إرجاع المفتش الجديد (document.querySelector (محدد)) ؛} آخر {إرجاع صحيح ؛}
})؛

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

اكثر من OpenAI