في الأساس ، تعد NK-VEC عبارة عن شبكة عصبية تضم أفكارًا من Word2Vec ولديها نفس المهمة مثل جميع النماذج المضمنة من الوقت الحاضر ، ولكن لديها بنية أبسط بكثير. من خلال مكتبة NK-Vector ، يمكنك استخدام نموذج NK-VEC لإنشاء مجموعة المتجه وفقًا لبياناتك الخاصة بأبسط طريقة. بالإضافة إلى ذلك ، يوفر لك NK-Vector أيضًا بعض الميزات والخوارزميات المفيدة المستخدمة لحل مشاكل NLP.
لقد قمت بإنشائها أثناء البحث في مشروع كبير في غرفة المعلوماتية في مدرسة نغوين خوين الثانوية (DA NANG) ، لذلك كان NK اختصار اسم المدرسة ، هذه بصمة أردت حفظها وتستحق ذلك.
| فك | المعلمة | على سبيل المثال | ملحوظة |
|---|---|---|---|
| create_one_hot | <file_url ، url_save> | "E: /Project/Data.txt" ، "E: /Project/OneHot.json" | في هذا ، سيؤدي ذلك إلى تصفية أحرف اللغة الإنجليزية والشخصية باستثناء "_" |
| create_window_words | <file_url ، window_size ، url_save> | "e: /project/data.txt" ، 5 ، "e: /project/window.txt" | في هذا ، سيؤدي ذلك إلى تصفية كلمة stopword الإنجليزية والأحرف الخاصة باستثناء '_'. يجب أن يكون Window_size رقمًا غريبًا |
| يدرب | <sives_output ، url_data_one_hot ، url_data_window_words ، url_save> | 512 ، "e: /project/onehot.json" ، "e: /project/window.txt" ، "e: /project/data_vector.json" | Size_output هو عدد أبعاد متجه الإخراج ويجب أن يكون أصغر من البعد الأول لإدخال ناقل OnhoT |
| Building_VEC_SENTENCES | <"doc" ، url_vecs_of_words ، url_save> | "Hello Everybone" ، "E: /Project/Data_Vector.json" ، "" " | إذا كان لدى url_save طول صفر ، فإن الافتراضي يعيد المتجه دون حفظ ، إذا تم حفظه ، فدع تنسيق JSON - مثال: "E: /Project/Data_Sentence_Vector.json" |
| Search_word_similarity | <"الهدف" ، url_vecs_of_word ، size_result> | "King" ، "E: /Project/Data_Vector.json" ، 15 | يتوافق Size_result مع عدد الكلمات مع أعلى مستوى إلى انخفاض من إرجاع " |
| الخزانة | <"الهدف" ، type_distance ، البيانات ، k> | [7 ، 8] ، "Eculid" ، نقاط ، 4 | انظر أمثلة استخدام الوظيفة أدناه |
| vn_segressation_tag | <"وثيقة"> | "مرحبا بكم" | تأكد من أن إصدار العقدة الخاص بك هو نسخة كاملة من 10.16.0 أو أكثر |
| clear_sentence_vn | <"وثيقة"> | "مرحبا بكم" | هنا سيتم ترشيح الجملة الفيتنامية من Stopword Vietnamese إلى شخصيات خاصة |
| clear_sentence_en | <"وثيقة"> | "مرحبا بكم" | هنا سيتم تصفية الجملة الإنجليزية الخاصة بك من stopword english إلى شخصيات خاصة |
| remove_duplicate_words | <"وثيقة"> | "مرحبا بكم" | ستكون هناك كلمات مكررة في الجملة ويستخدم لكل من اللغة الإنجليزية والفيتنامية |
| fast_build_chatbot | <"النص"> | "كيف حال الطقس اليوم" | سيعود BOT هنا إحدى الملصقات: الكيمياء ، General_Asking ، الرياضيات ، Good_bye ، مرحبًا ، مقدمة ، شكرًا ، Ask_weather ، غير معروف |
| المشاعر | <"النص"> | "اليوم قاتم للغاية" | هنا ستعيد إحدى الملصقات: حزين ، سعيد ، محبط ، طبيعي ، غير معروف - على سبيل المثال ، عودة النتيجة هي سلسلة: حزينة " |
| fix_telex | <"النص"> | "anh thisch awn busn char cas" | هنا ستعيد النتيجة التي كانت TELEX - على سبيل المثال: أحب تناول كعكة السمك |
| english_or_vietnamese | <"النص"> | "مرحبا ، هاه ، أنت؟" | ستعيد النتيجة ككائن بما في ذلك مدارسك ، التسمية ، Fix_text - على سبيل المثال {your_text: "Hello ، Hue You؟" |
| } |
- تثبيت node.js
- Run: NPM I NK-Vector
let NKV = require ( 'nk-vector' )مثال: استخدم وظيفة الفك
let NKV = require ( 'nk-vector' )
let points = [
[ 1 , 2 ] ,
[ 3 , 4 ] ,
[ 5 , 6 ] ,
[ 7 , 8 ]
] ;
let nearest = NKV . knn ( [ 7 , 8 ] , 'eculid' , points , 4 ) ;
console . log ( nearest ) ;
/*Result:
[ [ [ 7, 8 ], 0 ],
[ [ 5, 6 ], 8 ],
[ [ 3, 4 ], 32 ],
[ [ 1, 2 ], 72 ] ]
Giải thích kết quả mảng trả về: [<vector trong tập dữ liệu>, <khoảng cách từ vector đầu vào tới vector này>]
*/مثال: استخدم الوظيفة building_vec_sentences
let NKV = require ( 'nk-vector' )
let sentence = NKV . VN_segmentation_tag ( NKV . clear_sentence_vn ( 'cân bằng phương trình hóa học' ) )
let full_sentence = ''
for ( let word in sentence ) {
full_sentence += sentence [ word ] . replace ( ' ' , '_' ) + ' '
}
if ( full_sentence . length > 0 ) {
console . log ( full_sentence )
console . log ( NKV . build_vec_sentences ( full_sentence . trim ( ) , 'E:/<name_project>/data_vec.json' , '' ) )
}
/*Result:
{"cân_bằng phương_trình hóa học":[0.002338010428122218,...,0,0,0.00111962700489077,0.0009866701202071657,0.00111962700489077,0,0.00111962700489077,0,0,0.0009866701202071657,0,0.0010865777210490053,0,0.0010865777210490053,0,0,0,0,0,0.0009866701202071657,0,0,0,0,0,0,0.0010865777210490053,...0,0.0010865777210490053,...,0]}
*/مثال: استخدم clear_sentence_vn
let NKV = require ( 'nk-vector' )
let clear_sentence = NKV . clear_sentence_vn ( "Chào mừng các bạn lên trên trời, ở đây là trên trời" )
console . log ( clear_sentence ) ;
//Result: chào mừng trời trờiالأحمر : لا يمكن أن يستمر الخطأ
الأصفر : هذا مجرد إشعار طبيعي ، لا يزال يعمل
إذا واجهت خطأ لا تجد ملف كلمة الملف ، فابحث عن سطر الخطأ وفقًا للمسار الموجود في المحطة ومراجعته إلى:
- path.join (__ dirke ، "/src/stop_word.txt"): دع الدالة clear_sentence_en
- path.join (__ direct ، "/src/stop_word_vnt_vn.txt"): للدالة clear_sentence_vn
أو مسار مرشح بالضبط طريقكيتم إخطار هذا الخطأ للمستخدم على مستوى أحمر
يحدث هذا الخطأ عند المفردات ، يجب أن تؤدي الأحرف التي تشكل الجملة في مرشح STOPWORD والأحرف الخاصة أثناء عملية التدريب إلى عدم وجود متجه لهذه المفردات ، مما يؤدي إلى أن تكون جملة التحميل فارغة ولا يوجد بناء.
يتم إخطار هذا الخطأ للمستخدم مع المستوى الأصفر
شكرًا لك على استخدام NK-Vector ، سأقوم بتحديث خوارزميات جديدة بانتظام!
شكرا لك ، VNB لتطوير حزمة VNTK المقدسة
بحث رمز: https://code-search-vni.herokuapp.com/
قبل مفتاح نشر GPT-3 للجميع ، لا يزال بإمكاني إنشاء مكان للبحث في بيثون في دلالات مثال GPT-3