Есть ли алгоритм, который извлекает значимые теги английского текста - PullRequest
8 голосов
/ 16 сентября 2008

Я хотел бы извлечь уменьшенную коллекцию «значимых» тегов (максимум 10) из английского текста любого размера.

http://tagcrowd.com/ довольно интересно, но алгоритм кажется очень простым (просто подсчет слов)

Есть ли другой алгоритм для этого?

Ответы [ 7 ]

6 голосов
/ 16 сентября 2008

Существуют веб-сервисы для этого. Два Три примера:

2 голосов
/ 16 сентября 2008

Когда вы вычитаете человеческий элемент (тегирование), все, что остается, это частота. «Игнорировать обычные английские слова» - следующий лучший фильтр, так как он имеет дело с исключением вместо включения. Я протестировал несколько сайтов, и это очень точно. На самом деле нет другого способа получить «значение», и именно поэтому Семантическая паутина привлекает столько внимания в наши дни. Это способ подразумевать значение с помощью HTML ... конечно, в нем есть и человеческий фактор.

1 голос
/ 16 сентября 2008

Вы хотите выполнить семантический анализ текста.

Частотный анализ слова - один из самых простых способов семантического анализа. К сожалению (и очевидно) это наименее точный. Его можно улучшить, используя специальные словари (например, синонимы или формы слова), «стоп-листы» с общими словами, другие тексты (чтобы найти эти «общие» слова и исключить их) ...

Что касается других алгоритмов , они могут основываться на:

  • Синтаксический анализ (например, попытка найти основной предмет и / или глагол в предложении)
  • Анализ формата (анализ заголовков, полужирный шрифт, курсив ... где применимо)
  • Анализ ссылок (например, если текст находится в Интернете, ссылка может описать его несколькими словами ... используется некоторыми поисковыми системами)

НО ... вы должны понимать, что эти алгоритмы - просто эвристика для семантического анализа, а не строгие алгоритмы достижения цели. Проблема семантического анализа является одной из основных проблем в исследованиях по искусственному интеллекту / машинному обучению с момента появления первых компьютеров.

1 голос
/ 16 сентября 2008

По сути, это проблема классификации текста / проблема классификации документов. Если у вас есть доступ к ряду уже помеченных документов, вы можете проанализировать, какие слова (содержания) вызывают какие теги, а затем использовать эту информацию для пометки новых документов.

Если вы не хотите использовать подход машинного обучения и у вас все еще есть коллекция документов, то вы можете использовать такие метрики, как tf.idf , чтобы отфильтровать интересные слова.

Пройдя еще один шаг, вы можете использовать Wordnet , чтобы найти синонимы и заменить слова их синонимами, если частота синонимов выше.

Manning & Schütze содержит гораздо больше введений по категоризации текста.

1 голос
/ 16 сентября 2008

В текстовой классификации эта проблема известна как уменьшение размерности. В литературе много полезных алгоритмов на эту тему.

0 голосов
/ 03 ноября 2016

Вы можете использовать это в два этапа:

1 - Попробуйте алгоритмы моделирования темы:

  • скрытое распределение Дирихле
  • Скрытые слова Вложения

2 - После этого вы можете выбрать наиболее характерное слово в каждой теме в качестве тега

0 голосов
/ 16 сентября 2008

Возможно, "Term Frequency - Inverse Frequency" TF-IDF было бы полезно ...

...