<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Uczenie Maszynowe |</title><link>https://clementgodbarge.com/pl/tag/uczenie-maszynowe/</link><atom:link href="https://clementgodbarge.com/pl/tag/uczenie-maszynowe/index.xml" rel="self" type="application/rss+xml"/><description>Uczenie Maszynowe</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>pl-pl</language><lastBuildDate>Mon, 22 Nov 2021 18:15:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>Uczenie Maszynowe</title><link>https://clementgodbarge.com/pl/tag/uczenie-maszynowe/</link></image><item><title>Automatyzacja znakowania w cyfrowych edycjach naukowych</title><link>https://clementgodbarge.com/pl/post/gpt3/</link><pubDate>Mon, 22 Nov 2021 18:15:00 +0000</pubDate><guid>https://clementgodbarge.com/pl/post/gpt3/</guid><description>&lt;h1 id="wprowadzenie"&gt;Wprowadzenie&lt;/h1&gt;
&lt;p&gt;Jak wydawać cyfrowe edycje naukowe, nie rujnując przy tym budżetu? W tym wpisie, pierwszym z cyklu poświęconego wydajnemu edytorstwu, oceniam, jaką rolę mogą odegrać wstępnie wytrenowane modele językowe w automatyzacji zadań edytorskich, takich jak znakowanie semantyczne.&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" &gt;
&lt;summary&gt;Spis treści&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#dzieło-z-miłości"&gt;Dzieło z miłości&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#wysoki-próg"&gt;Wysoki próg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#transformery-najprostsza-droga-do-automatyzacji"&gt;Transformery: najprostsza droga do automatyzacji?&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#codex"&gt;Codex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#poza-openai"&gt;Poza OpenAI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#eksperyment-1--kategoryzacja-tekstu"&gt;Eksperyment 1 – kategoryzacja tekstu.&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#konstruowanie-promptu"&gt;Konstruowanie promptu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#test"&gt;Test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#wynik"&gt;Wynik&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#eksperyment-2--znakowanie-semantyczne"&gt;Eksperyment 2 – znakowanie semantyczne&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#konstruowanie-promptu-1"&gt;Konstruowanie promptu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#test-1"&gt;Test&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h1 id="problem"&gt;Problem&lt;/h1&gt;
&lt;h2 id="dzieło-z-miłości"&gt;Dzieło z miłości&lt;/h2&gt;
&lt;p&gt;Kto kocha, ten nie liczy&amp;hellip; tak przynajmniej głosi stare przysłowie. Do cyfrowych edycji naukowych pasuje ono szczególnie: transkrypcja, przekład i adnotacje, jakich wymaga ich opracowanie, to tysiące godzin pracy, wykonywanej – jak w przypadku
– przez setki wysoko wykwalifikowanych współpracowników.&lt;/p&gt;
&lt;p&gt;W pewnym sensie to błogosławieństwo, że głośne projekty humanistyki cyfrowej potrafią zdobyć ogromne fundusze niezbędne do ich prowadzenia. A jednak uzależnienie od hojności bogatych fundacji, uniwersytetów i agencji rządowych, w połączeniu z długotrwałym zapotrzebowaniem na znaczne zasoby ludzkie, nie stanowi na przyszłość realnego modelu ekonomicznego.&lt;/p&gt;
&lt;p&gt;W gruncie rzeczy, jeśli chcemy zachęcić badaczy z całego świata do udostępniania dokumentów historycznych szerszej publiczności,
&lt;mark&gt;koszt cyfrowych edycji krytycznych powinien spaść o rzędy wielkości&lt;/mark&gt;
.&lt;/p&gt;
&lt;h2 id="wysoki-próg"&gt;Wysoki próg&lt;/h2&gt;
&lt;p&gt;Paradoksalnie,
&lt;mark&gt;rozwiązanie może przyjść właśnie od tak pracochłonnych projektów jak
, stanowią one bowiem cenny zbiór treningowy&lt;/mark&gt;
, pozwalający zautomatyzować niektóre z najbardziej odstręczających i powtarzalnych zadań edytorstwa cyfrowego, takich jak znakowanie.&lt;/p&gt;
&lt;p&gt;Nie znaczy to, że znakowanie jest nieważne. Przeciwnie:
&lt;mark&gt;znakowanie stało się nieodzownym składnikiem każdego poważnego projektu cyfrowej edycji naukowej.&lt;/mark&gt;
Ustandaryzowane przez
, pozwala nam utrwalić możliwie wiele aspektów dokumentu i tekstu, który on przekazuje: strukturę, marginalia, skreślenia, warianty, rodzaj papieru, plamy, kaligrafię&amp;hellip; Co tylko dusza zapragnie.&lt;/p&gt;
&lt;p&gt;Poniższy przykład, zaczerpnięty z
, pokazuje, jak znakowanie wzbogaca tekst o dodatkowe informacje (kategoria, struktura, pola semantyczne, skreślenia itd.), dając ostatecznie edycjom cyfrowym istotną przewagę nad ich materialnymi przodkami.&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Plain Text &lt;/th&gt;
&lt;th&gt; XML Markup&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Pour rompre grenades et donner
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;violence aux artifices de foeu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mects parmy la pouldre et la sixiesme
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;partye dicelle de vif argent
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;p008r_2&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;categories=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;arms and armor&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;Pour rompre &lt;span class="nt"&gt;&amp;lt;wp&amp;gt;&lt;/span&gt;grenades&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt; et donner&lt;span class="nt"&gt;&amp;lt;lb/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;violence aux &lt;span class="nt"&gt;&amp;lt;wp&amp;gt;&lt;/span&gt;artifices de foeu&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;ab&amp;gt;&lt;/span&gt;Mects parmy la &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;pouldre&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;del&amp;gt;&amp;lt;ms&amp;gt;&lt;/span&gt;six fois autant&lt;span class="nt"&gt;&amp;lt;/ms&amp;gt;&lt;/span&gt; de
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;vif argent&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&amp;lt;/del&amp;gt;&amp;lt;lb/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;del&amp;gt;&lt;/span&gt;et&lt;span class="nt"&gt;&amp;lt;/del&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;lt;ms&amp;gt;&lt;/span&gt;la sixiesme partye&lt;span class="nt"&gt;&amp;lt;/ms&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; dicelle de &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;vif argent&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&amp;lt;/ab&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Te informacje są cenne nie tylko z punktu widzenia archiwizacji, ale też – jak pokazywałem już przy innych okazjach – do celów syntetycznych i analitycznych. Tego typu adnotowanie bywa jednak niezwykle czasochłonne, bo ten sam tekst często musi być dostępny w kilku odmianach: jako przekład, jako transkrypcja, jako wersja zmodernizowana itd.&lt;/p&gt;
&lt;h1 id="rozwiązanie"&gt;Rozwiązanie&lt;/h1&gt;
&lt;h2 id="transformery-najprostsza-droga-do-automatyzacji"&gt;Transformery: najprostsza droga do automatyzacji?&lt;/h2&gt;
&lt;p&gt;W 2020 r.
wypuściło z wielką pompą swoją najnowszą rodzinę wielkoskalowych modeli językowych ogólnego przeznaczenia pod nazwą GPT-3, czyli „Generative Pre-trained Transformer 3”. Transformery to dość świeży przełom w sztucznej inteligencji. Uczą się nowych zadań w imponującym tempie, po prostu czytając prompt i przyglądając się bardzo niewielkiej liczbie przykładów. Można je też dotrenować na zbiorze danych przygotowanym ad hoc (fine-tuning), co poprawia czas odpowiedzi i dokładność. Z tego powodu mówimy, że GPT-3 i porównywalne transformery to modele
(few-shot learners).&lt;/p&gt;
&lt;p&gt;OpenAI twierdzi, że GPT-3 ma rekordowe 175 miliardów parametrów i został wytrenowany na ponad 570 GB tekstu, w większości dokumentów angielskich, zaczerpniętych zapewne z
. Samą swoją skalą GPT-3 wyznaczył nowy standard w tej dziedzinie, wykonując od ręki najróżniejsze zadania z niepokojącym realizmem. Pisze wiarygodne
,
na czatach,
,
, tłumaczy dokumenty, objaśnia żargon itd.&lt;/p&gt;
&lt;p&gt;Mając od maja 2021 r. wczesny dostęp do API OpenAI, mogłem sprawdzić, jak model radzi sobie z szeregiem zadań uchodzących za trudne: z przekładem francuskiej poezji i tekstów nowołacińskich na angielski, z objaśnianiem analogii, a nawet z uproszczeniem trzeciego rozdziału &lt;em&gt;Uzasadnienia metafizyki moralności&lt;/em&gt; Kanta dla siedmiolatka (co prawda nieprzekonująco).&lt;/p&gt;
&lt;h3 id="codex"&gt;Codex&lt;/h3&gt;
&lt;p&gt;Jedno z najnowszych rozwinięć GPT-3 dotyczy języków programowania. Model ten, nazwany &lt;em&gt;Codex&lt;/em&gt;, tłumaczy język naturalny na język komputerowy i odwrotnie. Jeśli na przykład szukam wyrażenia regularnego, które pozwoli mi „znaleźć tylko słowa zaczynające się wielką literą”, GPT-3 natychmiast przekłada to na działające wyrażenie regularne: &lt;code&gt;[A-Z]+\w+&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;OpenAI twierdzi, że &lt;em&gt;Codex&lt;/em&gt; obsługuje kilkanaście języków programowania, w tym Pythona, JavaScript, Go, Perla, PHP, Ruby i Swifta. Płynnie zamieniając pseudokod w kod, &lt;em&gt;Codex&lt;/em&gt; pozwala skupić się nie na żmudnej składni języka, lecz na logicznych krokach i strategiach, dzięki którym aplikacje rozwiązują problemy.&lt;/p&gt;
&lt;h3 id="poza-openai"&gt;Poza OpenAI&lt;/h3&gt;
&lt;p&gt;OpenAI nie jest oczywiście jedynym graczem na rynku. Jak już wspomniałem, Pekińska Akademia Sztucznej Inteligencji ogłosiła w 2021 r. jeszcze większy i sprawniejszy model, znany jako &lt;em&gt;Wu Dao 2&lt;/em&gt;. Nvidia i Microsoft połączyły siły, by stworzyć model o wymownej nazwie &lt;em&gt;Megatron-Turing NLG 530B&lt;/em&gt;. Mniejsze start-upy, takie jak
i
, również oferują publicznie swoje API. Warto też wspomnieć o inicjatywach open source, takich jak
. Scena AI zmienia się oczywiście bardzo szybko; aby śledzić nowe inicjatywy w tej dziedzinie, warto zajrzeć na
.&lt;/p&gt;
&lt;h1 id="eksperymenty"&gt;Eksperymenty&lt;/h1&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Uwaga&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;Celem tych eksperymentów jest znalezienie najoszczędniejszej drogi do niezawodnej automatyzacji zadań edytorskich. Można by argumentować, że niektóre z nich dałoby się zautomatyzować także algorytmami uczenia nadzorowanego. Tę hipotezę zbadamy w jednym z przyszłych wpisów.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Czy transformer taki jak GPT-3 może nauczyć się adnotować, powiedzmy, szesnastowieczny rękopis techniczno-naukowy?&lt;/p&gt;
&lt;h2 id="eksperyment-1--kategoryzacja-tekstu"&gt;Eksperyment 1 – kategoryzacja tekstu.&lt;/h2&gt;
&lt;p&gt;Zacznijmy od czegoś stosunkowo prostego. Jako model „uczący się na kilku przykładach” GPT-3 powinien szybko pojąć, jak nasz zespół redakcyjny sklasyfikował wpisy w Ms Fr 640.&lt;/p&gt;
&lt;h3 id="konstruowanie-promptu"&gt;Konstruowanie promptu&lt;/h3&gt;
&lt;p&gt;Do treningu użyłem bardzo oszczędnego promptu i wybrałem jako przykłady cztery krótkie wpisy w postaci czystego tekstu, m.in. o „medycynie”, „broni i uzbrojeniu” oraz „malarstwie”.&lt;/p&gt;
&lt;h3 id="test"&gt;Test&lt;/h3&gt;
&lt;p&gt;Następnie wkleiłem inny fragment, którego nie było w początkowej sekwencji:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Working neatly
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Never put down, if you can, two colors one on top of the other.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;But next, having made your design carefully, keep the place of shadows for them alone,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;amp; also separately that of lights &amp;amp; highlights, without layering one color all over &amp;amp; then highlighting or else shading on it.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;And in this way, you further your work, economize your colors &amp;amp; work neatly.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Which is the reason that, the colors not being muddled nor mixed together, they do not die &amp;amp; you soften the colors better, since they are not so thick.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wynik jest w pełni zgodny z treścią:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;categories&lt;/span&gt;&lt;span class="err"&gt;=&amp;#34;painting&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Jeśli spróbujemy z wpisem należącym do kategorii, której nie było nawet w początkowym zestawie tekstów wybranych do treningu GPT-3, wynik zaskakuje.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;categories&lt;/span&gt;&lt;span class="err"&gt;=&amp;#34;jewelry&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="wynik"&gt;Wynik&lt;/h3&gt;
&lt;p&gt;Kategoria „jewelry” (biżuteria) nie istnieje w naszej edycji Ms. Fr. 640. Zespół redakcyjny
szerszą kategorię „Stones” (kamienie). Intuicja GPT-3 jest jednak dobra i wskazuje, że przy odrobinie dodatkowego treningu może się on nauczyć kategoryzować każdy wpis Ms. Fr. 640, a być może nawet wpisy podobnych szesnastowiecznych tekstów technicznych.&lt;/p&gt;
&lt;h2 id="eksperyment-2--znakowanie-semantyczne"&gt;Eksperyment 2 – znakowanie semantyczne&lt;/h2&gt;
&lt;p&gt;Podnieśmy nieco poprzeczkę. Skoro transformery takie jak GPT-3 potrafią nauczyć się kategoryzować teksty według określonych kryteriów edytorskich, czy potrafią też rozpoznać część znakowania tekstu?&lt;/p&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Uwaga&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;&lt;em&gt;Secrets of Craft and Nature&lt;/em&gt; łączy
semantyczne ze strukturalnymi. Niestety GPT-3, w odróżnieniu od innych projektów, takich jak
, nie przetwarza obrazów. Przyszłe iteracje GPT prawdopodobnie zyskają tę zdolność, niezbędną do rozpoznawania większości strukturalnych i materialnych aspektów dokumentu. Pominiemy więc te konkretne znaczniki i skupimy się na znakowaniu, które nie wymaga rozpoznawania obrazów.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="konstruowanie-promptu-1"&gt;Konstruowanie promptu&lt;/h3&gt;
&lt;p&gt;Znaczniki semantyczne obejmują odniesienia do zwierząt, roślin, toponimów, bodźców zmysłowych itd. W prompcie treningowym wybrałem kilka przykładów z edycji:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Input prompt--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;The following is a list of words and their corresponding semantic tags
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cannons: &lt;span class="nt"&gt;&amp;lt;wp&amp;gt;&lt;/span&gt;cannons&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;powder: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;powder&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;flasks: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&lt;/span&gt;flasks&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wooden: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;wooden&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iron: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;iron&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;parchment: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;parchment&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;goats: &lt;span class="nt"&gt;&amp;lt;al&amp;gt;&lt;/span&gt;goats&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lambs: &lt;span class="nt"&gt;&amp;lt;al&amp;gt;&lt;/span&gt;lambs&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;leather: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;leather&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;earth: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;earth&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fine fatty earth: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;fine fatty earth&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Venice: &lt;span class="nt"&gt;&amp;lt;pl&amp;gt;&lt;/span&gt;Venice&lt;span class="nt"&gt;&amp;lt;/pl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Flemish: &lt;span class="nt"&gt;&amp;lt;pl&amp;gt;&lt;/span&gt;Flemish&lt;span class="nt"&gt;&amp;lt;/pl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;almond: &lt;span class="nt"&gt;&amp;lt;pa&amp;gt;&lt;/span&gt;almond&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;almond oil: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;pa&amp;gt;&lt;/span&gt;almond&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt; oil&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;walnuts skin: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;pa&amp;gt;&lt;/span&gt;walnuts&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt; skin&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;molten lead: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;molten lead&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;today: &lt;span class="nt"&gt;&amp;lt;tmp&amp;gt;&lt;/span&gt;today&lt;span class="nt"&gt;&amp;lt;/tmp&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;In the past: &lt;span class="nt"&gt;&amp;lt;tmp&amp;gt;&lt;/span&gt;In the past&lt;span class="nt"&gt;&amp;lt;/tmp&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Clockmakers: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;Clockmakers&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;red copper: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;red copper&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;crucible: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&lt;/span&gt;crucible&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bellows: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&lt;/span&gt;bellows&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;charcoal: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;charcoal&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;founders: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;founders&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="test-1"&gt;Test&lt;/h3&gt;
&lt;p&gt;Wypróbujmy na modelu &lt;code&gt;Davinci-codex&lt;/code&gt; kilka łatwych słów, takich jak &lt;em&gt;Apothecary&lt;/em&gt;, &lt;em&gt;smoke&lt;/em&gt;, &lt;em&gt;glassmakers&lt;/em&gt;, &lt;em&gt;latten&lt;/em&gt; i &lt;em&gt;snake&lt;/em&gt;. Wyniki są natychmiastowe i bezbłędne:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Output--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Apothecary: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;Apothecary&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;smoke: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;smoke&lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;glassmakers: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;glassmakers&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;latten: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;latten&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snake: &lt;span class="nt"&gt;&amp;lt;al&amp;gt;&lt;/span&gt;snake&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Trudniejszy test wymaga użycia wyrażeń złożonych, takich jak &lt;em&gt;copper plates&lt;/em&gt;, &lt;em&gt;walnut oil&lt;/em&gt; i &lt;em&gt;wood block&lt;/em&gt;. Chodzi o sprawdzenie, czy GPT-3 poprawnie obsługuje znaczniki zagnieżdżone.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Output--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;copper plates: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;copper plates&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;walnut oil: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;pa&amp;gt;&lt;/span&gt;walnut&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt; oil&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wood block: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;wood block&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Wyniki są jednak mieszane: &lt;code&gt;Davinci-codex&lt;/code&gt; poprawnie oznaczył tylko &lt;em&gt;walnut oil&lt;/em&gt;, nie wykrywając zagnieżdżonych znaczników &lt;code&gt;tl&lt;/code&gt; i &lt;code&gt;m&lt;/code&gt; w &lt;em&gt;copper plates&lt;/em&gt; i &lt;em&gt;wood block&lt;/em&gt;. Jak jednak pokazuje kolejny test, błędy te można ograniczyć lepszym promptem treningowym. Po dodaniu pięciu kolejnych przykładów zagnieżdżonych znaczników &lt;code&gt;Davinci-codex&lt;/code&gt; zwrócił niemal bezbłędny wynik, z jedną tylko pomyłką (&lt;em&gt;oil paintbrushes&lt;/em&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Output--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cannon powder: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;wp&amp;gt;&lt;/span&gt;cannon&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt; powder&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;arquebus powder: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;wp&amp;gt;&lt;/span&gt;arquebus&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt; powder&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;oil paintbrushes: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;al&amp;gt;&lt;/span&gt;oil&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt; paintbrushes&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sheep footbones: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;al&amp;gt;&lt;/span&gt;sheep&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt; footbones&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bronze mortar: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&amp;lt;m&amp;gt;&lt;/span&gt;bronze&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt; mortar&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="wnioski"&gt;Wnioski&lt;/h1&gt;
&lt;p&gt;Trzeba pamiętać, że testy te przeprowadzono na krótkich fragmentach tekstu. Podejrzewam, że gdyby dostarczyć więcej kontekstu w przykładach i w prompcie, modele GPT-3 dałyby jeszcze lepsze wyniki. Co więcej, dotrenowanie modelu na zbiorach danych przygotowanych ad hoc bez wątpienia dodatkowo poprawiłoby dokładność znakowania.&lt;br&gt;
Choć eksperymenty te trzeba by jeszcze przeprowadzić na większą skalę, by wykazać niezawodność wstępnie wytrenowanych modeli językowych, możemy mimo to stwierdzić, że
&lt;mark&gt;podejście to pozwala wydawcom zautomatyzować szereg zadań adnotacyjnych w kilku prostych krokach, oszczędzając potencjalnie ogromne ilości czasu i pieniędzy.&lt;/mark&gt;
&lt;/p&gt;</description></item></channel></rss>