У меня есть фреймворк Spark, где каждая строка является токеном из предложения и включает его часть речи. Я пытаюсь найти лучший способ сравнить одну строку с другой, чтобы создать самый длинный фрагмент существительного.
+------+-----------+---------------------------+--------+-------+-------+-----+
|REV_ID| SENT_ID| SENTENCE|TOKEN_ID| TOKEN| LEMMA| POS|
+------+-----------+---------------------------+--------+-------+-------+-----+
| 1| 1|Ice hockey game took hours.| 1| Ice| ice| NOUN|
| 1| 1|Ice hockey game took hours.| 2| hockey| hockey| NOUN|
| 1| 1|Ice hockey game took hours.| 3| game| game| NOUN|
| 1| 1|Ice hockey game took hours.| 4| took| take| VERB|
| 1| 1|Ice hockey game took hours.| 5| hours| hour| NOUN|
Я знаю, что for l oop неэффективен, но я не уверен, как еще получить желаемые результаты, как показано ниже:
+------+-----------+---------------------------+--------+-------+-------+-----+----------------+
|REV_ID| SENT_ID| SENTENCE|TOKEN_ID| TOKEN| LEMMA| POS| NOUN_CHUNK|
+------+-----------+---------------------------+--------+-------+-------+-----+----------------+
| 1| 1|Ice hockey game took hours.| 1| Ice| ice| NOUN| ice hockey game|
| 1| 1|Ice hockey game took hours.| 2| hockey| hockey| NOUN| ice hockey game|
| 1| 1|Ice hockey game took hours.| 3| game| game| NOUN| ice hockey game|
| 1| 1|Ice hockey game took hours.| 4| took| take| VERB| NULL|
| 1| 1|Ice hockey game took hours.| 5| hours| hour| NOUN| hour|