analiza języka naturalnego
Post on 18-Feb-2017
708 Views
Preview:
TRANSCRIPT
NLP w praktyce
Applica Sp. z o.o., ul. Wiślana 8, 00-317 Warszawa, Tel. +48 22 486 31 56, Fax. +48 22 486 31 92 www.applica.pl
Spotkanie Data Science Warsaw
Agenda spotkania
www.applica.pl
Wstęp do NLP • Kilka słów o procesie przetwarzania języka • Jakie narzędzia ma do dyspozycji Data Scientist, który zajmuje się przetwarzaniem języka
Najbardziej popularne zastosowania praktyczne NLP • Klasyfikacja dokumentów i ekstrakcja informacji – jak sobie poradzić gdy dostajesz kilka tysięcy
wiadomości dziennie? • Moderacja treści – czy NLP może pomóc w walce z hejtem w Internecie? • Głęboki wydźwięk – czy jesteśmy w stanie nauczyć komputer rozpoznawać ironię?
O Applica
www.applica.pl
Applica automatyzuje procesy związane z analizą semantyczną i przetwarzaniem danych tekstowych w języku polskim. Produkty Applica zastępują człowieka w realizacji zadań wymagających analizy dużych wolumenów danych, krótkich czasów reakcji czy też powtarzalności uzyskiwanych wyników. Dzięki wykorzystaniu unikalnych algorytmów z domeny lingwistyki komputerowej trafność oraz zakres oferowanych przez Applica analiz semantycznych znacznie przewyższa jakoś obecnych na rynku rozwiązań konkurencyjnych.
• Natywne wsparcie języka polskiego wraz z polską fleksją, strukturą składniową oraz specyficznymi fenomenami językowymi
• Algorytmy do analizy składniowej wypracowane w oparciu o wyniki badań Instytutu Podstaw Informatyki PAN
• Własne, zaawansowane algorytmy z zakresu analizy semantycznej • Zespół złożony z pracowników naukowych PAN • Partnerstwo z firmami IBM i Oracle w zakresie analizy języka naturalnego
Proces przetwarzania języka
www.applica.pl
Proces przetwarzania języka naturalnego
www.applica.pl
W odróżnieniu od produktów firm konkurencyjnych działających na polskim rynku, które do przetwarzania języka wykorzystują metody czysto statystyczne („worek słów”), rozwiązanie Applica stosuje zaawansowane metody lingwistyczne w pełnym procesie analizy morfologicznej i płytkiej analizie syntaktycznej tekstu Tekst źródłowy poddawany jest segmentacji, najmniejsze jednostki składowe analizowane są pod kątem morfologicznym, następnie
ujednoznaczniane i sprowadzane do form podstawowych. Powierzchniowa analiza syntaktyczna pozwala na wyróżnienie nie tylko pojedynczych słów, lecz również bardziej złożonych konstrukcji językowych. Proces analizy semantycznej tekstu odbywa się zarówno na poziomie wyodrębnionych segmentów, bardziej złożonych konstrukcji
językowych, jak i zdań. Na każdym z poziomów wykonywana jest głęboka analiza wydźwięku, w wyniku której oznaczana jest zawartość emocjonalna tekstu. Przy oznaczaniu brana jest pod uwagę złożoność polskiej gramatyki: takie fenomeny językowe jak np. wykorzystanie podwójnego zaprzeczenia, zdań przeciwstawnych, powtórzeń itp. W ramach analizy semantycznej tekstu wykonywana jest także kategoryzacja tematyczna tekstu odzwierciedlająca specyfikę
zastosowań biznesowych analizy.
Segmentacja Analiza morfologiczna
Dezambiguacja Analiza syntaktyczna
Analiza semantyczna
Przygotowanie danych
Warstwy analizowanego tekstu
www.applica.pl
Wynikiem analizy jest zbiór ustrukturyzowanych danych opisujących cechy każdej z warstw analizowanego tekstu źródłowego: warstwy segmentów, słów składniowych, grup składniowych, zdań, bloków oraz całego tekstu. Rozwiązanie pozwala na zebranie kompletnej informacji na temat
analizowanego tekstu w następujących kategoriach: Cechy ilościowe tekstu np. o częstości segmentów lub grup składniowych, bogactwie użytego słownictwa Cechy jakościowe tekstu np. oznaczenie rodzaju używanego języka: potoczny, fachowy, korzyści Cechy opisujące kategorie tematyczne poszczególnych bloków np. oznaczające kategorię produktową (karta kredytowa, ubezpieczenie na życie, abonament telefoniczny) oraz proces biznesowy (sprzedaż, reklamacja, windykacja) Cechy opisujące zawartość emocjonalną tekstu np. oznaczające takie emocje jak: zadowolenie, złość, zniecierpliwienie itp. Cechy opisujące autora tekstu oraz okoliczności powstania analizowanego tekstu.
Wynik segmentacji – podział tekstu na zdania i segmenty
Wynik analizy morfosyntaktycznej: identyfikacja wyrazów z informacją o części mowy i wartościach kategorii
morfologicznych (np. przypadek, osoba), jeden wyraz może mieć wiele interpretacji. Wynik dezambiguacji: ujednoznacznienie interpretacji morfologicznej uzyskanej w poprzednim etapie analizy,
jednoznaczne przypisanie części mowy i wartości kategorii morfologicznych.
Wynik analizy składniowej: wyróżnienie grup składniowych
Warstwy – przykład wyników przetwarzania
www.applica.pl
Wyniki przetwarzania NLP
www.applica.pl
W odróżnieniu od metody „worka słów” w rozwiązaniu Mindbox Applica zastosowano innowacyjną metodę wielowarstwowej analizy tekstu z wykorzystaniem bardzo bogatych zasobów językowych: słowników oraz modelu gramatyki, co pozwala na zaadresowanie niedoskonałości metod statystycznych poprawiając znacząco jakość wyników analizy. Dzięki zastosowaniu metod lingwistycznych punktem wyjścia do dalszej analizy tekstu są dane językowe przygotowane w następujący
sposób: Tekst podzielony jest na zdania, wyrazy, wyrazy składniowe oraz grupy składniowe Wyrazy oraz grupy składniowe są ujednoznacznione w odniesieniu do kontekstu, w jakim są użyte Każdy wyraz ma jednoznacznie przypisaną część mowy oraz kategorię morfologiczną Każdy wyraz oraz grupa składniowa sprowadzona jest do formy podstawowej
Przedmiotem dalszej analizy są nie tylko pojedyncze wyrazy, ale bardziej złożone konstrukcje językowe, wyróżnione nie w wyniku bezkontekstowej analizy statystycznej, tylko w wyniku analizy lingwistycznej. Zastosowanie analizy lingwistycznej pozwala także na identyfikację relacji pomiędzy poszczególnymi wyrazami oraz grupami
składniowymi, które niosą niezwykle istotne informacje na temat treści analizowanego tekstu: Relacje czasownik-rzeczownik (np. proces biznesowy - produkt) Relacje rzeczownik-przymiotnik (np. produkt – atrybut produktu)
Funkcjonalność narzędzi do analizy języka pozwala na ich elastyczne i precyzyjne dostosowanie do identyfikacji wybranych fenomenów językowych, które dodatkowo wzbogacają wyniki analizy (np. podwójne zaprzeczenie, zdania przeciwstawne, tryb warunkowy itp.)
Wyniki przetwarzania NLP
www.applica.pl
Panie prezydencie, Polacy interesują się teraz polityką tak, jak już dawno tego nie było, więc proszę się martwić, że obrady
sejmu zniechęcają do polityki. Obrady sejmu otworzyły wreszcie oczy dużej części społeczeństwa, tej części, która naiwnie
ufała partii prezesa K (inni zawsze mieli świadomość makiawelicznego, cynicznego charakteru tego pana). Dziwne, jakimi
krętymi drogami pełzały myśli pana prezydenta, żeby przekonać siebie samego, że dobrze czyni. Niestety, czyni źle i wbrew
prawu. Jeśli nie ma tego świadomości, to jakim cudem był wykładowcą na najzacniejszej polskiej uczelni?
<group id="a4d8dd" rule="NGs: (Noun,voc) + n-(Noun,voc)" type="NGs" synh="a4d8d5" semh="a4d8d5">
<syntok id="a4d8d5" rule="(subst)|(depr)|(ger) -> (Noun)">
<orth>Panie</orth>
<lex disamb="1"><base>pan</base><ctag>Noun:sg:voc:m1</ctag></lex>
<tok id="a4d89e">
<orth>Panie</orth>
<lex disamb_sh="0"><base>pan</base><ctag>subst:sg:loc:m1</ctag></lex>
<lex disamb="1"><base>pan</base><ctag>subst:sg:voc:m1</ctag></lex>
<lex disamb_sh="0"><base>pani</base><ctag>subst:pl:acc:f</ctag></lex>
<lex disamb_sh="0"><base>pani</base><ctag>subst:pl:nom:f</ctag></lex>
<lex disamb_sh="0"><base>pani</base><ctag>subst:pl:voc:f</ctag></lex>
<lex disamb_sh="0"><base>panie</base><ctag>interj</ctag></lex>
</tok>
</syntok>
<syntok id="a4d8d6" rule="(subst)|(depr)|(ger) -> (Noun)">
<orth>prezydencie</orth>
<lex disamb="1"><base>prezydent</base><ctag>Noun:sg:voc:m1</ctag></lex>
<tok id="a4d89f">
<orth>prezydencie</orth>
<lex disamb_sh="0"><base>prezydent</base><ctag>subst:sg:loc:m1</ctag></lex>
<lex disamb="1"><base>prezydent</base><ctag>subst:sg:voc:m1</ctag></lex>
</tok>
</syntok>
</group>
<group id="a4d99b" rule="NGa: 2*(Adj) + (Noun)" type="NGa" synh="a4d99a" semh="a4d99a">
<syntok id="a4d992" rule="(adj) -> (Adj)">
<orth>najzacniejszej</orth>
<lex disamb="1"><base>zacny</base><ctag>Adj:sg:loc:f:sup</ctag></lex>
<tok id="a4d987">
<orth>najzacniejszej</orth>
<lex disamb_sh="0"><base>zacny</base><ctag>adj:sg:dat:f:sup</ctag></lex>
<lex disamb_sh="0"><base>zacny</base><ctag>adj:sg:gen:f:sup</ctag></lex>
<lex disamb="1"><base>zacny</base><ctag>adj:sg:loc:f:sup</ctag></lex>
</tok>
</syntok>
<syntok id="a4d993" rule="(adj) -> (Adj)">
<orth>polskiej</orth>
<lex disamb="1"><base>polski</base><ctag>Adj:sg:loc:f:pos</ctag></lex>
<tok id="a4d988">
<orth>polskiej</orth>
<lex disamb_sh="0"><base>polski</base><ctag>adj:sg:dat:f:pos</ctag></lex>
<lex disamb_sh="0"><base>polski</base><ctag>adj:sg:gen:f:pos</ctag></lex>
<lex disamb="1"><base>polski</base><ctag>adj:sg:loc:f:pos</ctag></lex>
</tok>
</syntok>
<syntok id="a4d99a" rule="(subst)|(depr)|(ger) -> (Noun)">
<orth>uczelni</orth>
<lex disamb="1"><base>uczelnia</base><ctag>Noun:sg:loc:f</ctag></lex>
<tok id="a4d989">
<orth>uczelni</orth>
<lex disamb_sh="0"><base>uczelnia</base><ctag>subst:pl:gen:f</ctag></lex>
<lex disamb_sh="0"><base>uczelnia</base><ctag>subst:sg:dat:f</ctag></lex>
<lex disamb_sh="0"><base>uczelnia</base><ctag>subst:sg:gen:f</ctag></lex>
<lex disamb="1"><base>uczelnia</base><ctag>subst:sg:loc:f</ctag></lex>
</tok>
</syntok>
</group>
wyrażenie wyrażenie
Wyniki przetwarzania NLP
www.applica.pl
Typ grupy składniowej
Negacja
wyrażenie
Zwrotność
Czas i tryb
Przypadek
Część mowy
Gerundium
Stopień
Zdania przeciwstawne
Podwójne zaprzeczenie
Różne formy negacji
Tryb warunkowy
Wzmocnienia i osłabienia
Wyrażenia regularne
Warstwy – przykład wyników przetwarzania
www.applica.pl
Proces: utrzymanie
klienta
Klient: Hubert Tkaczyk
Kontekst biznesowy
Produkt: rachunek Efekt:
rezygnacja
Cel biznesowy
Przyczyna: koszty
prowadzenia rachunku
Produkt/usługa
Firma: Alior
Firma
Atrybuty: opłaty i
prowizje
Wydźwięk: rezygnacja,
złość
Wydźwięk
Klient
analiza tekstu i oznaczanie zidentyfikowanych wyrażeń
kategoryzacja treści
Co daje zastosowanie NLP?
www.applica.pl
Play jest profesjonalny Orange klientów dba nie o
Analiza n-gramów: Orange oznaczony jako profesjonalny
Analiza lingwistyczna zakłada, że wyrazy łączą się ze sobą znaczeniowo, gdy występują w tej samej grupie składniowej.
Analiza n-gramów zakłada, że wyrazy łączą się ze sobą znaczeniowo gdy występują „obok siebie” w zdaniu.
zawsze
Analiza lingwistyczna: Play oznaczony jako profesjonalny
Kategoryzacja treści
www.applica.pl
Proces przetwarzania korespondencji masowej
www.applica.pl
Kategoryzacja tematyczna
• Wsparcie klienta przy wyborze tematu korespondencji
• Weryfikacja tematu korespondencji i jej precyzyjna kategoryzacja
• Określenie szczegółowej grupy tematycznej dla wybranych kategorii
Ekstrakcja informacji
• Ekstrakcja danych niezbędnych do dalszego przetwarzania korespondencji dla zidentyfikowanych kategorii tematycznych
• Zapis danych w postaci struktur zdefiniowanych dla wybranych grup tematycznych do dalszego wykorzystania
Priorytetyzacja i dystrybucja
korespondencji
• Identyfikacja wiadomości pod kątem wybranych treści (skargi UKE/UOKiK, reklamacje o dużej wartości, duplikaty)
• Identyfikacja zgłoszeń o charakterze masowym
• Priorytetyzacja otrzymanych zgłoszeń
Automatyzacja procesów obsługi
• Bezobsługowe przetwarzanie standardowych zapytań z wykorzystaniem danych uzyskanych w procesie ekstrakcji
• Wstępne wywołanie odpowiedniego strumienia workflow oraz przygotowanie szablonu odpowiedzi
Kategoria Grupa tematyczna
Dane klienta specyficzne dla
grupy tematycznej
Priorytet Sekcja
Odpowiedź do klienta
Moderacja treści
www.applica.pl
www.applica.pl
Applica Moderacja® - funkcjonalność
www.applica.pl
Rozwiązanie Applica umożliwia automatyczną bądź semi-automatyczną, w pełni konfigurowalną moderację treści tekstowych tworzonych przez użytkowników. Dzięki wykorzystaniu zaawansowanych metod analizy semantycznej rozwiązanie oferuje skuteczność zbliżoną do moderacji realizowanej przez człowieka.
Eliminowanie ‚hejtu’, m.in.: • Ksenofobia • Rasizm • Antysemityzm • Homofobia • Nawoływanie do agresji • Obrażanie osób publicznych • Wulgaryzmy
Eliminowanie ‚spamu’, m.in.: • Treści reklamowe • Linki reklamowe • Adresy e-mail • Numery telefonu
Pełna konfigurowalność: dostosowanie rozwiązania do charakteru medium
Bezwarunkowa akceptacja treści zgodnych z regulaminem Moderacja warunkowa: pre-moderacja lub post-moderacja Bezwarunkowe odrzucenie treści niezgodnych z regulaminem
?
Architektura
www.applica.pl
Słowniki NLP
Moduł wykrywania prób obejścia
moderacji Moduł NLP
Moduł ujednoznaczniania
kontekstowego
Moduł rozpoznawania
języka
Moduł wykrywania nazw własnych
Moduł kategoryzacji komentarzy
Słownik wulgaryzmów i
zwrotów obraźliwych
Słownik terminów wrażliwych
Słownik osób publicznych
Moduł obsługi procesu
przetwarzania
Baza komentarzy z kategoryzacją
Moduł wykrywania spamu
Główne moduły - NLP
www.applica.pl
• Moduł odpowiada za pełne przetwarzanie NLP zbioru komentarzy, w wyniku którego wszystkie słowa w tekście zostają ujednoznacznione i sprowadzone do form podstawowych.
• Wynikiem przetwarzania są zidentyfikowane i oznaczone słowa i wyrażenia wulgarne i obraźliwe.
• W wyniku przetwarzania oznaczony zostaje stopień wulgarności danego słowa lub wyrażenia – do późniejszego wykorzystania przy kategoryzacji komentarzy
• Moduł wykorzystuje Słownik wulgaryzmów i zwrotów obraźliwych, na bieżąco aktualizowany i uzupełniany
Moduł wykrywania prób obejścia moderacji
www.applica.pl
• Identyfikacja słów i wyrażeń wulgarnych, obraźliwych, które nie zostały wykryte w ramach przetwarzania NLP.
• Oznaczenie stopnia wulgarności danego słowa lub wyrażenia analogicznie jak w przypadku Modułu NLP
• Przykładowe wykrywane próby obejścia moderacji: • Użycie wykropkowania w słowie wulgarnym np. „ch…” „k***wa” • Zamiana wybranych liter w słowie wulgarnym np. „qrwa” „ch\/j” „doopa” „zajeb@ny” • Użycie kropek lub innych znaków w słowie wulgarnym np. „k.u.r.w.a.” „chu-je”
• Moduł wykorzystuje połączenie metod lingwistycznych i słownikowych do identyfikacji wulgaryzmów i zwrotów obraźliwych: dowolne słowo, niezidentyfikowane jako słowo występujące w języku polskim, zostaje poddane procesowi przetworzenia (usuwaniu kropek lub innych znaków, zamianie wybranych liter lub sylab, uzupełnianiu słowa o brakujące znaki) a następnie porównywane ze Słownikiem.
Przykłady działania serwisu
www.applica.pl
Oceniono man
No dosłownie co chwile! Ale ona tylko jaja mi chce ssać!
Odpowiedz
Odpowiedź serwisu:
Oceniono kostka cukru
ok teraz chwila prawdy - jestem ssakiem, mój bóg lubi ssać : )
Odpowiedz
Odpowiedź serwisu:
Oceniono Pogromca
GG mi chciał possać niedawno. Ale pogoniłem go bo ja nie z takich jak on.
Odpowiedz
Odpowiedź serwisu:
Oceniono Katka
Polska wesz jest najlepsza, potrafi dogryźć i wyssać dużo dużo krwi:D
Odpowiedz
Odpowiedź serwisu:
• Metody ujednoznaczniania kontekstowego: jeśli określony rzeczownik (np. tabu seks) jest w zdaniu z określonym czasownikiem (tabu seks), to zostają połączone w całość o odpowiednim znaczeniu:
Przykłady działania serwisu
www.applica.pl
Oceniono historyk
Król Jan Sobieski dał nam przykład jak postępować z dzikimi hordami islamskich bandytów
Odpowiedz
Odpowiedź serwisu:
Oceniono ateista
CZY NAZWANIE POLAKÓW BANDYTAMI PRZEZ PAPIEŻA GRZEGORZA XVI I RZUCENIE NA NICH KLĄTWY Z WOLI BOGA DNIA 28 LUTEGO 1846 ROKU TO TEŻ CZERWONA PROPAGANDA UBEKÓW CZY FAKT HISTORYCZNY
Odpowiedz
Odpowiedź serwisu:
Oceniono hohoho
Faszystowska zaraza!
Odpowiedz
Odpowiedź serwisu:
Oceniono ltp
Złotousty lawrow zapomniał jeszcze dodać, że w Ameryce Murzynów biją. Pokrętna bolszewcko-faszystowska retoryka
Odpowiedz
Odpowiedź serwisu:
• Metody ujednoznaczniania kontekstowego: połączenie potencjalnie obraźliwego rzeczownika z potencjalnie obraźliwym przymiotnikiem daje wyrażenie obraźliwe
Przykłady działania serwisu
www.applica.pl
Oceniono znużony
Nawet na to nie licz - Duda - jesteś po prostu zakłamanym hipokrytą.
Odpowiedz
Odpowiedź serwisu:
Oceniono znużony
Nawet na to nie licz - Tusk - jesteś po prostu zakłamanym hipokrytą.
Odpowiedz
Odpowiedź serwisu:
• Kontekstowa ochrona prezydenta:
Oceniono swir
Pi,...rdolnij się w czoło!!! PANIE KOŁO
Odpowiedz
Odpowiedź serwisu:
Oceniono Putin ty kur\/\/o
Ha ha ha
Odpowiedz
Odpowiedź serwisu:
• Ukryte wulgaryzmy, zarówno w treści komentarza jak i polu autor
Przykłady działania serwisu
www.applica.pl
Oceniono POLAK PATRIOTA
Do likwidacji
Odpowiedz
Odpowiedź serwisu (przy fladze hejt):
Oceniono POLAK PATRIOTA
Do likwidacji
Odpowiedz
Odpowiedź serwisu (przy braku dodatkowej informacji):
Oceniono zeus
Wkurzasz mnie
Odpowiedz
Odpowiedź serwisu:
Oceniono olaf
Wkurzasz mnie tym swoim ciągłym gadaniem o tym, jak jest źle.
Odpowiedz
Odpowiedź serwisu:
• Ujednoznacznianie w kontekście tematyki artykułu pod jakim znalazł się komentarz (np. artykuł o śmierci znanej osoby - hejt, artykuł o uchodźcach - rasizm)
• Decyzja o moderacji uzależniona od długości komentarza, eliminacja treści, które są wątpliwej jakości i nie wnoszą nic do dyskusji
Głęboki wydźwięk
www.applica.pl
www.applica.pl
• Zaawansowana analiza wydźwięku wypowiedzi w oparciu o model podstawowych emocji:
• Ośmiowymiarowy model podstawowych emocji Roberta Plutchika
• Możliwość analizy emocji wyższego rzędu w oparciu o emocje podstawowe
www.applica.pl
Pogłębiona analiza wydźwięku
14.05.2014, 16:38N A2. Raport szczegółowy: wizerunek marki - Applica
Strona 1 z 1http:/ / test.applica.pl/ applica/ viewRaport.html?id= 13&product= 9
Miesiąc
liczb
a [
%]
radość
zaufanie
obawa
zaskoczenie
smutek
niechęć
złość
oczekiwanie
2013- 01 2013- 02 2013- 03 2013- 04 2013- 05 2013- 06 2013- 07 2013- 08 2013- 09 2013- 10 2013- 11 2013- 12
0
100
25
50
75
Highcharts.com
N A2.3b Głęboki wydźwięk wypowiedzi klientów na temat marki
radość zaufanie obawa zaskoczenie smutek niechęć złość oczekiwanie
top related