Генерация тегов из небольшого контента текста (например, твиты)

StackOverflow https://stackoverflow.com/questions/2764116

Вопрос

Я уже спросил Подобный вопрос Ранее, но я не замечал, что у меня есть большие ограничения: я работаю над небольшими текстовыми наборами, такие как пользовательские твиты для генерации тегов (ключевые слова).

И кажется, что принятое предложение (точечный взаимный информационный алгоритм) предназначен для работы на более крупных документах.

С этим ограничением (работает над небольшим набором текстов), как я могу генерировать теги?

С уважением

Это было полезно?

Решение

Два этапа подход для многословных тегов

Ты мог бы бассейн все твиты в один более крупный документ, а затем извлечь N. Самые интересные сочетания со всей коллекции твитов. Затем вы можете вернуться назад и течь каждый твит с разглагольниками, которые возникают в нем. Используя этот подход, N. будет общее количество многословных тегов, которые будут генерироваться для всего набора данных.

Для первого этапа вы можете использовать код NLTK, опубликованный здесь. Отказ Второй этап может быть достигнут только с простым для петли по всем твитам. Тем не менее, если скорость вызывает беспокойство, вы можете использовать пилюцин Чтобы быстро найти твиты, которые содержат каждое словосочетание.

Tweet Nevel PMI для одного слова

Как также предложил здесь, Для одноголовых тегов, вы можете рассчитать точечная взаимная информация каждого отдельного слова и сама твит, то есть

PMI(term, tweet) = log [ P(term, tweet) / (P(term)*P(tweet)) 

Опять же, это примерно скажет вам, насколько они меньше (или более) удивлены, вы должны столкнуться с термином в конкретном документе, как Appose, чтобы попасть на него в большей коллекции. Вы могли бы затем метить Tweet с несколькими терминами, которые имеют самый высокий PMI с твитом.

Общие изменения для твитов

Некоторые изменения, которые вы можете захотеть сделать, когда течения с твитами включают в себя:

  • Используйте только слово или разговор в качестве тега для Tweet, если это происходит в пределах определенное количество или процент других твитов. Отказ В противном случае PMI будет иметь тенденцию метки твитов с нечетными терминами, которые происходят всего в одном Tweet, но которые не видны нигде, например, ошибки и шум клавиатуры, как # @ $ # @ $%!.

  • Масштабируется количество тегов, используемых с длиной каждого твита. Вы можете извлечь 2 или 3 интересных тега на более длительные твиты. Но для более короткого 2 слова твит, вы, вероятно, не хочу использовать каждое слово и разложение, чтобы пометить его. Отказ Вероятно, стоит экспериментировать с различными отключениями для того, сколько тегов вы хотите извлечь, учитывая длину Tweet.

Другие советы

Я использовал метод ранее, для небольшого текстового контента, такого как SMSES, где я просто повторил одну и ту же строку два раза. Удивительно, что хорошо работает для такого содержания, где существительное вполне может быть темой. Я имею в виду, вам не нужно, чтобы это повторить, чтобы это было темой.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top