Я уже задал подобный вопрос ранее, но я заметил, что имею большой, ограничьте: Я работаю над маленьким текстовым suchs наборов как пользовательские Твиты для генерации тегов (ключевые слова).
И кажется, что принятое предложение (точечно алгоритм взаимной информации) предназначено для работы над большими документами.
С этим ограничивают (работающий над маленьким набором текстов), как я могу генерировать теги?
С уважением
Двухэтапный подход для многословных тегов
Вы можете объединить все твиты в один более крупный документ, а затем извлечь n наиболее интересные сочетания из всей коллекции твитов. Затем вы можете вернуться и пометить каждый твит сочетаниями, которые в нем встречаются. Используя этот подход, n будет общим количеством многословных тегов, которые будут сгенерированы для всего набора данных.
На первом этапе вы можете использовать код NLTK, размещенный здесь . Второй этап можно выполнить с помощью простого цикла for для всех твитов. Однако, если скорость важна, вы можете использовать пилюцен , чтобы быстро найти твиты, содержащие каждое словосочетание.
PMI уровня твита для тегов из одного слова
Как также предлагается здесь , для тегов из одного слова вы можете вычислить точечную взаимную информацию каждого отдельного слова и tweet сам, т.е.
PMI(term, tweet) = log [ P(term, tweet) / (P(term)*P(tweet))
Опять же, это примерно скажет вам, насколько меньше (или больше) вы удивитесь, встретив термин в конкретном документе, по сравнению с тем, что встретили его в более крупной коллекции. Затем вы можете пометить твит несколькими терминами, которые имеют наивысший PMI
с твитом.
Общие изменения для твитов
Некоторые изменения, которые вы, возможно, захотите внести при тегировании с помощью твитов, включают:
Используйте только слово или словосочетание в качестве тега для твита, если оно встречается в пределах определенного числа или процент других твитов .В противном случае PMI будет иметь тенденцию помечать твиты странными терминами, которые встречаются только в одном твите, но нигде больше не встречаются, например орфографические ошибки и шум клавиатуры, например # @ $ # @ $% !.
Масштабирование количества используемых тегов в зависимости от длины каждого твита. Вы можете извлечь 2 или 3 интересных тега для более длинных твитов. Но для более короткого твита из двух слов вы, вероятно, не захотите использовать каждое слово и словосочетание, чтобы пометить его . Вероятно, стоит поэкспериментировать с разными отсечениями того, сколько тегов вы хотите извлечь, учитывая длину твита.