Динамічна онтологія. Як інженери Palantir пояснюють це ЦРУ, АНБ і військовим

Компанія Palantir є четвертою по крутості приватною компанією Кремнієвої долини (після Uber, Xiaomi і Airbnb). Поки Palantir збирає інформацію про все на світі, ми збираємо інформацію про нього. Разом з компанією Edison продовжуємо розслідування можливостей платформи Palantir.



ИТишники додумалися як ефективно «монетизувати математику і алгоритми» (Сегалович, Бакунов), PayPal Mafia додумалася як монетизувати гаджети Феанора філософію (капіталізація Palantir — 20 мільярдів доларів).

У десятихвилинної лекції співробітник компанії Palantir розповість про центральну концепцію їх системи — динамічну онтологію.


0:00 Привіт, я Ашер Синенски, інженер по розгортанню технологій Palantir. Я поговорю про динамічної онтології.
0:08 Очевидно, зараз, ці два слова виглядають для вас досить туманно, сподіваюся, що до кінця розмови ви зрозумієте, який сенс ми в них вкладаємо.
0:17 Перед тим як переходити до справи, поясню: у багатьох людей проблеми зі словом онтологія. Що ми розуміємо під цим словом?
0:24 Якщо ви подивитеся на корені цього слова, то воно утворене від грецьких «онтос» (буття) і «логія» (вивчення чого-небудь). По суті, онтологія – це категоризація світу.
0:34 Є багато термінів, які люди використовують для опису цього: таксономія, схематизатор моделі даних. Але ми використовуємо це, в більш широкому сенсі, як ідею, що ми дійсно категоризируем світ якимось чином.
0:43 Ідея про побудові онтології для вивчення світу не нова. Першим, хто затвердив цю ідею, був мужик на ім'я Платон. Ідея Платонівського реалізму, в основному, про те, що є реальні речі, а є наше уявлення про речі.



1:02 В його моделі, речі реального світу – це прояв певних зразків зі світу ідеального.
1:07 Він міркував про загальне і приватне; про онтології і самому бутті; про форму і копії (можливо, ідея і втілення?). У комп'ютерників ж, є клас і об'єкт.
1:15 У загальному-те, це ідея про те, що є концепція чого-то й саме це щось. І те, що робить це яблуком, наближає нас до того, що являє собою концепція яблука (поправте мене, люди, близько знайомі з філософією Платона).
1:29 Ну, це класна філософія, але питання зараз у тому, як це можна використовувати, як це допоможе нам у створенні інструменту, що може бути корисним в інформаційному співтоваристві.



1:36 Відмінний приклад зручною онтологічної структури – це періодична таблиця Менделєєва. У нас тут число десять (показує на миш'як, на атомну масу), воно щось говорить про вагу, про масу, але, те, що ми бачимо тут, це ж не сама «десять», в нашому реальному світі, — це концептуалізація того, що «десять» має означати.
1:56 Ще один відомий приклад онтології, а точніше таксономії: це лінійна таксономія, з латинськими найменуваннями тварин, і це хороший приклад ієрархічної онтології.



2:06 Тут ви можете рухатися вниз, до роду panthera (лат. пантери), і ви можете використовувати поділ на види з латинськими назвами: leo, tigris, pardus. Ви можете створити об'єкти «лев» «тигр» «леопард».



2:20 Очевидно, що panthera pardus – це не сам леопард, це концепція того, що є леопард.
2:25 Ну, і ви розумієте, є живий леопард в реальному світі і panthera pardus в онтології.
2:29 Ці концепції можна застосувати до сфер, більш значущим, якщо ми говоримо про людину. Наприклад, тут модель онтології людини (person): ми почали з об'єктів, перейшли до сутностей, далі до живих сутностей, потім до людей.



2:43 Якщо ми хочемо охарактеризувати людини далі, то ми можемо додати такі поняття як: пілот, юрист і лікар, — ці поняття об'єднує спільна ідея про виділення підвидів. Пізніше ми поговоримо про це.



2:53 Отже, як ви на практиці можете моделювати в онтології? Як би ви структурували свою онтологію?



2:58 Люди перепробувала декілька способів. Я перерахую чотири найбільш виражених підходу.



3:03 Верхній зав'язаний на об'єктах. В об'єктних моделях, наприклад таксономії тварин з латинської найменуванню, ми маємо якісь об'єкти, які є концепціями, які мають відповідати об'єктам реального світу. Ви можете додати трохи глибини, насиченості, додавши ознаки, і таким чином отримаєте об'єкти з ознаками.
3:21 Для прикладу ми можемо взяти таблицю Менделєєва, де у об'єктів є, вагу і кількість протонів.
3:28 Чого в цій таблиці не вистачає, так це вказівки на відносини. Деякі відносини, можна зрозуміти, проаналізувавши структуру таблиці, але ви не можете знати, наприклад, що утворюють ці дві речовини сплав.
3:40 Ще один спосіб, яким ви можете моделювати світ – це об'єкти і відносини, тобто у вас є об'єкти і те, як вони співвідносяться один з одним.
3:47 І тут упущені ознаки, які були в таблиці Менделєєва. Ви можете отримати уявлення про ознаки, якщо спираєтесь на зв'язку між двома об'єктами, наприклад, один з об'єктів об'єктом даних (data object), і, якщо ви хочете сказати, що у Майка Фікрі (вигаданий лиходій з одного з перших роликів про Palantir) блакитні очі, ви створюєте зв'язок між об'єктами «Майк Фікрі» і «блакитні очі».
4:08 Це буде трохи дивно, але ви зможете скласти досить повне уявлення про об'єкт.
4:13 Нарешті, найбільш показовий спосіб, що використовує і об'єкти, і зв'язки, і ознаки. Як ви можете здогадатися, саме цей спосіб ми використовуємо в Palantir.
4:22 Давайте подивимося трохи глибше на онтологію в Palantir, як вона застосовується.


















5:08 (Онтологія пронизує практично кожну функцію в робочому просторі Palantir. Отже, наявність належним чином оформленої онтології критично для ефективного аналізу.)



5:15 Я сказав, що Palantir – це динамічна онтологія, давайте поговоримо про те, що я маю на увазі під динамікою.
5:21 Перше, що маємо на увазі, говорячи про динаміку, — це те, що онтологія в Palantir не жорстко закодована. Наприклад, так виконаний осьової шар, шар інтерпретацій, надбудова над базами даних, шар аналізу і взаємодії з користувачем.
5:33 Є деякі поняття, які жорстко закодены: об'єкт, ознака, взаємовідношення. Об'єкти так само жорстко поділяються на документи, сутності та події. І це все, — вся онтологія, задана заздалегідь. Насправді, це більше, ніж онтологічна структура, до якої ви прив'язані і яку ви звикли використовувати.
5:50 Чому м'яке кодування? Чому б не закодувати онтологію жорстко? Я розповім про парі недоліків такого підходу.



6:00 Проблема в тому, що використовуючи жорстко закодовану онтологію, ви неминуче опинитеся в один з двох таборів.
6:06 Ви маєте або дуже узагальнену онтологію, або дуже спеціальну, і вам доведеться вибирати, де ви хочете бути.
6:12 узагальненої онтології ви, насправді, нічого не моделюєте. Ви маєте об'єкти, ознаки та відносини, і можете помістити що завгодно всередину такої онтології, але, загалом-то, і все, моделювати там нічого.
6:21 Деякі намагаються створити дуже спеціалізовані онтології, де ви можете змоделювати все що захочете. Проблема тут в тому, що семантика стає сверхпрописанной/сверхопределенной (over-defined).
6:30 Що ми розуміємо під сверхопределенной семантикою? Це ситуація, коли стає надмірно складно розуміти, як щось має бути змодельоване.
6:35 Ви можете ввести поняття «повідомлення» (citation – виписка, повістка в суд, згадка), і тоді один скаже: «О, повідомлення, це коли я паркувальний талон отримую», — а інший, що повідомлення приходить, коли людина отримує премію.
6:48 Якщо потрібно моделювати схожі речі в сверхопределенной онтології, використовуючи «повідомлення», стає складно розділяти їх.
6:54 Якщо ви користуєтеся м'яким кодуванням, між нашими таборами виникає спектр, і, почавши з загальної моделі, ви дійдете до якоїсь точки, яка відповідає вашим завданням (sweet spot – солодка точка).



7:11 Ще одна істотна перевага динамічної онтології в тому, що це гнучка система: ви можете моделювати безліч різних концепцій, або одну концепцію безліччю різних способів.



7:19 Гнучкість – давайте побачимо, як це працює. Відповімо на питання: «Як змоделювати рід занять людини?»




7:28 На слайді написано: «Робоча функція може бути класифікована через визначення об'єктів».
По-перше, поглянемо на об'єктну модель зайнятості людини. Ми класифікували робочі функції як об'єкти, і ви цей слайд вже бачили.
7:40 У нас є людина нагорі і пілот, юрист, доктор внизу, так що це схоже на модель тварин з родами і видами.



7:47 Які переваги і недоліки цього способу? Недоліком буде те, що ви не зможете зробити людину юристом і лікарем одночасно (як левом і тигром), вам доведеться вибирати.
7:56 Перевага в тому, що у вас є багато ознак, специфічних для лікаря або юриста, і ви можете використовувати ці ознаки.
8:04 Медична спеціалізація, очевидно, відрізняється від юридичної, і ви легко можете використовувати цю різницю, працюючи з об'єктами.
8:12 На слайді написано: «Робочі функції людини можуть бути класифіковані визначенням ознак його зайнятості»
Ви можете використовувати ознаки, для того щоб отримати уявлення про зайнятість людини.
8:17 Ми можемо сказати, що людина може володіти ознакою «зайнятість» і різними значеннями цієї ознаки.



8:24 Можна бути доктором, пілотом, юристом, і, якщо у вас є ідея про множинність ознаки, ви можете вибрати кілька значень. У Palantir це можливо: доктор і пілот, пілот і юрист, юрист і кухар.



8:35 Недолік тут у тому, що доведеться постаратися, щоб додати юристу інформацію про те, що він з такого-то вузу, не прив'язуючи назовсім цю інформацію цією ознакою.
8:45 Нарешті, ви можете отримати уявлення про кар'єру людини, використовуючи відносини. Причина, по якій хтось називається доктором, не в тому, що він закінчив медвуз, причина в тому, що ця людина лікує пацієнтів.



8:58 Таким чином, ви можете сказати, осіб 1 є доктором по відношенню до людини 2, осіб 1 пілот, тому що управляє літаком, осіб 1 – юрист, тому що надає юридичні послуги людині 3. Так, насправді, визначається кар'єра.



9:08 Так що ми бачимо, тут три концепції моделювання кар'єри. Ви не зможете зробити так, якщо використовуєте жорстко закодовану онтологію, наприклад норми суспільства.



9:21 Я поговорив про гнучкості, про м'якому кодування, але не всі ці речі мають на увазі під собою динаміку. Так в чому дійсно динамічність онтології Palantir?
9:31 Справа в тому, що в Palantir онтологія може бути змінена і після того як була розгорнута. Таким чином, онтологія може розвиватися разом з тим, як розвивається бачення світу вашою організацією.



9:41 Кілька прикладів змін, які ви можете зробити:
— будь-який об'єкт, ознака або ставлення можна додати або видалити;
— функціональність об'єктів, ознак та відносин можна змінювати, — і це, напевно, найважливіше.
9:54 Важливе тому, що спосіб, яким більшість людей взаємодіє з онтологією – намагатися зрозуміти, за що тут відповідають різні ознаки та інше.



10:05 Ось на слайді, для прикладу, список деяких з речей, які ви можете змінити:

  • додати/змінити генератори ярликів;
  • додати/змінити псевдоніми;
  • додати/змінити синтаксичні аналізатори;
  • додати/змінити контрольні параметри;
  • додати/змінити іконки;
  • додати/змінити приблизні значення;
  • додати/змінити обмеження ознак;
  • додати/змінити обмеження зв'язків.


10:08 Ці зміни справляють істотний вплив на те, як люди будуть взаємодіяти з онтологією і на те, як буде проходити аналіз.
10:15 Тепер швиденько підведемо підсумки. За допомогою динамічної онтології ви можете змоделювати все, що потрібно вашій організації, у вашій сфері інтересів. Ця онтологія не хардкода, а софткода.

(За допомогу в підготовці статті окреме спасибі Олексію Ворсину, російського експерта по системі Palantir)

Ще про Palantir:


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.