| 10.14489/vkit.2026.01.pp.012-015 |
|
DOI: 10.14489/vkit.2026.01.pp.012-015 Яценко Д. В., Яценко М. Д. Аннотация. Приведен алгоритм индексирования для ускорения поиска в базе данных датасета векторов, релевантных эталонному по метрике косинусной близости. Алгоритм похож на алгоритм построения расширенного k–d дерева в методе Approximate Best Bin First k–d Tree, где выполняется разбиение признакового пространства на прямоугольные гиперпараллелепипеды. В представленном методе в качестве индекса в исходном наборе данных выступает номер вектора-орта, наиболее близкого по метрике косинусного расстояния к каждому образцу датасета. Таким образом, при поиске векторов, релевантных эталонному, на заранее подготовленном (проиндексированном) по представленному алгоритму датасете можно по значениям индекса отбирать заведомо близкие вектора и отбрасывать иные. В этом случае получение значительно меньшего субдатасета позволяет выполнять поиск при помощи индекса значительно быстрее. Для больших датасетов, которые хранятся в базах данных на жестких дисках, выборка по номеру индекса позволит использовать индексный поиск системы управления базами данных, например, по алгоритмам btree или beetmap. Помимо существенной экономии временных затрат на вычислениях при этом значительно экономится время на операциях ввода–вывода. Авторы применили этот подход практически в задаче поиска релевантных текстов по базе данных векторов размерностью 384, с количеством образцов 500 000. Использование индекса сократило время поиска в 30…40 раз. Ключевые слова: машинное обучение, индексированный поиск, косинусное сходство, векторизованный текстовый поиск.
Abstract. This paper addresses the performance bottleneck of cosine-similarity search in large vector datasets stored in database systems. A conventional approach computes cosine similarity between a query vector and every dataset vector and then ranks the results, which is costly for high dimensionality and, when data reside on disk, for I/O. We propose a lightweight two-stage indexing scheme. First, we build an auxiliary table of 2M unit “anchor” vectors (orths) whose coordinates are zero everywhere except one axis with value +1 or −1. During offline preprocessing, each dataset vector is assigned the identifier of the anchor vector with the smallest cosine distance, and this identifier is stored as an index field. At query time, we compute cosine similarity between the query and all anchors and select the top L anchors (or those above a threshold). Then the DBMS retrieves only rows whose stored anchor id matches the selected anchors, leveraging standard index structures such as B-trees or bitmap indexes. Exact cosine ranking is performed only within this reduced subset. The resulting complexity is reduced by approximately M/L compared with a full scan, while also cutting disk accesses. In experiments on a 384-dimensional text-embedding database of about 500,000 vectors (paraphrase-multilingual-MiniLM-L12-v2), using L = 7 decreased search time from ~16 s to ~0.5 s, providing an observed 30–40× speed-up. The approach is easy to integrate into DB pipelines and suits large-scale text retrieval. Keywords: Machine learning; Indexing search; Cosine similarirty; Vectorize text search.
РусД. В. Яценко (Южный федеральный университет, Ростов-на-Дону, Россия) E-mail:
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
EngD. V. Iatsenko (South Federal University, Rostov-on-Don, Russia) E-mail:
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Рус1. Duda R. O., Hart P. E., Stork D. G. Pattern Classification. 2-d ed. New York: Wiley-Interscience, 2001. 654 p. Eng1. Duda, R. O., Hart, P. E., & Stork, D. G. (2001). Pattern classification (2nd ed.). Wiley-Interscience.
РусСтатью можно приобрести в электронном виде (PDF формат). Стоимость статьи 700 руб. (в том числе НДС 20%). После оформления заказа, в течение нескольких дней, на указанный вами e-mail придут счет и квитанция для оплаты в банке. После поступления денег на счет издательства, вам будет выслан электронный вариант статьи. Для заказа скопируйте doi статьи: 10.14489/vkit.2026.01.pp.012-015 Отправляя форму вы даете согласие на обработку персональных данных. .
EngThis article is available in electronic format (PDF). The cost of a single article is 700 rubles. (including VAT 20%). After you place an order within a few days, you will receive following documents to your specified e-mail: account on payment and receipt to pay in the bank. After depositing your payment on our bank account we send you file of the article by e-mail. To order articles please copy the article doi: 10.14489/vkit.2026.01.pp.012-015 and fill out the
.
|
Current Issue
Разработка концепции и создание сайта - ООО «Издательский дом «СПЕКТР»