алгоритм: анализ веб-страниц по тегам - PullRequest
3 голосов
/ 20 октября 2011

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

эй, приятель, что ты имеешь в виду под тегами? под словами "теги" я подразумеваю ключевые слова, которые обобщают содержание веб-страницы. Например, здесь, на SO, вы пишете свои собственные теги, чтобы люди могли найти ваш вопрос лучше. То, о чем я говорю, - это создание алгоритма для анализа веб-страниц, чтобы найти его теги по тексту на странице.

Я начал с получения текста со страницы -> выполнено

В общем, я ищу способ найти ключевые слова, которые заключают, о чем говорит веб-страница

Однако я действительно не знаю, что делать дальше. У кого-нибудь есть предложение?

Ответы [ 4 ]

4 голосов
/ 20 октября 2011

Для действительно базового подхода вы можете использовать алгоритм TF-IDF , чтобы найти самое важное слово на вашей странице

Быстрый просмотр из википедии:

Вес tf – idf (термин частота – обратная частота документа) представляет собой вес часто используется в поиске информации и добыче текста. это вес - это статистическая мера, используемая для оценки важности слова это документ в коллекции или корпусе. Важность возрастает пропорционально тому, сколько раз слово появляется в документе но компенсируется частотой слова в корпусе. вариации весовой схемы tf – idf часто используются поисковыми системами как Центральный инструмент для оценки и ранжирования релевантности документа с учетом пользовательский запрос. tf – idf может быть успешно использован для фильтрации стоп-слов в различных предметных областях, включая обобщение текста и классификация

Как только вы найдете самое важное слово на своей странице, вы можете использовать его как теги.


Если вы хотите улучшить свои теги и сделать их более актуальными.

Существует много способов, чтобы продолжить, но вы можете продолжить, как показано ниже:

  • Извлеките кучу текста, из которого вы знаете основные теги.
  • Для всего этого текста запустите алгоритм TF-IDF и создайте вектор с те, кто набрал наибольшее количество баллов.
  • Попытка найти основное направление будет для всех этих векторов. (работает ACP например, или любой инструмент машинного обучения)
  • И используйте этот тег для представления набора слов с основного направления. (самый большой вектор АШП)

Надеюсь, это понятно и помогает

1 голос
/ 20 октября 2011

Можно реализовать ряд эвристик:

  • Сокращения и слова в верхнем регистре
  • Слова, которые встречаются не часто, то есть отбрасывают слова, встречающиеся во всех или в большинстве документов, и предпочитают слова, встречающиеся относительно часто только в этом.
  • Последовательности слов, которые всегда встречаются в одном и том же порядке в этом документе и, возможно, в других
  • и т.д.
1 голос
/ 20 октября 2011

Это скорее вопрос поиска информации и сбора данных.Обзор некоторых из лекций Рао может помочь.

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

Оттуда вы можете использовать алгоритмы, такие как PageRank и Полномочия и концентраторы для анализа данных.

1 голос
/ 20 октября 2011

Как правило, вы ищете определенные слова, окруженные определенным HTML.Например, заголовки обычно находятся в теге H, например <h1>.

Если вы анализируете страницу на предмет всех ее тегов H1, то вполне понятно, что контент, следующий за этим тегом, связан.Пример этой самой страницы.Он имеет тег H1, окружающий заголовок вопроса.Это дает Google подсказку о том, что страница содержит информацию об «алгоритме», «анализе», «веб-страницах» и т. Д.

Сложная задача - определить контекст.

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

...