تحتوي المجموعة على أسئلة وأجوبة تم جمعها من موقع مكتبة التأمين.
على حد علمنا، في وقت إصدار مجموعة البيانات هذه، في عام 2017، كانت أول مجموعة مفتوحة لضمان الجودة في مجال التأمين:
يتم إنشاء محتوى هذه المجموعة من قبل مستخدمين في العالم الحقيقي، ويتم تقديم إجابات عالية الجودة من قبل متخصصين ذوي معرفة عميقة بالمجال. لذا فهذه مجموعة ذات قيمة حقيقية، وليست لعبة.
في الورقة أعلاه، يتم استخدام المجموعة لمهمة اختيار الاستجابة. ومن ناحية أخرى، هناك استخدامات أخرى لهذه المجموعة ممكنة أيضًا. على سبيل المثال، التعلم المستقل من خلال قراءة الإجابات وفهمها، والتعلم بالملاحظة، وما إلى ذلك، يمكّن النظام من التوصل في النهاية إلى إجاباته الخاصة على الأسئلة غير المرئية.
تنقسم مجموعة البيانات إلى قسمين: "مجموعة الأسئلة والأجوبة" و"مجموعة الأسئلة والأجوبة". تتم ترجمة مجموعة الأسئلة والأجوبة من البيانات الإنجليزية الأصلية دون معالجة أخرى. تعتمد مجموعة الأسئلة والأجوبة على مجموعة الأسئلة والأجوبة، مع تجزئة الكلمات وإزالة التسمية وإضافة التسمية. لذلك، يمكن ربط "مجموعة الأسئلة والأجوبة" مباشرةً بمهام التعلم الآلي. إذا لم تكن راضيًا عن تنسيق البيانات أو تأثير تجزئة الكلمات، فيمكنك استخدام طرق أخرى مباشرة لمعالجة "مجموعة الأسئلة والأجوبة" للحصول على البيانات التي يمكن استخدامها لتدريب النموذج.
pip install -U insuranceqa_data
أدخل إلى مخزن الشهادات، وقم بشراء الشهادة، وأدخل [الشهادة - التفاصيل] بعد الشراء، ثم انقر فوق [نسخ هوية الشهادة].
ثم قم بتعيين متغير البيئة INSQA_DL_LICENSE
، مثل استخدام محطة سطر الأوامر:
# Linux / macOS
export INSQA_DL_LICENSE=YOUR_LICENSE
# # e.g. if your license id is `FOOBAR`, run `export INSQA_DL_LICENSE=FOOBAR`
# Windows
# # 1/2 Command Prompt
set INSQA_DL_LICENSE=YOUR_LICENSE
# # 2/2 PowerShell
$env :INSQA_DL_LICENSE= ' YOUR_LICENSE '
وأخيرا، قم بتنفيذ الأمر التالي لإكمال تنزيل البيانات.
python -c " import insuranceqa_data; insuranceqa_data.download_corpus() "
يتم تقسيم البيانات إلى نوعين: تنسيق POOL؛ من بينها، يعد تنسيق PAIR أكثر ملاءمة لنماذج التدريب على التعلم الآلي.
import insuranceqa_data as insuranceqa
train_data = insuranceqa . load_pool_train () # 训练集
test_data = insuranceqa . load_pool_test () # 测试集
valid_data = insuranceqa . load_pool_valid () # 验证集
# valid_data, test_data and train_data share the same properties
for x in train_data : # 打印数据
print ( 'index %s value: %s ++$++ %s ++$++ %s' %
( x , train_data [ x ][ 'zh' ], train_data [ x ][ 'en' ], train_data [ x ][ 'answers' ], train_data [ x ][ 'negatives' ]))
answers_data = insuranceqa . load_pool_answers ()
for x in answers_data : # 答案数据
print ( 'index %s: %s ++$++ %s' % ( x , answers_data [ x ][ 'zh' ], answers_data [ x ][ 'en' ]))
- | سؤال | إجابة | المفردات (الإنجليزية) |
---|---|---|---|
يدرب | 12,889 | 21,325 | 107889 |
يؤكد | 2000 | 3354 | 16,931 |
امتحان | 2000 | 3308 | 16,815 |
تشتمل كل قطعة من البيانات على السؤال باللغتين الصينية والإنجليزية، وأمثلة إيجابية للإجابة، وأمثلة سلبية للإجابة. يجب أن يكون هناك مثال إيجابي واحد على الأقل للحالة، بشكل أساسي العناصر من 1 إلى 5 ، وكلها إجابات صحيحة. هناك 200 مثال سلبي للإجابات يتم إنشاء الأمثلة السلبية بناء على السؤال باستخدام طرق البحث، لذا فهي مرتبطة بالسؤال ولكنها ليست الإجابة الصحيحة.
{
"INDEX": {
"zh": "中文",
"en": "英文",
"domain": "保险种类",
"answers": [""] # 答案正例列表
"negatives": [""] # 答案负例列表
},
more ...
}
التدريب: corpus/pool/train.json.gz
التحقق من الصحة: corpus/pool/valid.json.gz
الاختبار: corpus/pool/test.json.gz
الإجابة: يحتوي corpus/pool/answers.json
على إجمالي 27413 إجابة، وتنسيق البيانات هو json
:
{
"INDEX": {
"zh": "中文",
"en": "英文"
},
more ...
}
格式 INDEX ++$++ 保险种类 ++$++ 中文 ++$++ 英文
corpus/pool/train.txt.gz
, corpus/pool/valid.txt.gz
, corpus/pool/test.txt.gz
.
格式 INDEX ++$++ 中文 ++$++ 英文
corpus/pool/answers.txt.gz
يتم ضغط المجموعة باستخدام gzip لتقليل الحجم، ويمكن الوصول إلى البيانات باستخدام أوامر مثل zmore، وzless، وzcat، وzgrep.
zmore pool/test.txt.gz
باستخدام "بيانات الأسئلة والأجوبة"، لا تزال بحاجة إلى القيام بالكثير من العمل للدخول إلى نموذج التعلم الآلي، مثل تجزئة الكلمات وإزالة كلمات التوقف وإزالة علامات الترقيم وإضافة علامات التصنيف. لذلك، يمكننا مواصلة المعالجة على أساس "بيانات الأسئلة والأجوبة"، ولكن في مهام مثل تجزئة الكلمات، يمكننا استخدام أدوات مختلفة لتجزئة الكلمات، مما يؤثر على التدريب النموذجي. من أجل إتاحة البيانات بسرعة، توفر Insuranceqa-corpus-zh مجموعة بيانات باستخدام تجزئة الكلمات HanLP وإلغاء التسمية وإلغاء الإيقاف وإضافة التسميات. تعتمد مجموعة البيانات هذه بالكامل على "بيانات الأسئلة والأجوبة".
import insuranceqa_data as insuranceqa
train_data = insuranceqa . load_pairs_train ()
test_data = insuranceqa . load_pairs_test ()
valid_data = insuranceqa . load_pairs_valid ()
# valid_data, test_data and train_data share the same properties
for x in test_data :
print ( 'index %s value: %s ++$++ %s ++$++ %s' %
( x [ 'qid' ], x [ 'question' ], x [ 'utterance' ], x [ 'label' ]))
vocab_data = insuranceqa . load_pairs_vocab ()
vocab_data [ 'word2id' ][ 'UNKNOWN' ]
vocab_data [ 'id2word' ][ 0 ]
vocab_data [ 'tf' ]
vocab_data [ 'total' ]
تحتوي vocab_data
على word2id
(الإملاء، من كلمة إلى معرف)، id2word
(إملاء، من معرف إلى كلمة)، tf
(إملاء، إحصائيات تكرار الكلمات) total
(إجمالي عدد الكلمات). من بينها، معرف الكلمات غير المسجلة هو UNKNOWN
، ومعرف الكلمات غير المسجلة هو 0.
تنسيقات بيانات train_data
و test_data
و valid_data
هي نفسها. qid
هو معرف السؤال، question
هو السؤال، utterance
هو الرد، إذا كانت label
[1,0]
فهذا يعني أن الرد هو الإجابة الصحيحة، [0,1]
يعني أن الرد ليس هو الإجابة الصحيحة، لذا utterance
يحتوي على بيانات الأمثلة الإيجابية والسلبية. يحتوي كل سؤال على 10 أمثلة سلبية ومثال واحد إيجابي.
train_data
تحتوي على 12,889 سؤال، 141779
بيانات، أمثلة إيجابية: أمثلة سلبية = 1:10 test_data
تحتوي على 2000 سؤال، 22000
بيانات، أمثلة إيجابية: أمثلة سلبية = 1:10 valid_data
تحتوي على 2000 سؤال، 22000
بيانات، أمثلة إيجابية: مثال سلبي = 1: 10
طول الجملة:
max len of valid question : 31, average: 5(max)
max len of valid utterance: 878(max), average: 165(max)
max len of test question : 33, average: 5
max len of test utterance: 878, average: 161
max len of train question : 42(max), average: 5
max len of train utterance: 878, average: 162
vocab size: 24997
يمكنك استخدام هذه المجموعة مع التعليمات البرمجية مفتوحة المصدر التالية
عميق-QA-1: نموذج خط الأساس
التأمينQA TensorFlow: CNN مع TensorFlow
البدء بـ n-grams: نموذج N-gram
word2vec-البدء: نموذج ناقل الكلمات
البيان 1: Insuranceqa-corpus-zh
تم إنشاء مجموعة البيانات هذه باستخدام تأمين الترجمة QA، وتم إصدار الكود بموجب ترخيص Chunsong العام، الإصدار 1.0. البيانات مخصصة لأغراض البحث فقط ويجب الاستشهاد بها ومعالجتها عند نشرها في أي وسيلة إعلام أو مجلة أو مجلة أو مدونة.
InsuranceQA Corpus, Chatopera Inc., https://github.com/chatopera/insuranceqa-corpus-zh, 07 27, 2017
يجب أيضًا أن تكون أي بيانات مستمدة من Insuranceqa-corpus مفتوحة ويجب أن تعلن عن محتوى يتوافق مع "البيان 1" و"البيان 2".
البيان 2: ضمان الجودة
يتم توفير مجموعة البيانات هذه لأغراض البحث فقط. إذا نشرت أي شيء باستخدام هذه البيانات، فيرجى الاستشهاد بمقالتنا: تطبيق التعلم العميق للإجابة على الاختيار: دراسة ومهمة مفتوحة. مينوي فنغ، بينج شيانغ، مايكل ر. جلاس، ليدان وانغ، بوين تشو @ 2015