logo

NMF

전처리는 [토픽 모델링을 위한 전처리](/course/text-mining/토픽 모델링을 위한 전처리)를 참조

SVD로 스크리 플롯

from sklearn.decomposition import TruncatedSVD
svd = TruncatedSVD(n_components=100, random_state=1234)
svd.fit(dtm)

스크리 플롯

import matplotlib.pyplot as plt
plt.plot(svd.explained_variance_)
[<matplotlib.lines.Line2D at 0x182beae9630>]

NMF

from sklearn.decomposition import NMF
NUM_TOPICS = 15
nmf = NMF(n_components=NUM_TOPICS, max_iter=500)
doc_emb = nmf.fit_transform(dtm)

단어 임베딩

word_emb = nmf.components_.T

words = cv.get_feature_names_out().tolist()
i = words.index('모발')

plt.plot(word_emb[i])
[<matplotlib.lines.Line2D at 0x182c00e8a30>]

코사인 유사도

from sklearn.metrics.pairwise import cosine_similarity
sim = cosine_similarity(word_emb)


import numpy as np
s = np.argsort(sim[i])
related = s[-2:-12:-1]
for j in related:
    print(words[j])
손상
염색
염모제
최소
윤기
트리트먼트
자극
산
피
감소

시각화

다차원 척도법

indices = []
target = ['모발', '손상', '두피', '모공',
          '용기', '내용물']
for w in target:
    i = words.index(w)
    indices.append(i)
    print(w, i)

dist = 1 - sim[indices, ][:, indices]

from sklearn.manifold import MDS
mds = MDS(dissimilarity='precomputed', random_state=1234)
pos = mds.fit_transform(dist)
모발 80
손상 159
두피 62
모공 78
용기 206
내용물 47

C:\Users\eupho\anaconda3\lib\site-packages\sklearn\manifold\_mds.py:299: FutureWarning: The default value of `normalized_stress` will change to `'auto'` in version 1.4. To suppress this warning, manually set the value of `normalized_stress`.
  warnings.warn(

한글 글꼴 설정

import matplotlib
matplotlib.rc('font', family='Malgun Gothic')
matplotlib.rc('axes', unicode_minus=False)  # 맑은 고딕에는 유니코드 마이너스 글꼴이 없음

plot에서 글자가 겹치지 않도록 조정해주는 adjustText

!pip install adjusttext
from adjustText import adjust_text
plt.plot(pos[:, 0], pos[:, 1], '.')
texts = [plt.text(pos[i, 0], pos[i, 1], w) for i, w in enumerate(target)]
adjust_text(texts)
4

토픽별 관련 단어 보기

for t in range(NUM_TOPICS):
    print(t)
    topic_words_idx = np.argsort(word_emb[:, t])

    for j in topic_words_idx[-1:-11:-1]:
        print(words[j])
0
샴푸
통
발명
부분

...

문서별 토픽 보기

0번 문서

doc_id = 0
df.iloc[doc_id]
status                                                     등록
ko_title    개운죽 잎 및 줄기 추출물을 함유하는 컨디셔닝 샴푸 조성물 및 이를 이용한 컨디셔닝...
en_title    Conditioning shampoo composition containing le...
abstract    본 발명은 개운죽 잎 및 줄기 추출물을 함유하여 모발의 윤기와 부드러움의 지속력을 ...
Name: 0, dtype: object

0번 문서 토픽 보기

plt.plot(doc_emb[doc_id])
[<matplotlib.lines.Line2D at 0x182c0000e50>]

0번 문서에서 가장 강한 토픽

topic_id = np.argmax(doc_emb[doc_id])
topic_id
7

해당 토픽의 문서 보기

topic_docs_idx = np.argsort(doc_emb[:,topic_id])[-1:-11:-1]
df.iloc[topic_docs_idx]

status ko_title en_title abstract
96 등록 어성초 쿨링 스피큘 샴푸 조성물 Houttuynia cordata Cooling Spicule Shampoo Com... 본 발명은 카르본산염형의 아니온성 계면활성제 5 내지 10 중량%, 양성 계면활성제...
288 등록 황칠나무 발효추출물을 함유한 모발용 화장료 조성물 Hair cosmetic composition containing an extrac... 본 발명은 모발용 화장료 조성물에 관련되며, 그 조성물에 있어서 (A) 황칠나무 발...
133 등록 천연 추출물이 함유된 기능성 샴푸 조성물 제조방법 Hair shampoo composition including natural ext... 본 발명은 집중 한방추출물을 복합적으로 적용하여 두피와 모발의 건강을 유지함은 물론...
1 공개 탈모 케어 헤어 샴푸 조성물 A SHAMPOO COMPOSITION FOR CARING HAIR LOSS 본 발명은 탈모 케어 헤어 샴푸 조성물에 관한 것으로, 보다 상세하게는 소리쟁이 추...
25 등록 발효 홍삼을 유효성분으로 함유하는 발모촉진용 두피 케어 샴푸 조성물 제조 방법 및 ... The manufacturing method of shampoo compositio... 본 발명은 소리쟁이를 함유한 지루성두피염 및 탈모완화용 샴푸 제조방법에 관한 것으로...
107 등록 황련추출물, 박하추출물 및 사해미네랄을 함유하는 비듬방지용 샴푸 조성물 The Dandruff Preventing Hair Cleaner Compositi... 본 발명은 자생 식물 추출물과 천연 한약재 추출물을 주요 유효 성분으로 하여 비듬을...
111 등록 탈모방지 및 발모 촉진용 샴푸 A shampoo for promoting a growith of a hair an... 본 발명은 자생 식물 추출물과 천연 한약재 추출물을 주요 유효 성분으로 하여 비듬을...
278 등록 손상모 재생 및 모발 보호 기능이 우수한 헤어 케어 트리트먼트용 조성물 Composition for hair care treatment 본 발명은 헤어 케어 트리트먼트용 용액 자체로 사용되거나, 샴푸, 염색제, 모발 케...
161 공개 천연 산화질소가 함유된 탈모방지 및 발모촉진용 샴푸 Shampoo Composition for Promoting Restoring Ha... 본 발명은 홍삼추출물을 포함한 애완동물용 샴푸의 조성물을 이용하여 애완동물의 피부와...
385 등록 허브추출물 및 영양캡슐을 포함하는 두피 및 모발의 보호 및 세정 조성물 Scalp and hair protecting and cleansing compos... 본 발명은 허브추출물 및 영양캡슐을 포함하는 두피 및 모발의 보호 및 세정 조성물에...

토픽 패턴이 가장 비슷한 문서 찾기

sims = cosine_similarity(doc_emb[[doc_id]], doc_emb).flatten()
sim_idx = np.argsort(sims)[-1:-11:-1]
df.iloc[sim_idx]

status ko_title en_title abstract
0 등록 개운죽 잎 및 줄기 추출물을 함유하는 컨디셔닝 샴푸 조성물 및 이를 이용한 컨디셔닝... Conditioning shampoo composition containing le... 본 발명은 개운죽 잎 및 줄기 추출물을 함유하여 모발의 윤기와 부드러움의 지속력을 ...
135 등록 컨디셔닝 샴푸 조성물 CONDITIONING SAMPOO COMPOSITION 본 발명은 모발을 청결하고 건강하게 관리할 수 있음은 물론, 모발 주변의 피부에 발...
300 등록 홍삼 추출물 함유 모발용 조성물 및 그 제조방법 Hair Composition Containing Red Ginseng Extrac... 본 발명은 유효성분으로, 홍삼 추출물; 및 상백피 추출물 및 황금 추출물로 구성된 ...
224 등록 막걸리 발효물을 포함하는 샴푸 조성물 및 이의 제조방법 SHAMPOO COMPOSITION COMPRISING MAKGEOLLI FERME... 본 명세서에는 막걸리 발효물을 포함하는 샴푸 조성물 및 이의 제조방법이 개시된다. ...
54 공개 안마겸용 기능성 샴푸대 Function Shampoo Chair 하르가이(Urtica laetevirens Maxim) 추출물, 어성초(Houttu...
198 등록 탈모 방지 및 모발 개선 기능을 갖는 샴푸 조성물 Shampoo composition for preventing hair loss a... 본 발명은, 약용식물워터를 포함하는 샴푸 조성물에 관한 것으로, 상기 약용식물워터는...
256 등록 와송을 이용한 아토피성 피부염 증상 개선용 화장료 조성물 Cosmetic Composition for Improving Atopic Derm... 본 발명은 와송을 이용한 화장료 조성물 및 이를 이용한 비누의 제조방법에 관한 것으...
288 등록 황칠나무 발효추출물을 함유한 모발용 화장료 조성물 Hair cosmetic composition containing an extrac... 본 발명은 모발용 화장료 조성물에 관련되며, 그 조성물에 있어서 (A) 황칠나무 발...
124 등록 청국장 샴푸 및 그 제조방법 Shampoo with Fermented Soybean and Process of ... 본 발명은 수용성 프로폴리스 발효 추출물, 적하수오 발효 추출물, 측백나무 발효 추...
260 등록 암에 대한 방사선 치료 증진용 조성물 A composition for enhancing the radiotherapy o... 본 발명은 샴푸진저(Zingiber zerumbet)의 조추출물 또는 그 조추출물의...

유사도 보기

sims[sim_idx]
array([1.        , 0.94207604, 0.93535827, 0.93282792, 0.90077393,
       0.8896695 , 0.888722  , 0.88676806, 0.88408099, 0.87945441])
Previous
잠재 의미 분석(LSA)