Nie tak łatwo jest analizować tekst. Microsoft Cognitive Services coś o tym wie…

Wartość ukryta w Text Analytics

Umiejętność i możliwość wykorzystania posiadanych danych prowadzi do uzyskania wymiernych wartości. Niestety nie zawsze, a zaryzykowałbym stwierdzenie, że nawet coraz częściej, myśląc o wykorzystaniu danych, niekoniecznie chodzi o operacje na liczbach. Coraz częściej brana jest pod uwagę analiza obrazu (np. rozpoznawanie emocji), przetwarzanie dźwięku (identyfikacja osoby, analiza wypowiedzi) czy tekst ekstrakcja informacji z tekstu.

„Czytanie ze zrozumieniem”

Obszar analityki tekstowej jest o wiele bardziej złożony od analizy liczb.  Złożoność wynika chociażby ze względu na konieczność przetwarzania języka naturalnego, aby wyodrębnić znaczące dane strukturalne. Efekt takiego wyodrębnienia często obejmuje takie obszary, jak:

  • identyfikacja języka
  • analiza nastroju (często zwana sentymentem – swoją drogą skąd pomysł na wykorzystanie akurat słowa sentyment, które w języku polskim oznacza: uczucie sympatii i przywiązania do kogoś lub czegoś»)
  • wskazanie słów kluczowych.
  • rozpoznawanie i łączenie/grupowanie obiektów

Analiza tekstu należy do grona Cognitive Services dostępnych na platformie Azure. Charakterystyczną cechą usługi jest możliwość jej bardzo szybkiego i prostego wykorzystania w ramach tworzonych rozwiązań. Kilka linijek kodu zapewnić może dostęp do usługi o bardzo dużym potencjale.

No dobra dobra, ale my jesteśmy w Polsce, czy ta cudowna usługa rozumie coś w naszym języku?

Odpowiedź bardzo ogólna – TAK – zostało to nawet ogłoszone w ciągu kilkunastu ostatnich godzin:

Text Analytics

Źródło: https://azure.microsoft.com/en-us/blog/text-analytics-api-sentiment-16-languages/

Odpowiedź nieco bardziej szczegółowa – TAK, jednak nie w 100%

Odpowiedź uszczegóławiająca – potrafi zidentyfikować język polski oraz określić % ton „wypowiedzi tekstowej”  –  pozytywny/negatywny.

Sprawdzam!

Lubię znać ograniczenia usług jak i ich silne strony. Postanowiłem sprawdzić jak usługa Text Analytics będąca jednym z API w ramach grupy usług Cognitive faktycznie radzi sobie z językiem polskim.

Do testów wykorzystałem stronę, na której możliwe jest przetestowanie usługi analizy tekstu. Wyniki są dość interesujące:

  • Na początek coś prostego – rozpoznaj język polski na podstawie fragmentu tekstu:

Text Analytics

100 % pewności – dobrze się zaczyna

  • A co ze wspomnianym tonem wypowiedzi / sentymentemText AnalyticsAnaliza wskazuje (53% pewności), że ton wypowiedzi jest pozytywny

Hmm co może być bardziej pozytywne od słów „Kolejny cudowny dzień”, może „Kolejny uroczy dzień”:

Text Analytics

No cóż 55% – czyli jednak bardziej pozytywny ton wypowiedzi 🙂

Czy coś strasznego może być pozytywne?

Sprawdziłem też jedno z bardzo często obserwowanych połączeń wyrazu „strasznie”, ze słowami o bardzo pozytywnym wydźwięku. Efekt ?

Text Analytics

Strasznie uroczy dzień  w 58% to negatywny ton wypowiedzi. Zmieńmy zatem uroczy na smutny i w efekcie uzyskujemy 86% pewność, że ton wypowiedzi jest negatywny (14 %, że tekst ma znaczenie pozytywne)

Text Analytics

Zweryfikujemy wpływ słowa strasznie, na ton negatywnej wypowiedzi. Widoczna jest zmiana o 13%, co oznacza bardzo realny wpływ-podkreślenie negatywnego tonu takiego tekstu.

Text Analytics

Czy można spodziewać się więcej?

Identyfikacja języka oraz określenie tonu wypowiedzi to obecnie jedyne dostępne opcje dla języka polskiego. Warto jednak zauważyć, że obsługa języków w ramach usługi analizy tekstu jeszcze niedawno nie potrafiła poradzić sobie nawet z takim elementem języka. Obecnie po ok. roku od uruchomienia wspiera dodatkowe 16 języków w tym zakresie.

Czy analiza tekstu faktycznie może się przydać?

Na to pytanie warto odpowiedzieć indywidualnie, po krótkiej analizie potrzeb i weryfikacji oferowanych możliwości usługi. Analiza tekstu ma duże znaczenie w momencie prowadzenia np. analiz sieci społecznościowych. Jeśli chcesz przetestować nowe możliwości językowe usługi Text Analytics – warto wykorzystać (również nowo dostępne) szablony rozwiązań do analizy kampanii i marki w ramach sieci społecznościowych: