BI

Sztuczna inteligencja w silnikach wyszukiwania

Kwiecień 19, 2021 0
Podziel się:

Era informacji

Cyfryzacja otaczającego nas świata pozwoliła uzyskać dostęp do informacji w ilościach niemożliwych do osiągnięcia dla wcześniejszych pokoleń. Sprawcą takiego stanu rzeczy jest nie tylko powszechny dostęp do Internetu, ale również procesy zachodzące w takich instytucjach jak urzędy, korporacje czy centra naukowe. Ogromna ilość danych utrzymywana wcześniej jako fizyczne, papierowe kopie jest obecnie przechowywana w bazach danych i dostępna z poziomu osobistego komputera, bez konieczności wstawania od biurka.

Jak nie utonąć w morzu danych?

Sam dostęp do informacji nie jest jednak wystarczający. Fizycznie niemożliwe jest ręczne przejrzenie setek czy tysięcy potencjalnych dokumentów, w których może znajdować się poszukiwana przez nas informacja. W parze z systemami przechowującymi informacje idą więc algorytmy wyszukiwania.

Najczęściej występującym rodzajem informacji jest informacja nieprzetworzona np. w formie dokumentów tekstowych, takich jak orzeczenia sądów, faktury czy umowy. O ile bardzo łatwo możemy wyszukać dokumenty utworzone bądź zmodyfikowane w zakresie określonych dat, lub posiadające ustalonego autora, to już wyszukiwanie w samej treści będzie zdecydowanie większym wyzwaniem.

Potrzeba wiedzy

Wyobraźmy sobie, że mamy do dyspozycji bazę orzeczeń sądów z kilkunastu ostatnich lat, oraz prawnika o imieniu Harvey, który chciałby wiedzieć, jak wyrokował sąd w sprawach podobnych do tej obecnie przez niego prowadzonej. Załóżmy, że chodzi o niepłacenie podatków. Harvey loguje się więc do naszego systemu i wpisuje w wyszukiwarkę następującą frazę: „wyroki sądów w sprawach uchylania się od płacenia podatków”. Jak zadziała system wyszukiwania?

Wyszukiwanie leksykalne

Większość obecnych systemów wyszukiwania pełno-tekstowego indeksuje dokumenty z wykorzystaniem częstotliwości występowania słów. Wiąże się to jednak z problemem jakim są synonimy oraz różne sposoby tekstowego wyrażania informacji. Jeśli zapytanie, którego użył Harvey to „wyroki sądów w sprawach uchylania się od płacenia podatków”, a w dokumencie znajduje się „unikanie VATu”, to taki dokument prawdopodobnie nie zostanie znaleziony z racji na inne słownictwo użyte w dokumencie – nawet jeśli koncepcyjnie jest to dokładnie to samo.

System wyszukiwania opisany w poprzednim paragrafie to tzw. system wyszukiwania leksykalnego. Opiera się on na prostym mechanizmie i nie jest w stanie zrozumieć intencji wyszukującego, ani kontekstu w jakim dana informacja jest przedstawiona. Jeśli np. w dokumencie pojawi się następujące zdanie „firma zapłaciła podatek” a w innym miejscu tego samego dokumentu „techniki uchylania się od podatków”, to taki dokument wciąż będzie odpowiedzią systemu na zapytanie Kevina, ponieważ pojawiają się tam zarówno słowa „podatek” jak i „uchylanie się”.

Sztuczna inteligencja przychodzi z pomocą

Postęp w dziedzinie sztucznej inteligencji w zakresie przetwarzania języka naturalnego, który nastąpił na przestrzeni ostatnich lat, pozwala na rozwiązanie obu powyższych problemów poprzez tzw. wyszukiwanie semantycznego. W ten sposób system jest w stanie nie tylko zrozumieć intencje użytkownika, ale też kontekst w jakim dana informacja jest podana.

Podstawę wyszukiwania semantycznego stanowią zwykle głębokie sieci neuronowe trenowane na ogromnych ilościach danych. Przykładowo model GPT-3 został wytrenowany na niemal 500 miliardach słów z tekstów pochodzących ze stron internetowych, książek oraz Wikipedii! Trening modelu AI ma za zadanie uchwycić znaczenie poszczególnych słów na podstawie kontekstu ich występowania.

Język naturalny może się różnić od języka domenowego, używanego np. wśród prawników, architektów czy medyków, dlatego dla poprawy skuteczności wyszukiwania taki model warto dostroić na zbiorze dokumentów specyficznych dla danego zagadnienia.

Utworzony w ten sposób model AI jest używany do indeksowania dokumentów i pozwala na przeszukiwanie z wykorzystaniem znaczenia informacji, a nie tylko na podstawie dopasowania poszczególnych słów.

Pytanie = odpowiedź?

Silnik wyszukiwania semantycznego jest w stanie bardzo precyzyjnie znaleźć poszukiwaną informacje pośród setek tysięcy różnych dokumentów i wskazać fragment, który daną informację zawiera. Czy dałoby się jednak pójść krok dalej i wydobyć dokładną odpowiedź na zadane pytanie?

Załóżmy, że tym razem zapytanie prawnika brzmi „Jakie są koszty postępowania sądowego w sprawie przekroczenia prędkości?” i oczekuje on dokładnej odpowiedzi, np. 500 PLN. Mając na uwadze, że silnik semantyczny zwraca nam już dokładny fragment tekstu zawierający odpowiedź, kolejnym krokiem byłoby wydobycie z tego fragmentu odpowiedniej wartości.

Okazuje się, że również w tym przypadku z pomocą przychodzi sztuczna inteligencja i opisywany system jest możliwy do zbudowania, pod warunkiem posiadania odpowiedniego, zbioru danych treningowych, specyficznego dla danej domeny.

Nieoczywiste możliwości wyszukiwania semantycznego

W poprzednich paragrafach opisano klasyczne silniki wyszukiwania, gdzie na zadane zapytanie pojawiają się potencjalne odpowiedzi. Jednak jest to tylko namiastka niesamowitych narzędzi, jakie można zbudować na podstawie modelu AI rozumiejącego dane tekstowe.

Załóżmy, że chcielibyśmy ustalić, czy nasze dokumenty są poprawne względem pewnych regulacji i czy spełniają wszystkie wymagania, jakie są stawiane przed tego typu dokumentami. Mając zdefiniowaną listę regulacji i wymagań model AI jest w stanie nauczyć się ich, a następnie sprawdzać poprawność dokumentów użytkownika. Co więcej, pozwoli również na sprawdzenie spójności dokumentu względem grupy innych dokumentów – np. względem poprawności dat, sum pieniężnych lub dowolnych innych wartości. Pozwala to w znaczący sposób zmniejszyć ilość czasu potrzebnego na manualną weryfikację poprawności danych oraz uniknąć wielu potencjalnych pomyłek trudnych do zauważenia dla człowieka.

Rozwiązanie takie może być przydatne np. w branży healthcare, gdzie niejednokrotnie wymagana jest weryfikacja, czy dany dokument medyczny spełnia regulacyjne normy przedstawiania informacji, czy też sprawdzenie poprawności takiego dokumentu względem innych zatwierdzonych już przez regulatora dokumentów. Podobny mechanizm można zastosować w innych obszarach (jak chociażby Utilities), w których istnieje bardzo wiele regulacji prawnych, procedur i norm, których stosowanie konieczne jest w codziennej pracy, a ich wyszukiwanie sprawia sporo trudności.

Kolejnym zagadnieniem jest ekstrakcja kluczowych informacji z dokumentów, takich jak nazwiska, daty, wartości pieniężne, przepisy prawne, itd. Ma to znaczenie zwłaszcza przy dużej ilości długich tekstowych dokumentów, gdzie użytkownik chciałby szybko uzyskać kluczowe informacje bez konieczności czytania wszystkiego. Również i w tym przypadku mamy do czynienia z problemem zbliżonym do wyszukiwania. Pozwala to np. na szybkie znalezienie i dopasowanie ofert, które mogą zostać przedstawione potencjalnym klientom w postaci ekstraktu najważniejszych informacji. Dzięki temu klienci nie tylko dostaną najlepiej dopasowaną ofertę, ale też będą w stanie szybciej się z nią zapoznać i porównać z innymi propozycjami.

Co ciekawe z technicznego punktu widzenia, opisane problemy są bardzo zbliżone do problemu wyszukiwania semantycznego.

Nasze doświadczenie

Powyższe przypadki użycia nie są jedynie czysto teoretycznymi dywagacjami. Opisują one doświadczenia zebrane przez nasz zespół AI w rzeczywistych projektach adresujących rzeczywiste problemy naszych klientów. Artykuł nie wyczerpuje jednak nawet w niewielkim stopniu potencjalnych możliwości oferowanych przez sztuczną inteligencję. Jeśli stoisz więc przed wyzwaniem, które wymaga efektywnego przetwarzania dużej ilość dokumentów tekstowych, ale nie odnajdujesz swojego przypadku użycia w tym artykule, skontaktuj się z nami. Chętnie przedyskutujemy i pomożemy dobrać odpowiednie rozwiązanie.

Podsumowanie

Nowoczesne, oparte o sztuczną inteligencję silniki wyszukiwania, pozwalają na niemal pełną dowolność w formułowaniu zapytań i indeksowaniu dokumentów. Potrafią zrozumieć zarówno znaczenie, jak i kontekst w jakim prezentowane są informacje, przez co wyniki wyszukiwania idą w parze z intencjami użytkownika. Dostępne na rynku narzędzia pozwalają zbudować niezawodne i skalowalne rozwiązania, a modele AI można dopasować do danego zagadnienia.

Szybki dostęp do właściwej informacji jest kluczowy w wielu dziedzinach życia i pozwala podejmować właściwe decyzje, które niejednokrotnie przekładają się na kondycje finansową przedsiębiorstwa, lub decyzje inwestycyjne. Przeszukiwanie setek rezultatów wyszukiwania można porównać do szukania igły w stogu siana. Sztuczna inteligencja może być tutaj porównana do silnego magnesu, który z łatwością odnajdzie poszukiwaną igłę.

5 / 5
Kategorie: BI
Marcin Mosiołek
Autor: Marcin Mosiołek
AI Technical Leader (Manager) with a rich experience collected in a wide range of machine learning projects over last 10+ years. During his career, he had an outstanding opportunity to lead initiatives such as pharmaceutical documents review engine including the latest deep learning and natural language processing techniques, or an autonomous vehicle’s perception system, where his team was responsible for object recognition, segmentation, and sensor fusion. On a daily basis, he transfers academic papers into working software so that the AI becomes a part of client's products.

Imię i nazwisko (wymagane)

Adres email (wymagane)

Temat

Treść wiadomości

Zostaw komentarz