Спосіб перетворення масиву векторних даних і комп’ютерна система для його реалізації

Є ще 16 сторінок.

Дивитися все сторінки або завантажити PDF файл.

Формула / Реферат

1. Спосіб перетворення вхідного масиву векторних даних, що представляють масив об'єктів, у вихідний масив векторних даних, який дозволяє оцінку мір схожості та відмінності векторів вхідного масиву по відповідних векторах вихідного масиву векторних даних, який передбачає дії отримання вхідного масиву векторних даних у вигляді вхідної матриці , де  - число об'єктів у масиві і кожен з об'єктів представлений у вхідній матриці вектором-стовпцем з числом елементів , генерування проекційної матриці , де  - розмірність, тобто число елементів, векторів вихідного масиву векторних даних, проекційного перетворення вхідного масиву векторних даних в проміжний масив векторних даних у вигляді проміжної матриці  шляхом множення випадкової проекційної матриці на вхідну матрицю, який відрізняється тим, що проекційну матрицю генерують як бінарну матрицю з елементами, які приймають значення 1 або 0, а проекційне перетворення здійснюють шляхом підсумовування елементів вхідної матриці, відповідних одиничним елементам проекційної матриці, які використовуються для виконання множення цих матриць, виконують трансформацію проміжної матриці в вихідний масив векторних даних у вигляді вихідної матриці  шляхом порогового перетворення елементів проміжної матриці, причому вказані дії виконують в автоматичному режимі на відповідних функціональних блоках комп'ютера.

2. Спосіб за п. 1, який відрізняється тим, що елементи проекційної матриці вибирають з набору, що включає елементи 1 і 0, випадково, за допомогою генератора випадкових чисел.

3. Спосіб за одним із пп. 1, 2, який відрізняється тим, що число біт на представлення або зберігання вихідного масиву векторних даних менше числа біт на представлення або зберігання вхідного масиву векторних даних.

4. Спосіб за одним із пп. 1-3, який відрізняється тим, що порогові перетворення здійснюють відніманням величини порога.

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

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

7. Спосіб за одним із пп. 1-3, який відрізняється тим, що порогові перетворення здійснюють як бінарізуючі порогові перетворення: , якщо ,  в іншому випадку, де  - величина порогу.

8. Спосіб за п. 7, який відрізняється тим, що величини порогів встановлюють у однакові для всіх елементів одного і того ж вектора  значення , де величина  регулює ймовірність  одиничного елемента в вихідному бінарному векторі , який відповідає вхідному вектору .

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

10. Спосіб за одним із пп. 7-9, який відрізняється тим, що величини порогів встановлюють так, що ймовірність р одиничного елемента в вихідному векторі обмежена , тобто отримують вихідні розріджені бінарні вектори.

11. Спосіб за одним із пп. 1-10, який відрізняється тим, що вектори-стовпці вхідного масиву векторних даних відповідають об'єктам, які є текстовими документами.

12. Спосіб за одним із пп. 1-11, який відрізняється тим, що вектори вихідного масиву даних використовують для подальшої обробки відомими методами обробки векторних даних.

13. Спосіб за одним із пп. 1-11, який відрізняється тим, що пари векторів вихідного масиву даних використовуються для визначення оцінки величини схожості або відстані між відповідними парами векторів вхідного масиву даних.

14. Спосіб за одним із пп. 12, 13, який відрізняється тим, що параметри способу, що впливають на характеристики вихідних векторів, вибирають відповідно до вимог, які пред'являють наступні методи обробки.

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

16. Комп'ютерна система перетворення вхідного масиву векторних даних, які представляють масив об'єктів, у вихідний масив векторних даних, яка включає блок отримання вхідного масиву векторних даних, який отримує вхідний масив векторних даних, блок проекційного перетворення, який виконує проекційне перетворення вхідного масиву векторних даних шляхом множення на проекційну матрицю та видає проміжний масив векторних даних, яка відрізняється тим, що елементи проекційної матриці, яка використовується в блоці проекційного перетворення, вибирають з набору, що включає елементи 1 і 0, а проекційне перетворення вхідного масиву векторних даних в блоці проекційного перетворення здійснюють шляхом підсумовування елементів вхідної матриці, відповідних одиничним елементам проекційної матриці, які використовуються для виконання множення цих матриць при проекційному перетворенні, також містить блок трансформації проміжного масиву векторних даних в вихідний масив векторних даних, який здійснює трансформацію проміжного масиву векторних даних в вихідний масив векторних даних шляхом порогового перетворення елементів проміжного масиву векторних даних, причому система реалізована на комп'ютері із застосуванням комп'ютерних програм.

17. Система за п. 16, яка відрізняється тим, що елементи проекційної матриці вибирають з набору, що включає елементи 1 і 0, випадково, за допомогою генератора випадкових чисел.

18. Система за одним із пп. 16, 17, яка відрізняється тим, що масив вхідних даних включає  об'єктів, представлених векторами розмірністю , які можуть бути представлені у вигляді вхідній матриці  розмірністю , де кожен вектор-стовпець із  елементів відповідає об'єкту, який має  ознак, тобто атрибутів або координат, вектори об'єктів проекційно перетворюються в N-мірний простір так, що стають представлені у вигляді проміжної матриці  розмірністю , причому кожен об'єкт представляється у вигляді вектора-стовпця, що має  елементів, а трансформація проміжної матриці  в вихідну результуючу матрицю  не змінює розмірність, тобто розмірність  є .

19. Система за одним із пп. 16-18, яка відрізняється тим, що число біт на представлення або зберігання вихідного масиву векторних даних менше числа біт на представлення або зберігання вхідного масиву векторних даних.

20. Система за одним із пп. 16-19, яка відрізняється тим, що порогові перетворення здійснюють відніманням величини порога.

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

22. Система за п. 20, яка відрізняється тим, що порогові перетворення здійснюється відніманням індивідуальної величини порога  для кожного елемента  проміжної матриці, де  - число одиничних елементів у векторі-рядку  проекційної матриці, .

23. Система за одним із пп. 16-19, яка відрізняється тим, що порогові перетворення здійснюють як бінарізуючі порогові перетворення: , якщо ,  в іншому випадку, де  - величина порогу.

24. Система за п. 23, яка відрізняється тим, що величини порогів встановлюють у однакові для всіх елементів одного і того ж вектора  значення , де величина  регулює ймовірність  одиничного елемента в вихідному бінарному векторі , який відповідає вхідному вектору .

25. Система за п. 23, яка відрізняється тим, що величини порогів встановлюють індивідуально так, щоб забезпечити число одиничних елементів в вихідних бінарних векторах, більш близьке до потрібного, ніж при установці однакової величини порога.

26. Система за одним із пп. 23-25, яка відрізняється тим, що величини порогів встановлюють так, що ймовірність р одиничного елемента в вихідному векторі обмежена , тобто отримують вихідні розріджені бінарні вектори.

27. Система за одним із пп. 16-26, яка відрізняється тим, що вектори-стовпці вхідного масиву векторних даних відповідають об'єктам, які є текстовими документами.

28. Система за одним із пп. 16-27, яка відрізняється тим, що вектори вихідного масиву даних використовують для подальшої обробки відомими методами обробки векторних даних.

29. Система за одним із пп. 16-28, яка відрізняється тим, що пари векторів вихідного масиву даних використовують для визначення оцінки величини схожості або відстані між відповідними парами векторів вхідного масиву даних.

30. Система за одним із пп. 28-29, яка відрізняється тим, що параметри способу, що впливають на характеристики вихідних векторів, вибирають відповідно до вимог, які пред'являють наступні методи обробки.

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

Текст

Реферат: Спосіб перетворення масиву векторних даних і комп'ютерна система для його реалізації належить до обчислювальної техніки. Спосіб та комп'ютерна система перетворення вхідного масиву векторних даних, які представляють масив об'єктів, у вихідний масив векторних даних, по векторах якого можна оцінити міри схожості та відмінності відповідних векторів вхідного масиву. Перетворення здійснюється за допомогою проекційної матриці з елементами, яким при генерації випадково присвоюється значення 0 або 1, що дозволяє економно її зберігати і ефективно здійснювати проекційне перетворення. Отриманий в результаті проекційного перетворення проміжний масив даних піддається пороговій трансформації, в результаті чого формується вихідний масив векторних даних, який може далі використовуватися системами та/або способами замість вхідного масиву. Цей вихідний масив може займати менше UA 104674 C2 (12) UA 104674 C2 комп'ютерної пам'яті, ніж вхідний, та/або може бути представлений у форматі бінарних векторів з регульованою часткою одиничних елементів, що дозволяє обробляти вихідний масив більш ефективно, ніж вхідний, та/або застосовувати для обробки системи та/або способи, які ефективно оперують даними в такому форматі, або призначені для роботи з таким форматом даних. UA 104674 C2 5 10 15 20 25 30 35 Винахід належить до області цифрової обробки даних, зокрема до способів перетворення цифрових даних у вигляді числових векторів, і може бути використаний для ефективного перетворення вхідних векторних даних у формат, який спрощує оцінювання мір їхньої схожості та відмінності. Більша частина електронних цифрових даних, які відповідають деяким об'єктам, може бути представлена як матриці або таблиці. Наприклад, масиви текстів при виконанні пошуку або класифікації можна розглядати як матриці слова-тексти, де в стовпцях - тексти, а в рядках слова. Покупки покупців можуть бути представлені матрицею, де в стовпцях - індивідуальні покупці, а в рядках - характеристики покупки, наприклад місця покупок. Покупки покупців також можуть бути представлені матрицею, де в стовпцях - індивідуальні покупці, а в рядках - характеристики покупки, наприклад куплені товари. Демографічна інформація про людей може бути представлена матрицею, де в стовпцях індивідуальні люди, а в рядках - їх характеристики, наприклад вік, зріст, вага та ін. Результати мас-спектрометричного аналізу білків пацієнтів можуть бути представлені матрицею, де в стовпцях - індивідуальні пацієнти, а в рядках - білки з різною масою. Ці лише приклади, далеко не вичерпні різноманітність даних, які відповідають деяким об'єктам та можуть бути представлені як матриці або таблиці. Також, слід розуміти, що об'єкти можуть бути представлені не в стовпцях, а в рядках матриці, і тоді характеристики об'єктів будуть представлені не в рядках, а в стовпцях матриці. Кожен рядок або стовпець матриці є вектором. Цю ж інформацію можна представити як набір векторів або точок в багатовимірному (евклідовому) просторі. Розмірність простору - це число координат (для матриці слова-тексти - це число слів), а кожна точка відповідає об'єкту (тексту). Координатами простору є елементи вектора. Розмірність простору може бути велика і складати, наприклад, сотні тисяч (за кількістю слів у мові), а число точок - мільйони й мільярди (по числу текстів - наприклад, число веб - сторінок Інтернет). У таких ситуаціях бажано перетворити масив даних таким чином, щоб число об'єктів, що представлені точками (векторами), збереглося, але підвищилась ефективність зберігання й обробки за рахунок зменшення витрат пам'яті, підвищення швидкості обробки, застосування спеціалізованих способів зберігання й обробки. Цих переваг можна досягти шляхом переходу в простір із відповідними властивостями: меншої розмірності, ніж вхідне; з більш простими операціями для обробки; або у простір, для якого існують ефективні способі обробки. Багато способів та систем оперують з мірами відмінності та схожості векторів у вхідному просторі, такими як відстань, скалярний добуток, кут та/або відношення відстаней і кутів та ін. Ці міри відмінності та схожості векторів взаємопов'язані. Наприклад, для двох векторів x1 і x2 їх x1, x2  x1 x2 cosx1, x2 ; скалярний добуток евклідова відстань  40 45 50 55  x1  x2  sqrt x1 x1  x2 x2  2 x1 x2 cosx1 x2 , де x1 , x2 - евклідові норми векторів x1 і , , x2 ; cosx1 x2 - косинус кута між ними; sqrt - функція квадратного кореня. Мірами відмінності та схожості векторів оперують багато способів та систем інформаційного пошуку, класифікації, кластеризації, апроксимації, навчання і міркувань на основі прикладів, асоціативної пам'яті і багато інших. В цих способах та системах широко використовувані лінійні моделі, що засновані на скалярному добутку; спосіб найближчого сусіда використовує міри відмінності та схожості, і т.д. Розглянемо приклад. Нехай заданий масив текстів, в якому треба знаходити тексти, близькі до запиту. Для цього, тексти та запити представляють як вектори. Розмірність вектора - число слів у словнику. Елементи вектора - слова словника. Значення елементів вектора - кількість разів уживання слова в тексті або запити. Знаходять схожість бінарних векторів запитів з бінарними векторами текстів бази за мірами схожості. Упорядковують тексти за величиною схожості та видають користувачеві найбільш подібні. Розглянемо інший приклад. Тексти новин треба відносить до ряду рубрик, щоб можна було читати новини з певної тематики. Тексти наявної бази текстів та нові тексти, що підлягають класифікації, представляють як вектори. Розмірність вектора - число слів у словнику. Елементи вектора - слова словника. Значення елементів вектора - кількість разів уживання слова в тексті. Для кожного тексту наявної бази текстів відомі рубрики, до яких вони належать. Знаходять схожість вектора вхідного тексту з векторами текстів бази за мірами схожості бінарних векторів. Надають вхідному тексту мітку класу (рубрику), що відповідає тексту бази з найбільш схожим вектором. Для таких і багатьох інших застосувань було б корисно оперувати з перетвореними векторними даними, які дають результати, що узгоджуються з результатами у вхідному 1 UA 104674 C2 5 10 15 20 25 30 35 40 45 50 55 багатовимірному векторному просторі, але при цьому більш ефективні - з точки зору економії пам'яті, швидкості обробки, можливості застосування для обробки даних інших класів систем, пристроїв та способів. Один з підходів до перетворення, яке дозволяє відновити відстані та кути між вхідними векторами по результуючих, полягає в застосуванні спеціально сконструйованої випадкової проекційної матриці R розмірністю N A  [W.B. Johnson & J. Lindenstrauss. Extensions of Lipschitz mappings into a Hilbert space // Contemporary Mathematics, 26:189-206,1984; C.H. Papadimitriou, P. Raghavan, H. Tamaki, & S. Vempala. Latent semantic indexing: A probabilistic analysis, J. Comput. System Sci., 61:217-235, 2000; D.Achlioptas. System and method adapted to facilitate dimensional transform. U.S.Pat. 7318078; M.S. Charikar. Methods and apparatus for estimating similarity. U.S.Pat. 7158961; Мисуно И.С., Рачковский Д.А., Слипченко С.В. Векторные и распределенные представления, отражающие меру семантической связи слов // Математические машины и системы – 2005. - № 3 - С. 50-66], де A - число елементів вектора у вхідному просторі, N - число елементів вектора в результуючому просторі. Вхідний масив даних представлений вхідною матрицею X розмірністю A  L , L - число векторів. Проміжний результат перетворення - матриця Y - має розмірність N  L  і отримується множенням Y  RX . Вихідна матриця ZN  L  , яка використовується для роботи подальшими способами обробки масиву даних, є результатом трансформації Y : Z  f Y  і має розмірність N  L  , як і Y . Узагальнений спосіб перетворення даних, побудований на основі такого підходу, складається з дій, наведених на Фіг. 1 і докладніше описаних нижче. Ці дії можуть бути реалізовані в комп'ютерній системі відповідними блоками, які являють собою обчислювальні пристрої, або комп'ютерно-реалізовані блоки і т.п., що виконують відповідні команди і програми. Блоки також наведені на Фіг. 1. Дія 1. Отримання вхідних векторних даних у вигляді вхідний матриці XA  L  за допомогою комп'ютерно-реалізованого блока 1 отримання вхідної матриці. Блок 1 посилає або передає вхідну матрицю даних X для виконання Дії 2 (створення випадкової проекційної матриці з числом A стовпців, що дорівнює кількості рядків в X) та Дії 3 (виконання проекції). Блок 1 може створити вхідну матрицю з багатовимірних даних. Крім того, блок 1 може отримати вхідну матрицю зі сховища даних, в якому зберігаються багатовимірні дані. Кожен стовпець вхідних матриці являє собою вектор з A елементів, який описує відповідний об'єкт (один з L об'єктів - наприклад, один з текстів). Дія 2. Створення масиву допоміжних даних R у вигляді випадкової проекційної матриці RN  A  за допомогою комп'ютерно-реалізованого блока 2 генерації проекційної матриці. Елементи проекційної матриці можуть, наприклад, генеруватися і запам'ятовуватися для подальшого використання або генеруватися і відразу використовуватися без запам'ятовування, проте при черговому використанні повинні генеруватися тотожні елементи матриці. Дія 3. Виконання проекції, тобто множення проекційної матриці RN  A  на вхідну матрицю XA  L і отримання проміжної матриці YN  L  за допомогою комп'ютерно-реалізованого блока 3 проекції (множення). Блок 3 може реалізовувати множення способом, обчислювально ефективним для конкретного виду використаних матриць X та R. Розмірність векторів-стовпців, відповідних кожному з L об'єктів в матриці Y, дорівнює N. Дія 4. Трансформація проміжної матриці YN  L  у результуючу вихідну матрицю ZN  L  за допомогою комп'ютерно-реалізованого блока 4 трансформації результату проекції. Блок 4 перетворює числові значення елементів проміжної матриці YN  L  . Розмірність вихідної матриці Z зберігається такою ж, як у Y. В окремому випадку, блок 4 може не виконувати ніякої трансформації, а просто передавати на вихід вектори, що надходять на вхід. При певному виборі проекційної матриці R та трансформації f, по векторах матриці Z можна оцінювати міри схожості відповідних векторів матриці X, які представляють деякі об'єкти (наприклад, тексти) - тобто, оцінювати схожість цих об'єктів. Так, в роботі [W.B. Johnson & J. Lindenstrauss. Extensions of Lipschitz mappings into a Hilbert space // Contemporary Mathematics, 26:189-206, 1984] за проекційну матрицю R було запропоновано використовувати випадкову ґаусову матрицю і не трансформувати Y : Z  Y . Показано, що за отриманими N-мірними векторами-стовпцями Z можна з високою точністю оцінити відстані між вхідними A-мірними векторами в X навіть при N  A ; при цьому, обробка Z меншої розмірності, ніж X, більш ефективна, ніж обробка X. 2 UA 104674 C2 5 10 15 20 25 30 35 40 45 50 55 Однак, у перетворенні ґаусовою випадковою проекційною матрицею є наступні недоліки. Для великого вхідного масиву даних X, що містить вектори великої розмірності A, потрібно згенерувати проекційну матрицю R великої розмірності N A  . Для цього, для кожного з NA елементів матриці треба згенерувати ґаусову випадкову величину (з нульовим середнім і одиничною дисперсією), що є обчислювально складним і вимагає багато пам'яті для зберігання елементів, які є дійсними числами у форматі з плаваючою комою або в іншому форматі представлення дійсних чисел. Після цього треба помножити проекційну матрицю R на вхідну XA  L , що також вимагає великих обчислювальних витрат для матриць R і X великої розмірності. Крім того, вектори-результати проекції мають формат з плаваючою комою або інший формат представлення дійсних чисел і є нерозрідженими, тобто в загальному випадку всі елементи вектора можуть мати ненульові значення. Це робить операції над такими векторами обчислювально складними для подальших способів та систем. З іншого боку, багато способів представлення, зберігання, обробки даних ефективно працюють з розрідженими бінарними векторами - тобто з векторами, в яких ймовірність одиничного елемента p  0.5 , - завдяки спеціально розробленим підходам і структурам даних, наприклад зворотному індексуванню (inverted index) [Knuth, D.E. (1997) [1973]. "6.5. Retrieval on Secondary Keys". The Art of Computer Programming (Third ed.). Reading, Massachusetts: AddisonWesley. ISBN 0-201-89685-0; http://en.wikipedia.org/wiki/Inverted index]. Крім того, деякі способи та системи представлення та обробки даних вимагають для ефективної роботи розріджені бінарні вектори. Прикладами, якими однак не вичерпуються всі такі системі та способи, є представлення та обробка бінарних розподілених представлень в асоціативно-проективних нейронних мережах [Kussul E.M., Rachkovskij D.A., Baidyk T.N. Associative-Projective Neural Networks: Architecture, Implementation, Applications // 4-th Intern. Conf. "Neural Networks and their Applications", Neuro-Nimes'91.-1991 - P. 463-476; Куссуль Э.М. Ассоциативные нейроподобные структуры - Киев: Наукова думка, 1992 - 144 с.]; розподілена асоціативна пам'ять матричного типу [Willshaw, D. J., Buneman, О. Р., & Longuet-Higgins, H. С (1969). Non-holographic associative memory. Nature, 222, 960-962; Palm, G. (1980). On associative memory. Biological Cybernetics, 36, 19-31; Frolov, A.A. Husek, D. Polyakov, P.Yu. Recurrent-Neural-Network-Based Boolean Factor Analysis and Its Application to Word Clustering. IEEE Transactions on Neural Networks, 2009: 20(7) pp. 1073-1086.], та ін. Таким чином, до недоліків описаного проекційного перетворення ґаусовою випадковою матрицею належать великі витрати пам'яті на зберігання проекційної матриці, великі обчислювальні витрати на проекцію, а також великі витрати пам'яті на зберігання результуючих векторів і великі обчислювальні витрати на їх обробку. Крім того, не забезпечується формування розріджених бінарних вихідних векторів. Робляться спроби подолати ці недоліки. У відомому способі перетворення даних [M.S. Charikar. Methods and apparatus for estimating similarity. U.S.Pat. 7158961] вихідні вектори формують шляхом виконання дій: (a) генерації для кожного елемента вхідного вектора хеш-вектора з випадковими елементами, які приймають значення з ґаусова розподілу або одне зі значень -1 або 1; (b) множення кожного елемента вхідного вектора на відповідний хеш-вектор; (c) підсумовування одержані векторів та отримання вектора суми; (d) отримання вихідного вектора ("скетчу") шляхом трансформація кожного елемента вектора суми в один біт: якщо елемент вектора суми позитивний, відповідний елемент вихідного вектора встановлюється в значення +1, інакше - в значення 0. У цьому способі, дія (а) генерації хеш-векторів еквівалентна формуванню векторів-рядків випадкової проекційної матриці R при виконанні дії 2 (Фіг. 1); дії (b) і (с) здійснюють дію 3 проекції (Фіг. 1); а дія (d) відповідає дії 4 (Фіг. 1). Такий спосіб, однак, має певні недоліки. Для генерації елементів хеш-векторів (хеш-вектори відповідають векторам-стовпцям проекційної матриці R) потрібна генерація як позитивних, так і негативних значень - або із ґаусова розподілу, або зі значеннями -1 або +1. Множення вхідного вектора на таку проекційну матрицю вимагає виконання операцій множення (дія (b)) і підсумовування (дія (с)) чисел з плаваючою комою. Також, результуючі вихідні бінарні вектори з елементами зі значеннями 0 або 1 є нерозрідженими (ймовірність одиничного елемента p  0.5 ). Це не дає способам, які використовують вихідні вектори, переваг оперування розрідженими векторами. В роботі [Мисуно И.С, Рачковский Д.А., Слипченко С.В. Векторные и распределенные представления, отражающие меру семантической связи слов // Математические машины и системы - 2005 - № 3 - С. 50-66] при виконанні дії 2 проекції (Фіг. 1) випадкова проекційна 3 UA 104674 C2 5 10 15 20 25 30 35 40 45 50 55 матриця R формується з елементів зі значеннями з множини {-1, 0, +1}. При виконанні дії 4 трансформації (Фіг. 1) для трансформації матриці Y в вихідну Z застосовується порогова операція з двома порогами. В результаті формується вихідна матриця Z з елементами з множини {-1, 0, +1}. Недоліками такого способу перетворення векторних даних є наступне. Для проекційної матриці R потрібна генерація як позитивних, так і негативних значень. Множення вхідного вектора, елементи якого представлені дійсними числами, на таку матрицю вимагає виконання операцій множення і підсумовування чисел з плаваючою комою. Результуючі вектори є векторами з тернарними елементами з множини {-1, 0, +1}, які обробляти складніше, ніж бінарні вектори. Не розглянуто також, як по вихідних векторах оцінювати міри схожості та відмінності вхідних векторів, таких як кут, скалярний добуток, евклідова відстань та ін. В інших відомих способах і системах перетворення векторної інформації, які описані в [D.Achlioptas. System and method adapted to facilitate dimensional transform. U.S.Pat. 7043514; D.Achlioptas. System and method adapted to facilitate dimensional transform. U.S.Pat. 7318078; D.Achlioptas. System and method adapted to facilitate dimensional transform. U.S.Pat. 7836115] пропонується використовувати проекційну матрицю R з елементами з множини {-1, 0, +1}. В одному з варіантів їх винаходу (з проекційною матрицею в явному вигляді) дія, відповідна дії 2 на Фіг. 1, генерує проекційну матрицю R розмірністю A  N , елементи якої вибираються з множини {-1, +1} з імовірністю 0.5 (Fig. 5,7,8 і їх опис, а також пп. 1-3, пп. 11, 13-16, пп. 20-22 формули в [D.Achlioptas. System and method adapted to facilitate dimensional transform. U.S.Pat. 7043514]). Це дозволяє економити пам'ять для проекційної матриці за рахунок відсутності необхідності зберігання дійсних чисел у форматі з плаваючою комою або в іншому форматі представлення дійсних чисел. Це також спрощує проекцію за рахунок спрощення множення на числа -1, +1 замість операцій множення з плаваючою комою. А саме, в цих винаходах пропонується виконувати проекцию векторів вхідної матриці шляхом множення вхідної та проекційної матриць, причому: при отриманні елемента матриці - результату проекції, обчислювати першу суму, коли потрібно виконувати множення значень елементів вхідного вектора на значення елементів проекційної матриці, які рівні +1; обчислювати другу суму, коли потрібно виконувати множення значень елементів вхідного вектора на значення елементів проекційної матриці, які рівні -1; значення відповідного елемента перетвореної матриці Y отримувати різницею значень першої суми і другий суми. Отримані елементи перетвореної матриці Y є дійсними числами (у форматі з плаваючою комою або в іншому форматі представлення дійсних чисел) і використовуються в якості вихідний матриці Z, тобто Z  Y . Такий спосіб, однак, має свої недоліки. Для проекційної матриці потрібна генерація як позитивних, так і негативних значень. Множення на таку матрицю хоча і не вимагає операцій множення з плаваючою комою, але вимагає роздільного розгляду кожної з груп елементів проекційної матриці зі значеннями елементів -1 та зі значеннями елементів +1, та відповідних груп елементів вхідних векторів, виконання роздільного підсумовування елементів вхідних векторів, відповідних кожної з груп, обчислення різниці величин отриманих сум. Тобто, потрібна обробка кожного з елементів вхідної матриці X. Результуючі вектори є векторами з плаваючою комою, що вимагає багато пам'яті для зберігання і обчислювальних витрат для обробки. Крім того, не забезпечується формування розріджених бінарних вихідних векторів. В другому з варіантів їх винаходу (з проекційною матрицею в явному вигляді), який прийнятий за прототип, дія, відповідна дії 2 на Фіг. 1, генерує проекційну матрицю R розмірністю A  N , елементи якої вибираються з множини {-1, 0,+1} з ймовірностями q1 1, q20, q3 1 , так     що q1 1  q20  q3 1  1, причому q1 1  q3 1 (Fig. 4,7,8 і їх опис, а також пп. 1-2, 4, пп. 11-12, 14-15, 17, пп. 20, 22-23 формули в [D.Achlioptas. System and method adapted to facilitate dimensional transform. U.S.Pat. 7043514]). Це дозволяє економити пам'ять для проекційної матриці за рахунок відсутності необхідності зберігання дійсних чисел у форматі з плаваючою комою або в іншому форматі представлення дійсних чисел. Це також спрощує проекцію за рахунок спрощення множення на числа -1, 0, +1 замість операцій множення з плаваючою комою. А саме, в цих винаходах пропонується виконувати проекцию векторів вхідної матриці шляхом множення вхідної та проекційної матриць, причому: при отриманні елемента матриці - результату проекції, не виконувати обчислень, коли потрібно виконувати множення значень елементів вхідного вектора на значення елементів проекційної матриці, які рівні 0; обчислювати першу суму, коли потрібно виконувати множення значень елементів вхідного вектора на значення елементів проекційної матриці, які рівні +1; 4 UA 104674 C2 5 10 15 20 25 30 35 40 45 50 55 60 обчислювати другу суму, коли потрібно виконувати множення значень елементів вхідного вектора на значення елементів проекційної матриці, які рівні -1; значення відповідного елемента перетвореної матриці Y отримувати різницею значень першої суми і другий суми. Таким чином, число операцій скорочується за рахунок того, що не підсумовуються елементи вхідної матриці, які відповідають нульовим елементам проекційної матриці. Отримані елементи перетвореної матриці Y є дійсними числами (у форматі з плаваючою комою або в іншому форматі представлення дійсних чисел) і використовуються як вихідна матриця Z, тобто Z  Y . Такий спосіб, однак, має свої недоліки. Для проекційної матриці потрібна генерація як позитивних, так і негативних значень. Множення на таку матрицю хоча і не вимагає операцій множення з плаваючою комою, але вимагає роздільного розгляду кожної з груп елементів матриці - зі значеннями елементів 0, зі значеннями елементів -1, зі значеннями елементів +1, виконання різних операцій над елементами вхідних векторів, відповідних кожній групі (ігнорування елементів першої групи, підсумовування елементів другої групи, підсумовування елементів третьої групи), обчислення різниці величин отриманих сум. Результуючі вектори є векторами з плаваючою комою, що вимагає багато пам'яті для зберігання і обчислювальних витрат для обробки. Крім того, не забезпечується формування розріджених бінарних вихідних векторів. Комп'ютерна система-прототип, відповідна даному способу-прототипу, реалізована в [D.Achlioptas. System and method adapted to facilitate dimensional transform. U.S.Pat. 7043514] шляхом використання комп'ютерно-реалізованих блоків для виконання відповідних дій способу. У винаході, що пропонується, поставлена технічна задача створення більш простого, в порівнянні з відомими, способу та комп'ютерної системи перетворення випадкової проекцією вхідних векторних даних у такі вихідні векторні дані, які спрощують їх зберігання та/або обробку, в той же час дозволяючи оцінити по вихідних векторах значення мір схожості та відмінності відповідних вхідних векторів. Спрощення способу і системи перетворення даних також дозволяє реалізувати їх з меншими витратами та/або прискорити перетворення, та/або використовувати менше комп'ютерної пам'яті при реалізації перетворення. Крім того, пропонований спосіб та комп'ютерна система перетворення даних дозволяє продукувати вихідні векторні дані у форматі, який спрощує їх зберігання або обробку, в порівнянні з форматом вихідних даних відомих способів та систем, та/або дозволяє використовувати відомі специфічні способи представлення, зберігання і обробки вихідних векторних даних. Такий формат вихідних даних також дозволяє прискорити їх подальшу обробку відомими способами або системами обробки векторних даних та/або зменшити витрати комп'ютерної пам'яті на зберігання. При розгляді винаходу слід враховувати, що кожна дія над даними може бути реалізовано за допомогою обчислювального пристрою або комп'ютера, що виконує відповідні програми і команди. Також треба враховувати, що згадані далі для цілей наочності технічні деталі можуть не використовуватися при реалізації та застосуванні вказаного винаходу. В інших прикладах, на малюнках схематично показані добре відомі структури, блоки і пристрої, щоб спростити опис цього винаходу. Терміни система, компонент, блок, модуль позначають сутності, пов'язані до комп'ютерів або до апаратного забезпечення, або до комбінації апаратного та програмного забезпечення, до програмного забезпечення, або до виконуваної програмі. Наприклад, компонентом, блоком або модулем може бути, але не обмежується цим, процес, що виконується процесором, процесор, об'єкт, код програми, потік виконання, програма та/або комп'ютер. Наприклад, компонентом, блоком або модулем також можуть бути як додаток, що працює на комп'ютерному сервері, так і сам сервер. Один або кілька компонентів, блоків або модулів можуть перебувати в процесі та/або потоку виконання і компонент може бути локалізований (розташований) на одному комп'ютері та/або розподілений між двома, або більше комп'ютерами. Слід враховувати, що для цілей цього винаходу будь-яка або вся функціональність, яку асоціюють з обговорюваними модулями, блоками, системами та/або компонентами, може досягатися будь-яким з різних шляхів - наприклад, комбінацією або індивідуальними реалізаціями активних серверних сторінок (active server pages ASPs), інтерфейсів загального шлюзу (common gateway interfaces CGIs), інтерфейсами прикладного програмування (application programming interfaces API's), структурований мова запитів structured query language (SQL), компонентна об'єктна модель (component object model COM), розподілений COM (distributed COM DCOM), системна об'єктна модель (system object model SOM), розподілена SOM (distributed SOM DSOM), ActiveX, common object request broker architecture (CORBA), database 5 UA 104674 C2 5 10 15 20 25 30 35 40 45 50 55 60 management systems (DBMSs), relational database management systems (RDBMSs), objectoriented database management system (ODBMSs), object-relational database management systems (ORDBMS), remote method invocation (RMI), С, С + +, practical extraction and reporting language (PERL), applets, HTML, dynamic HTML, server side includes (SSIs), extensible markup language (XML), portable document format (PDF), wireless markup language (WML), standard generalized markup language (SGML), handheld device markup language (HDML), graphics interchange format (GIF), joint photographic experts group (JPEG), binary large object (BLOB), інші скриптові або виконувані компоненти та/або модулі. З урахуванням вищесказаного, розглянемо, як вирішується технічна задача винаходу. А. При виконанні дії 2 генерації випадкової проекційної матриці (Фіг. 1) за допомогою відповідного комп'ютерно-реалізованого блока 2, на відміну від відомих способів, в винаході генерується бінарна випадкова проекційна матриця, яка складається з елементів зі значеннями 0 або 1. Це дозволяє здійснювати дуже просту генерацію елементів випадкової проекційної матриці - наприклад, одним з таких способів: - Шляхом присвоєння випадково вибраним (згідно з заданим розподілом ймовірностей) елементам матриці одиничного значення (інші елементи матриці є нульові). - Шляхом присвоєння кожному елементу матриці одиничного значення із заданою ймовірністю. При цьому елементи матриці, яким не присвоєно одиничне значення, вважаються маючими нульове значення. - Шляхом ефективного множення кількох інших спеціально сформованих матриць. Можуть бути використані також і інші способи генерації випадкової бінарної матриці. Також, бінарну матрицю можна ефективно представляти і зберігати в комп'ютерній пам'яті. Наприклад, для деяких значень ймовірності q одиничного елемента випадкової проекційної матриці або частки q  M / NA  її одиничних елементів (де M - число одиничних елементів матриці) інформація про значення m елементів такої бінарної проекційної матриці може бути представлена та економно зберігатися як одне m-бітне машинне слово (де m, наприклад, 8, 16, 32, 64, 128). Тобто, значення одного елемента матриці представляється одним бітом машинного слова. Це в m разів економніше, ніж зберігання та/або подання одного елемента матриці в одному m-бітному машинному слові. Для деяких значень q більш ефективним з точки зору економії пам'яті на зберігання та/або представлення інформація про значення елементів матриці може бути представлення номерів тільки одиничних елементів (без вказівки значення елементів або знака, оскільки знак та значення елементів однакові для всіх ненульових елементів матриці і рівні, відповідно, "+" та "1"). Наприклад, якщо номер елемента може бути представлений 16-бітовим машинним словом, а q

Дивитися

Додаткова інформація

Автори англійською

Hrytsenko Volodymyr Illich

Автори російською

Гриценко Владимир Ильич

МПК / Мітки

МПК: G06F 17/14

Мітки: комп'ютерна, векторних, даних, система, масиву, спосіб, реалізації, перетворення

Код посилання

<a href="https://ua.patents.su/24-104674-sposib-peretvorennya-masivu-vektornikh-danikh-i-kompyuterna-sistema-dlya-jjogo-realizaci.html" target="_blank" rel="follow" title="База патентів України">Спосіб перетворення масиву векторних даних і комп’ютерна система для його реалізації</a>

Подібні патенти