- Topic_Blog: 미추적 상태였던 SEO/색인 지식 문서 일괄 추적 추가
(Google '페이지 색인 생성 보고서' 기반 신규 6종 포함:
페이지 색인 생성 보고서/색인 생성 유효성 검사/Soft 404/NOINDEX/
크롤링됨·발견됨-현재 색인 안 됨/SEO를 위한 HTTP 상태 코드).
- orphan 연결: 완전 고립된 지식 문서 9개를 관련 기존 문서와 양방향 링크
(Game Design 쌍, Aerospace, Apple Vision Pro, 3D_Web_HMI, Stock 3,
Topics_Biz). append-only, 존재 타깃만 링크(dangling 0).
도구: Datacollect/scripts/wiki_audit.mjs (중복·orphan 감사)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
키워드 산출은 텍스트 내의 통계적 패턴, 그래프 기반의 중요도 전파, 그리고 사용자의 검색 의도를 결합하여 데이터의 핵심 가치를 식별하는 다차원적 분석 프로세스이다. [S1],[S3],[S7]
🧠 핵심 개념 (Core concepts)
통계 기반 단어 추출 (Statistical Extraction): 학습 데이터 없이 말뭉치의 통계적 패턴(Cohesion, Entropy)을 통해 단어 경계를 식별하고 추출한다. [S1]
그래프 기반 랭킹 (Graph-based Ranking): 단어 간의 공생 관계(Co-occurrence)를 그래프로 구축하고 PageRank 알고리즘을 적용하여 상대적 중요도를 산출한다. [S3]
검색 의도 및 수요 분석 (Search Intent & Demand): 사용자가 검색을 통해 달성하고자 하는 목표(정보, 탐색, 구매)와 검색량, 난이도 등 시장 지표를 분석한다. [S7],[S9]
언어 네트워크 분석 (Semantic Network Analysis): 핵심어 간의 연결 구조에서 중심성(Centrality) 지표를 활용하여 네트워크 내 영향력이 큰 키워드를 도출한다. [S8]
🧩 추출된 패턴 (Extracted patterns)
L-R 구조 분석: 한국어 어절을 "명사+조사"와 같은 "L + [R]" 구조로 파악하여 명사 점수와 Cohesion 점수를 결합해 단어를 인식한다. [S1]
Recursive Ranking 패턴: 특정 단어의 중요도는 그 단어를 수식하거나 함께 등장하는 다른 중요 단어들에 의해 결정되는 재귀적 구조를 가진다(TextRank). [S3]
롱테일 키워드 전략: 검색량은 적으나 구체적인 의도를 포함한 3~4단어 이상의 조합을 통해 높은 전환율을 확보한다. [S9]
⚖️ 비교 및 선택 기준 (Comparison & decision criteria)
항목 (Option)
장점
단점
언제 선택
TF-IDF
구현이 간단하며 특정 문서 내 독창적인 단어 식별에 유효함. [S6]
문서 집합 전체에 대한 의존도가 높고 단어 간 문맥 파악이 어려움.
대규모 문서 집합에서 빠르게 핵심 용어를 추출할 때.
TextRank
비지도 학습 방식으로 문서 내 관계를 반영한 중요도 산출 가능. [S3]
그래프 구축 및 수렴 계산에 연산 비용이 발생함.
단일 문서 또는 소규모 문서에서 핵심 문장/단어를 뽑을 때.
비지도 학습 (soynlp)
신조어나 미등록 단어(OOV) 문제 해결에 탁월함. [S1]
일정 규모 이상의 동질적 말뭉치가 필요함.
도메인 특화 용어나 신조어가 많은 데이터 분석 시.
SEO 도구 (Google/Ahrefs)
실제 사용자 검색량, CPC, 경쟁 난이도 등 시장 데이터 제공. [S4],[S5]
외부 유료 도구 의존도가 높고 텍스트 내부 논리 분석은 부재함.
마케팅 성과 직결 키워드나 경쟁사 분석이 필요할 때.
📖 세부 내용 (Details)
1. 알고리즘 기반 추출 기법
soynlp 비지도학습:WordExtractor는 Cohesion score, Branching Entropy, Accessor Variety 등의 통계 지표를 활용한다. [S1] 특히 한국어 특성을 반영하여 명사 우측에 붙는 조사 분포를 살피는 NounExtractor v2가 높은 성능을 보인다. [S1]
TextRank: 구글의 PageRank를 텍스트에 적용한 것으로, 단어를 노드로, 단어 간 공생(Co-occurrence)을 엣지로 연결한다. [S3] 텍스트를 토큰화하고 POS 태깅으로 필터링한 후, 노드 중요도가 수렴할 때까지 반복 계산하여 Top N개의 키워드를 산출한다. [S3]
TF-IDF 및 RIDF: 단어 빈도(TF)와 역문서 빈도(IDF)를 사용하여 특정 문서에서의 상대적 중요도를 수치화한다. [S6] 불용어 제거를 위해 포아송 분포를 이용한 RIDF 알고리즘을 병행하기도 한다. [S6]
2. 마케팅 및 SEO 관점의 리서치
사용자 검색 의도(Search Intent): 키워드는 정보 제공(Informational), 네비게이션(Navigational), 거래(Transactional), 상업적 조사(Commercial Investigation)의 4가지 유형으로 분류된다. [S4],[S7] 단순 키워드 추출을 넘어 사용자가 '정말 원하는 것'을 파악하는 것이 핵심이다. [S7]
경쟁사 분석: Ahrefs, SEMrush, 구글 키워드 플래너 등을 통해 경쟁사 웹사이트의 유기적 키워드와 성과를 역설계(Reverse Engineering)하여 기회 키워드를 발굴한다. [S4]
해시태그 분석: 인스타그램 등 소셜 미디어에서는 누적 게시물 수 외에도 '반응도' 및 '트렌드 지수'를 통해 현재 시점에서 유효한 키워드를 선별한다. [S10]
3. 언어 네트워크 분석 (SNA)
중심성 지표: 핵심어 사이의 관계를 계량적으로 파악하기 위해 아이겐벡터 중심성(연결된 노드의 중요도 고려)과 매개중심성(네트워크 흐름 통제력)을 활용한다. [S8] 이를 통해 단순히 빈도가 높은 단어가 아닌, 의미론적으로 핵심적인 '연결 고리' 단어를 식별할 수 있다. [S8]
⚖️ 모순 및 업데이트 (Contradictions & updates)
PageRank 수식의 오류: 세르게이 브린과 래리 페이지의 초기 논문 수식에 따르면 모든 웹페이지의 PR 합이 1이 되어야 하나, 실제로는 덤핑 팩터(d) 설정에 따라 달라질 수 있다는 지적이 있으며 위키피디아 등에서 수정된 수식이 제안되었다. [S3]
의도 분류의 진화: 과거에는 의도를 정보/탐색/거래의 3분법으로 보았으나, 구글의 품질 평가 가이드라인 등 최신 기준은 이를 훨씬 세분화하여 정의(Know, Go, Do, Device Action 등)한다. [S7]
🛠️ 적용 사례 (Applied in summary)
soynlp 라이브러리: 한국어 미등록 단어 문제를 해결하기 위해 WordExtractor 및 NounExtractor가 구현되어 있으며, 복합명사 인식 능력을 수정한 v2가 실제 사용되고 있다. [S1]
KR-WordRank: HITS 알고리즘을 활용하여 토크나이저 학습 없이도 한국어 뉴스나 댓글에서 핵심 키워드를 추출하는 사례가 있다. [S1]
지역 상권 분석: 해시태그 트렌드 지수를 활용하여 가로수길, 망리단길 등 특정 지역의 상권 변화와 미래 핫플레이스를 예측하는 '어썸플레이스' 서비스에 적용되었다. [S10]
💻 코드 패턴 (Code patterns)
# soynlp를 이용한 단어 추출 및 토큰화 패턴 (Python 3.5+)fromsoynlp.wordimportWordExtractorfromsoynlp.tokenizerimportLTokenizer# 1. 단어 추출기 학습word_extractor=WordExtractor()word_extractor.train(sentences)# sentences: list of stringsword_scores=word_extractor.extract()# 2. L-R 구조 기반 토큰화 (Cohesion 점수 활용)scores={word:score.cohesion_forwardforword,scoreinword_scores.items()}tokenizer=LTokenizer(scores=scores)tokens=tokenizer.tokenize("띄어쓰기가잘된한국어문장입니다")# 결과 예시: ['띄어쓰기', '가', '잘된', '한국어', '문장', '입니다'] [S1]