Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를
Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류.
- 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로
자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거,
동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거.
- 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming,
Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business,
Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로,
나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는
title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백).
원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지.
- 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서.
- 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는
지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지.
- Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경.
- 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
자연어 처리(NLP)는 인간의 비정형 언어 데이터를 컴퓨터가 이해 가능한 통계적 수치, 그래프 구조, 그리고 의미론적 벡터로 변환하여 핵심 정보를 도출하는 분석 체계이다. [S1],[S3],[S5]
🧠 핵심 개념 (Core concepts)
비지도 학습 기반 단어 추출 (Unsupervised Word Extraction): 사전 학습 데이터 없이 말뭉치 내의 통계적 빈도와 패턴(Cohesion, Entropy)을 분석하여 단어의 경계를 식별한다. [S1]
그래프 기반 랭킹 (Graph-based Ranking): 단어 또는 문장 간의 공생(Co-occurrence) 관계를 그래프 노드와 엣지로 구성하고 중요도를 재귀적으로 계산한다. [S2]
의미론적 임베딩 (Semantic Embedding): 단어를 벡터 공간에 매핑하여 문맥적 유사성과 관계를 파악하며, 구글의 랭크브레인(RankBrain)과 같은 기술의 핵심이 된다. [S4]
형태소 및 자질 분석 (Feature Analysis): 어절, 형태소, 음절 단위의 확률을 고려하고 품사를 부착하여 텍스트의 구조적 품질을 향상시킨다. [S3]
🧩 추출된 패턴 (Extracted patterns)
L-R 구조 패턴: 한국어 어절의 특성을 "명사(L) + 조사(R)" 혹은 "어간(L) + 어미(R)" 구조로 파악하여 단어를 인식하는 휴리스틱이다. [S1]
중심성 지표 패턴: 언어 네트워크 분석에서 아이겐벡터(Eigenvector) 및 매개(Betweenness) 중심성을 활용해 전체 문맥에서 영향력이 큰 핵심 단어를 식별한다. [S5]
추출적 요약 패턴 (Extractive Summarization): 새로운 문장을 생성하는 대신 원문 내에서 중요도가 높은 문장을 그대로 선택하여 요약문을 구성한다. [S2],[S3]
⚖️ 비교 및 선택 기준 (Comparison & decision criteria)
항목 (Option)
장점
단점
언제 선택
추출적 요약
학습 데이터 요구량이 적고 원문의 의미 왜곡 위험이 낮음. [S2],[S3]
요약문이 다소 부자연스러울 수 있음.
핵심 키워드와 문장을 정확히 보존해야 할 때.
추상적 요약
사람이 요약하는 것과 유사하게 자연스러운 문장 생성 가능. [S2]
방대한 학습 데이터가 필요하며 의미 왜곡 가능성이 있음.
요약문의 가독성과 창의성이 중요할 때.
사전 기반 분석
분석 정확도가 높고 품사 정보가 명확함.
신조어(OOV) 대응이 어렵고 사전 유지보수 비용 발생. [S1]
정제된 표준어 데이터셋을 분석할 때.
통계 기반 분석
신조어 및 도메인 특화 용어 추출에 탁월함. [S1]
일정 규모 이상의 동질적 말뭉치가 필요함.
영화 댓글, 뉴스 등 변화가 빠른 데이터를 다룰 때.
📖 세부 내용 (Details)
1. 알고리즘적 접근법
soynlp의 통계 기법:Cohesion score는 문자열이 단어로 뭉쳐지는 응집력을 측정하며, Branching Entropy는 단어 뒤에 올 수 있는 글자의 불확실성을 측정하여 단어의 끝을 식별한다. [S1]
TextRank: 구글의 PageRank 알고리즘을 텍스트에 적용한 것으로, 단어를 노드로, 단어 간 공생 관계를 엣지로 설정한다. 중요도는 "영향력 있는 노드에 의해 인용될수록 높아진다"는 재귀적 원리를 따른다. [S2]
TF-IDF 및 RIDF: 단어 빈도(TF)와 역문서 빈도(IDF)를 결합하여 문서 내 중요도를 산출하며, Poisson 분포를 활용한 RIDF 알고리즘을 통해 불용어 제거 품질을 높인다. [S3]
2. 구글의 의미론적 진화
허밍버드(Hummingbird): 단어의 문자 그대로의 일치가 아닌 문맥과 관계를 고려하는 업데이트로, 텍스트에 '실체(Entity)' 개념을 도입하였다. [S4]
랭크브레인(RankBrain): 머신러닝을 통해 단어를 벡터(Word Embedding)에 매핑하여 이전에 본 적 없는 검색어의 의도를 이해하고 관련 결과와 일치시킨다. [S4]
3. 언어 네트워크 분석 (SNA)
텍스트 내 개념들의 의미적 관계를 계량적으로 파악하기 위해 네트워크 지표를 활용한다. [S5]
아이겐벡터 중심성: 연결된 다른 노드의 중요도까지 가중치로 반영하여 전체 네트워크에서의 영향력을 측정한다. [S5]
매개 중심성: 단어 간 네트워크 형성에서 중개자 역할을 수행하는 정도를 측정하며, 정보의 흐름을 통제하는 핵심 키워드를 찾는 데 유용하다. [S5]
⚖️ 모순 및 업데이트 (Contradictions & updates)
PageRank 수식 수정: 초기 PageRank 논문의 수식에서는 모든 페이지의 합이 1이 되어야 했으나, 실제 수식 구조상 합이 전체 페이지 수(N)가 되는 오류가 발견되어 위키피디아 등을 통해 수정된 수식이 제안되었다. [S2]
검색 의도 분류: 과거에는 단순 3분법(정보, 탐색, 거래)을 사용했으나, 구글 품질 가이드라인 업데이트에 따라 'Know', 'Do', 'Device Action' 등 사용자 여정에 맞춘 세분화된 분류가 강조되고 있다. [S4],[S6]
🛠️ 적용 사례 (Applied in summary)
한국어 신조어 인식:soynlp를 통해 사전 학습 데이터 없이 '트와이스', '아이오아이'와 같은 미등록 단어(OOV)를 뉴스 데이터에서 자동으로 추출함. [S1]
위험 인식 시각화: 코로나19 관련 인터뷰 텍스트를 언어 네트워크 분석(NetMiner 4 활용)으로 처리하여 연령대별 '가족', '아이', '마스크' 등 핵심 인식 구조를 도출함. [S5]
인스타그램 트렌드 분석: '스타태그' 솔루션을 통해 해시태그를 단어/명사 형태로 수집하고 반응도와 트렌드 지수를 산출하여 상권 변화를 분석함. [S7]
💻 코드 패턴 (Code patterns)
# soynlp를 이용한 한국어 비지도학습 단어 추출 패턴fromsoynlp.wordimportWordExtractor# 1. 말뭉치 학습 (동질적 집단의 대규모 문서 권장)word_extractor=WordExtractor()word_extractor.train(sentences)# list of str# 2. 통계 지표 기반 단어 점수 추출word_scores=word_extractor.extract()# 3. 특정 단어의 응집도 및 엔트로피 확인# 예: '자연어'라는 단어의 Cohesion 점수 확인cohesion_score=word_scores['자연어'].cohesion_forward
[S1]
✅ 검증 상태 및 신뢰도
상태: draft
검증 단계: conceptual (실제 오픈소스 라이브러리 soynlp 및 구글 알고리즘에 적용됨)
출처 신뢰도: A (학술지 DBpia 논문, GitHub 공식 문서, 검색 엔진 전문 가이드 기반)