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

Я реализую алгоритм наивной байесовской классификации текста в Java.

До сих пор я объявил хеш-набор Vocabulary, в котором хранятся все уникальные слова из заданного текстового файла (тестового файла).

Одним из шагов в алгоритме является объединение всех элементов тестовых файлов в один текстовый файл. Это оказывается довольно большой файл со словами из каждого файла.

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

Может ли кто-нибудь дать мне лучшие предложения?

2 ответа

Используйте словарь (HashMap), где слова - это ключи, а значения - количество вхождений. Если HashSet помещается в память, HashMap также должен.

Вы можете попробовать использовать Tries, и листовые узлы могут хранить частоту слов.

Другие вопросы по тегам