1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Dolování textu metodou Bag-of-Words v R

Connected

Cvičení

Změna vah frekvencí

Dosud jsi v DocumentTermMatrix nebo TermDocumentMatrix jednoduše počítal/a výskyty termínů v dokumentech. V tomto cvičení se naučíš používat vážení TfIdf místo prosté frekvence termínů. TfIdf je zkratka pro term frequency-inverse document frequency (frekvence termínu – inverzní frekvence dokumentu) a hodí se tehdy, kdy máš velký korpus s omezenou rozmanitostí termínů.

TfIdf počítá výskyty termínů (tedy Tf), normalizuje hodnotu podle délky dokumentu a navíc penalizuje slova, která se často opakují napříč dokumenty. Je to logické – pokud je nějaké slovo velmi běžné, je sice relevantní, ale nepřináší nové poznatky. Tuto penalizaci zachycuje inverzní frekvence dokumentu (tedy Idf).

Představ si například poznámky zákaznické podpory, kde se zkratka „cu" používá místo slova „customer" (zákazník). V jedné poznámce může stát „the cu has a damaged package" a v jiné „cu called with question about delivery". Při vážení frekvencí dokumentů se „cu" vyskytuje dvakrát, takže se zdá být informativní. V přístupu TfIdf je však „cu" penalizováno, protože se objevuje ve všech dokumentech. Výsledkem je, že „cu" není považováno za nijak výjimečné a jeho hodnota se blíží 0 – díky tomu mohou jiné termíny dosáhnout vyšších hodnot pro analýzu.

Pokyny 1/2

undefined XP
  • 1
    • Vytvoř tdm, tedy TermDocumentMatrix() založenou na frekvenci termínů, s použitím text_corp.
    • Vytvoř tdm_m převodem tdm do podoby matice.
    • Prozkoumej frekvenci termínů „coffee", „espresso" a „latte" v několika tweetech. Vyfiltruj z tdm_m řádky c("coffee", "espresso", "latte") a sloupce 161 až 166.
  • 2
    • Uprav TermDocumentMatrix() tak, aby používala vážení TfIdf. Předej funkci argument control = list(weighting = weightTfIdf).
    • Spusť kód a porovnej nové hodnoty s výsledky z první části cvičení.