Определение количества раз, когда каждое слово в хэш-наборе встречается в текстовом документе.
Я реализую алгоритм наивной байесовской классификации текста в Java.
До сих пор я объявил хеш-набор Vocabulary, в котором хранятся все уникальные слова из заданного текстового файла (тестового файла).
Одним из шагов в алгоритме является объединение всех элементов тестовых файлов в один текстовый файл. Это оказывается довольно большой файл со словами из каждого файла.
Теперь я должен посчитать количество вхождений каждого слова в Словаре с помощью сцепленного текстового файла. Мое первое предположение - сохранить структуру массива, которая содержит частоты каждого слова. Но опять же, у меня было бы слишком много записей.
Может ли кто-нибудь дать мне лучшие предложения?
2 ответа
Используйте словарь (HashMap), где слова - это ключи, а значения - количество вхождений. Если HashSet помещается в память, HashMap также должен.
Вы можете попробовать использовать Tries, и листовые узлы могут хранить частоту слов.