Skip to content

Feature-extraction-from-text #NLP

Feature extraction from text

  • Je vhodné extrahovat slova, která nejlépe reprezentují obsah dokumentu
  • Kroky předzpracování textu
    • Nalezení unikátních slov
    • Odebrání stop slov
    • Lemmatizace/stemming
    • Nastavení váhy termu
      • Termy
        • Slova nebo ngramy (n = délka substringu slova; všechny substringy, co jdou ze slova vytvořit)
        • Příklad vytvořte ngramy délky 3 slova: sleep
          • n=3
          • {sle, lee, eep}
    • Information extraction
    • Feature extraction
    • Name extraction
    • Term extraction
    • Abbreviation recognition
    • Relation extraction
  • Reprezentace dokumentů jako vektory

Způsoby feature extraction

  • Indexing
  • Weighting model tf
    • Term Frequency weighting
    • w_{ij} = Freq_{ij}
    • Freq_{ij}: Počítá kolikrát se term vyskytuje v dokumentu D_i
    • Nevýhoda
      • Nezachycuje důležitost dokumentu
  • Weighting Model tf x idf
    • Inverse Document Frequency weighting
    • w_{ij} = Freq_{ij} * log(N / DocFreq_j )
    • N: Počet dokumentu v trénovací sade
    • DocFreq_j: Počet dokumentu ve kterých se vyskytuje j term
    • Výhoda
      • Odrazi faktor důležitosti pro diskriminaci dokumentů
  • Dimension Reduction
    • Běžně se stanovuje threshold pro document frekvenci na jehož základě jsou vyřazena některá slova (tuctová, která se stávají významově stopwords)
    • Podobnosti se stanovují cosinovou vzdáleností

NLP

  • Natural language processing
  • Snaha získání kontextu z vět
  • Pro každý jazyk specifický

Techniky

Rozdělování vět

  • Běžné rozdělení na základě principu “. “ může přinášet chyby, např. u zkratek
  • Dá se vyřešit přidáním výjimek a nebo machine learningem

Tokenizace

  • Převádí text z vět na tokeny (většinou slova)
  • Problém se slovy ve tvaru “mary’s”
  • Tečky odebírány

Lemmatizace

  • Převedení tokenů (slov) do jejich základního tvaru (went -> go)

Přiřazování slovních druhů slovům (part of speech tagging)

  • K tokenům se přiřazuje jeho slovní druh ve větě (podstatné jméno, příd. jméno, sloveso atd.)
  • Nemožné nastavit manuálně
  • Dělá se pomocí metod založených na machine learningu pomocí tzv. POS taggerů
  • Závisí na jazyku