Как использовать аннотатор в sparknlp для текстового файла - PullRequest
0 голосов
/ 28 февраля 2020

Поскольку я новичок в освоении НЛП, я начал делать некоторые упражнения для упражнений, используя функции, которые отображаются в johnsnowlabs

Я использую SCALA из блоков данных и я получил большой текстовый файл из https://www.gutenberg.org/

Итак, сначала я импортирую необходимые библиотеки и данные следующим образом:

import com.johnsnowlabs.nlp.base._
import com.johnsnowlabs.nlp.annotator._

import com.johnsnowlabs.nlp.pretrained.PretrainedPipeline
val book = sc.textFile("/FileStore/tables/84_0-5b1ef.txt").collect()
val words=bookRDD.filter(x=>x.length>0).flatMap(line => line.split("""\W+"""))
val rddD = words.toDF("text")

Как использовать различные доступные аннотаторы в johnsnowlabs на основе моей цели?

Например, если я хочу найти стоп-слова, тогда я могу использовать

val stopWordsCleaner = new StopWordsCleaner()
      .setInputCols("token")
      .setOutputCol("cleanTokens")
      .setStopWords(Array("this", "is", "and"))
      .setCaseSensitive(false)

Но я понятия не имею, как использовать это и найти стоп слова из моего текстового файла. Нужно ли использовать предварительно обученную модель с аннотатором?

Мне было очень трудно найти хороший учебник по этому поводу. Так что я благодарен, если кто-то может дать несколько полезных советов.

1 Ответ

0 голосов
/ 28 февраля 2020

StopWordsCleaner - это аннотатор, используемый для удаления стоп-слов.

См .: Аннотаторы

Стоп-слова могут отличаться для вашего текста в зависимости от вашего контекста, но обычно все двигатели НЛП имеют набор стоп-слов, которые он будет сопоставлять и удалять.

В JSL spark-nlp вы также можете установить свои стоп-слова с помощью setStopWords при использовании StopWordsCleaner.

...