자신의 감정을 Mr.Children의 가사로 표현하고 싶습니다.
소개
이 사람은 무엇을 말하고 있어..?라고 하는 타이틀입니다만(웃음)..자연 언어 처리의 공부도 겸해, 4연휴를 이용해 만들어 보았습니다. 곧 어딘가에 웹에서 볼 수 있도록 노력하겠습니다.
개념과 완성 이미지
이 자료를 찾은 순간, 현상(As is)→과제→어야 할 모습(To be)을 내보내고 있었습니다.
과연 사업가 (웃음)
어떤 느낌으로 만들까라고 생각해 생각해 낸 것이 이하와 같은 구조입니다. ↓
내부에서 미스틸 가사 데이터 세트 작성 및 Word2Vec화. 자신의 감정도 마찬가지로 Word2Vec 처리하고 cos 유사도와 비슷한 가사를 끌어옵니다.
PoC 할 수 있었다!
상기의 전체상을 실현할 수 있을 것 같아서 딱 트라이했습니다.
결과... 「잠을 잘 수 없어서 힘들다」라는 자신의 감정에 대해 「사회인이 되어 중하를 짊어지고 깨닫게 되면 - 빛을 발하는 분에게」가 첫 번째로 돌아왔습니다. 어... 무서운 정도 깊게 읽어 온다...웃음
사용하는 것
형태소 분석: janome.tokenizer
Word2Vec : gensim.models의 word2vec
from janome.tokenizer import Tokenizer
from gensim.models import word2vec
형태소 해석으로 가사를 자르고 그 한마디마다 Word2Vec하고 있습니다.
최종적으로 벡터의 평균을 취득하는 것으로, 가사 1세트의 Word2Vec가 완성된다는 혼담입니다.
↓ 형태소 해석을 한 결과
문장을 Word2Vec하는 부분
# skip-gram Mr.Childrenの歌詞(sentences)で、w2vのモデルをつくる。
skipgram_model = word2vec.Word2Vec(sentences,
sg=1,
size=250,
min_count=2,
window=10, seed=1234)
#形態素解析をした1単語ごとにWord2Vecを行い、最後に平均をとる関数=>歌詞の文脈を反映したWord2Vecができる?
def avg_document_vector(data, num_features):
document_vec = np.zeros((len(data), num_features))
for i, doc_word_list in enumerate(data):
feature_vec = np.zeros((num_features,), dtype="float32")
for word in doc_word_list:
try:
feature_vec = np.add(
feature_vec, skipgram_model.wv.__getitem__(word))
except:
pass
feature_vec = np.divide(feature_vec, len(doc_word_list))
document_vec[i] = feature_vec
return document_vec
결론
단어를 벡터로 변환하여 일치도를 보는 것이 재미 있다고 생각했습니다.
BERT라든지 공부해보고 싶다~라고.
이 놀이를 서비스로 해 나가기 위해서는 곡수의 확장이 시급합니다. (2020/7/29 현재 : 5곡..웃음)
요령과 노래를 모아 갑니다.
그렇다고 해도, 이런 놀이가 4연휴의 스키마 시간으로 할 수 있게 되어 온 것이, 스킬이 붙어 오고 있는 것 같아 기쁘네요! !
Reference
이 문제에 관하여(자신의 감정을 Mr.Children의 가사로 표현하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/NGOhiroshi/items/893139b8c711134ff234
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 자료를 찾은 순간, 현상(As is)→과제→어야 할 모습(To be)을 내보내고 있었습니다.
과연 사업가 (웃음)
어떤 느낌으로 만들까라고 생각해 생각해 낸 것이 이하와 같은 구조입니다. ↓
내부에서 미스틸 가사 데이터 세트 작성 및 Word2Vec화. 자신의 감정도 마찬가지로 Word2Vec 처리하고 cos 유사도와 비슷한 가사를 끌어옵니다.
PoC 할 수 있었다!
상기의 전체상을 실현할 수 있을 것 같아서 딱 트라이했습니다.
결과... 「잠을 잘 수 없어서 힘들다」라는 자신의 감정에 대해 「사회인이 되어 중하를 짊어지고 깨닫게 되면 - 빛을 발하는 분에게」가 첫 번째로 돌아왔습니다. 어... 무서운 정도 깊게 읽어 온다...웃음
사용하는 것
형태소 분석: janome.tokenizer
Word2Vec : gensim.models의 word2vec
from janome.tokenizer import Tokenizer
from gensim.models import word2vec
형태소 해석으로 가사를 자르고 그 한마디마다 Word2Vec하고 있습니다.
최종적으로 벡터의 평균을 취득하는 것으로, 가사 1세트의 Word2Vec가 완성된다는 혼담입니다.
↓ 형태소 해석을 한 결과
문장을 Word2Vec하는 부분
# skip-gram Mr.Childrenの歌詞(sentences)で、w2vのモデルをつくる。
skipgram_model = word2vec.Word2Vec(sentences,
sg=1,
size=250,
min_count=2,
window=10, seed=1234)
#形態素解析をした1単語ごとにWord2Vecを行い、最後に平均をとる関数=>歌詞の文脈を反映したWord2Vecができる?
def avg_document_vector(data, num_features):
document_vec = np.zeros((len(data), num_features))
for i, doc_word_list in enumerate(data):
feature_vec = np.zeros((num_features,), dtype="float32")
for word in doc_word_list:
try:
feature_vec = np.add(
feature_vec, skipgram_model.wv.__getitem__(word))
except:
pass
feature_vec = np.divide(feature_vec, len(doc_word_list))
document_vec[i] = feature_vec
return document_vec
결론
단어를 벡터로 변환하여 일치도를 보는 것이 재미 있다고 생각했습니다.
BERT라든지 공부해보고 싶다~라고.
이 놀이를 서비스로 해 나가기 위해서는 곡수의 확장이 시급합니다. (2020/7/29 현재 : 5곡..웃음)
요령과 노래를 모아 갑니다.
그렇다고 해도, 이런 놀이가 4연휴의 스키마 시간으로 할 수 있게 되어 온 것이, 스킬이 붙어 오고 있는 것 같아 기쁘네요! !
Reference
이 문제에 관하여(자신의 감정을 Mr.Children의 가사로 표현하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/NGOhiroshi/items/893139b8c711134ff234
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
형태소 분석: janome.tokenizer
Word2Vec : gensim.models의 word2vec
from janome.tokenizer import Tokenizer
from gensim.models import word2vec
형태소 해석으로 가사를 자르고 그 한마디마다 Word2Vec하고 있습니다.
최종적으로 벡터의 평균을 취득하는 것으로, 가사 1세트의 Word2Vec가 완성된다는 혼담입니다.
↓ 형태소 해석을 한 결과
문장을 Word2Vec하는 부분
# skip-gram Mr.Childrenの歌詞(sentences)で、w2vのモデルをつくる。
skipgram_model = word2vec.Word2Vec(sentences,
sg=1,
size=250,
min_count=2,
window=10, seed=1234)
#形態素解析をした1単語ごとにWord2Vecを行い、最後に平均をとる関数=>歌詞の文脈を反映したWord2Vecができる?
def avg_document_vector(data, num_features):
document_vec = np.zeros((len(data), num_features))
for i, doc_word_list in enumerate(data):
feature_vec = np.zeros((num_features,), dtype="float32")
for word in doc_word_list:
try:
feature_vec = np.add(
feature_vec, skipgram_model.wv.__getitem__(word))
except:
pass
feature_vec = np.divide(feature_vec, len(doc_word_list))
document_vec[i] = feature_vec
return document_vec
결론
단어를 벡터로 변환하여 일치도를 보는 것이 재미 있다고 생각했습니다.
BERT라든지 공부해보고 싶다~라고.
이 놀이를 서비스로 해 나가기 위해서는 곡수의 확장이 시급합니다. (2020/7/29 현재 : 5곡..웃음)
요령과 노래를 모아 갑니다.
그렇다고 해도, 이런 놀이가 4연휴의 스키마 시간으로 할 수 있게 되어 온 것이, 스킬이 붙어 오고 있는 것 같아 기쁘네요! !
Reference
이 문제에 관하여(자신의 감정을 Mr.Children의 가사로 표현하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/NGOhiroshi/items/893139b8c711134ff234
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(자신의 감정을 Mr.Children의 가사로 표현하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/NGOhiroshi/items/893139b8c711134ff234텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)