Automatizace generování stopslov
Transkript
Automatizace generování stopslov Bc. Jiří Krupník, Ústav informatiky, Provozně ekonomická fakulta, Mendelova univerzita v Brně, [email protected] Abstrakt Příspěvek se zabývá metodou předzpracování textových dokumentů, a to automatizací generování stopslov. Je zde popsáno několik metod pro vytváření doménově nezávislých seznamů těchto slov. Následně jsou prezentovány a diskutovány výsledky implementace metod, kterých bylo dosaženo při testování na kolekci rozsáhlých dokumentů napsaných v různých přirozených jazycích. Klíčová slova Stopslovo, feature selection, text mining, textové dokumenty, třída dokumentu Abstract This paper deals with a method of pre-processing of textual documents, namely with automation of stopwords list generation. Several methods for creating a domain specific list of stopwords are described. Then the implementation of the methods is presented and discussed. The paper also contains the results that were obtained by application of the methods to a large collection of real-world documents written in different natural languages. Key Words Stopword, feature selection, text mining, text documents, document class Úvod Různé typy subjektů mají pro své rozhodování k dispozici obrovské objemy nestrukturovaných textových dat. Tato data mohou potenciálně obsahovat užitečné znalosti, které lze získat metodami z oblasti nazývané text mining. Typické problémy, které lze v rámci dolování znalostí z textových dat řešit, zahrnují klasifikaci dokumentů, predikci, shlukování, vyhledávání, sumarizaci, extrakci či analýzu mínění (Weiss et al., 2010). Aby bylo možné zpracování tohoto typu dat realizovat, je třeba je převést do reprezentace vhodné pro zvolený algoritmus a případně určitým způsobem předzpracovat. Jednou z nejjednodušších a nejčastěji používaných reprezentací znalostí, jež zároveň umožňuje snadno provádět algebraické operace, jsou vektory. Každý dokument je pak reprezentován jedním příznakovým vektorem (feature vector), kde jednotlivé příznaky často odpovídají slovům v dokumentu obsaženým. Jedním ze způsobů předzpracování textu je extrakce stopslov. Jedná se o slova nemající informační význam, někdy bývají označována jako „běžná“ slova nebo negativní slovník. Taková slova mohou způsobit potíže při úlohách text mining – nižší rychlost zpracování, vliv na predikci výsledků. Bezvýznamová slova tvoří velkou část textových dat, což je však problém v rámci úkolů zpracování textu, kde je rozměrnost dat zásadní (Kamel a Makrechi, 2008). V češtině mohou být zařazena mezi stopslova např. spojky (a, aby, ale, ani), předložky (na, pro, u), zájmena (její, my, on), málo významová slovesa (být, mít). V jiných jazycích mezi ně patří také určité a neurčité členy. Dále to bývají slova specifická pro konkrétní kontext (Kadlec, 2006). Rozlišujeme dvě kategorie stopslov: obecné a doménově orientované. První kategorie obsahuje veřejně dostupná, standartní bezvýznamová slova. Druhá kategorie zahrnuje doménově specifická (orientovaná) slova, jež nemají informační hodnotu v rámci dané domény nebo kontextu. Takováto slova se liší doména od domény, například pojem učení může být stopslovo v oblasti vzdělávání, ale naopak klíčové slovo v informatice. Výsledkem odstranění těchto slov (termů) je vylepšení efektivnosti úloh text mining. Zásadní důvody vzniku a rozšíření automaticky vytvářených seznamů stopslov jsou: zastarání – statické seznamy je nutno udržovat stále aktuální; vliv webových technologií – výrazy používané v elektronické komunikaci se stávají součástí běžného jazyka; dostupnost – stále existují přirozené jazyky bez standartního seznamu; kontextově specifická slova – úlohy text mining vždy potřebují doménově specifický seznam;… (Kamel a Makrechi, 2008). Uvedené důvody lze označit i za hlavní motivaci ke vzniku této práce. Dosáhnout automatizovaného generování stopslov lze pomocí algoritmů feature selection. Myšlenka je taková, že definujeme informační významnost každého slova za použití metrik a uchováváme pouze informačně hodnotnější slova, odstraňujeme bezvýznamná slova. Rozhodujeme o důležitosti či nedůležitosti každého termu (Dave, 2011). Obsahem tohoto příspěvku je zaprvé popis vybraných metod pro odhalení doménově orientovaných stopslov. Za druhé, prezentace výsledků experimentů na textových kolekcích velkého rozsahu, jež bylo dosaženo prostřednictvím implementace těchto metod. Práce vzniká v rámci výzkumného projektu Analýza vlivu předzpracování textových dokumentů na výsledky úloh text mining, který je řešen Ústavem informatiky PEF MENDELU. Výzkum je zaměřen na analýzu vlivu předzpracování textových dokumentů na výsledky klasifikace a shlukování textových dat a extrakce stopslov z textových souborů patří právě mezi úlohy předzpracování textu. Cíle a metodika Práce si klade za cíl přispět k rozvoji oblasti analýzy a dolování znalostí z textových dat vytvořených v přirozeném jazyce prostřednictvím implementace metod automatického generování stopslov, provedení experimentů a vyhodnocení výsledků. Extrakce stopslov je založená na algoritmech feature selection, čili ohodnocení každého termu (slova). Většina je založena na následujícím principu: Výpočet hodnoty OHODNOCENÍ(ti, ck) pro každý term ti z kategorie ck vycházejí z použité metody. Seřazení termů dle hodnoty v sestupném pořadí. Aplikování prahové funkce nebo jiné podmínky na seřazený seznam termů. Existuje několik metod pro určení hodnoty termu, vybrané z nich jsou založeny na operacích s těmito hodnotami (Li, 2009): A – počet dokumentů v kategorii ck obsahující term ti. B – počet dokumentů, které nejsou v kategorii ck a obsahují term ti. C – počet dokumentů v kategorii ck neobsahující term ti. D – počet dokumentů, které nejsou v kategorii ck a neobsahují term ti. N – celkový počet dokumentů. Výpočty metod (definování hodnot termů) vychází z prací autorů: Yang a Pedersen (1997), Uchyigit a Clark (2008); k implementaci jsou vybrány následující: Odds Ratio (ODDR): Rozsah hodnot metody se nachází mezi nulou a nekonečnem. Hodnota 1 je neutrální výsledek – slovo se neliší od ostatních v daných kategoriích. Blíže k nule nebo nekonečnu indikuje odlišnost slova. ODDR upřednostňuje slova korelující s kategorií. V důsledku toho, slova vyskytující se několikrát v dané kategorii a nikdy se nevyskytující v jiných kategoriích mají vysoké ohodnocení. Proto mnoho slov, která se vzácně objeví pouze v jedné kategorii, označuje za stopslova. Ukázka výpočtu: ODDRslovo, kategorie AD BC 369 7441 ODDRSHOWER, _ N 3,7582 103 7093 Information Gain (IG): IG měří počet bitů informace, která se získá pro predikci kategorie tím, že rozpoznáme přítomnost nebo nepřítomnost slova v dokumentu. Jedná se o metodu poskytující rozporuplné výsledky. Důvodem by mohly být rozdílné zkoumané oblasti (domény) a různé klasifikační algoritmy, které byly použity při experimentech. IGti , ck A log A B B log ( A C )( A B) ( B D)( A B) C D C log D log ( A C )(C D) ( B D)(C D) F-measure Feature Ranking (FFR): FFR ti , ck 2A 2A B C The Chí Statistic (CHI): Chí kvadrát měří absenci nezávislosti mezi termem a kategorií. Přirozenou hodnotou je nula, nastává v případě, že slovo a třída jsou nezávislé. ( AD BC ) 2 CHI ti , ck ( A B)(C D)( A C )( B D) Mutual Information (MI): Výzkumy provedené s MI mají protichůdné výsledky. Některé práce uvádějí, že použitím této metody dosahují nejlepších výsledků, jiné opak. Příčina může být v tom, že slova vyskytující se v textu vzácně jsou vysoce ohodnocena a tudíž jsou často označena za stopslova. MI t i , ck log A N ( A C )( A B) Koeficient Ng-Goh-Low (NGL): NGL koeficient byl navržen jako korelační koeficient – varianta Chí kvadrátu, mocnina ve jmenovateli obsahuje hodnotu Chí. Kladné ohodnocení slova značí, že slovo koreluje s ostatními v kategorii. Zatímco záporné ohodnocení značí, že slovo koreluje se slovy jiných kategorií. Na rozdíl od Chí se vybírají slova, která korelují s danou kategorií (jsou pozitivní) a nevybírá slova, která korelují se s jinými kategoriemi. NGLt i , ck N ( AD BC ) ( A C )( B D)( A B)(C D) Koeficient Galavotti-Sebastiani-Simi (GSS): Koeficient GSS byl navržen jako zjednodušení Chí kvadrátu (odstraněním tří faktorů ze jmenovatele a čitatele). Obdobně, jak tomu je u koeficientu NGL, kladné hodnoty odpovídají funkci korelace s danou kategorií, zatímco záporné hodnoty odpovídají funkci korelace s jinými kategoriemi. GSS ti , ck AD CB Metodika řešení Výzkum, v rámci něhož tato práce vzniká, se zaměřuje primárně na doménu hotelových recenzí. Pro experimenty byly použity zdrojové soubory různých jazyků, každý obsahující více než 10 tisíc recenzí (řádků). Účelem implementace je dosáhnutí převodu dat do takové vnitřní formy, že s nimi lze provádět operace. Vstupem je soubor v kódování UTF8, jehož jednotlivé řádky mají strukturu: C\tTEXT\n kde C je třída dokumentu (několik znaků), \t je tabelátor, TEXT je posloupnost znaků, \n je znak konce řádků. Z každého textu jsou odebrány tagy, entinty a znaky, které nejsou písmena. Text je převeden na tzv. bag-of-words reprezentaci, neboli posloupnost slov, kde pořadí není důležité (Novák a Dařena, 2012). Příklad vstupního souboru: _N SHOWER WATER NOT HOT ONLY JUST WARM. _P GREAT LOCATION, GOOD BREAKFAST BUFFET. Prvním krokem je tedy uložení očištěných vstupních souborů do vektorové reprezentace. U každého termu se pokračuje s výpočtem hodnot proměnných – A, B, C, D (viz výše). Po tomto výpočtu lze aplikovat vybranou metodu, protože jsou již známy veškeré proměnné, které se vyskytují v uvedených vzorcích (ODDR, FFR,…). Výsledek představuje hodnota definující každý term. Struktura termů je vnitřně reprezentována polem, s těmito prvky: I: Reprezentace termu @array slovo kategorie Ukázka SHOWER _N A B C D hodnota 369 103 7093 7441 3,7582 Termy jsou dále seřazeny dle jejich ohodnocení. Posledním krokem je vytvoření výstupu – seznamu. Seznam se vygeneruje na základě parametru (n), který určuje, kolik slov má obsahovat. Za stopslova označíme prvních n slov. Výsledky Vybrané metody, s jejichž pomocí jsou generovány seznamy stopslov, jsou implementovány programovacím jazykem Perl. Výsledkem je tedy program, jehož vstupem jsou ohodnocené textové dokumenty v daném formátu a výstupem požadovaný seznam stopslov. Uvedené příklady vygenerovaných seznamů stopslov jsou z oblasti hotelových recenzí. Tabulky II, III a IV zobrazují výsledky, kterých bylo dosaženo. II: Stopslova - angličtina CHI MI NGL GSS FFR ODDR IG VERY OPPOSIT LOCATION STAFF AND THIN ROOM LOCATION REMVI STAFF LOCATION THE PEACEFUL LOCATION STAFF ARTWORK GOOD NOT STAFF SMELL STAFF GOOD UNSUAL NOT GOOD VERY CHARMING FRIENDLY NOT WALLABIES FRIENDLY AND A SHABBY GOOD FRIENDLY PROFFECIONAL HELPFUL FRIENDLY WAS FABULOUS NOT HELPFUL ANTEROOM EXCELLENT VERY NOT CLEAR HELPFUL EXCELLENT REUNION CLEAN CLEAN LOCATION NOBODY EXCELLENT CLEAN SPEEK NO HELPFUL IN STRANGE CLEAN NO WELOME COMFORTABLE NO TO OUTSTANDING NO III: Stopslova - španělština CHI MI NGL GSS FFR ODDR IG NO GUIAN NO NO Y AMPLITUD NO PERSONAL SACARTELO PERSONAL Y LA CERCANIA TODO UBICACIÓN CONSCIENTES UBICACIÓN MUY NO INCÓMODO PERSONAL POCO SÉPTICA POCO PERSONAL DE CORTINAS UBICACIÓN MUY PERSONEN MUY QUE MUY INMEJORABLE POCO Y VERTIDO Y UBICACIÓN EL EXCELENTES EXCELENTE BUENA DOLÍAN BUENA POCO QUE DEBERIAN MUY EXCELENTE ESTRICTAS EXCELENTE UN EN INCOMODO Y TRATO DEBÍAS TRATO BUENA UN POBRE BUENA SE DESACONSEJA QUE SE DEL PRECIOSA TRATO IV: Stopslova - čeština CHI MI NGL GSS FFR ODDR IG PERSONÁL OBTĚŽOVÁNÍ PERSONÁL PERSONÁL A KLIDNÉ PERSONÁL POLOHA OHLÁŠENÍ POLOHA A V PŘÍJEMNÝ PŘÍJEMNÝ PŘÍJEMNÝ VNIKÁNÍ PŘÍJEMNÝ POLOHA NA VÝBORNÁ POLOHA BY NEZDVOŘILÉ BY HOTEL PERSONÁL ZÁPACH DOBRÁ DOBRÁ PRIVITAL DOBRÁ PŘÍJEMNÝ HOTEL NEFUNKČNÍ OCHOTNÝ OCHOTNÝ RANNICH OCHOTNÝ VELMI HOTELU ŠPATNÉ PROSTŘEDÍ PROSTŘEDÍ ZRUŠENÍ PROSTŘEDÍ DOBRÁ VELMI ABSENCE CENTRA CENTRA ODEČTENA CENTRA CENTRA SE ATMOSFÉRA BY HLUK PŘEDLOŽENA HLUK OCHOTNÝ SNÍDANĚ KLIDNÁ VÝBORNÁ POKOJI ÚČTENKA POKOJI PROSTŘEDÍ JE PLÍSEŇ KLIDNÉ Diskuze Výstupy poskytované programem budou použity k dalšímu zpracování v rámci výzkumného projektu. Předně je nutno ověřit vliv extrakce stopslov na výsledky konkrétních úloh text mining – pokročilejší automatické analýzy z hlediska odhalování mínění autorů vztažených k pouze jednomu tématu, a to jak aplikací klasifikačních technik, tak i metod objevování shluků podobných dokumentů (clustering). Uvedené výsledky (Tabulky II–IV) ilustrují, jak jsou jednotlivé metody navrženy. Seznamy pro některé metody jsou dost podobné (např. CHI a NGL), jiná obsahují dost odlišná slova (např. MI a FFR). Algoritmy pro výpočet NGL a GSS vycházejí z metody CHI, proto dosahují podobných výsledků. Nutno podotknout, že seznamy nejsou identické a použití těchto zdánlivě podobných metod může mít vliv na výsledky úloh (text mining), proto je potřeba ještě provést experimenty. Metoda MI, jak bylo uvedeno, má tendenci zahrnovat mezi stopslova vzácné výskyty slov. Tento fakt se odráží v uvedených výsledcích. ODDR zahrnuje do seznamu slova, která se objevují pouze v jedné kategorii, zatímco v druhé se téměř nevyskytují (např. výraz PLÍSEŇ má 40 výskytů ve třídě _N a pouze jeden výskyt ve třídě _P). FFR klade větší důraz při svém výpočtu na proměnou A (tzn. počet recenzí ve třídě obsahující slovo), proto jsou ve výstupu hojně zastoupeny slova s vyšší četností výskytu (spojky, předložky, aj. a slova typická pro danou doménu – HOTEL, PERSONÁL,…). IG zařazuje do seznamu slova, která nesou nejmenší hodnotu informace o dané třídě. Závěr Primárním cílem práce byla implementace vybraných metod pro automatizaci generování stopslov. Podařilo se vytvořit program obsahující principy algoritmů feature selection, který je obecně vhodný pro nasazení do oblasti úloh text mining. Tzn. výstupy jsou uplatnitelné v kontextově rozdílných úlohách, což je zásadní rozdíl od obecných a veřejně dostupných seznamů. Použitelnost programu byla ověřena na rozsáhlých textových datech. Tento článek vznikl v rámci řešení projektu IGA 4/2013 Analýza vlivu předzpracování textových dokumentů na výsledky úloh text mining. Zdroje DAVE, K., 2011: Study of feature selection algorithms for text-categorization. Las Vegas: University of Nevada. KADLEC, P., 2006: Stopslovo. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 9. 3. 2013 [cit. 2013-10-06]. Cited from: http://cs.wikipedia.org/wiki/Stopslovo. LI, S., et al., 2009: A framework of feature selection methods for text categorization. In: Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP: Volume 2Volume 2. Association for Computational Linguistics. pp. 692-700. MAKREHCHI, M., KAMEL, M. S., 2008: Automatic extraction of domain-specific stopwords from labeled documents. In: Advances in information retrieval. Springer Berlin Heidelberg, pp. 222-233. NOVÁK, Z., DAŘENA, F., 2012: Aplikace pro přípravu textových dat. [CD-ROM]. In: PEFnet 2012. ISBN 978-80-7375-669-7. UCHYIGIT, G., CLARK, K., 2008: Personalization techniques and recommender systems. Singapore: World Scientific. ISBN 978-981-2797-025. WEISS, S. M., et al., 2010: Fundamentals of predictive text mining. New York: SpringerVerlag, xiii, 226 p. Texts in computer science. ISBN 9781849962261-. YANG, Y., PEDERSEN, J. O., 1997: A comparative study on feature selection in text categorization. In: ICML. pp. 412-420.
Podobné dokumenty
odkazu zde - Boulevard restaurant
Výroba rumu
Základem pro výrobu tzv. pravého rumu je melasa, vedlejší produkt vznikající při výrobě cukru z cukrové třtiny. Sklizeň začíná tím, že se opálí spodní uschlé listy. Pak přijdou na řadu ...
TESE - Tezaurus pro vzdělávací systémy v Evropě
Kromě zde uvedených příkladů byly v české verzi TESE jako nedeskriptory použity i
termíny odpovídající českému prostředí.
Postavení termínů ovlivnily i požadavky na terminologickou návaznost na Evr...
bizers vize svět
kolem sebe a nemusí se nutně jednat o třídění knih nebo textů. Jedním z příkladů
může být rozdělení výrobků do kategorií v internetovém obchodě, dalším zařazení
dřeviny mezi stromy a dále mezi list...
Univerzita Karlova v Praze Ústav informační studií a knihovnictví
Historie Internetu začíná před rokem 1962, v době, kdy počítače přestože jsou primitivní a
s malou pamětí stojí stovky, tisíce dolarů. Firma RAND Corporation (http://www.rand.org)
v této době řešil...
Informace a Internet
Historie Internetu začíná před rokem 1962, v době, kdy počítače přestože jsou primitivní a
s malou pamětí stojí stovky, tisíce dolarů. Firma RAND Corporation (http://www.rand.org)
v této době řešil...