Description
MPNet Base For Question Answering fine tuned on the Squad2 dataset.
Reference: https://huggingface.co/haddadalwi/multi-qa-mpnet-base-dot-v1-finetuned-squad2-all
Predicted Entities
How to use
import sparknlp
from sparknlp.base import *
from sparknlp.annotator import *
from pyspark.ml import Pipeline
documentAssembler = MultiDocumentAssembler() \
.setInputCols(["question", "context"]) \
.setOutputCol(["document_question", "document_context"])
spanClassifier = MPNetForQuestionAnswering.pretrained() \
.setInputCols(["document_question", "document_context"]) \
.setOutputCol("answer") \
.setCaseSensitive(False)
pipeline = Pipeline().setStages([
documentAssembler,
spanClassifier
])
data = spark.createDataFrame([["What's my name?", "My name is Clara and I live in Berkeley."]]).toDF("question", "context")
result = pipeline.fit(data).transform(data)
result.select("answer.result").show(truncate=False)
import spark.implicits._
import com.johnsnowlabs.nlp.base._
import com.johnsnowlabs.nlp.annotator._
import org.apache.spark.ml.Pipeline
val document = new MultiDocumentAssembler()
.setInputCols("question", "context")
.setOutputCols("document_question", "document_context")
val questionAnswering = MPNetForQuestionAnswering.pretrained()
.setInputCols(Array("document_question", "document_context"))
.setOutputCol("answer")
.setCaseSensitive(true)
val pipeline = new Pipeline().setStages(Array(
document,
questionAnswering
))
val data = Seq("What's my name?", "My name is Clara and I live in Berkeley.").toDF("question", "context")
val result = pipeline.fit(data).transform(data)
result.select("label.result").show(false)
Results
+---------------------+
|result |
+---------------------+
|[Clara] |
++--------------------+
Model Information
Model Name: | mpnet_base_question_answering_squad2 |
Compatibility: | Spark NLP 5.2.4+ |
License: | Open Source |
Edition: | Official |
Input Labels: | [document_question, document_context] |
Output Labels: | [answer] |
Language: | en |
Size: | 403.5 MB |