InfoMC 3. labor

Zárthelyik

1.ZH	6. héten, október 10, kedd délután
1.pótZH	8. héten, október 24, kedd délután
2.ZH	12. héten november 21, kedd délután
2.pótZH	14 héten, december 5, kedd délután

Spell Check

Edit → Check Spelling → Options → Text Content Options → DefaultNaturalLanguage  → Hungarian

Szószámlálás

EngVocab = WordList[]
Length[EngVocab]

SortBy[EngVocab, StringReverse]

mytext=Import["http://sandbox.hlt.bme.hu/~gaebor/ea_anyag/InfoMC/kjb.txt", "Text"];
bibleCounts=WordCounts[mytext]
bibleVocab=Keys[bibleCounts];

Total[bibleCounts[#]&/@bibleVocab]
Length[bibleVocab]

ListPlot[Values[bibleCounts], Joined->True]

Zipf törvény

ListLogLogPlot[Values[bibleCounts], Joined->True, PlotRange->All]

letterCounts=Counts[Characters[mytext]]

Feladatok

Készítsünk magyar rímszótárat.
Nincsen magyar szótár a Mathematica-ban, gyártsuk le magunk. Ehhez szöveg:
http://sandbox.hlt.bme.hu/~gaebor/ea_anyag/InfoMC/biblia.txt

Hogyan tehetjük kereshetővé?
Írjunk függvényt, ami egy adott szóhoz visszaad 10 hasonló végű szót (5 előtte és 5 utána lévő szót).

Position
SelectFirst

Csináljuk meg a a rímszótárat úgy, hogy kisbetűsítsünk minden szót és csak a magánhangzókat vegyük figyelembe a rendezésnél!

Nyelvi elemzés

Egy segéd függvény:

ReplaceTextElement[x_]:=x//.{TextElement[a_, b_]->{b,a}, TextElement[a_]->a, Association[Rule["GrammaticalUnit",Entity["GrammaticalUnit",b_]]]->b}

Nyelvtani fa és szófaj.

TextStructure["The cat sat on the mat."]
TreeForm[%]
ReplaceTextElement[%%]

TextStructure["The cat sat on the mat.","PartsOfSpeech"]
TreeForm[%]
ReplaceTextElement[%%]

ReplaceTextElement[TextStructure["You talk the talk, but do you walk the walk?","PartsOfSpeech"]]