W dzisiejszej epoce informacyjnej ogromne ilości danych przechowywanych w niezliczonych dokumentach stanowią zarówno wyzwanie, jak i szansę dla przedsiębiorstw. Tradycyjne metody przetwarzania dokumentów często nie zapewniają wydajności i dokładności, pozostawiając miejsce na innowacje, efektywność kosztową i optymalizacje. Przetwarzanie dokumentów uległo znacznemu postępowi wraz z pojawieniem się inteligentnego przetwarzania dokumentów (IDP). Dzięki IDP firmy mogą przekształcać nieustrukturyzowane dane z różnych typów dokumentów w ustrukturyzowane, przydatne informacje, znacznie zwiększając wydajność i ograniczając wysiłek ręczny. Na tym jednak nie kończy się potencjał. Integrując generatywną sztuczną inteligencję (AI) z procesem, możemy jeszcze bardziej zwiększyć możliwości IDP. Generatywna sztuczna inteligencja nie tylko wprowadza ulepszone możliwości przetwarzania dokumentów, ale także wprowadza dynamiczną zdolność dostosowywania się do zmieniających się wzorców danych. Ten post poprowadzi Cię przez synergię IDP i generatywnej sztucznej inteligencji, pokazując, w jaki sposób stanowią one kolejną granicę w przetwarzaniu dokumentów.
Szczegółowo omawiamy IDP w naszej serii Inteligentne przetwarzanie dokumentów za pomocą usług AWS AI (Część 1 i Część 2). W tym poście omawiamy, jak rozszerzyć nową lub istniejącą architekturę IDP o duże modele językowe (LLM). Mówiąc dokładniej, omawiamy, w jaki sposób możemy się zintegrować Ekstrakt z amazonki w LangChain jako moduł ładujący dokumenty i Amazońska skała macierzysta wyodrębniać dane z dokumentów i wykorzystywać możliwości generatywnej sztucznej inteligencji na różnych etapach IDP.
Amazon Texttract to usługa uczenia maszynowego (ML), która automatycznie wyodrębnia tekst, charakter pisma odręcznego i dane ze zeskanowanych dokumentów. Amazon Bedrock to w pełni zarządzana usługa oferująca wybór wydajnych modeli podstawowych (FM) za pośrednictwem łatwych w użyciu interfejsów API.
Poniższy diagram przedstawia architekturę referencyjną wysokiego poziomu, która wyjaśnia, w jaki sposób można dodatkowo ulepszyć przepływ pracy IDP za pomocą podstawowych modeli. Możesz użyć LLM w jednej lub wszystkich fazach IDP, w zależności od przypadku użycia i pożądanego rezultatu.
W kolejnych sekcjach szczegółowo omawiamy, w jaki sposób Amazon Textract jest integrowany z generatywnymi przepływami pracy AI przy użyciu LangChain do przetwarzania dokumentów dla każdego z tych konkretnych zadań. Dostarczone tutaj bloki kodu zostały skrócone dla zwięzłości. Zapoznaj się z naszymi Repozytorium GitHub szczegółowe notatniki dotyczące języka Python i przewodnik krok po kroku.
Wyodrębnianie tekstu z dokumentów jest kluczowym aspektem podczas przetwarzania dokumentów za pomocą LLM. Możesz użyć Amazon Textract, aby wyodrębnić nieustrukturyzowany, surowy tekst z dokumentów i zachować oryginalne obiekty częściowo ustrukturyzowane lub ustrukturyzowane, takie jak pary klucz-wartość i tabele obecne w dokumencie. Pakiety dokumentów, takie jak roszczenia zdrowotne i ubezpieczeniowe czy kredyty hipoteczne, składają się ze złożonych formularzy zawierających wiele informacji w formatach ustrukturyzowanych, częściowo ustrukturyzowanych i nieustrukturyzowanych. Ekstrakcja dokumentów jest tutaj ważnym krokiem, ponieważ LLM korzystają z bogatej treści w celu generowania dokładniejszych i trafniejszych odpowiedzi, które w przeciwnym razie mogłyby mieć wpływ na jakość wyników LLM.
LangChain to potężna platforma typu open source do integracji z LLM. Ogólnie rzecz biorąc, studia LLM są wszechstronne, ale mogą mieć problemy z zadaniami specyficznymi dla domeny, w których potrzebny jest głębszy kontekst i dopracowane odpowiedzi. LangChain umożliwia programistom w takich scenariuszach tworzenie agentów, którzy mogą dzielić złożone zadania na mniejsze podzadania. Podzadania mogą następnie wprowadzić kontekst i pamięć do LLM, łącząc i łącząc w łańcuchy podpowiedzi LLM.
oferty LangChain ładowarki dokumentów które mogą ładować i przekształcać dane z dokumentów. Można ich używać do organizowania dokumentów w preferowane formaty, które mogą być przetwarzane przez LLM. The Program AmazonTextractPDFLoader to rodzaj modułu ładującego dokumenty, który zapewnia szybki sposób automatyzacji przetwarzania dokumentów za pomocą Amazon Textract w połączeniu z LangChain. Więcej szczegółów dot AmazonTextractPDFLoader
, patrz LangChain dokumentacja. Aby skorzystać z modułu ładującego dokumenty Amazon Textract, zacznij od zaimportowania go z biblioteki LangChain:
from langchain.document_loaders import AmazonTextractPDFLoader
https_loader = AmazonTextractPDFLoader("https://sample-website.com/sample-doc.pdf")
https_document = https_loader.load() s3_loader = AmazonTextractPDFLoader("s3://sample-bucket/sample-doc.pdf")
s3_document = s3_loader.load()
Możesz także przechowywać dokumenty w Amazon S3 i odwoływać się do nich za pomocą wzorca adresu URL s3://, jak wyjaśniono w Dostęp do segmentu za pomocą S3://i przekaż tę ścieżkę S3 do modułu ładującego Amazon Textract PDF:
import boto3
textract_client = boto3.client('textract', region_name='us-east-2') file_path = "s3://amazon-textract-public-content/langchain/layout-parser-paper.pdf"
loader = AmazonTextractPDFLoader(file_path, client=textract_client)
documents = loader.load()
Dokument wielostronicowy będzie zawierał wiele stron tekstu, do których można uzyskać dostęp poprzez obiekt dokumentów, czyli listę stron. Poniższy kod przegląda strony w obiekcie dokumentów i drukuje tekst dokumentu, który jest dostępny za pośrednictwem metody page_content
atrybut:
print(len(documents)) for document in documents: print(document.page_content)
Amazon Comrehend i LLM można skutecznie wykorzystać do klasyfikacji dokumentów. Amazon Comprehend to usługa przetwarzania języka naturalnego (NLP), która wykorzystuje technologię ML do wydobywania wniosków z tekstu. Amazon Comprehend obsługuje także szkolenie w zakresie niestandardowych modeli klasyfikacji ze świadomością układu dokumentów takich jak pliki PDF, Word i formaty graficzne. Aby uzyskać więcej informacji na temat korzystania z klasyfikatora dokumentów Amazon Comprehend, zobacz Klasyfikator dokumentów Amazon Comprehend dodaje obsługę układu dla większej dokładności.
W połączeniu z LLM klasyfikacja dokumentów staje się skutecznym podejściem do zarządzania dużymi wolumenami dokumentów. LLM są pomocne w klasyfikacji dokumentów, ponieważ mogą analizować tekst, wzorce i elementy kontekstu w dokumencie przy użyciu zrozumienia języka naturalnego. Można je także dostosować do konkretnych klas dokumentów. Gdy nowy typ dokumentu wprowadzony do potoku IDP wymaga klasyfikacji, LLM może przetworzyć tekst i sklasyfikować dokument na podstawie zestawu klas. Poniżej znajduje się przykładowy kod, który wykorzystuje moduł ładujący dokumenty LangChain obsługiwany przez Amazon Texttract w celu wyodrębnienia tekstu z dokumentu i wykorzystania go do klasyfikacji dokumentu. Używamy Antropiczny Claude v2 modelu za pośrednictwem Amazon Bedrock w celu przeprowadzenia klasyfikacji.
W poniższym przykładzie najpierw wyodrębniamy tekst z raportu wypisu pacjenta i używamy LLM do jego klasyfikacji na podstawie listy trzech różnych typów dokumentów:DISCHARGE_SUMMARY
, RECEIPT
, PRESCRIPTION
. Poniższy zrzut ekranu przedstawia nasz raport.
from langchain.document_loaders import AmazonTextractPDFLoader
from langchain.llms import Bedrock
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain loader = AmazonTextractPDFLoader("./samples/document.png")
document = loader.load() template = """ Given a list of classes, classify the document into one of these classes. Skip any preamble text and just give the class name. <classes>DISCHARGE_SUMMARY, RECEIPT, PRESCRIPTION</classes>
<document>{doc_text}<document>
<classification>""" prompt = PromptTemplate(template=template, input_variables=["doc_text"])
bedrock_llm = Bedrock(client=bedrock, model_id="anthropic.claude-v2") llm_chain = LLMChain(prompt=prompt, llm=bedrock_llm)
class_name = llm_chain.run(document[0].page_content) print(f"The provided document is = {class_name}")
Podsumowanie polega na skondensowaniu danego tekstu lub dokumentu w krótszą wersję z zachowaniem jego kluczowych informacji. Technika ta jest korzystna dla wydajnego wyszukiwania informacji, co pozwala użytkownikom szybko uchwycić kluczowe punkty dokumentu bez konieczności czytania całej zawartości. Chociaż Amazon Textract nie wykonuje bezpośrednio podsumowania tekstu, zapewnia podstawowe możliwości wyodrębniania całego tekstu z dokumentów. Wyodrębniony tekst służy jako dane wejściowe do naszego modelu LLM na potrzeby wykonywania zadań podsumowywania tekstu.
Korzystając z tego samego raportu o rozładowaniu próbki, używamy AmazonTextractPDFLoader
aby wyodrębnić tekst z tego dokumentu. Tak jak poprzednio, używamy modelu Claude v2 poprzez Amazon Bedrock i inicjujemy go zachętą zawierającą instrukcje, co zrobić z tekstem (w tym przypadku podsumowaniem). Na koniec uruchamiamy łańcuch LLM, przekazując wyodrębniony tekst z modułu ładującego dokumenty. Spowoduje to uruchomienie akcji wnioskowania w LLM z monitem składającym się z instrukcji podsumowania oraz tekstu dokumentu oznaczonego przez Document
. Zobacz następujący kod:
Kod generuje podsumowanie raportu podsumowującego wypis pacjenta:
W poprzednim przykładzie do przeprowadzenia podsumowania użyto jednostronicowego dokumentu. Jednak prawdopodobnie będziesz mieć do czynienia z dokumentami zawierającymi wiele stron, które wymagają podsumowania. Typowym sposobem przeprowadzania podsumowań na wielu stronach jest najpierw wygenerowanie podsumowań na mniejszych fragmentach tekstu, a następnie połączenie mniejszych podsumowań w celu uzyskania ostatecznego podsumowania dokumentu. Należy pamiętać, że ta metoda wymaga wielu wywołań LLM. Logikę tego można łatwo stworzyć; jednakże LangChain zapewnia wbudowany łańcuch podsumowań, który może podsumowywać duże teksty (z dokumentów wielostronicowych). Podsumowanie może nastąpić albo poprzez map_reduce
lub stuff
opcje, które są dostępne jako opcje zarządzania wieloma połączeniami do LLM. W poniższym przykładzie używamy map_reduce
podsumować wielostronicowy dokument. Poniższy rysunek ilustruje nasz przepływ pracy.
Zacznijmy od wyodrębnienia dokumentu i sprawdzenia całkowitej liczby tokenów na stronę oraz całkowitej liczby stron:
Następnie używamy wbudowanego LangChaina load_summarize_chain
podsumowując cały dokument:
from langchain.chains.summarize import load_summarize_chain summary_chain = load_summarize_chain(llm=bedrock_llm, chain_type='map_reduce')
output = summary_chain.run(document)
print(output.strip())
Standaryzacja i pytania i odpowiedzi
W tej sekcji omawiamy zadania standaryzacyjne i pytania i odpowiedzi.
Normalizacja
Standaryzacja wyników to zadanie generowania tekstu, w którym LLM służą do zapewnienia spójnego formatowania tekstu wyjściowego. To zadanie jest szczególnie przydatne w przypadku automatyzacji wyodrębniania kluczowych elementów, które wymaga dopasowania danych wyjściowych do żądanych formatów. Na przykład możemy postępować zgodnie z najlepszymi praktykami inżynieryjnymi, aby dostroić LLM w celu sformatowania dat w formacie MM/DD/RRRR, który może być zgodny z kolumną DATE w bazie danych. Poniższy blok kodu pokazuje przykład, jak to się robi przy użyciu LLM i szybkiej inżynierii. Nie tylko standaryzujemy format wyjściowy wartości dat, ale także monitujemy model o wygenerowanie końcowego wyniku w formacie JSON, aby można go było łatwo wykorzystać w naszych dalszych aplikacjach. Używamy Język wyrażeń LangChain (LCEL), aby połączyć dwa działania. Pierwsza akcja powoduje, że LLM wygeneruje wynik w formacie JSON zawierający tylko daty z dokumentu. Druga akcja pobiera dane wyjściowe JSON i standaryzuje format daty. Należy zauważyć, że tę dwuetapową akcję można również wykonać w jednym kroku przy odpowiedniej szybkiej inżynierii, jak zobaczymy w normalizacji i szablonowaniu.
Dane wyjściowe powyższego przykładowego kodu to struktura JSON z datami 07 i 09, które mają format DD/MM/RRRR i stanowią odpowiednio datę przyjęcia i wypisu pacjenta ze szpitala, zgodnie do raportu podsumowującego absolutorium.
Pytania i odpowiedzi z wyszukiwaniem rozszerzonym
Wiadomo, że LLM przechowują informacje oparte na faktach, często określane jako ich wiedza o świecie lub światopogląd. Dopracowane mogą dać najnowocześniejsze rezultaty. Istnieją jednak ograniczenia dotyczące tego, jak skutecznie LLM może uzyskać dostęp do tej wiedzy i nią manipulować. W rezultacie w przypadku zadań, które w dużym stopniu opierają się na konkretnej wiedzy, ich wydajność może nie być optymalna w niektórych przypadkach użycia. Na przykład w scenariuszach pytań i odpowiedzi istotne jest, aby model ściśle trzymał się kontekstu podanego w dokumencie, bez polegania wyłącznie na swojej wiedzy o świecie. Odstępstwa od tego mogą prowadzić do błędnych interpretacji, niedokładności lub nawet błędnych odpowiedzi. Najczęściej stosowaną metodą rozwiązania tego problemu jest tzw Odzyskanie Augmented Generation (SZMATA). Podejście to łączy w sobie mocne strony modeli wyszukiwania i modeli językowych, zwiększając precyzję i jakość generowanych odpowiedzi.
LLM mogą również nakładać ograniczenia tokenów ze względu na ograniczenia pamięci i ograniczenia sprzętu, na którym działają. Aby rozwiązać ten problem, stosuje się techniki takie jak dzielenie na porcje w celu podzielenia dużych dokumentów na mniejsze części, które mieszczą się w granicach tokenów LLM. Z drugiej strony osadzanie jest stosowane w NLP przede wszystkim w celu uchwycenia semantycznego znaczenia słów i ich relacji z innymi słowami w przestrzeni wielowymiarowej. Te osadzania przekształcają słowa w wektory, umożliwiając modelom wydajne przetwarzanie i zrozumienie danych tekstowych. Dzięki zrozumieniu niuansów semantycznych między słowami i wyrażeniami osadzanie umożliwia LLM generowanie spójnych i odpowiednich kontekstowo wyników. Zwróć uwagę na następujące kluczowe terminy:
- Wydzielanie – W procesie tym duże ilości tekstu z dokumentów są dzielone na mniejsze, znaczące fragmenty tekstu.
- zanurzeń – Są to stałowymiarowe transformacje wektorowe każdej porcji, które zachowują informacje semantyczne z porcji. Te osadzania są następnie ładowane do wektorowej bazy danych.
- Baza danych wektorowych – Jest to baza danych osadzonych słów lub wektorów reprezentujących kontekst słów. Działa jako źródło wiedzy, które wspomaga zadania NLP w potokach przetwarzania dokumentów. Zaletą bazy danych wektorowych jest to, że umożliwia dostarczenie LLM tylko niezbędnego kontekstu podczas generowania tekstu, jak wyjaśnimy w poniższej sekcji.
RAG wykorzystuje moc osadzania, aby zrozumieć i pobrać odpowiednie segmenty dokumentu na etapie wyszukiwania. W ten sposób RAG może działać w ramach symbolicznych ograniczeń LLM, zapewniając wybranie do generowania najbardziej istotnych informacji, co skutkuje dokładniejszymi i kontekstowo istotnymi wynikami.
Poniższy diagram ilustruje integrację tych technik w celu opracowania danych wejściowych do LLM, poprawy ich zrozumienia kontekstowego i umożliwienia bardziej odpowiednich odpowiedzi w kontekście. Jedno podejście polega na wyszukiwaniu podobieństw, wykorzystując zarówno wektorową bazę danych, jak i fragmentację. Wektorowa baza danych przechowuje elementy osadzone reprezentujące informacje semantyczne, a fragmentacja dzieli tekst na łatwe do zarządzania sekcje. Wykorzystując kontekst z wyszukiwania podobieństw, LLM mogą wykonywać zadania, takie jak odpowiadanie na pytania i operacje specyficzne dla domeny, takie jak klasyfikacja i wzbogacanie.
W tym poście stosujemy podejście oparte na RAG, aby przeprowadzać pytania i odpowiedzi w kontekście z dokumentami. W poniższym przykładzie kodu wyodrębniamy tekst z dokumentu, a następnie dzielimy dokument na mniejsze fragmenty tekstu. Dzielenie na kawałki jest wymagane, ponieważ możemy mieć duże, wielostronicowe dokumenty, a nasze LLM mogą mieć limity tokenów. Fragmenty te są następnie ładowane do bazy danych wektorów w celu przeprowadzenia wyszukiwania podobieństwa w kolejnych krokach. W poniższym przykładzie używamy modelu Amazon Titan Embed Text v1, który wykonuje osadzanie wektorowe fragmentów dokumentu:
Kod tworzy odpowiedni kontekst dla LLM przy użyciu fragmentów tekstu zwracanych przez akcję wyszukiwania podobieństwa z bazy danych wektorów. W tym przykładzie używamy oprogramowania typu open source Sklep wektorowy FAISS jako przykładowa baza danych wektorów do przechowywania osadzonych wektorów każdego fragmentu tekstu. Następnie definiujemy wektorową bazę danych jako a Retriever LangChain, który jest przekazywany do RetrievalQA
łańcuch. To wewnętrznie uruchamia zapytanie o podobieństwo w bazie danych wektorów, które zwraca n górnych (gdzie w naszym przykładzie n=3) fragmentów tekstu, które są istotne dla pytania. Na koniec uruchamiany jest łańcuch LLM z odpowiednim kontekstem (grupą odpowiednich fragmentów tekstu) i pytaniem, na które LLM ma odpowiedzieć. Aby zapoznać się ze szczegółowym omówieniem kodu dotyczącym pytań i odpowiedzi za pomocą RAG, zobacz notatnik Python w sprawie GitHub.
Jako alternatywę dla FAISS możesz również użyć Możliwości bazy danych wektorowych usługi Amazon OpenSearch Service, Usługa relacyjnej bazy danych Amazon (Amazon RDS) dla PostgreSQL z pgwektor rozszerzenie w postaci wektorowych baz danych lub bazy danych Chroma Database o otwartym kodzie źródłowym.
Pytania i odpowiedzi z danymi tabelarycznymi
Dane tabelaryczne w dokumentach mogą być trudne do przetworzenia dla LLM ze względu na ich złożoność strukturalną. Amazon Texttract można rozszerzyć o LLM, ponieważ umożliwia wyodrębnianie tabel z dokumentów w zagnieżdżonym formacie elementów, takich jak strona, tabela i komórki. Wykonywanie pytań i odpowiedzi na podstawie danych tabelarycznych jest procesem wieloetapowym i można je przeprowadzić za pomocą: zadawanie sobie pytań. Poniżej znajduje się przegląd kroków:
- Wyodrębnij tabele z dokumentów za pomocą Amazon Texttract. Dzięki Amazon Texttract strukturę tabelaryczną (wiersze, kolumny, nagłówki) można wyodrębnić z dokumentu.
- Przechowuj dane tabelaryczne w wektorowej bazie danych wraz z informacjami o metadanych, takimi jak nazwy nagłówków i opis każdego nagłówka.
- Użyj podpowiedzi, aby skonstruować ustrukturyzowane zapytanie przy użyciu LLM w celu uzyskania danych z tabeli.
- Użyj zapytania, aby wyodrębnić odpowiednie dane tabeli z bazy danych wektorów.
Na przykład na wyciągu bankowym, biorąc pod uwagę pytanie „Jakie są transakcje z depozytami o wartości przekraczającej 1000 USD”, LLM wykonałby następujące kroki:
- Utwórz zapytanie, np
“Query: transactions” , “filter: greater than (Deposit$)”
. - Przekonwertuj zapytanie na zapytanie strukturalne.
- Zastosuj zapytanie strukturalne do bazy danych wektorowych, w której przechowywane są dane naszej tabeli.
Aby zapoznać się z przykładowym przewodnikiem po kodzie pytań i odpowiedzi w formie tabelarycznej, zobacz notatnik Pythona w GitHub.
Szablonowanie i normalizacje
W tej sekcji przyjrzymy się, jak wykorzystać szybkie techniki inżynieryjne i wbudowany mechanizm LangChain do wygenerowania danych wyjściowych z ekstraktami z dokumentu według określonego schematu. Dokonujemy również standaryzacji wyodrębnionych danych, korzystając z technik omówionych wcześniej. Zaczynamy od zdefiniowania szablonu pożądanego wyniku. Będzie to służyć jako schemat i zawierać szczegóły dotyczące każdej jednostki, którą chcemy wyodrębnić z tekstu dokumentu.
Należy pamiętać, że dla każdej encji używamy opisu, aby wyjaśnić, czym jest ta encja, aby pomóc LLM w wyodrębnieniu wartości z tekstu dokumentu. W poniższym przykładowym kodzie używamy tego szablonu do tworzenia monitu o LLM wraz z tekstem wyodrębnionym z dokumentu za pomocą AmazonTextractPDFLoader
a następnie wykonaj wnioskowanie z modelu:
Jak widać, {keys}
częścią zachęty są klucze z naszego szablonu, a plik {details}
są klucze wraz z ich opisem. W tym przypadku nie podpowiadamy modelowi jawnie formatu wyjścia innego niż określony w instrukcji wygenerowania wyjścia w formacie JSON. W większości przypadków to działa; jednakże, ponieważ wyjście z LLM jest niedeterministycznym generowaniem tekstu, chcemy jawnie określić format jako część instrukcji w znaku zachęty. Aby rozwiązać ten problem, możemy użyć LangChaina analizator składni wyjściowych moduł, aby skorzystać z zautomatyzowanej inżynierii podpowiedzi, która pomaga przekonwertować nasz szablon na zachętę formatu instrukcji. Do wygenerowania instrukcji formatowania używamy wcześniej zdefiniowanego szablonu w następujący sposób:
Następnie używamy tej zmiennej w naszym oryginalnym znaku zachęty jako instrukcji dla LLM, aby wyodrębnił i sformatował dane wyjściowe w żądanym schemacie, dokonując niewielkiej modyfikacji w naszym znaku zachęty:
Jak dotąd wyodrębniliśmy dane z dokumentu jedynie w pożądanym schemacie. Musimy jednak jeszcze przeprowadzić pewną standaryzację. Na przykład chcemy, aby data przyjęcia i wypisu pacjenta była wyodrębniona w formacie DD/MM/RRRR. W tym przypadku wzmacniamy description
klucza z instrukcją formatowania:
Zapoznaj się z notatnikiem Pythona w GitHub aby uzyskać pełny opis krok po kroku i wyjaśnienie.
Sprawdzanie pisowni i poprawki
LLM wykazały niezwykłe zdolności w rozumieniu i generowaniu tekstu podobnego do ludzkiego. Jednym z rzadziej omawianych, ale niezwykle przydatnych zastosowań LLM jest ich potencjał w sprawdzaniu gramatyki i poprawianiu zdań w dokumentach. W przeciwieństwie do tradycyjnych programów do sprawdzania gramatyki, które opierają się na zestawie predefiniowanych reguł, LLM korzystają ze wzorców, które zidentyfikowali na podstawie ogromnych ilości danych tekstowych, aby określić, co stanowi prawidłowy lub płynny język. Oznacza to, że potrafią wykryć niuanse, kontekst i subtelności, które mogą przeoczyć systemy oparte na regułach.
Wyobraź sobie tekst wyciągnięty z podsumowania wypisu pacjenta, który brzmi: „Pacjent Jon Doe, który został przyjęty z powodu ciężkiego zapalenia płuc, wykazał znaczną poprawę i może zostać bezpiecznie wypisany. Kolejne wizyty zaplanowano na przyszły tydzień.” Tradycyjny moduł sprawdzania pisowni może rozpoznać „przyznanie”, „zapalenie płuc”, „poprawę” i „nex” jako błędy. Jednakże kontekst tych błędów może prowadzić do dalszych błędów lub ogólnych sugestii. LLM wyposażony w obszerne przeszkolenie mógłby zasugerować: „Pacjent John Doe, który został przyjęty z powodu ciężkiego zapalenia płuc, wykazał znaczną poprawę i może być bezpiecznie wypisany do domu. Kontrole zaplanowano na przyszły tydzień.”
Poniżej znajduje się przykładowy dokument słabo napisany odręcznie, zawierający ten sam tekst, co wyjaśniono wcześniej.
Wyodrębniamy dokument za pomocą modułu ładującego dokumenty Amazon Textract, a następnie instruujemy LLM, za pomocą szybkiej inżynierii, aby poprawił wyodrębniony tekst w celu poprawienia wszelkich błędów ortograficznych i gramatycznych:
Dane wyjściowe poprzedniego kodu pokazują oryginalny tekst wyodrębniony przez moduł ładujący dokumenty, po którym następuje poprawiony tekst wygenerowany przez LLM:
Pamiętaj, że niezależnie od tego, jak potężne są LLM, konieczne jest postrzeganie ich sugestii właśnie jako sugestii. Chociaż imponująco dobrze oddają zawiłości języka, nie są nieomylne. Niektóre sugestie mogą zmienić zamierzone znaczenie lub ton oryginalnego tekstu. Dlatego ważne jest, aby weryfikatorzy używali poprawek wygenerowanych przez LLM jako wskazówek, a nie absolutnych. Współpraca ludzkiej intuicji z możliwościami LLM obiecuje przyszłość, w której nasza pisemna komunikacja będzie nie tylko wolna od błędów, ale także bogatsza i bardziej dopracowana.
Wnioski
Generatywna sztuczna inteligencja zmienia sposób przetwarzania dokumentów za pomocą IDP w celu uzyskiwania wglądu. W poście Ulepszanie inteligentnego przetwarzania dokumentów AWS za pomocą generatywnej sztucznej inteligencji, omówiliśmy różne etapy rurociągu i sposób, w jaki klient AWS, Ricoh, ulepsza swój rurociąg IDP za pomocą LLM. W tym poście omówiliśmy różne mechanizmy usprawniania przepływu pracy IDP za pomocą LLM za pośrednictwem Amazon Bedrock, Amazon Textract i popularnego frameworka LangChain. Już dziś możesz rozpocząć korzystanie z nowego modułu ładującego dokumenty Amazon Textract z LangChain, korzystając z przykładowych notatników dostępnych w naszym Repozytorium GitHub. Aby uzyskać więcej informacji na temat pracy z generatywną sztuczną inteligencją w AWS, zobacz Ogłaszamy nowe narzędzia do budowania z generatywną sztuczną inteligencją w AWS.
O autorach
Sonali Sahu kieruje inteligentnym przetwarzaniem dokumentów w zespole usług AI/ML w AWS. Jest autorką, liderem myśli i pasjonatką technologii. Jej głównym obszarem zainteresowania jest AI i ML, często przemawia na konferencjach i spotkaniach AI i ML na całym świecie. Ma zarówno szerokie, jak i głębokie doświadczenie w technologii i branży technologicznej, z doświadczeniem branżowym w opiece zdrowotnej, sektorze finansowym i ubezpieczeniach.
Anjana Biswasa jest starszym architektem rozwiązań usług AI ze szczególnym uwzględnieniem AI/ML i analizy danych. Anjan jest częścią ogólnoświatowego zespołu usług AI i współpracuje z klientami, pomagając im zrozumieć i opracować rozwiązania problemów biznesowych związanych ze sztuczną inteligencją i uczeniem się. Anjan ma ponad 14-letnie doświadczenie w pracy z globalnymi organizacjami zajmującymi się łańcuchem dostaw, produkcją i sprzedażą detaliczną oraz aktywnie pomaga klientom rozpocząć i skalować usługi AWS AI.
Chinmayee Rane jest architektem rozwiązań specjalistycznych AI/ML w Amazon Web Services. Pasjonuje się matematyką stosowaną i uczeniem maszynowym. Koncentruje się na projektowaniu inteligentnych rozwiązań do przetwarzania dokumentów i generatywnych rozwiązań AI dla klientów AWS. Poza pracą lubi tańczyć salsę i bachatę.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/intelligent-document-processing-with-amazon-textract-amazon-bedrock-and-langchain/
- :ma
- :Jest
- :nie
- :Gdzie
- .nex
- $1000
- $W GÓRĘ
- 1
- 10
- 100
- 11
- 12
- 13
- 14
- 15%
- 16
- 22
- 23
- 33
- 35%
- 7
- 9
- a
- zdolności
- O nas
- bezwzględny
- dostęp
- dostęp
- Stosownie
- precyzja
- dokładny
- osiągnięty
- w poprzek
- Działania
- działania
- aktywnie
- działalność
- Dzieje Apostolskie
- Ad
- adres
- Dodaje
- przylegać
- przyznać
- Przyznał
- postępy
- Korzyść
- nadejście
- wiek
- agentów
- AI
- Usługi AI
- AI / ML
- wyrównany
- Wszystkie kategorie
- Pozwalać
- pozwala
- wzdłuż
- również
- alternatywny
- Chociaż
- Amazonka
- Amazon Comprehend
- Amazon RDS
- Ekstrakt z amazonki
- Amazon Web Services
- kwoty
- an
- analityka
- w czasie rzeczywistym sprawiają,
- i
- odpowiedź
- Antropiczny
- każdy
- Pszczoła
- aplikacje
- stosowany
- nominacje
- podejście
- architektura
- SĄ
- POWIERZCHNIA
- na około
- Sztuka
- sztuczny
- sztuczna inteligencja
- Sztuczna inteligencja (AI)
- AS
- aspekt
- pomagać
- Asystent
- At
- zwiększać
- zwiększona
- autor
- zautomatyzować
- zautomatyzowane
- automatycznie
- Automatyzacja
- dostępny
- świadomość
- AWS
- Klient AWS
- Bank
- BE
- bo
- staje się
- być
- zanim
- korzystny
- korzyści
- BEST
- Najlepsze praktyki
- pomiędzy
- Blokować
- Bloki
- obie
- szerokość
- przerwa
- przerwy
- budować
- Budowanie
- wbudowany
- biznes
- biznes
- ale
- by
- Połączenia
- CAN
- Może uzyskać
- możliwości
- zdobyć
- walizka
- Etui
- Komórki
- pewien
- łańcuch
- więzy
- wyzwanie
- wyzwanie
- zmiana
- Zmiany
- wymiana pieniędzy
- Wykrywanie urządzeń szpiegujących
- wybór
- roszczenia
- klasa
- Klasy
- klasyfikacja
- Klasyfikuj
- kod
- ZGODNY
- współpraca
- Kolumna
- kolumny
- połączenie
- połączyć
- byliśmy spójni, od początku
- wspólny
- powszechnie
- Komunikacja
- zgodny
- kompletny
- kompleks
- kompleksowość
- zrozumieć
- zwięzły
- konferencje
- Podłączanie
- zgodny
- składa się
- Ograniczenia
- skonstruować
- zawierać
- zawarte
- zawiera
- zawartość
- kontekst
- kontekstowy
- konwertować
- rdzeń
- skorygowania
- poprawione
- Korekty
- mógłby
- rzemiosło
- wykonane
- tworzy
- istotny
- zwyczaj
- klient
- Klientów
- Taniec
- dane
- Analityka danych
- Baza danych
- Bazy danych
- Data
- Daty
- sprawa
- głęboko
- głębiej
- określić
- zdefiniowane
- definiowanie
- wykazać
- W zależności
- depozyty
- głębokość
- opisane
- opis
- projektowanie
- życzenia
- detal
- szczegółowe
- detale
- wykryć
- Ustalać
- rozwijać
- deweloperzy
- Dieta
- różne
- bezpośrednio
- dyskutować
- omówione
- nurkować
- podzielić
- dzieli
- do
- Lekarz
- dokument
- dokumentacja
- dokumenty
- łania
- Nie
- robi
- darowizna
- zrobić
- nie
- na dół
- dramatycznie
- z powodu
- podczas
- dynamiczny
- e
- każdy
- Wcześniej
- z łatwością
- łatwy w użyciu
- faktycznie
- efektywność
- wydajny
- skutecznie
- starania
- bądź
- Elementy
- osadzać
- zatrudniony
- upoważnia
- umożliwiać
- Umożliwia
- umożliwiając
- zakończenia
- Inżynieria
- wzmacniać
- wzmocnione
- wzmocnienie
- zapewnić
- zapewnienie
- Cały
- podmioty
- jednostka
- wyposażony
- Błędy
- niezbędny
- Parzyste
- przykład
- Z wyjątkiem
- wyjątek
- Przede wszystkim system został opracowany
- doświadczenie
- ekspertyza
- Wyjaśniać
- wyjaśnione
- Objaśnia
- wyjaśnienie
- wyraźnie
- wyrażenie
- rozciągać się
- rozbudowa
- rozległy
- wyciąg
- ekstrakcja
- Wyciągi
- Spadać
- fałszywy
- daleko
- zmęczenie
- Łąka
- Postać
- finał
- W końcu
- budżetowy
- Sektor finansowy
- i terminów, a
- dopasować
- Skupiać
- koncentruje
- obserwuj
- następnie
- następujący
- następujący sposób
- W razie zamówieenia projektu
- format
- formularze
- znaleziono
- Fundacja
- Framework
- Darmowy
- często
- od
- Granica
- pełny
- w pełni
- dalej
- przyszłość
- Ogólne
- Generować
- wygenerowane
- generuje
- generujący
- generacja
- generatywny
- generatywna sztuczna inteligencja
- otrzymać
- Dać
- dany
- Globalne
- gramatyka
- chwycić
- większy
- Zarządzanie
- poprowadzi
- ręka
- uchwyt
- zdarzyć
- Wydarzenie
- sprzęt komputerowy
- Have
- headers
- opieki zdrowotnej
- ciężko
- pomoc
- pomocny
- pomoc
- pomaga
- jej
- tutaj
- na wysokim szczeblu
- wydajny
- wyższy
- posiada
- szpital
- W jaki sposób
- How To
- Jednak
- HTML
- HTTPS
- człowiek
- i
- ID
- zidentyfikowane
- if
- ilustruje
- obraz
- niezmiernie
- Rezultat
- importować
- ważny
- importowanie
- nałożone
- poprawa
- in
- Włącznie z
- wskaźnik
- przemysł
- Informacja
- Wiek informacji
- Innowacja
- wkład
- spostrzeżenia
- przykład
- instrukcje
- ubezpieczenie
- integrować
- zintegrowany
- Integracja
- integracja
- Inteligencja
- Inteligentny
- Inteligentne przetwarzanie dokumentów
- zamierzony
- wewnętrznie
- najnowszych
- zawiłości
- przedstawiać
- wprowadzono
- Przedstawia
- IT
- JEGO
- Jackson
- John
- JOHN DOE
- Jon
- jpg
- json
- właśnie
- Klawisz
- Klawisze
- Wiedzieć
- wiedza
- znany
- język
- duży
- układ
- prowadzić
- lider
- prowadzący
- nauka
- pozostawiając
- Biblioteka
- lubić
- Prawdopodobnie
- Ograniczenia
- Limity
- Lista
- LLM
- załadować
- ładowarka
- logika
- Popatrz
- Partia
- maszyna
- uczenie maszynowe
- Dokonywanie
- zarządzanie
- wykonalny
- zarządzane
- zarządzający
- podręcznik
- produkcja
- wyraźny
- matematyka
- Może..
- me
- znaczenie
- wymowny
- znaczy
- mechanizm
- Mechanizmy
- Spotkaniach Wikipedystów
- Pamięć
- Meta
- Metadane
- metoda
- metody
- może
- nic
- tęsknić
- błędy
- ML
- model
- modele
- Moduł
- jeszcze
- Kredyty hipoteczne
- większość
- wielokrotność
- Nazwa
- Nazwy
- Naturalny
- Przetwarzanie języka naturalnego
- niezbędny
- Potrzebować
- potrzebne
- wymagania
- Nowości
- Następny
- w następnym tygodniu
- nlp
- notatnik
- już dziś
- zacienienie
- numer
- przedmiot
- obiekty
- of
- Oferty
- często
- on
- ONE
- tylko
- open source
- operacje
- Okazja
- Optymalny
- Opcje
- or
- organizacji
- oryginalny
- Inne
- Inaczej
- ludzkiej,
- na zewnątrz
- Wynik
- wydajność
- Wyjścia
- zewnętrzne
- koniec
- przegląd
- Pakiety
- strona
- stron
- Ból
- sparowany
- par
- część
- szczególnie
- przechodzić
- minęło
- Przechodzący
- namiętny
- ścieżka
- pacjent
- Wzór
- wzory
- dla
- wykonać
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- wykonywane
- wykonywania
- wykonuje
- faza
- PhD
- Zwroty
- rurociąg
- krok po kroku
- plato
- Analiza danych Platona
- PlatoDane
- Proszę
- zapalenie płuc
- zwrotnica
- Popularny
- możliwy
- Post
- potencjał
- power
- powered
- mocny
- praktyki
- precyzyjnie
- Detaliczność
- Korzystny
- teraźniejszość
- poprzednio
- głównie
- wydruki
- Problem
- problemy
- wygląda tak
- Obrobiony
- przetwarzanie
- produkować
- obiecuje
- właściwy
- zapewniać
- pod warunkiem,
- dostawca
- zapewnia
- Python
- Q & A
- jakość
- pytanie
- Szybki
- szybko
- Surowy
- Czytający
- rozpoznać
- redukcja
- odnosić się
- odniesienie
- , o którym mowa
- Relacje
- polegać
- opierając się
- znakomity
- raport
- reprezentować
- reprezentowanie
- wymagany
- Wymaga
- odpowiednio
- Odpowiedzi
- Ograniczenia
- dalsze
- wynikły
- Efekt
- detaliczny
- zachować
- wspornikowy
- powraca
- Bogaty
- Pokój
- reguły
- run
- działa
- s
- bezpiecznie
- taki sam
- powiedzieć
- Skala
- scenariusze
- zaplanowane
- Szukaj
- druga
- Sekcja
- działy
- sektor
- widzieć
- Segmenty
- wybrany
- senior
- wyrok
- Serie
- służyć
- służy
- usługa
- Usługi
- zestaw
- ciężki
- ona
- Short
- powinien
- pokazane
- Targi
- znaczący
- pojedynczy
- mały
- mniejszy
- skrawek
- So
- Wyłącznie
- Rozwiązania
- ROZWIĄZANIA
- kilka
- Źródło
- Typ przestrzeni
- Mówi
- specjalista
- specyficzny
- swoiście
- określony
- pisownia
- dzielić
- etapy
- normalizacja
- początek
- rozpoczęty
- state-of-the-art
- Zestawienie sprzedaży
- Ewolucja krok po kroku
- Cel
- Nadal
- sklep
- przechowywany
- sklep
- silne strony
- sznur
- strukturalny
- Struktura
- zbudowany
- Walka
- kolejny
- Następnie
- taki
- sugerować
- streszczać
- PODSUMOWANIE
- Dostawa
- łańcuch dostaw
- wsparcie
- podpory
- synergia
- systemy
- stół
- Brać
- trwa
- Zadanie
- zadania
- zespół
- technika
- Techniki
- technolog
- Technologia
- szablon
- REGULAMIN
- XNUMX
- tekstowy
- niż
- że
- Połączenia
- świat
- ich
- Im
- następnie
- Tam.
- w związku z tym
- Te
- one
- to
- myśl
- trzy
- Przez
- tytan
- do
- już dziś
- dzisiaj
- razem
- żeton
- Żetony
- TON
- narzędzia
- Top
- Kwota produktów:
- tradycyjny
- Wleczona
- Trening
- transakcje
- Przekształcać
- przemiany
- prawdziwy
- próbować
- drugiej
- rodzaj
- typy
- zrozumieć
- zrozumienie
- w odróżnieniu
- odsłonięcie
- URL
- posługiwać się
- przypadek użycia
- używany
- Użytkownicy
- zastosowania
- za pomocą
- wykorzystany
- Wykorzystując
- v1
- wartość
- Wartości
- zmienna
- różnorodny
- Naprawiono
- wszechstronny
- wersja
- przez
- Zobacz i wysłuchaj
- kłęby
- solucja
- chcieć
- była
- Droga..
- we
- sieć
- usługi internetowe
- tydzień
- DOBRZE
- Co
- jeśli chodzi o komunikację i motywację
- który
- Podczas
- KIM
- będzie
- w
- w ciągu
- bez
- świadkiem
- słowo
- słowa
- Praca
- workflow
- przepływów pracy
- pracujący
- działa
- świat
- by
- napisany
- X
- lat
- You
- zefirnet