Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



07.06.2022

Red Hat Enterprise Linux 9

Red Hat zaprezentował system operacyjny Red Hat Enterprise Linux 9 (RHEL 9)...
07.06.2022

Technologiczna piaskownica

Koalicja partnerów KIR, IBM, Chmura Krajowa, PKO Bank Polski, Urząd Komisji Nadzoru...
07.06.2022

Sztuczna inteligencja w...

OVHcloud wprowadziło na rynek AI Notebooks – najnowszy element w ofercie usług...
07.06.2022

Spójna ochrona brzegu sieci

Fortinet zaprezentował FortiOS 7.2 – najnowszą wersję swojego flagowego systemu...
07.06.2022

Zarządzanie transferem

Firma Progress wypuściła nową wersję oprogramowania do zarządzania transferem plików...
07.06.2022

Notebook ekstremalny

Panasonic przedstawił 14-calowy Toughbook 40, notebook do pracy w ekstremalnych...
07.06.2022

Zestaw startowy dla robotyki

Firma AMD przedstawiła najnowszy produkt w portfolio adaptacyjnych modułów SOM...
07.06.2022

Precyzja kadrowania

Najnowsze rozwiązania klasy pro firmy Poly mają sprostać zmieniającym się potrzebom...
07.06.2022

Serwer klasy korporacyjnej

QNAP zaprezentował nowy model serwera NAS, TS-h1886XU-RP R2, który działa na systemie...

Analiza danych z Azure Cognitive Search

Data publikacji: 06-05-2022 Autor: Marcin Szeliga

Azure Cognitive Search to usługa typu PaaS pozwalająca indeksować dane w różnych formatach, wzbogacać te dane przy użyciu sztucznej inteligencji i własnych funkcji, oraz odczytywać utworzone w ten sposób indeksy pełnotekstowe przy użyciu wyrażeń języka naturalnego.

 

Dane dzieli się na ustrukturyzowane (z reguły zapisane w tabelach), częściowo ustrukturyzowane (najczęściej dokumenty JSON) i nieustrukturyzowane (audio, wideo, obrazy i teksty). Analiza i przeszukiwanie dwóch pierwszych rodzajów danych jest stosunkowo łatwa, ponieważ istnieją przeznaczone do tego celu proste w użyciu, wydajne i skalowalne narzędzia, takie jak relacyjne bazy danych i bazy NoSQL. Jednak to danych nieustrukturyzowanych jest najwięcej. Na szczęście do wydobycia ukrytych w nich informacji można użyć sztucznej inteligencji – modele przetwarzania obrazów potrafią np. rozpoznać widoczne na zdjęciach osoby, a modele przetwarzania języka naturalnego mogą ocenić nastawienie (pozytywne lub negatywne) tekstu. W tej części cyklu przedstawiamy Azure Cognitive Search, za pomocą którego można zautomatyzować analizę i przeszukiwanie nieustrukturyzowanych danych.


> Azure Cognitive Search


Do utworzenia tej usługi potrzebne będą: konto Microsoft i subskrypcja Azure  (darmową, testową subskrypcję Azure możemy rozpocząć pod adresem bit.ly/3LgpUKQ). Usługa dostępna jest w kilku wersjach cenowych, w tym wersji darmowej (F). Ten wariant pozwala utworzyć maksymalnie trzy indeksy (i używanych do wypełnienia ich danymi indekserów), których całkowity rozmiar nie może przekroczyć 50 MB, a do ich przeszukiwania będziemy mogli użyć tylko jednej jednostki obliczeniowej.


Wersja podstawowa (B) zwiększa limit liczby indeksów (i indekserów) do 15, a limit rozmiaru indeksów do 2 GB. Poindeksowane dane mogą być przeszukiwane z użyciem najwyżej trzech jednostek obliczeniowych. Koszt każdej z nich to około 65 euro miesięcznie.


Wydajność, skalowalność, ale również cena wersji standardowych (S-S3) są już znacznie wyższe. Na przykład, wersja S3 umożliwia utworzenie do 200 indeksów (i indekserów), z których każdy może zawierać do dwunastu 200 GB partycji danych, a poindeksowane dane mogą być przeszukiwane z użyciem nawet trzydziestu sześciu jednostek obliczeniowych. Miesięczny koszt każdej takiej jednostki wynosi około 1700 euro.
Utworzyć zasób typu Azure Cognitive Search można na portalu Azure (bit.ly/3tDfJKi) lub korzystając z takich narzędzi jak Azure CLI czy PowerShell. W najprostszym wypadku wystarczy wskazać docelową grupę zasobów, lokalizację i nazwę tworzonej usługi.


> Dodatkowe zasoby Azure


Usługa Azure Cognitive Search odpowiada za indeksowanie danych oraz przeszukiwanie indeksów. Oprócz niej, będziemy potrzebować dwóch innych zasobów Azure: usługi Azure Cognitive Services – do wzbogacania nieustrukturyzowanych danych z wykorzystaniem modeli głębokiego uczenia maszynowego – i usługi Storage account – do przechowywania danych źródłowych oraz bazy wiedzy zawierającej wydobyte z tych danych informacje.


Usługę Azure Cognitive Services można utworzyć na portalu (bit.ly/3qAzxwh), wybierając grupę zasobów, region (najlepiej umieścić wszystkie powiązane ze sobą usługi w tej samej grupie zasobów i w tym samym regionie), wersję i akceptując politykę Microsoftu w zakresie odpowiedzialnego korzystania ze sztucznej inteligencji.


Usługa Storage account ma więcej możliwych do skonfigurowania opcji, ale na potrzeby tego zadania możemy pozostawić ich wartości domyślne. Oznacza to, że po odwiedzeniu strony bit.ly/3iyzxIz będziemy musieli wskazać jedynie grupę zasobów, region i podać unikatową (niepowtarzalną w skali całego Azure) nazwę magazynu danych.


> Wdrożenie usługi


Przypuśćmy, że pracujemy dla agencji turystycznej. Dysponuje ona dużą liczbą broszur reklamowych, takich jak ta pokazana na rys. 1. Broszury te są dostępne w wersji cyfrowej, jako pliki PDF. Ponadto, klienci mogą zamieszczać swoje opinie na stronie WWW agencji. Opinie te, tak jak ta zamieszczona w ramce, mają formę kilkuzdaniowych wypowiedzi na temat odwiedzonych hoteli i wycieczek i również są dostępne w postaci dokumentów PDF:


Naszym zadaniem jest wydobycie z tych dokumentów wartościowych informacji, takich jak słowa kluczowe i opisy widocznych na zdjęciach obiektów, osób i krajobrazów. Te informacje posłużą potencjalnym klientom do wyszukiwania odpowiednich dla nich wyjazdów, a pracownikom agencji – do analizowania bieżącej działalności firmy. Aby zrealizować to zadanie, w pierwszej kolejności musimy wgrać posiadane dokumenty do Azure. Pozwoli nam to zdefiniować źródło danych indeksu pełnotekstowego.


> Źródła danych


Pierwszym komponentem usługi Azure Cognitive Search są źródła danych. Dane źródłowe mogą znajdować się w kontenerach lub tabelach magazynu danych Azure, usłudze Azure Data Lake albo pochodzić z baz danych – na liście wspieranych baz danych znajdują się usługa Azure SQL Database i Azure Cosmos DB.


W tym wypadku dokumenty PDF zostały zapisane w kontenerze magazynu danych Azure. Po wyświetleniu głównej strony utworzonej wcześniej usługi Azure Cognitive Search możemy więc kliknąć przycisk Import data i uruchomić kreator tworzenia indeksów. Pierwsze pytanie będzie dotyczyło wyboru istniejącego źródła danych lub utworzenia nowego. Z listy dostępnych typów źródeł danych wybrałem Azure Blob Storage. Konfigurując źródło danych, podałem jego nazwę (margies-data). Następnie upewniłem się, czy odczytane zostaną zarówno metadane, jak i cała zawartość dokumentów PDF (Content and metadata). Później kliknąłem link Choose an existing connection i wskazałem konta magazynu oraz kontener, w którym zapisane zostały dokumenty PDF. W rezultacie utworzone zostało połączenie z tym kontenerem, do uwierzytelniania którego użyty został klucz usługi Storage account. Na koniec, ponieważ chciałem odczytać wszystkie pliki, upewniłem się, że pole Blob folder jest puste.


> Zestawy umiejętności


Drugim komponentem usługi Azure Cognitive Search są zestawy umiejętności. Definiują one przekształcenia używane do wzbogacania danych. Przekształcenia są przeprowadzane w określonej kolejności, a do przekształceń wykonywanych później można przekazać wyniki tych wcześniejszych. W ten sposób zestawy umiejętności definiują potoki przekształceń indeksowanych danych. Przekształcenia mogą wywoływać konkretne funkcje Azure Cognitive Services, a możliwe jest także definiowanie własnych.


Na przykład tworzony zestaw umiejętności będzie zawierał przekształcenie wyodrębniające z treści dokumentów i obrazów znane obiekty, takie jak nazwy firm, adresy URL i e-mail, lokalizację i daty. Wyodrębnione encje zostaną zapisane w polach locations i entities:

{
  "name": "margies-skillset",
  "description": "Skillset for document extraction",
  "skills": [
    {
      "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
      "name": "#1",
      "context": "/document/merged_content",
      "categories": [
        "Person",
        "Quantity",
        "Organization",
        "URL",
        "Email",
        "Location",
        "DateTime"
      ],
      "defaultLanguageCode": "en",
      "inputs": [
        {
          "name": "text",
          "source": "/document/merged_content"
        },
        {
          "name": "languageCode",
          "source": "/document/language"
        }
      ],
      "outputs": [
        {
          "name": "locations",
          "targetName": "locations"
        },
        {
          "name": "entities",
          "targetName": "entities"
        }
      ]
    },

Powyższe przekształcenie wywoływało odpowiednią funkcję usług Azure Cognitive Services. Możemy jednak również definiować własne przekształcenia. Pozwala to wywołać dodatkowe usługi poznawcze, na przykład usługę rozpoznawania formularzy; wysłać dane do własnego modelu predykcyjnego czy po prostu zaimplementować własną logikę.

 

[...]

 

Autor jest pracownikiem naukowym Wyższej Szkoły Bankowej w Poznaniu Wydział Zamiejscowy w Chorzowie. Autor książek poświęconych analizie danych, posiadacz tytułu Microsoft Most Valuable Professional.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"