Автоматическая категоризация веб-сайтов.

Я хочу создать этот движок, который будет классифицировать веб-сайты на основе их мета-атрибута ключевого слова.

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

Помогите пожалуйста мне. Я использую PHP-скрипты для реализации этого.

//say I have $pattern as the meta keyword extracted from web page (ignore the syntax – please me)
$pattern=<news, current affairs, breaking news, sports, entertainment, daily news, local news>

// and set of predefined string to match with..
$keywords=<----something----->

Какую логику я должен использовать для сопоставления $pattern с $keywords? Работает ли у меня функция preg_match_all() или 'ereg'? Пожалуйста, помогите мне, ребята.


$keyword=array('местные новости','искусство','местный','мир','технологии','развлечения','новости','технологии','главные новости','в новостях',' главная страница», «новости BBC», «взгляд на неделю», «неделя в картинках», «главные новости»); //$keyword имеет предопределенный массив строк $all_meta_tags=get_meta_tags("http://abcnews.go.com/"); $array=$all_meta_tags['keywords'];//сохраняем значения атрибута 'keyword' в $keyword_meta

Теперь мне нужно сопоставить содержимое массива $ с ключевым словом $..... результаты должны дать мне совпадающие элементы массива $, которые присутствуют в ключевом слове $


person gks    schedule 04.03.2011    source источник
comment
Какая? Как хранятся данные? MySQL? XML?   -  person Bojangles    schedule 04.03.2011
comment
Мои 2 цента в том, что это почти никогда не сработает, потому что подавляющее большинство веб-сайтов не предоставляют удобную категоризацию в метатегах для анализа. Но я могу ошибаться. Тем не менее, вы обязательно должны показать несколько реальных примеров.   -  person Pekka    schedule 04.03.2011
comment
Я согласен с @Pekka. Большинство сайтов достаточно неосторожны, чтобы использовать одни и те же мета-ключевые слова на всех своих страницах (или не использовать ключевые слова, относящиеся к содержанию этой страницы). Вам было бы гораздо лучше собирать данные из тегов H1 или H2. Тем не менее, вы сталкиваетесь с проблемой, когда компьютеры интерпретируют человеческий язык.   -  person Bailey Parker    schedule 04.03.2011
comment
я согласен с @Pekka и @PhpMyCoder, но я хочу сделать движок начального уровня...   -  person gks    schedule 06.03.2011
comment
@user, можете ли вы привести несколько реальных примеров того, какие списки ключевых слов у вас есть, и как будут выглядеть метатеги веб-сайта, с которыми вы будете работать?   -  person Pekka    schedule 06.03.2011
comment
Попробуйте использовать этот API: developer.similarweb.com/website_categorization.   -  person vsync    schedule 21.08.2013


Ответы (1)


Вам нужно будет использовать что-то вроде http://en.wikipedia.org/wiki/Naive_Bayes_classifier.

Я уже использовал эту систему для классификации вакансий, взятых с сайтов вакансий, с довольно хорошим успехом. Писать код было хреново, получайте удовольствие :D

person dogmatic69    schedule 04.03.2011
comment
спасибо за ссылку, но это слишком много для меня, чтобы понять .... может быть, я слишком много прошу, но не могли бы вы помочь мне в получении кода .. я имею в виду сопоставление строк с использованием php-кода ... - person gks; 06.03.2011