2010-05-01 3 views
4

Я делаю университетский проект, который должен собирать и комбинировать данные по теме, предоставленной пользователем. Проблема, с которой я столкнулся, заключается в том, что результаты поиска Google для многих терминов загрязнены низкокачественными автогенерированными страницами, и, если я их использую, я могу получить неверные факты. Как можно оценить качество/достоверность страницы?Как оценить качество веб-страницы?

Вы можете подумать: «Нах, инженеры Google работают над проблемой в течение 10 лет, и он просит разрешения», но если вы думаете об этом, SE должен предоставить обновленный контент и, если он отметит хороший как плохой, пользователи будут недовольны. У меня нет таких ограничений, поэтому, если алгоритм случайно отмечает как-то неплохие страницы, это не будет проблемой.

Вот пример: Произнести ввод buy aspirin in south la. Попробуйте выполнить поиск в Google. Первые 3 результаты уже удалены с сайтов, но четвёртая один интересно: radioteleginen.ning.com/profile/BuyASAAspirin (я не хочу, чтобы сделать активную ссылку)

Вот первый параграф текста:

голая покупка рецептурных препаратов из Канады в настоящее время является большой в США. Это , потому что в лекарстве от США по рецепту цена взрыва взлетели, сделав его трудным для тех, кто ударил или сосредоточил доходы, чтобы купить их много Необходимые лекарства. Американцы платят больше за свои наркотики, чем кто-либо в классе .

Остальная часть текста аналогична, а затем следует список связанных ключевых слов. Это то, что я считаю страницей низкого качества. Хотя этот конкретный текст имеет смысл (за исключением его ужасного), другие примеры, которые я видел (пока не могу найти), - это всего лишь мусор, целью которого является получение некоторых пользователей от Google и запрещение на следующий день после создания ,

+3

В чем ваш вопрос? Можете ли вы более подробно указать «качество/надежность»? –

+0

@Pekka - Я добавил пример – Fluffy

+3

КАК это связанное программирование - вообще? –

ответ

6

N-грамм Язык Модели

Вы могли бы попробовать обучение один n-gram language model на спам автоматически сгенерированных страниц и один на коллекции других не спам веб-страниц.

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

Лучше Scoring через Байеса Закон

Когда вы набрали текст с моделью спам языка, вы получите оценку вероятности обнаружения, что текст на спам веб-страницы, P(Text|Spam). Обозначение читается как вероятность Text, указанная Spam (page). Оценка из модели, не относящейся к спаму, представляет собой оценку вероятности нахождения текста на веб-странице, не относящейся к спаму, P(Text|Non-Spam).

Однако термин, который вы, вероятно, действительно хотите, это P(Spam|Text) или, что эквивалентно P(Non-Spam|Text). То есть вы хотите знать, что страница Spam или Non-Spam содержит текст, который отображается на нем.

Чтобы получить любой из них, вы должны будете использовать Bayes Law, в котором говорится

  P(B|A)P(A) 
P(A|B) = ------------ 
       P(B) 

Используя закон Байеса, мы имеем

P(Spam|Text)=P(Text|Spam)P(Spam)/P(Text) 

и

P(Non-Spam|Text)=P(Text|Non-Spam)P(Non-Spam)/P(Text) 

P(Spam) является ваш предыдущий взгляд что страница sel случайным образом из Интернета является спам-страницей. Вы можете оценить это количество, подсчитав количество веб-страниц спама в каком-либо примере, или вы даже можете использовать его в качестве параметра, который вы вручную настроить на компромисс . Например, при присвоении этому параметру большого значения меньшее количество спам-страниц ошибочно классифицируется как не-спам, а при низком значении это приведет к тому, что меньшее количество спам-страниц будет случайно классифицировано как спам.

Термин P(Text) - это общая вероятность найти Text на любой странице. Если мы проигнорируем, что P(Text|Spam) и P(Text|Non-Spam) были определены с использованием разных моделей, это можно рассчитать как P(Text)=P(Text|Spam)P(Spam) + P(Text|Non-Spam)P(Non-Spam). Это суммирует двоичную переменную Spam/Non-Spam.

Классификация Только

Однако, если вы не собираетесь использовать для вероятности что-либо другое, вам не нужно рассчитать P(Text). Скорее, вы можете просто сравнить числители P(Text|Spam)P(Spam) и P(Text|Non-Spam)P(Non-Spam). Если первый из них больше, страница, скорее всего, является спамом, а если вторая больше, страница, скорее всего, не является спамом. Это работает, поскольку приведенные выше уравнения для P(Spam|Text) и P(Non-Spam|Text) нормированы значением P(Text).

Инструменты

С точки зрения программного обеспечения, инструментальных средств вы могли бы использовать что-то вроде этого, SRILM будет хорошим местом для начала, и это бесплатно для некоммерческого использования. Если вы хотите использовать что-то коммерчески и не хотите платить за лицензию, вы можете использовать IRST LM, который распространяется под LGPL.

3

Определить 'качество' веб-страницы? Что такое метрика?

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

Разметка и хостинг этих страниц, однако, может быть звукорежиссура ..

Но страница грязи фермера, представляя его высокое качество, вкусная и здоровая продукция может быть виден только в IE4.5, так как HTML является 'broken' ...

+0

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

+0

@roddik: Пожалуйста, поближе познакомьтесь с этим сайтом (на самом деле все четыре сайта в трилогии). Некоторые из вопросов здесь трудно читать, полные орфографических ошибок и грамматических ошибок (мой тоже!). Тем не менее они интересны. Другие вопросы хорошо поставлены, но полный хлам. Связывание языка/грамматики с качеством является ИМХО сомнительным и граничит с элитаризмом. – lexu

+0

Я думаю, что речь может идти о страницах с ** автогенерированным текстом **. Должно быть возможно обнаружить многие из них. – dmcer

1

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

+0

ссылка ферма ...не будет работать без дополнительных факторов! – lexu

+0

Возможно, я наивна, но было заявлено, что это университетский проект. Кроме того, сам Google использует этот фактор для определения релевантности. – RandyMorris

+0

имеет смысл, ссылки фермы не отображаются в обратных ссылках Google – Fluffy

1

Если вы ищете показатели, связанные с производительностью, тогда может оказаться полезным Y! Slow [плагин для firefox].

http://developer.yahoo.com/yslow/

0

Вы можете использовать контролируемую модель обучения, чтобы сделать этот тип классификации. Общий процесс идет следующим образом:

  1. Получить образец набора для обучения. Это должно привести примеры документов, которые вы хотите охватить. Чем более общим вы хотите быть более крупным, вам нужно использовать пример. Если вы хотите просто сосредоточиться на сайтах, связанных с аспирином, то это сократит необходимый набор проб.

  2. Извлечь функции из документов. Это могут быть слова, извлеченные из веб-сайта.

  3. Подайте признаки в классификатор, такой как те, что указаны в (MALLET или WEKA).

  4. Оцените модель, используя что-то вроде k-fold cross validation.

  5. Используйте эту модель, чтобы оценивать новые веб-сайты.

Когда вы говорите об отсутствии заботы, если вы отмечаете хороший сайт как плохой сайт, это называется отзывом. Recall меры, которые вы должны вернуть, сколько вы действительно вернулись. Precision Меры тех, которые вы отметили как «хорошие» и «плохие», сколько было правильных. Поскольку вы заявляете о своей цели, чтобы быть более точным, и напоминание не так важно, вы можете настроить свою модель на более высокую точность.