댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
사이트 로그인
###/review_list/### #너무 길어서 일부만 첨부합니다!
['상품 정보 : 살빠졌진 보이핏 / 연청 / L\n사람 정보 : 키 166 / 몸무게 65-68 / 평소 바지사이즈 L, 29-30\n\n날씬한 언니들 후기들이 많아서 구매할 때 고민을 엄청 했다. \n\n-탄탄한 원단이어서 아랫배를 잘 잡아줘서 만족. 여름에는 덥고 봄가을 입기 좋을 것 같다\n-종아리가 엄청나서 다리 라인이 안예쁜데 잘 가려주면서 핏도 괜찮\n-다리가 더 두꺼워 보일까봐 연청 엄청 고민했는데, 과하지 않은 색상이어서 연청 시키길 잘한 것 같음\n-다른 옷들이랑 코디하기 편할 것 같고 활용도가 좋음', '키는 171cm, 몸무게는 59-60, 허벅지는 제생각엔 두꺼운편 (줄자로 잴두꺼운부분 57-58cm) \n\n평소사이즈는 몰라서 66이라한거구욤\n살이쪄서ㅠ 원래26-27입다 요즘은27-28입는데 \n요거너무 좋아요ㅠㅠ진짜ㅠㅠ 저는 연청 입고되면 또살거에요...\n여기저기 홍보하고있을정도ㅜㅜ \n접어입는게 이쁜데 제 키에는 접으면 좀 짧지만 그때그때 기분대로입어요ㅎㅎ\n\n무튼 강추합니당. 진짜 편하구 핏도 이쁘고! 종아리 굵은데 (줄자로 젤 두꺼운부분 35-36cm) 커버되고 넘 죠하요\n\n아 근데 허리부분은 일반골반위치아니구 배꼽조금위라 많이먹을땐 힘드니 참고하세용ㅋㅋㅋㅋㅋ 그래듀 넘 이뻐요♡♡', '연청 진청 두개 다 구매했는데 진짜 예뻐요...아직 입고 나가보진 않았는데 오자마자 입어봤는데 바지도 편하고 예쁘고ㅠ 접어입어도 예쁘고 안접어도 예뻐요!!!!짱!!', '키 159 몸무게 52정도 되고 완전 100% 하체비만이에요. 어느정도냐면 거의 종아리랑 허벅지랑 둘레가 비슷할 정도로 항아리 다리라서 청바지를 절대 안입었(못입었)었는데 속는 셈 치고 샀더니 진짜... ㅠㅠ\n바로 진청 추가구매하려고 들어왔다가 후기남겨요. 저같은 하비한테는 체형커버도 커버지만 일단 핏이 정말 예쁘게 떨어져요. 전체적으로 봐도 부담스럽지 않고 특히 롤업해주니까 발목이 더 얇아보이고 다리전체도 얇아보이더라구요. 한번도 온라인쇼핑몰에다가 후기 남겨본 적 없는데 너무 감사해서 적어요 정말 후회 안하실거예요 꼭 사보세요.. 아,제가 원래 하비다보니까 바지 입고 굽 낮거나 없는 신발 신는 것 보다 5~6cm 되는 구두랑 같이 코디하니까 훨씬 얇아보이고 길어보여요 정말ㅠㅠㅠ♡', 'M 사이즈 구매했는데요, 원래 허벅지에 살이 있는편이라소 허벅지는 딱 맞고 허리는 크네요ㅜㅜ 허벅지 살을 빼고 입어야 예쁜 핏이 될꺼 같아요!\n살빠졌진 다른 바지들에 비해서는 신축성이 없어요! 무릎이 늘어날 걱정은 없는데 많이 먹는 날엔 백프로 힘들것 같습니댜 ;((', '살빠졌진 보이핏 후기입니다\n\n일단 너뮤 편하구용 다리도 길어보여요 \n짱짱 맘에들어요 길이도 이쁘게 잘 나왔오요', '저는 연청s사이즈샀어요. 일단 떨어지는 라인은 진짜 예뻐요!! 롤업을 하면 길이가 너무 많이 짧아져서ㅠㅠ 롤업은 못합니다..여름에는 약간 더울것같은 원단입니다.\n살때 참고하시라고 자세히 적을게요. 저는 키167-168정도에 49인데 허리는 안에 옷넣어입을만큼 정도이고 키크신분들은 s는 좀 짧다고 느낄수있어요!!늘어나는 스판은 전혀없지만 앉았다 일어났다는 편합니다.', '일단 움직일때 굉장히 편해서 좋았어요!! 색상도 기본중청으로 잘나온것같구 힐이랑 신어도 예쁠것같은..? 통이 넉넉해서 정말 통통하신분들이 입으면 커버되서 날씬해보일듯!!! 허리는 좀 크게 나온편이니까 상세 꼭 확인하고 주문하세용 ㅎㅎ', '바지 끝이 예쁘게 떨어지고 안뚱뚱해보여서 좋아요!0! 재구매의향있음', '진짜 너무 예쁩니다~~ 키168에 57이라 바지는 늘 L을 입어왔는데 저한테는 L이 많이 크더라구요! 비슷한 체형이신 분들 참고하세요!\nM으로 교환해서 받아봤는데 정말 너무 예쁩니다~ 제가 허벅지가 좀 굵어서 걱정했는데, 그런거 상관없다는 듯 바지핏이 넘 예쁘게 떨어지네요~ 보이핏 원하시는 분 꼭사세요 후회 없으실 듯합니다~~~'
1 2 | review_list = " ".join(review_list) review_list |
'상품 정보 : 살빠졌진 보이핏 / 연청 / L\n사람 정보 : 키 166 / 몸무게 65-68 / 평소 바지사이즈 L, 29-30\n\n날씬한 언니들 후기들이 많아서 구매할 때 고민을 엄청 했다. \n\n-탄탄한 원단이어서 아랫배를 잘 잡아줘서 만족. 여름에는 덥고 봄가을 입기 좋을 것 같다\n-종아리가 엄청나서 다리 라인이 안예쁜데 잘 가려주면서 핏도 괜찮\n-다리가 더 두꺼워 보일까봐 연청 엄청 고민했는데, 과하지 않은 색상이어서 연청 시키길 잘한 것 같음\n-다른 옷들이랑 코디하기 편할 것 같고 활용도가 좋음 키는 171cm, 몸무게는 59-60, 허벅지는 제생각엔 두꺼운편 (줄자로 잴두꺼운부분 57-58cm) \n\n평소사이즈는 몰라서 66이라한거구욤\n살이쪄서ㅠ 원래26-27입다 요즘은27-28입는데 \n요거너무 좋아요ㅠㅠ진짜ㅠㅠ 저는 연청 입고되면 또살거에요...\n여기저기 홍보하고있을정도ㅜㅜ \n접어입는게 이쁜데 제 키에는 접으면 좀 짧지만 그때그때 기분대로입어요ㅎㅎ\n\n무튼 강추합니당. 진짜 편하구 핏도 이쁘고! 종아리 굵은데 (줄자로 젤 두꺼운부분 35-36cm) 커버되고 넘 죠하요\n\n아 근데 허리부분은 일반골반위치아니구 배꼽조금위라 많이먹을땐 힘드니 참고하세용ㅋㅋㅋㅋㅋ 그래듀 넘 이뻐요♡♡ 연청 진청 두개 다 구매했는데 진짜 예뻐요...아직 입고 나가보진 않았는데 오자마자 입어봤는데 바지도 편하고 예쁘고ㅠ 접어입어도 예쁘고 안접어도 예뻐요!!!!짱!! 키 159 몸무게 52정도 되고 완전 100% 하체비만이에요. 어느정도냐면 거의 종아리랑 허벅지랑 둘레가 비슷할 정도로 항아리 다리라서 청바지를 절대 안입었(못입었)었는데 속는 셈 치고 샀더니 진짜... ㅠㅠ\n바로 진청 추가구매하려고 들어왔다가 후기남겨요. 저같은 하비한테는 체형커버도 커버지만 일단 핏이 정말 예쁘게 떨어져요. 전체적으로 봐도 부담스럽지 않고 특히 롤업해주니까 발목이 더 얇아보이고 다리전체도 얇아보이더라구요. 한번도 온라인쇼핑몰에다가 후기 남겨본 적 없는데 너무 감사해서 적어요 정말 후회 안하실거예요 꼭 사보세요.. 아,제가 원래 하비다보니까 바지 입고 굽 낮거나 없는 신발 신는 것 보다 5~6cm 되는 구두랑 같이 코디하니까 훨씬 얇아보이고 길어보여요 정말ㅠㅠㅠ♡ M 사이즈 구매했는데요, 원래 허벅지에 살이 있는편이라소 허벅지는 딱 맞고 허리는 크네요ㅜㅜ 허벅지 살을 빼고 입어야 예쁜 핏이 될꺼 같아요!\n살빠졌진 다른 바지들에 비해서는 신축성이 없어요! 무릎이 늘어날 걱정은 없는데 많이 먹는 날엔 백프로 힘들것 같습니댜 ;(( 살빠졌진 보이핏 후기입니다\n\n일단 너뮤 편하구용 다리도 길어보여요 \n짱짱 맘에들어요 길이도 이쁘게 잘 나왔오요 저는 연청s사이즈샀어요. 일단 떨어지는 라인은 진짜 예뻐요!! 롤업을 하면 길이가 너무 많이 짧아져서ㅠㅠ 롤업은 못합니다..여름에는 약간 더울것같은 원단입니다.\n살때 참고하시라고 자세히 적을게요. 저는 키167-168정도에 49인데 허리는 안에 옷넣어입을만큼 정도이고 키크신분들은 s는 좀 짧다고 느낄수있어요!!늘어나는 스판은 전혀없지만 앉았다 일어났다는 편합니다. 일단 움직일때 굉장히 편해서 좋았어요!! 색상도 기본중청으로 잘나온것같구 힐이랑 신어도 예쁠것같은..? 통이 넉넉해서 정말 통통하신분들이 입으면 커버되서 날씬해보일듯!!! 허리는 좀 크게 나온편이니까 상세 꼭 확인하고 주문하세용 ㅎㅎ 바지 끝이 예쁘게 떨어지고 안뚱뚱해보여서 좋아요!0! 재구매의향있음 진짜 너무 예쁩니다~~ 키168에 57이라 바지는 늘 L을 입어왔는데 저한테는 L이 많이 크더라구요! 비슷한 체형이신 분들 참고하세요!\nM으로 교환해서 받아봤는데 정말 너무 예쁩니다~ 제가 허벅지가 좀 굵어서 걱정했는데, 그런거 상관없다는 듯 바지핏이 넘 예쁘게 떨어지네요~ 보이핏 원하시는 분 꼭사세요 후회 없으실 듯합니다~~~
1 2 3 4 5 | import re review_list = re.sub('[-=+.,#/(?!:$}]', '', review_list) review_list = re.sub('[0-9]', '', review_list) review_list | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from konlpy.tag import * twitter = Twitter() #twitter class 객체당! komoran = Komoran() kkma = Kkma() def make_corpus_rm_stopwords(text): corpus = [] for s in text.split('\n'): corpus.append(['/'.join(p) for p in twitter.pos(s) if (p[1] != "Josa") & (p[1] != "Determiner") & (p[1] != "KoreanParticle") & (p[1] != "Punctuation")]) #임베딩에 필요없는 조사 빼고! return corpus corpus = make_corpus_rm_stopwords(review_list) corpus | cs |
###/corpus/### #역시 일부만 첨부합니다!
[['상품/Noun', '정보/Noun', '살빠졌진/Adjective', '보이/Noun', '핏/Noun', '연/Modifier', '청/Noun', 'L/Alpha'], ['사람/Noun', '정보/Noun', '키/Noun', '몸무게/Noun', '평소/Noun', '바지/Noun', '사이즈/Noun', 'L/Alpha'], [], ['날씬한/Adjective', '언니/Noun', '들/Suffix', '후기/Noun', '들/Suffix', '많아서/Adjective', '구매/Noun', '할/Verb', '때/Noun', '고민/Noun', '엄청/Adverb', '했다/Verb'], [], ['탄탄한/Adjective', '원단/Noun', '아랫/Modifier', '배/Noun', '잘/Verb', '잡아줘서/Verb', '만족/Noun', '여름/Noun', '덥고/Adjective', '봄/Noun', '가을/Noun', '입기/Verb', '좋을/Adjective', '것/Noun', '같다/Adjective']
1 2 3 | from gensim.models import Word2Vec, fasttext Skip_Gram_model = Word2Vec(corpus, size=25, window=5, min_count=5, workers=2, sg=1) | cs |
1 2 | words = Skip_Gram_model.wv.index2word #one-hot encoding알아서 해줌 words | cs |
['너무/Adverb', '바지/Noun', '진짜/Noun', '핏/Noun', '연/Modifier', '사이즈/Noun', '허리/Noun', '제/Noun', '청/Noun', '허벅지/Noun', '다리/Noun', '저/Noun', '구매/Noun', '같아요/Adjective', '딱/Adverb', '안/VerbPrefix', '들/Suffix', '고민/Noun', '잘/Verb', '정말/Noun', '좋아요/Adjective', '예뻐요/Adjective', '것/Noun', ....
1 2 | vectors = Skip_Gram_model.wv.vectors vectors |
array([[-0.00946812, 0.20265321, 0.28635332, ..., 0.28202927, -0.24851047, -0.15287688], [-0.02840229, 0.20405722, 0.2701155 , ..., 0.26997638, -0.25176477, -0.13814038], [-0.02414494, 0.20267196, 0.28887203, ..., 0.2676658 , -0.21911621, -0.12918772], ..., [ 0.01376533, 0.12784578, 0.19192848, ..., 0.17304657, -0.15187787, -0.0991761 ], [-0.0175157 , 0.1296291 , 0.21147071, ..., 0.20749983, -0.16693573, -0.10763147], [-0.01318917, 0.11856428, 0.17788784, ..., 0.18917157, -0.17810103, -0.11191662]], dtype=float32)
1 2 3 | len(vectors) #263 Skip_Gram_model_result = dict(zip(words, vectors)) | cs |
1 | Skip_Gram_model.most_similar('만족해요/Adjective', topn=5) | cs |
[('생각/Noun', 0.9986996650695801), ('좋아요/Adjective', 0.9985920786857605), ('스판/Noun', 0.998421311378479), ('최고/Noun', 0.9984130859375), ('입고/Verb', 0.9983964562416077)]
1 | Skip_Gram_model.most_similar('이뻐요/Adjective', topn=5) | cs |
[('살이/Noun', 0.99916011095047), ('보이핏/Noun', 0.9990991353988647), ('합니다/Verb', 0.9990346431732178), ('것/Noun', 0.999003529548645), ('입어도/Verb', 0.9989872574806213)]
1 | Skip_Gram_model.most_similar('했는데/Verb', topn=5) | cs |
[('좋아서/Adjective', 0.9993449449539185), ('키/Noun', 0.9993075728416443), ('너무/Adverb', 0.9992955923080444), ('들/Suffix', 0.999271035194397), ('이/Noun', 0.9991423487663269)]
1 | Skip_Gram_model.most_similar('색감/Noun', topn=5) | cs |
[('너무/Adverb', 0.9987787008285522), ('같아요/Adjective', 0.9987603425979614), ('들/Suffix', 0.9987325072288513), ('하비/Noun', 0.9987225532531738), ('허벅지/Noun', 0.998692512512207)]
1 2 3 4 5 | import matplotlib.font_manager as fm font_location = 'C:/Windows/Fonts/서울남산 장체B.ttf' # 한글아...한글아.. font_name = fm.FontProperties(fname = font_location).get_name() plt.rc('font', family = font_name) | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | def plot_with_labels(low_dim_embs, labels, filename='tsne.png'): assert low_dim_embs.shape[0] >= len(labels), 'More labels than embeddings' plt.figure(figsize=(18, 18)) # in inches # 해당 좌표에 점을 표시하고, 오른쪽/하단 정렬로 단어를 표시한다. for i, label in enumerate(labels): x, y = low_dim_embs[i] plt.scatter(x, y) plt.annotate(label, xy=(x, y), xytext=(5, 2), textcoords='offset points', ha='right', va='bottom') plt.savefig(filename) | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from sklearn.manifold import TSNE import matplotlib.pyplot as plt # low_dim_embs 내부 갯수와 n_components가 같아야 한다! # n_components : 차원 # perplexity : 가장 가까운 이웃 갯수 # n_iter : 최적화에 사용할 반복 횟수 # init : embedding 초기화 방법 tsne = TSNE(perplexity=30, n_components=2, init='pca', n_iter=5000) # plot 갯수. 8000개의 embeddings로부터 앞쪽 일부만 사용. # low_dim_embs에는 변환된 좌표 x, y가 들어있다. plot_only = 500 low_dim_embs = tsne.fit_transform(vectors[:plot_only]) # (500, 2) labels = words[:plot_only] plot_with_labels(low_dim_embs, labels) | cs |
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5