Pythonで学ぶNLPの特徴量エンジニアリング
Rounak Banik
Data Scientist
| タイトル | 概要 |
|---|---|
| 上海ルージュ (Shanghai Triad) | 1930年代、地方出身で上海の犯罪一家に縁のある少年が、叔父により都会・上海でギャングの愛人の召使いにされる。 |
| Cry, the Beloved Country | 南アフリカの牧師が、大都市で罪を犯した息子を探しに出る。 |
get_recommendations("The Godfather")
1178 The Godfather: Part II
44030 The Godfather Trilogy: 1972-1990
1914 The Godfather: Part III
23126 Blood Ties
11297 Household Saints
34717 Start Liquidation
10821 Election
38030 Goodfellas
17729 Short Sharp Shock
26293 Beck 28 - Familjen
Name: title, dtype: object
# Import TfidfVectorizer
from sklearn.feature_extraction.text import TfidfVectorizer
# Create TfidfVectorizer object
vectorizer = TfidfVectorizer()
# Generate matrix of tf-idf vectors
tfidf_matrix = vectorizer.fit_transform(movie_plots)
# Import cosine_similarity
from sklearn.metrics.pairwise import cosine_similarity
# Generate cosine similarity matrix
cosine_sim = cosine_similarity(tfidf_matrix, tfidf_matrix)
array([[1. , 0.27435345, 0.23092036, ..., 0. , 0. ,
0.00758112],
[0.27435345, 1. , 0.1246955 , ..., 0. , 0. ,
0.00740494],
...,
[0.00758112, 0.00740494, 0. , ..., 0. , 0. ,
1. ]])
cosine_similarity の代わりに linear_kernel を使用。# Import cosine_similarity
from sklearn.metrics.pairwise import linear_kernel
# Generate cosine similarity matrix
cosine_sim = linear_kernel(tfidf_matrix, tfidf_matrix)
array([[1. , 0.27435345, 0.23092036, ..., 0. , 0. ,
0.00758112],
[0.27435345, 1. , 0.1246955 , ..., 0. , 0. ,
0.00740494],
...,
[0.00758112, 0.00740494, 0. , ..., 0. , 0. ,
1. ]])
get_recommendations('The Lion King', cosine_sim, indices)
7782 African Cats
5877 The Lion King 2: Simba's Pride
4524 Born Free
2719 The Bear
4770 Once Upon a Time in China III
7070 Crows Zero
739 The Wizard of Oz
8926 The Jungle Book
1749 Shadow of a Doubt
7993 October Baby
Name: title, dtype: object
Pythonで学ぶNLPの特徴量エンジニアリング