Description
SentenceDetectorDL (SDDL) is based on a general-purpose neural network model for sentence boundary detection. The task of sentence boundary detection is to identify sentences within a text. Many natural language processing tasks take a sentence as an input unit, such as part-of-speech tagging, dependency parsing, named entity recognition or machine translation.
Open in Colab Download Copy S3 URI
How to use
documenter = DocumentAssembler()\
.setInputCol("text")\
.setOutputCol("document")
sentencerDL = SentenceDetectorDLModel\
.pretrained("sentence_detector_dl", "yi") \
.setInputCols(["document"]) \
.setOutputCol("sentences")
sd_model = LightPipeline(PipelineModel(stages=[documenter, sentencerDL]))
sd_model.fullAnnotate("""איר זוכט פֿאַר אַ גרויס מקור פון לייענען פּאַראַגראַפס אין ענגליש? איר'ווע קומען צו די רעכט אָרט. לויט צו אַ פריש לערנען, די מידע פון לייענען אין הייַנט ס יוגנט איז ראַפּאַדלי דיקריסינג. זיי קענען נישט פאָקוס אויף אַ געגעבן פּאַראַגראַף פֿאַר ענגליש לייענען פֿאַר מער ווי אַ ביסל סעקונדעס! לייענען איז געווען און איז אַ ינטאַגראַל טייל פון אַלע קאַמפּעטיטיוו יגזאַמז. אַזוי ווי טאָן איר פֿאַרבעסערן דיין לייענען סקילז? דער ענטפער צו דעם קשיא איז אַקשלי אן אנדער קשיא: וואָס איז די נוצן פון לייענען סקילז? דער הויפּט ציל פון לייענען איז 'צו מאַכן זינען'.""")
val documenter = DocumentAssembler()
.setInputCol("text")
.setOutputCol("document")
val model = SentenceDetectorDLModel.pretrained("sentence_detector_dl", "yi")
.setInputCols(Array("document"))
.setOutputCol("sentence")
val pipeline = new Pipeline().setStages(Array(documenter, model))
val data = Seq("איר זוכט פֿאַר אַ גרויס מקור פון לייענען פּאַראַגראַפס אין ענגליש? איר'ווע קומען צו די רעכט אָרט. לויט צו אַ פריש לערנען, די מידע פון לייענען אין הייַנט ס יוגנט איז ראַפּאַדלי דיקריסינג. זיי קענען נישט פאָקוס אויף אַ געגעבן פּאַראַגראַף פֿאַר ענגליש לייענען פֿאַר מער ווי אַ ביסל סעקונדעס! לייענען איז געווען און איז אַ ינטאַגראַל טייל פון אַלע קאַמפּעטיטיוו יגזאַמז. אַזוי ווי טאָן איר פֿאַרבעסערן דיין לייענען סקילז? דער ענטפער צו דעם קשיא איז אַקשלי אן אנדער קשיא: וואָס איז די נוצן פון לייענען סקילז? דער הויפּט ציל פון לייענען איז 'צו מאַכן זינען'.").toDF("text")
val result = pipeline.fit(data).transform(data)
nlu.load('yi.sentence_detector').predict("איר זוכט פֿאַר אַ גרויס מקור פון לייענען פּאַראַגראַפס אין ענגליש? איר'ווע קומען צו די רעכט אָרט. לויט צו אַ פריש לערנען, די מידע פון לייענען אין הייַנט ס יוגנט איז ראַפּאַדלי דיקריסינג. זיי קענען נישט פאָקוס אויף אַ געגעבן פּאַראַגראַף פֿאַר ענגליש לייענען פֿאַר מער ווי אַ ביסל סעקונדעס! לייענען איז געווען און איז אַ ינטאַגראַל טייל פון אַלע קאַמפּעטיטיוו יגזאַמז. אַזוי ווי טאָן איר פֿאַרבעסערן דיין לייענען סקילז? דער ענטפער צו דעם קשיא איז אַקשלי אן אנדער קשיא: וואָס איז די נוצן פון לייענען סקילז? דער הויפּט ציל פון לייענען איז 'צו מאַכן זינען'.", output_level ='sentence')
Results
+--------------------------------------------------------------------------------------------------------+
|result |
+--------------------------------------------------------------------------------------------------------+
|[איר זוכט פֿאַר אַ גרויס מקור פון לייענען פּאַראַגראַפס אין ענגליש?] |
|[איר'ווע קומען צו די רעכט אָרט.] |
|[לויט צו אַ פריש לערנען, די מידע פון לייענען אין הייַנט ס יוגנט איז ראַפּאַדלי דיקריסינג.] |
|[זיי קענען נישט פאָקוס אויף אַ געגעבן פּאַראַגראַף פֿאַר ענגליש לייענען פֿאַר מער ווי אַ ביסל סעקונדעס!] |
|[לייענען איז געווען און איז אַ ינטאַגראַל טייל פון אַלע קאַמפּעטיטיוו יגזאַמז.] |
|[אַזוי ווי טאָן איר פֿאַרבעסערן דיין לייענען סקילז?] |
|[דער ענטפער צו דעם קשיא איז אַקשלי אן אנדער קשיא:] |
|[וואָס איז די נוצן פון לייענען סקילז?] |
|[דער הויפּט ציל פון לייענען איז 'צו מאַכן זינען'.] |
+--------------------------------------------------------------------------------------------------------+
Model Information
Model Name: | sentence_detector_dl |
Compatibility: | Spark NLP 3.2.0+ |
License: | Open Source |
Edition: | Official |
Input Labels: | [document] |
Output Labels: | [sentences] |
Language: | yi |
Benchmarking
label Accuracy Recall Prec F1
0 0.98 1.00 0.96 0.98