Прежде всего, если размер входного файла достаточно велик, например, в ГБ, ТБ или более, вам может быть интересно выполнить ту же работу, используя процессы Hadoop и MapReduce.Однако для меньшего ввода данных они не подходят.Однако в обоих случаях вы можете использовать Apache Lucene для анализа и токенизации вашего входного текста.Lucene в основном предназначен для индексирования и поиска очень больших данных, однако вы все равно можете использовать их для решения своей проблемы, потому что среда Analyzer и Tokenizer очень хороша для таких ситуаций, как ваша.
И если вы не хотите ничегоВы должны просто заменить все знаки препинания и цифры каким-либо другим символом, который не будет мешать следующему процессу, например, пробел ''.Вы можете добиться этого с помощью регулярных выражений.Далее, вы можете снова найти частоту слов, используя регулярные выражения, если вас интересуют некоторые предопределенные слова.Если вам нужно вычислить частоту всех слов, присутствующих во входных данных, вы все равно можете использовать регулярные выражения, чтобы сделать это.Сначала сопоставьте шаблон слова, используя RegEx, затем для каждого подходящего слова, через которое вы можете пройти итерацию, просто сохраняйте хэш-карту с каждым словом в качестве ключа и просто увеличивайте значения хэш-карты на основе ключей.Этот метод также имеет расширенные параметры фильтрации, такие как не считая частоты для слов, длина которых меньше 2 или аналогичных.При написании этого ответа я получил хороший пример , делающий то же самое.:) Надеюсь, это поможет.