Да, вы можете осуществить это с хэш-карта, однако в зависимости от количества функций и ваших требований к памяти не может быть лучшим или быстрым структуры данных, это действительно зависит от ваш домен. Как правило, представление объектов как присутствующих или нет приведет к плохим результатам. Лучшим методом является использование TF-IDF при взвешивании ваших функций.
Подход, о котором вы говорите, - это подход «сумка слов». Это означает, что вы подписываете базу документов на границах слов и используете слова как функции. В качестве первого прохода вы должны удалить стоп-слова (т.е. «a», «и», «the»), а затем нормализовать свои данные (т.е. Now == now == nOw). Затем вы можете выполнить слово, чтобы уменьшить размер вашего вектора.
Хороший способ занижать сейчас, чтобы извлечь функции, - это посмотреть на MALLET. У меня очень простая реализация Naive Bayes с синтаксическим анализатором для RCV-1, который вы можете посмотреть на примере Naive Bayes
Проблема, описанная здесь, по-видимому, вызвана ошибкой формата ввода (см. Окончательный комментарий на ответ). Голосование закрывается как «слишком локализованное». – jogojapan