catpad (catpad) wrote,
catpad
catpad

Как нам перегуглить Гугл

Статья из предыдущего поста напомнила мне одну мою старую мысль о том, как можно организовать поисковую машину.



Возьмём какое-нибудь слово, например dog. Сделаем по нему поиск, который вернёт примерно 36,500,000 страниц. Соберём все слова с этих страниц и отсортируем их так, чтобы выявить наиболее часто встречающиеся слова. Из этого списка выкинем 1000 наиболее распространённых английских (в данном случае) слов, таких как: I, who, where, the, a, and, or и так далее. Эти слова не представляют никакого интереса. Из оставшегося списка выберем, например, 100 слов, которые встретились на этих страницах наибольшее количество раз, не являясь при этом самыми распространёнными словами языка. Этими словами скорее всего будут breed, diet, terrier, appearance, hound, skill, pet, animal, owner и тому подобное.
Назовём этот список контекстом слова dog.

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

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

На основе такого словаря можно сделать две вещи: каталог и поисковую машину.
Каталог делается так. Берётся страница и определяется объединённый контекст всех её слов, то есть объединение всех контекстов всех слов на данной странице. То же самое проделывается со всеми страницами, которые есть в поисковой системе, и теперь у нас уже есть не просто словарь контекстов слов, а словарь контекстов страниц (или даже сайтов). Теперь эти страницы (или сайты) уже можно организовать в каталог, строя кластеры наиболее контекстно-близких страниц. После этого можно провести обратный поиск, то есть для каждого кластера (или раздела в получившемся каталоге) определить слова, контексты которых наиболее близки (то есть имеют наибольшее количество пересечений) с контекстом кластера. Эти слова и станут ключевыми словами данного кластера (то есть раздела) каталога.

Как организовать поиск. Пользователь набирает в обычной поисковой машине какое-то слово. Машина выдаёт множество страниц. Прежде всего мы находим в нашем словаре контекстов контекст набранного слова или объединённый контекст искомого словосочетания. Теперь осталось только отсортировать все найденные страницы по принципу близости их объединённых контекстов с контекстом запроса. В первых строчках отсортированного списка должны появиться наиболее близкие по смыслу страницы.

Улучшение 1: Для построения словаря контекстов поиск по словами делать не просто по всей сети (набрав слово dog в Гугле), а в тематических каталогах, таких как Yahoo, то есть внутри раздела, имеющего отношение к собакам. Это позволит исключить случайные страницы, как например Dogpile, который Google выдаёт в качестве первого результата поиска.
Улучшение 2: Искать не только отдельные слова, но и всевозможные словосочетания или даже фразы и каждой из них присваивать контекст. Словарь получится гораздо больше, но он будет гораздо более полезен.

Нужно добавить, что я как-то даже проводил такие эксперименты, используя web service, который даёт Google. Данных, конечно, было очень мало, но мне удавалось чётко разделять художественные и технические тексты.

Tags: идеи
Subscribe

  • Moth Quest

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

  • Восьмая глава

    Закончил восьмую главу «Хайдеггера и Самовара». Это глава о самых разных языках и о языке вообще, о поэзии, о каббале и о…

  • The End of the Unbreakable Dragonfly Quest

    Я, друзья мои, нахожусь в потрясении. Год назад я сделал три очень сложных квеста под общим названием Insectling.…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 10 comments

  • Moth Quest

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

  • Восьмая глава

    Закончил восьмую главу «Хайдеггера и Самовара». Это глава о самых разных языках и о языке вообще, о поэзии, о каббале и о…

  • The End of the Unbreakable Dragonfly Quest

    Я, друзья мои, нахожусь в потрясении. Год назад я сделал три очень сложных квеста под общим названием Insectling.…