Настроить синтаксический анализ массива строк в Java - PullRequest
0 голосов
/ 04 марта 2019

У меня есть массив таких строк (из Твиттера):

String str= "The Green New Deal is viable. It is the same vision that FDR had for his New Deal programs: nationwide mobilization http://94739 #thegreendeal #nationwide"

Что я хочу, это 1) превратить эту строку в массив и 2) удалить стоп-слова и включить в них stemming 3)удалить все символы, кроме символа «#», который означает, что термин является хэштегом.

Итак, я попытался использовать эту классную библиотеку https://github.com/uttesh/exude, которая использует стоячие и удаляет стоп-слова, а также строчные буквы и удаляет символы.Проблема в том, что это удаляет хэштеги.Код для этого:

String tweetString = ExudeData.getInstance().filterStoppingsKeepDuplicates(str);

Я также пробовал это:

String[] wordArray = str.replaceAll("[^a-zA-Z ]", "").toLowerCase().split("\\s+");

Но это также удаляет хэштеги.Любой обходной путь, использующий любой метод, чтобы сохранить хэштеги?(Я бы предпочел сохранить библиотеку exude для этого)

1 Ответ

0 голосов
/ 04 марта 2019

Используя метод регулярных выражений, вы можете попытаться добавить # в список символов, которые нельзя удалять следующим образом:

        String[] wordArray = str.replaceAll("[^a-zA-Z #]", "").toLowerCase().split("\\s+");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...