Date: 18.06.2024
Author: Maciej Chmurkowski (https://www.linkedin.com/in/maciejchmurkowski/)
🔥
Odkryj potencjał AI w SEO i marketingu! Dołącz do naszego szkolenia i zanurz się w praktycznym wykorzystaniu sztucznej inteligencji. W ciągu 8 intensywnych godzin, pod okiem doświadczonych mentorów, odkryjesz, jak tworzyć zaawansowane mapy treści, grafy wiedzy, chat-boty które wzmocnią Twoją strategię SEO i marketingową.- Warszawa: 8 lipca 2024 (piątek) - Szkolenie AI w SEO i Marketingu
🧠 Zapisz się na szkolenie SensAI - https://www.sensai.academy/
🔥
🔥Jeśli jeszcze nie korzystasz z Senuto to zapraszam Cię serdecznie do założenia konta: https://app.senuto.com/register-org/pl - Senuto w wielu swoich funkcjach korzysta z AI, a przyszłości planujemy dostarczać nawet bardziej zaawansowane analizy niż to co przedstawia ten poradnik 🔥
🔥Jeśli szukasz skutecznej agencji SEO skorzystaj z usług: https://vestigio.agency/pl/ - Vestigio wszystkie swoje kampanie opiera na danych wykorzystując między innymi opisane tu metodologie Jak zautomatyzować moderację treści generowanych przez modele językowe?
To temat, z którymi mierzymy się w zasadzie od pierwszych modeli wprowadzonych przez OpenAI. Chwilę po początkowym zachwycie popularne stało się hasło - “halucynacje AI”.
I właśnie wtedy uświadomiliśmy sobie, że sztuczna inteligencja nie jest idealnym rozwiązaniem do generowania treści, bo trzeba je moderować (ufaj ale sprawdzaj!).
Chyba, że wprowadzimy RAG*, wtedy układ sił zupełnie się zmienia, ale o tym kiedy indziej.
Czym jest RAG (Retrieval Augmented Generation)?
To proste jak budowa cepa, do tworzenia czy otrzymywania wyników razem z danymi wewnętrznymi danego modelu dostarczamy zewnętrzne informacje,
np. w postaci briefu.
Mimo, iż wykorzystujemy potencjał najnowszych technologii, to moderacja takich artykułów (czy choćby przeczytanie i sprawdzenie) staje się wąskim gardłem. Znów potrzebujemy białka (bez obrazy Panie i Panowie copywriterzy).
Jak można w znacznym stopniu ograniczyć moderację do wybranych fragmentów?
Zacznijmy od sposobu generowania tekstów:
1) Według starej szkoły dzielimy tekst na mniejsze fragmenty np. według nagłówków z outline.
Przypatrzmy się temu promptowi, który dodaję po każdym promtcie zwracającym fragmenty artykułu (sposób na całe artykuły poniżej).
🤖
Then critically evaluate the content you submit, check it for errors and faulty logic, and if so, correct it. Mention step by step flaws and faulty logic if any. Check the likelihood that the content is outdated or hallucinatory.
Return ONLY JSON array with keys:"section" - with generated html content
"corrected_section" - corrected content only if is different than "section"
"flaws_list" - a list with flaws and faulty logic
"outdate_probability" - percentage of probability that text or data can be outdated or
"replace_examples" - add value = 1 if we have to replace examples with real data, 0 if not
"examples_to_replace" - list what we need to check or replace
Tak, w tym samym prompcie jeszcze raz proszę go o sprawdzenie tekstu i poprawienie, nawet jeżeli nie zawsze to zrobi (ach te kaprysy) to zabezpieczamy się jeszcze 4 rzeczami:
flaws_list - lista wad i błędów logicznych (do wykorzystania np. w kolejnym promptcie w celu poprawy)
outdate_probability - procentowe prawdopodobieństwo, że dana tematyka, dane mogą być nieaktualne
replace_examples - flaga, która oznacza, że trzeba podmienić przykłady na prawdziwe lub aktualne (zauważyłem to, kiedy w briefie była wzmianka o case study - model tworzył je bardzo dobrze - tylko nie prawdziwe, łącznie z nazwami firm)
examples_to_replace - lista rzeczy, które warto sprawdzić czy wymagają poprawy (łatwiej będzie je znaleźć)
Spróbujmy prostego promptu, bez briefu:
🤖
Generate short article summary about the best SEO analysis tools.
Dostajemy output:
🦾
[ { "section": "<h2>Best SEO Analysis Tools</h2><p>Search Engine Optimization (SEO) is crucial for improving website visibility. Several tools can help in analyzing and improving SEO performance. Here are some of the best SEO analysis tools:</p><ul><li><strong>Google Analytics:</strong> This free tool offers comprehensive data about website traffic, user behavior, and conversion rates. It helps in understanding how users interact with a website and identifying areas for improvement.</li><li><strong>SEMrush:</strong> A powerful tool for keyword research, competitor analysis, and tracking SEO performance over time.</li><li><strong>Ahrefs:</strong> Known for its robust backlink analysis features, Ahrefs also offers keyword research, content exploration, and site audit tools.</li><li><strong>Moz Pro:</strong> Offers keyword research, link building, site audits, and page optimization insights.</li><li><strong>Screaming Frog:</strong> A desktop program that crawls websites’ links, images, CSS, script, and apps to evaluate onsite SEO.</li></ul>", "corrected_section": "<h2>Best SEO Analysis Tools</h2><p>Search Engine Optimization (SEO) is crucial for improving website visibility. Several tools can help in analyzing and improving SEO performance. Here are some of the best SEO analysis tools:</p><ul><li><strong>Google Analytics 4:</strong> This free tool offers comprehensive data about website traffic, user behavior, and conversion rates. It helps in understanding how users interact with a website and identifying areas for improvement.</li><li><strong>SEMrush:</strong> A powerful tool for keyword research, competitor analysis, and tracking SEO performance over time.</li><li><strong>Ahrefs:</strong> Known for its robust backlink analysis features, Ahrefs also offers keyword research, content exploration, and site audit tools.</li><li><strong>Moz Pro:</strong> Offers keyword research, link building, site audits, and page optimization insights.</li><li><strong>Screaming Frog:</strong> A desktop program that crawls websites’ links, images, CSS, script, and apps to evaluate onsite SEO.</li></ul><li><strong>Surfer SEO:</strong> An advanced tool for on-page optimization, helping in improving content based on top-performing pages.</li><li><strong>Yoast SEO:</strong> A popular WordPress plugin that offers a variety of SEO features, including keyword optimization and readability analysis.</li>", "flaws_list": [ "Google Analytics should be updated to Google Analytics 4 to reflect the latest version.", "Consider mentioning emerging SEO tools like Surfer SEO or Yoast SEO for a more comprehensive list." ], "outdate_probability": 20, "replace_examples": 1, "examples_to_replace": [ "Google Analytics", "Surfer SEO", "Yoast SEO" ] } ]
Warto zwrócić uwagę na poprawkę treści według “flaws_list”. Uwagi nie tylko zostały wskazane, ale też zastosowane.
W zależności jak dalej przetwarzamy tekst w naszym procesie, możemy bazodanowo oznaczyć te fragmenty, które procentowo (np. ponad 50) mają zdefiniowane prawdopodobieństwo nieaktualnych danych albo zero-jedynkowo wymagają podmiany danych lub przykładów.
Dalej już prosta droga, żeby do moderacji w prostym CMS wyświetlić nie cały artykuł, ale tylko jego części (zapytaj swojego DEV`a).
P.S. Żeby być jeszcze bardziej dokładnym, możemy dodać jeszcze jedno oznaczenie:
"hallucination_probability" - percentage of probability that text or data can be outdated or there is any AI hallucination
jako osobną pozycję - ale to warto wypróbować już na swoich danych.
2) Generowanie cały artykułów/treści bez podziału na fragmenty.
Metodologia jest podobna, ale dodatkowo poprośmy go o wstawienie komentarzy html:
<!--moderate–> <!--/moderate–>
oraz
<!--examples–> <!--/examples–>
w generowany artykuł.
To wymaga prostego parsera, który do CMS wybierze tylko oznaczone tymi komentarzami fragmenty.
Prompt:
🤖
Generate an article about the most popular baby names in Poland in the last 3 years.
Then critically evaluate the content you submit, check it for errors and faulty logic, and if so, correct it. Mention step by step flaws and faulty logic if any. Check the likelihood that the content is outdated or hallucinatory.
Mark appropriate text fragments with these comments:
<!--moderate–> <!--/moderate–> - text which we need to moderate
<!--examples–> <!--/examples–> - chunk with examples and fake data
Output:
🦾
[ { "section": "<h2>Most Popular Baby Names in Poland in the Last 3 Years</h2><p>In recent years, baby names in Poland have shown a mix of traditional and modern influences. The following are some of the most popular baby names in Poland from the past three years, along with the number of births for each name:</p><ul><!--examples–><li><strong>Julia:</strong> This name was given to 5,432 girls.</li><li><strong>Zofia:</strong> This name was given to 5,217 girls.</li><li><strong>Hanna:</strong> This name was given to 4,984 girls.</li><li><strong>Antoni:</strong> This name was given to 6,129 boys.</li><li><strong>Jan:</strong> This name was given to 5,923 boys.</li><li><strong>Jakub:</strong> This name was given to 5,812 boys.</li><!--/examples–></ul><p>These names reflect a blend of Poland's rich cultural heritage and modern trends. Parents in Poland often choose names that are not only meaningful but also have a strong cultural resonance.</p>" } ]
Na potrzeby tego opracowania bazujemy na prostych przykładach, które mają Wam pomóc w zupełnie innym zrozumieniu możliwości sztucznej inteligencji. Metoda ta sprawdziła się na setkach generowanych artykułów.
Jak to może wyglądać w praktyce?
Podobnie jest z danymi w wykresach, bo kto mierzył się z API GPT-4 lub niższych ten w cyrku się nie śmieje. Godziny poświęcone na dopracowywanie promptów pójdą na marne, bo kaprysy AI nigdy się nie skończą. Ale o tym w następnym odcinku :)