Görev Kitaplığı BertQuestionAnswerer
API'si, Bert modeli yükler ve yanıtları yükler
içeriği temel alan sorular
belirleyebilirsiniz. Daha fazla bilgi için
Soru-Cevap modeli için bir örnek teşkil eder.
BertQuestionAnswerer API'nin temel özellikleri
Soru ve bağlam olarak iki metin girişi alır ve mümkün olanların bir listesini çıkarır cevaplar.
Girişte grafik dışı Wordparça veya Cümle parçası tokenizasyonları gerçekleştirir metin.
Desteklenen BertQuestionAnswerer modelleri
Aşağıdaki modeller BertNLClassifier
API ile uyumludur.
Modeli oluşturan: BERT Question Answer için TensorFlow Lite Model Maker.
İlgili içeriği oluşturmak için kullanılan TensorFlow Hub'daki önceden eğitilmiş BERT modelleridir.
Şu koşulları karşılayan özel modeller: model uyumluluk koşullarını karşılayın.
Java'da çıkarım çalıştırma
1. Adım: Gradle bağımlılığını ve diğer ayarları içe aktarın
.tflite
model dosyasını Android modülünün öğe dizinine kopyalayın
nerede çalıştırılacağına karar verin. Dosyanın sıkıştırılmaması gerektiğini belirtin ve
modülün build.gradle
dosyasına TensorFlow Lite kitaplığını ekleyin:
android {
// Other settings
// Specify tflite file should not be compressed for the app apk
aaptOptions {
noCompress "tflite"
}
}
dependencies {
// Other dependencies
// Import the Task Text Library dependency
implementation 'org.tensorflow:tensorflow-lite-task-text:0.4.4'
}
2. Adım: API'yi kullanarak çıkarım çalıştırma
// Initialization
BertQuestionAnswererOptions options =
BertQuestionAnswererOptions.builder()
.setBaseOptions(BaseOptions.builder().setNumThreads(4).build())
.build();
BertQuestionAnswerer answerer =
BertQuestionAnswerer.createFromFileAndOptions(
androidContext, modelFile, options);
// Run inference
List<QaAnswer> answers = answerer.answer(contextOfTheQuestion, questionToAsk);
Bkz. kaynak kod inceleyebilirsiniz.
Swift'te çıkarım çalıştır
1. Adım: CocoaPods'u içe aktarın
Podfile'a TensorFlowLiteTaskText kapsülünü ekleme
target 'MySwiftAppWithTaskAPI' do
use_frameworks!
pod 'TensorFlowLiteTaskText', '~> 0.4.4'
end
2. Adım: API'yi kullanarak çıkarım çalıştırma
// Initialization
let mobileBertAnswerer = TFLBertQuestionAnswerer.questionAnswerer(
modelPath: mobileBertModelPath)
// Run inference
let answers = mobileBertAnswerer.answer(
context: context, question: question)
Bkz. kaynak kod inceleyebilirsiniz.
C++'ta çıkarım çalıştır
// Initialization
BertQuestionAnswererOptions options;
options.mutable_base_options()->mutable_model_file()->set_file_name(model_path);
std::unique_ptr<BertQuestionAnswerer> answerer = BertQuestionAnswerer::CreateFromOptions(options).value();
// Run inference with your inputs, `context_of_question` and `question_to_ask`.
std::vector<QaAnswer> positive_results = answerer->Answer(context_of_question, question_to_ask);
Bkz. kaynak kod inceleyebilirsiniz.
Python'da çıkarım çalıştırma
1. Adım: Pip paketini yükleyin
pip install tflite-support
2. Adım: Modeli kullanma
# Imports
from tflite_support.task import text
# Initialization
answerer = text.BertQuestionAnswerer.create_from_file(model_path)
# Run inference
bert_qa_result = answerer.answer(context, question)
Bkz.
kaynak kod
daha fazla BertQuestionAnswerer
yapılandırma seçeneğine gidin.
Örnek sonuçlar
Bu soruya verilen cevapların bir örneğini ALBERT modeli.
Bağlam: "Amazon yağmur ormanı, alternatif olarak Amazon'da da bilinen Amazon Amazon kadar İngilizce, Amazon'da yer alan nemli geniş yapraklı tropik yağmur ormanıdır Güney Amerika'nın Amazon havzasının büyük kısmını kaplayan canlı bir bitki türü. Bu havza 7.000.000 km2 (2.700.000 milkare) boyunca 5.500.000 km2 (2.100.000 kilometrekare) yağmur ormanlarıyla kaplıdır. Bu bölge dokuz ulusa ait toprakları kapsar."
Soru: "Amazon yağmur ormanı nerede?"
Yanıtlar:
answer[0]: 'South America.'
logit: 1.84847, start_index: 39, end_index: 40
answer[1]: 'most of the Amazon basin of South America.'
logit: 1.2921, start_index: 34, end_index: 40
answer[2]: 'the Amazon basin of South America.'
logit: -0.0959535, start_index: 36, end_index: 40
answer[3]: 'the Amazon biome that covers most of the Amazon basin of South America.'
logit: -0.498558, start_index: 28, end_index: 40
answer[4]: 'Amazon basin of South America.'
logit: -0.774266, start_index: 37, end_index: 40
Nasıl yapıldığını BertQuestionAnswerer için KSA demo aracı kullanarak test edebilirsiniz.
Model uyumluluğu şartları
BertQuestionAnswerer
API, kullanımı zorunlu olan bir TFLite modeli bekler
TFLite Model Meta Verileri.
Meta veriler aşağıdaki şartları karşılamalıdır:
Wordparça/Sentence Parti Tokenizer için
input_process_units
"ids", "mask" adlı 3 giriş tensörü ve "segment_ids" şunun çıktısı için: belirteç oluşturucu
"end_logits" adlı 2 çıkış tensörü ve "start_logits" belirtmek için cevabın bağlamdaki göreli konumu