5 przykładów użycia analizy semantycznej w przetwarzaniu języka naturalnego

websensa.com 2 lat temu

Zastosowanie analizy semantycznej może przynieść Twojej firmie wiele korzyści, bez względu na jej wielkość i branżę. jeżeli zastanawiasz się, czy jest to rozwiązanie odpowiednie dla Ciebie, ten artykuł może Ci się przydać. Znajdziesz tu odpowiedzi na pytania dotyczące tego czym jest, do czego służy, jak działa oraz w jaki sposób możesz wykorzystać semantic analysis w swojej firmie. Zapraszamy do lektury!

Semantic analysis – co to jest i do czego służy?

Analiza semantyczna (ang. semantic analysis) to proces odnajdywania znaczenia treści w języku naturalnym. Metoda ta pozwala algorytmom sztucznej inteligencji zrozumieć kontekst i interpretować tekst poprzez analizę jego struktury gramatycznej i odnalezienie relacji pomiędzy poszczególnymi słowami, niezależnie od języka.

Kluczową rolę odgrywa tu kontekst wypowiedzi, który pozwala przypisać zdaniom odpowiednie znaczenie. Szczególnie ważne jest to w przypadku homonimów, czyli słów, które brzmią tak samo, ale mają różne znaczenie. Przykładowo, w języku polskim kiedy mówimy “zaciął mi się zamek w kurtce”, doskonale wiemy, iż “zamek” oznacza tu część ubrania, a nie o zamek w drzwiach czy starodawną budowlę, w której niegdyś mieszkali królowie.

Dla komputerów nie jest to jednak tak oczywiste, dlatego należy je nauczyć adekwatnej interpretacji zdań w zależności od kontekstu. I tym właśnie zajmuje się analiza semantyczna.

Czym jest przetwarzanie języka naturalnego?

Przetwarzanie języka naturalnego (ang. natural language processing, NLP) to dziedzina sztucznej inteligencji, która skupia się na tworzeniu interakcji między komputerem a ludzkim językiem. Jej celem jest ułatwienie komunikacji między ludźmi a maszynami poprzez nauczenie tych drugich adekwatnego odczytywania, przetwarzania, rozumienia oraz wykonywania działań na podstawie języka naturalnego.

Więcej na temat tego zagadnienia przeczytasz w artykule: Przetwarzanie języka naturalnego – narzędzia pracy w WEBSENSA.

Na potrzeby tego wpisu, spróbujmy jednak odpowiedzieć na pytanie: Jaki jest związek między analizą semantyczną a NLP? Otóż natural language processing jest szeroką dziedziną, składającą się z wielu procesów. Semantic analysis to jedno z kluczowych zadań przetwarzania języka naturalnego, odpowiadające za adekwatną interpretację tekstu. Do innych zadań NLP należą m.in.:

  • modelowanie języka (language modelling),
  • klasyfikacja tekstu (text classification),
  • generowanie tekstu (text generation),
  • optyczne rozpoznawanie znaków (optical character recognition).

Technologiczne podstawy analizy semantycznej

Jedną z najprostszych i najpopularniejszych metod odnajdywania znaczenia w tekście wykorzystywanych w analizie semantycznej jest tzw. podejście Bag-of-Words. Polega na ignorowaniu kolejności występowania słów i zsumowaniu ich w całym tekście. Dzięki temu możemy otrzymać liczbowy wektor, który informuje o tym, ile razy w danym tekście pojawiło się poszczególne słowo.

Jak podkreśla Igor Kołakowski, Data Scientist w WEBSENSA: — Taka reprezentacja jest łatwo interpretowalna dla ludzi, a jednocześnie jest to format akceptowany przez algorytmy klasyfikacyjne typu SVM czy lasy losowe. To proste podejście jest dobrym punktem wyjściowym przy tworzeniu rozwiązań bazujących na analizie tekstu.

W poniższej tabelce przedstawiamy przykład, jak może wyglądać sumowanie danych słów w tekście dzięki tej metody:

Jak widzisz, podejście to w żaden sposób nie uwzględnia znaczenia ani kolejności słów pojawiających się w tekście. Co więcej, już na etapie tworzenia modeli klasyfikacyjnych, należy określić słownictwo, jakie wystąpi w tekście. To sprawia, iż w przypadku pojawienia się w tekście nowych słów, zostaną one po prostu zignorowane. — Dodatkowo, reprezentacja krótkich tekstów w tym formacie może być mało przydatna dla algorytmów klasyfikujących, ponieważ większość wartości wektora reprezentującego będzie równa 0 — dodaje Igor Kołakowski.

Co można zrobić w tej sytuacji?

Rozwiązaniem mogą być statyczne reprezentacje słów, generowane przez modele takie jak Word2Vec stworzony przez Google w 2013 roku, a także kolejne iteracje tego pomysłu, czyli GloVe lub FastText.

Statystyczna reprezentacja słów

W niniejszych rozwiązaniach każdemu słowu przypisywana jest pewna reprezentacja wektorowa. Nadanie znaczenia danym słowom odbywa się na podstawie tego, jakie inne słowa zwykle występują w jego bliskim sąsiedztwie. Do stworzenia takich reprezentacji potrzebny jest odpowiednio duży zbiór tekstów, który posłuży za dane treningowe. W tym celu wykorzystuje się zwykle artykuły z Wikipedii, treści książek oraz stron internetowych.

Reprezentacje tego typu pozwalają na sprawdzanie podobieństwa słów, a model klasyfikacyjny oparty o takie reprezentacje, jest w stanie nauczyć się generalizowania klasyfikacji na słowa, które nie wystąpiły wcześniej w zbiorze treningowym.

Podczas korzystania ze statycznych reprezentacji, słowa zawsze są reprezentowane tak samo. Przykładowo, o ile w zdaniu pojawi się słowo “zamek”, to dostanie ono identyczną reprezentację, niezależnie od tego, czy w zdaniu chodzi nam o zamek na Wawelu, w kurtce czy w drzwiach. Słowu zostaje przydzielony wektor, który oddaje jego średnie znaczenie, które występowało na przestrzeni korpusu treningowego.

Jeżeli zależy nam na większej dokładności w reprezentacji słów, można użyć rozwiązań uwzględniających kontekst. Modele tego typu to m.in. BERT czy GPT, które bazują na architekturze Transformer.

5 przykładów zastosowania semantic analysis w biznesie

1. Translatory

Innowacyjne tłumacze online są tworzone w oparciu o algorytmy sztucznej inteligencji, wykorzystujące analizę semantyczną. Jak wiesz, niektóre słowa w jednym kontekście mogą mieć kilka innych znaczeń w innym, dlatego zrozumienie całego kontekstu wypowiedzi jest niezwykle ważne w takich narzędziach.

Anegdotycznym już przykładem błędu wynikającego z niezrozumienia kontekstu jest zwrot „Z góry dziękuję”. jeżeli translator nie korzystałby z analizy semantycznej, tłumaczenie tego zwrotu na język angielski mogłoby brzmieć “Thank you from the mountain”, co zupełnie mijałoby się z intencjami twórcy wiadomości.

Jednym z najbardziej zaawansowanych translatorów na rynku wykorzystujących analizę semantyczną jest DeepL Translator — system tłumaczenia maszynowego stworzony przez niemiecką firmę DeepL.

2. Narzędzia do zarządzania treścią

Ciekawym przykładem takich narzędzi jest stworzony przez zespół WEBSENSA system Content Moderation Platform, który wspomaga moderowanie komentarzy publikowanych w portalu newsowym Wirtualna Polska. W szczególności ma on na celu wyłapywanie komentarzy zawierających obraźliwe słowa lub mowę nienawiści.

Narzędzie to analizuje treści dodane przez użytkowników w celu dokładnej analizy i klasyfikacji danej wypowiedzi. Dzięki temu, iż system jest w stanie poznać kontekst i sens wypowiedzi, może określić, czy dany komentarz nadaje się do publikacji. Narzędzie to znacząco wspomogło walkę z mową nienawiści w sieci.

3. Narzędzia do monitoringu internetu

Semantic analytics odgrywa bardzo istotną rolę w marketingu, gdzie ważne jest dbanie o wizerunek firmy oraz dobre opinie konsumentów. Firmy zajmujące się monitoringiem mediów takie jak chociażby polskie SentiOne czy Brand24 inwestują w zaawansowane rozwiązania oparte na sztucznej inteligencji, które pozwalają im wykryć tzw. “sentyment wzmianek” na dany temat. Sentyment może być negatywny, pozytywny bądź neutralny.

Wyzwaniem jest tu jednak zrozumienie całego kontekstu wypowiedzi, aby odpowiednio zakwalifikować daną wypowiedź. Przykładowo, jeżeli szukamy wzmianek na temat leku przeciwbólowego, a któryś z klientów napisze “Ten lek pomógł mi wyleczyć ból”, istnieje ryzyko, że analiza konkretnych słów bez zrozumienia kontekstu może być błędna, ponieważ słowo “ból” może zostać zakwalifikowane jako “negatywne”. Analiza semantyczna może być tu bardzo pomocna, ponieważ bazuje na całym kontekście wypowiedzi, a nie tylko użytych słowach.

4. Monitorowanie giełdy

Kolejnym przykładem, gdzie pomocne mogą być narzędzia oparte o semantic analysis są firmy zajmujące się handlem akcjami, które przeszukują internet w poszukiwaniu najnowszych wiadomości na temat rynku. W tym przypadku, algorytmy AI bazujące na analizie semantycznej mogą wykryć konkretne firmy, które cieszą się pozytywnymi opiniami w artykułach czy innych wzmiankach w sieci.

Tego typu rozwiązania pomogą dokonywać lepszych wyborów inwestycyjnych, ponieważ istnieje duża szansa, iż ludzie będą kupować więcej akcji firm, które cieszą się dobrymi opiniami. Posiadanie dostępu takich informacji umożliwia tego typu organizacjom podejmowanie szybkich decyzji, które pozwolą wyprzedzić konkurencję.

5. Obsługa klienta

Ogromnie ważnym i popularnym zastosowaniem NLP są chatboty, które w wielu firmach stanowią pierwsze źródło kontaktu z klientem. Najbardziej zaawansowane z nich wykorzystują analizę semantyczną w celu lepszego zrozumienia potrzeb klienta, ale nie tylko.

Chatboty mogą wykrywać emocje rozmówców i w czasie rzeczywistym podejmować odpowiednie decyzje. Przykładowo, jeżeli system wykryje, iż wiadomość klienta ma negatywny kontekst i może skutkować jego utratą, chatbot może połączyć daną osobę z konsultantem, który będzie w stanie pomóc jej w danym problemie.

Zbuduj własne narzędzie wykorzystujące analizę semantyczną

Semantic analysis to rozwiązanie, które może sprawić, iż Twoja firma będzie w stanie działać bardziej efektywnie i lepiej zrozumieć potrzeby i intencje swoich klientów. Co więcej, systemy wykorzystujące tę technologię mogą stale się uczyć z dostarczonych im danych treningowych, dzięki czemu będą stawać się coraz bardziej dokładne.

Istnieje wiele możliwości zastosowania tej metody w zależności od konkretnych potrzeb danej firmy. Jeśli szukasz dedykowanego rozwiązania wykorzystującego analizę semantyczną, skontaktuj się z nami. Chętnie poznamy Twoje potrzeby biznesowe i doradzimy, jakie rozwiązanie najlepiej sprawdzi się w Twoim biznesie.

Idź do oryginalnego materiału