Spark NLP Chunking - соответствие отдельным токенам - PullRequest
0 голосов
/ 04 августа 2020

Я использую пакет SparkNLP для токенизации и фрагментации текста. Я делю фрагменты на основе одного или нескольких существительных, но мне трудно понять, как вернуть ie их к отдельным токенам, которым они соответствуют, если у меня есть каждый отдельный токен в строке. Например:

+----------------------------+----------------+---------+----+
|            SENTENCE        | SENT_ID|  TOKEN| TOKEN_ID| POS|
+----------------------------+--------+-------+---------+----+
|The handle of razor blade...|       1|    The|        1|  DT|
|The handle of razor blade...|       1| handle|        2|  NN|
|The handle of razor blade...|       1|     of|        3| ADP|
|The handle of razor blade...|       1|  razor|        4|  NN|
|The handle of razor blade...|       1|  blade|        5|  NN|

Для фрагментирования я использую одно или несколько существительных в строке

chunker = Chunker().setInputCols(['sentence_raw','pos_raw']).setOutputCol('chunk_raw').setRegexParsers(['<NN.?>+'])

Но на выходе получается только одна строка, например

[handle, razor blade]

Как мне правильно присоединить это обратно к моей исходной таблице для формата, который я хочу выглядеть ниже:

+----------------------------+----------------+---------+----+------------+
|            SENTENCE        | SENT_ID|  TOKEN| TOKEN_ID| POS|       CHUNK|
+----------------------------+--------+-------+---------+----+------------+
|The handle of razor blade...|       1|    The|        1|  DT|        null|
|The handle of razor blade...|       1| handle|        2|  NN|      handle|
|The handle of razor blade...|       1|     of|        3| ADP|        null|
|The handle of razor blade...|       1|  razor|        4|  NN| razor blade|
|The handle of razor blade...|       1|  blade|        5|  NN| razor blade|
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...