Автоматическая генерация мета-тегов в PHP - PullRequest
2 голосов
/ 06 января 2009

Я думал о написании PHP-скрипта, который будет анализировать содержимое страницы CMS (т. Е. Поле базы данных), а затем автоматически генерировать (X) описание HTML-тегов META и ключевые слова, но, как всегда, нет смысла заново изобретать колесо, поэтому Интересно, кто-нибудь знает о такой зверю?

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

Ответы [ 2 ]

5 голосов
/ 06 января 2009

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

Вторая проблема, с другой стороны, немного сложнее и все еще является источником большой академической работы. Вам нужно обобщение для очень подробного мета тега описания. На самом деле это может не стоить вашего времени, если вы не ищете масштабный проект ИИ, который все еще может показаться жестким или непоследовательным. Другим подходом может быть просто эвристика, использующая извлечение ключевых слов: «Эта статья о (первое наиболее распространенное ключевое слово), (второе наиболее распространенное ключевое слово) и (третье наиболее распространенное ключевое слово)». Вы, по крайней мере, получаете выгоду от встраивания некоторого контента как в ключевое слово, так и в описание. Если вы хотите встряхнуть, используйте вместо этого некоторые синонимы. Существует полуфункциональная PHP-реализация WordNet , но я бы предложил использовать для этого тяжелую работу Natural Language Toolkit для Python , так как большая часть работы уже выполнена для вас.

Я хотел бы воспользоваться кратким моментом, чтобы поддержать ваши исследования в этой области и игнорировать высказывания мистера Варницы. Мета-информация важна как для классификации документов, так и для извлечения информации в области поиска. Было бы глупо не иметь данных, и на самом деле стоит автоматизировать их для крупномасштабных систем управления контентом. Удачи вам в ваших усилиях.

0 голосов
/ 06 января 2009

Модуль Yahoo Pipes Term Extractor делает то, что вам нужно. К сожалению, я не знаю, откуда открываются модули для каналов.

...