Advertisement
SquarePolinom

Untitled

Jan 18th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. Алгоритм без сюрпризов и работает по первой схеме, что пришла в голову (и была удачной). Используется мера TF-IDF, а для ускорения работы в качестве структур выбраны Бинарные деревья. Однако время работы, даже в этом случае довольно продолжительное (все этапы занимают около 40-60 минут)
  2. Программа условно делится на 3 этапа:
  3. 1. Сбор данных
  4. 2. Обработка данных
  5. 3. Анализ статей
  6.  
  7. Сбор данных происходит просто: читаются статьи из файла news_train, слова содержащиеся в этих статьях заносятся в отдельные файлы (по файлу на каждую из десяти меток). Стоит отметить, что некоторые слова отсекаются (все длинной 2 или менее символа, чтобы отбросить предлоги). Также слова подвергаются предварительной обработке, они "очищаются" от все возможно иных знаков, вроде точек, ковычек и прочего, однако очистить от всего не удалось.
  8.  
  9. Обработка данных заключается лишь в том, что каждому слову приписывается его вес по мере TF-IDF. Если в кратце, то кол-во копий слова в файле делится на общее количество слов, а затем умножается на логарифм отношения общего количества файлов к кол-ву тех, в которых встречается слово.
  10.  
  11. Анализ статей происходит элементарно, анализируется статья, если словно из нее встречается под какой под определенной меткой, то к общему "весу" метки для данной статьи прибавляется вес слова по мере TF-IDF. Какая метка получила наибольший вес - она и будет приставлена к статье.
  12.  
  13. Сслыка на код, за него вынужден извиниться, код крайне трудно читаемый, так как содержит множество кусков от других идей, и потому например в программе аж четыре бин дерева.
  14. Язык C#: https://drive.google.com/open?id=1zD6IMOihsOXyZqCQUOrze5einjO0jpoM
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement