Векторна модель

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Векторна модель (англ. vector space model) — в інформаційному пошуку алгебраїчне представлення колекції документів векторами одного спільного для всієї колекції векторного простору.

Векторна модель є основою для вирішення багатьох завдань інформаційного пошуку, таких як: пошук документа за запитом, класифікація документів, кластеризація документів.

Визначення[ред. | ред. код]

Документ у векторній моделі розглядається як невпорядкована множина термів. Термами в інформаційному пошуку називають слова, з яких складається текст, а також такі елементи тексту, як, наприклад, 2010, II-5 або Тянь-Шань.

Різними способами можна визначити вагу терма в документі — «важливість» слова для ідентифікації цього тексту. Наприклад, можна просто підрахувати кількість вживань терма в документі, так звану частоту терма, — чим частіше слово зустрічається в документі, тим більша у нього буде вага. Якщо терм не зустрічається в документі, то його вага в цьому документі дорівнює нулю.

Всі терми, які трапляються в документах оброблюваної колекції, можна впорядкувати. Якщо тепер для деякого документа виписати по порядку ваги всіх термів, включаючи ті, яких немає в цьому документі, вийде вектор, який і буде представленням цього документа у векторному просторі. Розмірність цього вектора, як і розмірність простору, дорівнює кількості різних термів у всій колекції, і є однаковою для всіх документів.

Більш формально


де dj — векторне уявлення j-го документа, wij — вага i-го терма в j-му документі, n — загальна кількість різних термів у всіх документах колекції.

Маючи таке подання для всіх документів, можна, наприклад, знаходити відстань між точками простору і тим самим вирішувати задачу подоби документів — чим ближче розташовані точки, тим більше схожі відповідні документи. У разі пошуку документа за запитом, запит теж представляється як вектор того ж простору — і можна обчислювати відповідність документів запиту.

Застосування[ред. | ред. код]

Рейтинг релевантності документів у пошуку за ключовими словами можна обчислити, використовуючи припущення про теорію спільних рис документа, порівнявши відхилення кутів між кожним вектором документу та оригінальним вектором запиту, де запит представлений як той же самий вид вектора як документа. На практиці легше обчислити косинус кута між векторами замість самого кута:

Де  — перетин (тобто скалярний добуток) документу та вектори запиту,  — нормаль вектора d2, к — нормаль вектора q. Нормаль вектора обчислюється наступною формулою:

Оскільки всі вектори, що розглядуються цією моделлю поелементно невід'ємні, нульовий косинус означає, що запит і вектор документа ортогональні і не збігаються (тобто в документі, що розглядають, не існує терму запит). Подивіться статтю косинусний коефіцієнт для отримання додаткової інформації.

Міра TF-IDF[ред. | ред. код]

У класичній векторній моделі, запропонованій Салтоном, Вонгом та Янгом[1], певні для слова міри в векторах документа — це продукти локальних та глобальних параметрів. Модель, відома як tf-idf модель. Маса вектора для документу d:

, де

та

  • це частота терміну терму t у документі d (локальний параметр)
  • це зворотна частота документу(глобальний параметр).  — це загальна кількість документів у наборі документів;  — це кількість документів, що містять терм t.

З використанням косинусу, подібність між документом dj та запитом q можна обчислити так:

Переваги[ред. | ред. код]

Векторна модель має наступні переваги над моделлю Standard Boolean[en]:

  1. Проста модель, заснована на лінійній алгебрі
  2. Міра терміну не двійкова(бінарна)
  3. Дозволяє обчислювати нескінчену кількість подібностей між запитами та документами
  4. Дозволяє оцінювати документи згідно з їхньою можливою релевантністю
  5. Дозволяє часткові збіги


Обмеження[ред. | ред. код]

Векторна модель має наступні обмеження:

  1. Великі документи погано представлені, тому що вони мають недостатньо змінних подібності(маленький скалярний добуток та велика розмірність)
  2. Ключові слова у пошуку повинні точно відповідати термінам документа; підрядки терма можуть привести до «похибки першого роду»
  3. Семантична чутливість; документи зі схожим контекстом, але різним словником термів не пов'язані, видаючи у результаті «похибку другого роду»
  4. Порядок, у якому терми з'являються у документі, втрачається у векторному зображенні
  5. Теоретично передбачається, що терми статистично незалежні
  6. Вимірювання інтуїтивне, та не дуже формальне

Хоча багато з цих складностей можна подолати за допомогою інтеграції різних інструментів, включаючи математичні методи, такі як сингулярний розклад матриці та лексичні бази даних, такі як WordNet.

Моделі, засновані на векторній моделі та доповнюють її[ред. | ред. код]

Моделі, що засновані на векторній моделі та ті, що її доповнюють:

Програми, що реалізовують векторну модель[ред. | ред. код]

Наступні пакети програм можуть зацікавити бажаючих поекспериментувати з векторною моделлю та реалізувати пошукові служби, засновані на них.

Безкоштовні загальнодоступні програми[ред. | ред. код]

  • Apache Lucene. Apache Lucene — високо-продуктивна бібліотека для повнотекстного пошуку, повністю написана на Java.
  • Gensim — платформа Python+NumPy для векторного моделювання. Вона містить поетапні алгоритми для Tf-idf, латентно-семантичного індексування, рандомних проектувань та латентного розміщення Дирихле[en].
  • Weka. Weka — популярний пакет збору даних для Java, що включає моделі WordVectors та Bag of words.

Примітки[ред. | ред. код]

  1. G. Salton, A. Wong, C. S. Yang, A vector space model for automatic indexing [Архівовано 26 січня 2020 у Wayback Machine.], Communications of the ACM, v.18 n.11, p.613-620, Nov. 1975

Література[ред. | ред. код]

Посилання[ред. | ред. код]

  • Apache Lucene — програмна реалізація інформаційного пошуку, заснована на векторній моделі.