Python ile NLP için Özellik Mühendisliği
Rounak Banik
Data Scientist
human kelimesini beş kez içeriyor.human boyutunun ağırlığı 5tir.jupiter ve universe 20'şer kez geçiyor.jupiter diğer belgelerde nadirdir. universe yaygındır.jupiter'a daha fazla ağırlık verin.$$\red{w_{i,j}} = tf_{i,j} \cdot \log\left(\frac{N}{df_{i}}\right) $$
$$\red{w_{i,j}} \rightarrow \text{belge } j\text{'deki } i \text{ teriminin ağırlığı}$$
$$w_{i,j} = \red{tf_{i,j}} \cdot \log\left(\frac{N}{df_{i}}\right) $$
$$w_{i,j} \rightarrow \text{belge } j\text{'deki } i \text{ teriminin ağırlığı}$$
$$\red{tf_{i,j}} \rightarrow \text{belge } j\text{'de } i \text{ teriminin frekansı} $$
$$w_{i,j} = tf_{i,j} \cdot \red{\log\left(\frac{N}{df_{i}}\right)} $$
$$w_{i,j} \rightarrow \text{belge } j\text{'deki } i \text{ teriminin ağırlığı}$$
$$tf_{i,j} \rightarrow \text{belge } j\text{'de } i \text{ teriminin frekansı} $$
$$\red{N} \rightarrow \text{korpustaki belge sayısı} $$
$$\red{df_{i}} \rightarrow \text{ } i \text{ terimini içeren belge sayısı}$$
$$w_{i,j} = tf_{i,j} \cdot \log\left(\frac{N}{df_{i}}\right) $$
$$w_{i,j} \rightarrow \text{belge } j\text{'deki } i \text{ teriminin ağırlığı}$$
$$tf_{i,j} \rightarrow i \; teriminin \; belge \; j\text{'deki} \; frekansı $$
$$N \rightarrow korpustaki \; belge \; sayısı $$
$$df_{i} \rightarrow i \; terimini \; içeren \; belge \; sayısı $$
Örnek:
$\red{w_{library, document}} = 5 \cdot log(\frac{20}{8}) \approx 2 $
# Import TfidfVectorizer from sklearn.feature_extraction.text import TfidfVectorizer# Create TfidfVectorizer object vectorizer = TfidfVectorizer()# Generate matrix of word vectors tfidf_matrix = vectorizer.fit_transform(corpus) print(tfidf_matrix.toarray())
[[0. 0. 0. 0. 0.25434658 0.33443519
0.33443519 0. 0.25434658 0. 0.25434658 0.
0.76303975]
[0. 0.46735098 0. 0.46735098 0. 0.
0. 0.46735098 0. 0.46735098 0.35543247 0.
0. ]
...
Python ile NLP için Özellik Mühendisliği