[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
user:zeman:ukoly:nerizena-morfologicka-analyza [2007/11/08 00:01]
zeman vytvořeno
user:zeman:ukoly:nerizena-morfologicka-analyza [2008/10/20 17:59]
zeman Přidána česká trénovací data.
Line 1: Line 1:
-====== Neřízená morfologická analýza ======+====== Segmentace slov na morfémy ====== 
 +//(úloha z počítačového zpracování přirozeného jazyka)//
  
-Napište program v Perlu, který rozpozná různé tvary stejných slov v textu v libovolném jazyce, aniž by měl k dispozici morfologický slovník. Výraz "morfologická analýza" v nadpisu není úplně v souladu s definicí z přednášky, lepší by bylo eba "morfematická segmentace". Cílem totiž není poznat lemmaslovní druh a morfologické kategorie. Cílem je rozsekat slovo na morfémy (předponakmen, přípona, koncovka...) takaby šlo poznat různé tvary téhož slova.+//Upozornění: Specifikace je detailnější (a tudíž více svazující) než bývá u zápočtových úloh zvykem. Ideálně by díky tomu la tři řešení téže úlohy od í různých lidí být zaměnitelná; šetří vám to také práci s dokumentacíkterá už je součástí zadání. Samozřejmě nelze vyloučitže najdete dobrý důvodaby něco bylo jinak než ve specifikaci; takové ípady se mnou prosím [[zeman@ufal.mff.cuni.cz|konzultujte]]. Bez posvěcení se raději od specifikace zbytečně neodchylujte. Kdo bude místo na STDOUT čmárat do souborujehož cesta je zadrátována ve zdrojáku jako "C:\Documents and Settings\PanVopička\Dokumenty\tisícdalšíchadresářů\mujchytrysoubor.dat" apod., nejenže nedostane zápočet, ale bude podroben veřejnému zostuzení.//
  
-Nápověda: získejte "vzory" - seznamy koncovek, které se vyskytly se stejnými kmeny, a kmenů, které se vyskytly s těmito koncovkami.+Napište program v Perlu, který rozpozná různé tvary stejných slov v textu v libovolném jazyce, aniž by měl k dispozici morfologický slovník. Přesněji: máte každé slovo rozsekat na morfémy. Příkladem morfému je předpona, kmen, přípona. Slovo může mít několik předpon (např. //před+při+pravit//), několik přípon (např. //chladn+ějš+ímu//), několik kmenů (např. //chlor+o+vodík//) apod. Některé morfémy jsou derivační (jejich prostřednictvím se z jednoho slova odvozuje jiné), jiné jsou ohýbací (jejich prostřednictvím se tvoří různé tvary (pád, číslo, stupeň, čas apod.) téhož slova. Hledejte oba druhy morfémů, rozlišovat je nemusíte. Pro jedno slovo může být správně i několik čtení, a tudíž několik segmentací (např. //proud+it// vs. //pro+uď+it//). 
 + 
 +K dispozici máte seznam slov daného jazyka nalezených v korpusu, včetně jejich četností. Seznam čtěte ze standardního vstupu. Na každém řádku je vždy nejdříve počet výskytů slova, pak mezera a za ní slovo. Předpokládejte, že vstup je kódovaný v UTF-8. Všechna slova dostanete převedená na malá písmena. 
 + 
 +Výstupem vašeho programu (pošlete ho na STDOUT) by měly být morfematické segmentace všech slov, která byla na vstupu, opět v UTF-8. Každé slovo má svůj řádek, na něm je uvedeno jako první položka (četnost slova už se na výstupu neobjeví). Následuje tabulátor ("\t") a za ním jedna nebo více segmentací (analýz). Jednotlivé segmentace jsou oddělené čárkami, jednotlivé morfémy v rámci jedné segmentace jsou oddělené mezerami. 
 + 
 +Nápověda: jeden z možných přístupů k tomuto problému je přes "vzory"získejte seznamy přípon, které se vyskytly se stejnými kmeny, a kmenů, které se vyskytly s těmito příponami. Obdobně lze postupovat pro předpony. 
 + 
 +Programy pište v Perlu a snažte se vyvarovat obratů, které by omezily přenositelnost mezi platformami (např. nevolejte externí programy, které se vyskytují pouze v Unixu, resp. pouze ve Windows). 
 + 
 +===== Jazyky ===== 
 + 
 +K ladění dostanete česká data, abyste měli šanci poznat, zda výstup programu vypadá rozumně. Váš program ale musí fungovat nezávisle na jazyku vstupních dat. Je tedy nežádoucí, aby obsahoval např. seznam českých předpon. Se vstupem zacházejte, jako by to byl jazyk, o kterém nic nevíte. Váš program bude nakonec testován na některém z těchto jazyků: 
 + 
 +  * angličtina 
 +  * němčina 
 +  * finština 
 +  * turečtina 
 +  * arabština 
 + 
 +{{user:zeman:ukoly:cs-konc.txt.gz|Česká data}} 
 + 
 +===== Další informace ===== 
 + 
 +Tento úkol (včetně zadání konkrétního jazyka) si můžete zarezervovat vyplněním formuláře na http://ufal.mff.cuni.cz/cgi-bin/zeman/zapoctaky/rezervace_ukolu.pl (pokud ještě není rozebrán). 
 + 
 +Pokud se individuálně nedohodneme jinak, termín odevzdání je konec listopadu. Při některé prosincové přednášce program předvedete ostatním.
  

[ Back to the navigation ] [ Back to the content ]