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", "id") \
.setInputCols(["document"]) \
.setOutputCol("sentences")
sd_model = LightPipeline(PipelineModel(stages=[documenter, sentencerDL]))
sd_model.fullAnnotate("""Mencari sumber paragraf bacaan bahasa Inggris yang bagus? Anda telah datang ke tempat yang tepat. Menurut sebuah penelitian baru-baru ini, kebiasaan membaca di kalangan remaja saat ini menurun dengan cepat. Mereka tidak dapat fokus pada paragraf bacaan bahasa Inggris yang diberikan selama lebih dari beberapa detik! Juga, membaca adalah dan merupakan bagian integral dari semua ujian kompetitif. Jadi, bagaimana Anda meningkatkan keterampilan membaca Anda? Jawaban atas pertanyaan ini sebenarnya adalah pertanyaan lain: Apa gunanya keterampilan membaca? Tujuan utama membaca adalah 'untuk masuk akal'.""")
val documenter = DocumentAssembler()
.setInputCol("text")
.setOutputCol("document")
val model = SentenceDetectorDLModel.pretrained("sentence_detector_dl", "id")
.setInputCols(Array("document"))
.setOutputCol("sentence")
val pipeline = new Pipeline().setStages(Array(documenter, model))
val data = Seq("Mencari sumber paragraf bacaan bahasa Inggris yang bagus? Anda telah datang ke tempat yang tepat. Menurut sebuah penelitian baru-baru ini, kebiasaan membaca di kalangan remaja saat ini menurun dengan cepat. Mereka tidak dapat fokus pada paragraf bacaan bahasa Inggris yang diberikan selama lebih dari beberapa detik! Juga, membaca adalah dan merupakan bagian integral dari semua ujian kompetitif. Jadi, bagaimana Anda meningkatkan keterampilan membaca Anda? Jawaban atas pertanyaan ini sebenarnya adalah pertanyaan lain: Apa gunanya keterampilan membaca? Tujuan utama membaca adalah 'untuk masuk akal'.").toDF("text")
val result = pipeline.fit(data).transform(data)
nlu.load('id.sentence_detector').predict("Mencari sumber paragraf bacaan bahasa Inggris yang bagus? Anda telah datang ke tempat yang tepat. Menurut sebuah penelitian baru-baru ini, kebiasaan membaca di kalangan remaja saat ini menurun dengan cepat. Mereka tidak dapat fokus pada paragraf bacaan bahasa Inggris yang diberikan selama lebih dari beberapa detik! Juga, membaca adalah dan merupakan bagian integral dari semua ujian kompetitif. Jadi, bagaimana Anda meningkatkan keterampilan membaca Anda? Jawaban atas pertanyaan ini sebenarnya adalah pertanyaan lain: Apa gunanya keterampilan membaca? Tujuan utama membaca adalah 'untuk masuk akal'.", output_level ='sentence')
Results
+---------------------------------------------------------------------------------------------------------------+
|result |
+---------------------------------------------------------------------------------------------------------------+
|[Mencari sumber paragraf bacaan bahasa Inggris yang bagus?] |
|[Anda telah datang ke tempat yang tepat.] |
|[Menurut sebuah penelitian baru-baru ini, kebiasaan membaca di kalangan remaja saat ini menurun dengan cepat.] |
|[Mereka tidak dapat fokus pada paragraf bacaan bahasa Inggris yang diberikan selama lebih dari beberapa detik!]|
|[Juga, membaca adalah dan merupakan bagian integral dari semua ujian kompetitif.] |
|[Jadi, bagaimana Anda meningkatkan keterampilan membaca Anda?] |
|[Jawaban atas pertanyaan ini sebenarnya adalah pertanyaan lain:] |
|[Apa gunanya keterampilan membaca?] |
|[Tujuan utama membaca adalah 'untuk masuk akal'.] |
+---------------------------------------------------------------------------------------------------------------+
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: | id |
Benchmarking
label Accuracy Recall Prec F1
0 0.98 1.00 0.96 0.98