Kraken toolset - Cycorp Inc. (seminarium)

732 views

Published on

Published in: Spiritual, Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
732
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Kraken toolset - Cycorp Inc. (seminarium)

  1. 1. KRAKEN toolset Cycorp Inc.
  2. 2. <ul><ul><li>Arkadiusz Janicki </li></ul></ul><ul><ul><li>Uniwersytet Wrocławski, wiosna 2008 </li></ul></ul><ul><ul><li>Maszynowe Rozumienie Języka Naturalnego </li></ul></ul><ul><ul><li>prowadzący: dr Paweł Rychlikowski </li></ul></ul><ul><ul><li>Knowledge Formation and Dialogue Using the KRAKEN Toolset, 2002, Cycorp, Inc. </li></ul></ul><ul><ul><li>Kraken-Knowledge Rich Acquisition of Knowledge from Experts Who Are Non-Logicians </li></ul></ul><ul><ul><li>Final technical rept. Jun 2000-Feb 2004, Cycorp, Inc. </li></ul></ul>KRAKEN toolset Cycorp Inc.
  3. 3. 1. Historia Krakenów 2. Cele i zadania systemu 3. Architektura 4. Podsumowanie KRAKEN toolset Cycorp Inc.
  4. 4. KRAKEN - legendarny stwór morski. <ul><ul><li>Pierwszym, który opisał to monstrum w epoce nowożytnej, był Erik Pontoppidan w swoim dziele z 1755 r. - Natural History of Norway. Jeszcze wcześniej pisał o nim Pliniusz Starszy - potwór miał blokować Cieśninę Gibraltarską, nie przepuszczając podróżujących tamtędy okrętów. </li></ul></ul><ul><ul><li>Wedle opowieści żeglarskich, krakeny były często brane za wyspy. Kiedy marynarze wychodzili na ląd budzili potwora, który się zanurzał, wciągając pod wodę załogę wraz z okrętem. </li></ul></ul><ul><ul><li>W legendach Kraken jest znany również jako Triangul. Jest pod władzą Neptuna, lecz słucha tego, kogo zobaczy zaraz po przebudzeniu. Zasypia na sto lat, by później przez kolejne sto atakować statki. </li></ul></ul><ul><ul><li>źródło: Wikipedia.pl </li></ul></ul>
  5. 6. <ul><li>„ Cycorp, Inc., Austin, Texas, is being awarded an $8,504,113 cost-plus-fixed-fee contract to provide for design, development, and delivery of the Knowledge Rich Acquisition of Knowledge from Experts who are Non-Logicians ( KRAKEN ) software system.” </li></ul>O co tak naprawdę chodzi? <ul><li>K nowledge- R ich A cquisition of K nowledge from E xperts who are N on-logicians </li></ul><ul><li>Pozyskiwanie obszernej wiedzy od ekspertów, którzy nie są logikami. </li></ul>
  6. 7. KRAKEN – Cycorp, Inc. <ul><li>CYCORP, Inc. Cycorp, Inc. to firma zajmująca się technologiami reprezentacji wiedzy, wnioskowania, przetwarzania języka naturalnego, integracją danych semantycznych, zarządzania informacją itp. </li></ul><ul><li>CYC Project Długoterminowy projekt zapoczątkowany przez dr Douglas Leant'a w 1984 r. Przedsięwzięcie mające na celu stworzenie prawdziwej sztucznej inteligencji. </li></ul><ul><li>CYCORP, Inc. udostępnia rdzeń ontologii na licencji Public Domain, dodatkowo oferuje darmową licencję na narzędzia programistyczne dla społeczności naukowej. </li></ul>
  7. 8. Baza Wiedzy CYC <ul><li>Aktualnie największa na świecie ustrukturalizowana baza wiedzy. Ponad 190.000 pojęć zawierających relacje (funkcje, predykaty), kolekcje i wpisy indywidualne. Pojęcia połączone są 2.200.000 asercjami wyrażonymi w CycL. </li></ul>
  8. 9. 1. Historia Krakenów 2. Cele i zadania systemu 3. Architektura 4. Podsumowanie KRAKEN toolset Cycorp Inc.
  9. 10. Sytuacja na początku projektu <ul><li>W ramach projektu Rapid Knowledge Formation powstała potrzeba szybkiego i poprawnego wprowadzania danych do systemu sztucznej inteligencji. </li></ul><ul><li>Podczas pracy nad poprzednim projektem HPKF (High-Performance Knowledge Base) okazało się, że system potrafi czasami odpowiadać na pytania, które wydawałyby się bez odpowiedzi (LOL!) </li></ul><ul><li>Transfer wiedzy do systemu był utrudniony: najpierw eksperci musieli nauczyć ontologów, a ontologowie uczyli system </li></ul>
  10. 11. Pomysły <ul><li>Stworzenie systemu umożliwiającego komunikację w języku naturalnym. </li></ul><ul><li>Na interfejs Krakena można patrzeć jak na metaforę rozmowy eksperta z laikiem (lub pana i władcy uczącego stwora co jest dobre a co złe). Mogą używać specjalistycznego słownictwa, które trzeba zdefiniować w trakcie rozmowy. </li></ul><ul><li>Rozmowa powinna być przeprowadzona w ten sposób, aby uzyskać najlepszą reprezentację i logikę zgromadzonej wiedzy. (Nie zadajemy pytań „Czy statki są jadalne?”) </li></ul>
  11. 12. KRAKEN – Cycorp, Inc. <ul><li>Cele i zadania systemu: (wyspecyfikowanie przy starcie projektu) </li></ul><ul><li>1) Bogaty zestaw narzędzi – narzędzia do wprowadzania wiedzy powinny bazować na wiedzy </li></ul><ul><li>2) Narzędzia zależne od kontekstu – system powinien modelować zachowanie użytkownika, aby dostarczyć mu odpowiednich informacji i właściwie interpretować polecenia </li></ul><ul><li>3) Głębokie rozumienie tekstu </li></ul><ul><li>4) Prowadzenie rozmowy i klaryfikacja – system powinien umieć wypytać użytkownika o szczegóły dotyczące tematy rozmowy </li></ul>
  12. 13. KRAKEN – Cycorp, Inc. <ul><li>5) Planowanie i rozwiązywanie problemów – system powinien planować swój dialog z użytkownikiem, ale także powinien potrafić rozwiązać jego problemy. </li></ul><ul><li>6) Wnioskowanie dotyczące metodologii wprowadzania wiedzy </li></ul><ul><li>7) Ustrukturalizowana baza wiedzy – podstawowe pojęcia powinny być wyraźnie reprezentowane </li></ul><ul><li>8) S ystem powinien obsługiwać anafory, katafory np. Małpa ukradła banana i go zjadła. ('Kołki zdaniowe', 'wskaźniki zdaniowe' - ang. discourse pegs ) </li></ul>
  13. 14. KRAKEN – Cycorp, Inc. <ul><li>9) Heterogeniczność – system powinien współpracować z wieloma różnymi systemami </li></ul><ul><li>10) Metafory, analogie i porównania </li></ul><ul><li>11) Wspieranie współpracy i nadzoru – system musi wspierać współpracę wprowadzających dane, a także umożliwiać sprawdzanie i poprawianie danych wprowadzonych przez innych. </li></ul><ul><li>12) Automatyczne mierzenie wydajności </li></ul><ul><li>13) System powinien być użyteczny nie tylko do celów wojskowych , ale potencjalnie także dla przemysłu i innych instytucji. </li></ul>
  14. 15. KRAKEN – plan działania <ul><li>Rok pierwszy – 2000 </li></ul><ul><ul><li>„ Textbook Knowledge Challenge Problem (TKCP)” Zadanie polegało na wprowadzeniu do systemu treści książki „Biologia komórki – podstawy” - Alberts, et. al. </li></ul></ul><ul><ul><li>okazało się, że często w zdaniach pojawia się metafora, a CycL będąc dość precyzyjnym językiem, nie pozwala na opisywanie zachowań przedmiotów w poprzez analogię do zachowań żywych istot. </li></ul></ul><ul><li>Rok drugi – 2001 </li></ul><ul><ul><li>Wydarzenia z 11 września odmieniły bieg prac. Zmieniły się cele i skład drużyn. Odpada Teknowledge , przychodzi NWU wraz z narzędziem do szkicowania nuSketch Battlespace. </li></ul></ul>
  15. 16. Northwestern University's nuSketch BattleSpace.
  16. 17. KRAKEN – plan działania <ul><li>Rok trzeci – 2002 </li></ul><ul><ul><li>Kolejne zwrot akcji i zmiany w składzie </li></ul></ul><ul><ul><li>Powrót do podstawowych celów projektu, przede wszystkim dotyczących uniwersalności powstającego systemu </li></ul></ul><ul><ul><li>Powstają nowe narzędzia „Factivore”, „Analysis Diagram Tool”. Inne umierają śmiercią naturalną (interfejs HTML) </li></ul></ul><ul><ul><li>Integracja z GIS'em </li></ul></ul><ul><ul><li>Czas na refleksje </li></ul></ul>
  17. 18. 1. Historia Krakenów 2. Cele i zadania systemu 3. Architektura 4. Podsumowanie KRAKEN toolset Cycorp Inc.
  18. 21. Procesor tekstu <ul><li>Zawiera komponenty odpowiedzialne za przetwarzanie języka naturalnego </li></ul><ul><ul><li>Parser fraz zdaniowych - wyszukiwanie rozbioru zdania, z możliwością ograniczenia liczby rozbiorów, przeszukiwanych kategorii, ogólnego kosztu. - Rezygnacja z HPSG - informacje syntaktyczne i słownikowe zostają. - Hybrydowy system top-down/bottom-up </li></ul></ul><ul><ul><li>Parser fraz rzeczownikowych </li></ul></ul><ul><ul><ul><li>W przeciwieństwie do pozostałych elementów Procesora tekstu ten moduł wykorzystuje intensywnie bazę wiedzy Cyc'a. </li></ul></ul></ul><ul><ul><li>Parser szablonów </li></ul></ul>
  19. 22. Generator języka naturalnego <ul><li>Natural language generation system </li></ul><ul><ul><li>Produkuje słowa, fragmenty zdań i zdania na podstawie danych z bazy wiedzy i szablonów </li></ul></ul><ul><li>iCycL - Intermediate CYC Language </li></ul><ul><ul><li>Język ewoluował przez 15 lat, aktualnie można go porównać do logiki wysokiego poziomu. </li></ul></ul><ul><ul><li>Obserwacja: ludzie zazwyczaj nie mówią językami formalnymi. Wniosek: pozwalamy na nieformalne struktury zdaniowe, jak np. jest-Niedospecyfikowany, trochę, kilka, ... </li></ul></ul>
  20. 23. If two brigades in one battalion are being attacked, then the brigade is being attacked. (implies (and (isa ?THE-1ST-TASK AssignedTaskType) (targetInAttackTask ?THE-1ST-TASK ?THE-1ST-BATALLION) (isa ?THE-1ST-BATALLION Batallion-MilitaryEchelon) (subOrganizations ?THE-BRIGADE ?THE-1ST-BATALLION) (isa ?THE-BRIGADE Brigade-MilitaryEchelon) (different ?THE-1ST-TASK ?THE-2ND-TASK) (isa ?THE-1ST-TASK AssignedTaskType) (different ?THE-1ST-BATALLION ?THE-2ND-BATALLION) (isa ?THE-2ND-BATALLION Batallion-MilitaryEchelon) (subOrganizations ?THE-BRIGADE ?THE-2ND-BATALLION) (targetInAttackTask ?THE-2ND-TASK ?THE-2ND-BATALLION)) (targetInAttackTask ?THE-1ST-TASK ?THE-BRIGADE)) If a unit is assigned to attack another unit, then it is responsible for that unit. (implies (and (isa ?UNITA ModernMilitaryUnit-Deployable) (different ?UNITA ?UNITB) (isa ?UNITB ModernMilitaryUnit-Deployable) (targetInAttackTask ?THE-ATTACKING-TASK ?UNITA) (unitAssignedToAction ?THE-ATTACKING-TASK ?UNITB) (isa ?THE-ATTACKING-TASK AssignedTaskType)) (unitAssignedToUnit ?UNITB ?UNITA)) Fragment wiedzy w języku CycL
  21. 24. Specjalistyczne narzędzia wprowadzania tekstu <ul><li>Deskryptor białych kart (sailent descriptor) </li></ul><ul><ul><li>Zadaje pytania odnośnie wszelkich nowo wprowadzonych pojęć </li></ul></ul><ul><ul><li>Początkowo moduł zadawał użytkownikowi po jednym pytaniu, w ustalonym porządku; niektórym ekspertom bardzo się to nie podobało, ponieważ musieli odpowiadać na pytania, które wg systemu miały być interesujące, a nie były i w dodatku nie miały żadnego związku z omawianym zagadnieniem. </li></ul></ul><ul><ul><li>Aktualnie duża część funkcjonalności została przeniesiona do Factivore'a </li></ul></ul>
  22. 25. Specjalistyczne narzędzia wprowadzania tekstu <ul><li>Adwersarz precyzji (precision suggestor) </li></ul><ul><ul><li>Przy wprowadzaniu danych sugeruje implikacje. </li></ul></ul><ul><li>WFF-Repair </li></ul><ul><ul><li>(WFF Well-Formed Formula) sprawdza poprawność semantyczną </li></ul></ul>
  23. 26. Specjalistyczne narzędzia wprowadzania tekstu <ul><li>Asystent słownikowy </li></ul><ul><ul><li>Wyszukiwanie nie tylko po nazwie, ale także po właściwościach gramatycznych. Dzięki temu możemy używać systemu nie tylko w rozwiązaniach angielskojęzycznych (jeszcze nie przetestowane) </li></ul></ul>
  24. 27. Glossary
  25. 28. <ul><li>Wcześniej: Concept Refinement Interviewer, jeszcze wcześniej Salient Descriptor </li></ul><ul><li>Narzędzie do gromadzenia faktów </li></ul><ul><li>Osobna aplikacja stand-alone napisana w Javie </li></ul>Factivore
  26. 29. Factivore
  27. 30. Factivore
  28. 31. Query Library
  29. 32. Query Library
  30. 33. Precission Suggestor
  31. 34. Why Not? (ISI)
  32. 35. Rysowanie bazy wiedzy / KB Graphing
  33. 36. Analysis Diagram Tool <ul><li>Wielu wojskowym ekspertom jest łatwiej wyrażać się w formie procedur , niż w formie konkretnych sytuacji i uniwersalnych reguł. </li></ul><ul><li>To procedura, a konkretnie historia wnioskowania , ustanawia kontekst wnioskowania ekspertów i sprawia, że daje się zarządzać procesem decyzyjnym. </li></ul><ul><li>„ Eksperci wiedzą o tym co już zostało rozważone i postanowione.” </li></ul>
  34. 40. 1. Historia Krakenów 2. Cele i zadania systemu 3. Architektura 4. Podsumowanie KRAKEN toolset Cycorp Inc.
  35. 41. Wskazówki od ekspertów (COA – Course of Action) <ul><li>„ First , we had to develop meaningful (measurable) evaluation criteria, when COA ‘standards’ (like the principles of war) are generally expressed in platitudes (e.g. Achieve surprise, establish overwhelming force superiority at the decisive point, allocate minimum force to secondary efforts). </li></ul><ul><li>„ Second , we had to develop an understanding of how to enter the rules; that is, how to break down a rule into manageable entry pieces (we had to communicate with KRAKEN on KRAKEN’s conditions). </li></ul><ul><li>„ Third , the process of actual entry required that we deal with the limited and sometimes erroneous military knowledge in KRAKEN, which we generally gained awareness of through trial and error.” </li></ul>
  36. 42. Wskazówki dla projektantów UI w NLP <ul><li>Pytania zadawane przez system powinny być sensowne (poprawne semantycznie). </li></ul><ul><li>Nie pytamy o rzeczy, które już wiemy. </li></ul><ul><li>Pytania powinny być interesujące – szczególnie interesujące jest uczenie nowych faktów, o których nic nie wiemy (wyjątki: wiele atrybutów: „przyjaźni się z”, „mówi w języku”) </li></ul><ul><li>Wydaje się, że pytanie jest bardziej interesujące, jeśli zwiększa prawdopodobieństwo odpowiedzi na kolejne pytania </li></ul>
  37. 43. Wskazówki dla projektantów UI w NLP <ul><li>Unikaj wszelkich niepotrzebnych opóźnień (rezygnacja z DHTML na rzecz Javy i stopniowego wyświetlania elementów interfejsu) </li></ul><ul><li>Stwórz odpowiednie narzędzia pokrywające największą część zapotrzebowania użytkowników (Osobne narzędzia dla każdego „sweet point'a”.) </li></ul><ul><li>Szerokie spektrum interakcji z użytkownikiem: </li></ul><ul><ul><li>swobodna rozmowa </li></ul></ul><ul><ul><li>forma pośrednia (frazy rzeczownikowe) </li></ul></ul><ul><ul><li>komunikacja graficzna </li></ul></ul><ul><ul><li>komunikacja binarna tak-nie </li></ul></ul>
  38. 44. Podsumowanie <ul><li>Wskaźnik wiedzy pozyskiwanej z użyciem Factivora był najwyższy z testowanych do tej pory w RKF narzędzi ogólnego użytku . </li></ul><ul><li>Z powodu ograniczonych funduszy w roku trzecim integracja z GIS'em była bardzo prosta, ale udało się osiągnąć wyraźne postępy w wykorzystaniu możliwości GIS'a do wnioskowania symbolicznego . </li></ul><ul><li>Najlepiej sprawdziły się interfejsy graficzno/tekstowe napisane w Javie, co sugeruje, że to jest właściwy kierunek dla tego typu rozwiązań. </li></ul>
  39. 45. Plany <ul><li>Cyc będzie kontynuował pracę nad leksykonem pod kątem pokrycia szeregu ogólnych problemów NLP, nie związanych z żadnym konkretnym projektem </li></ul><ul><li>Prace nad EMBT - example-based machine translation. Mapowania pomiędzy zdaniami w języku naturalnym a ich odpowiednikami w CycL. </li></ul><ul><li>Factivore i Query Library – od razu zaprzęgnięte do pracy gdzie się dało. </li></ul><ul><li>Analysis Diagram Tool – grant od SBIR 'a (Small Business Innovation Research) </li></ul><ul><li>Salient Descriptor + Factivore = trafniejsze pytania dla użytkownika </li></ul>
  40. 46. Gdzie można by wykorzystać KRAKEN'a? <ul><li>Inteligentny asystent osobisty </li></ul><ul><li>Narzędzia szkoleniowe dla uczniów </li></ul><ul><li>Głos z kratki – podpowiadający adeptom sztuki wojennej podejmować właściwe decyzje przy dużej informacji danych </li></ul><ul><li>Wsparcie dla jakichkolwiek projektów opartych o wiedzę </li></ul>
  41. 47. Dziękuję za uwagę :)

×