홈으로 돌아가기

츠베타예바의 «love» 에피테트: SpaCy 분석

이 기사는 단어 «love»에 대한 에피테트에 초점을 맞춰 마리나 츠베타예바의 시에 대한 NLP 분석을 설명합니다. 281개의 복합체가 확인되었으며, 주로 명사, 삼각형 모티프와 위치/문장 길이 통계. 재현을 위한 SpaCy 코드 제공.

SpaCy 대 츠베타예바: 사랑 에피테트의 비밀
Advertisement 728x90

스페이시(SpaCy)를 활용한 츠베타예바 시에서 '사랑'의 수식어 분석

마리나 츠베타예바는 서정시에서 '사랑'을 형용사보다 은유와 명사를 통해 묘사하는 경향이 있습니다. 그녀의 전집(707,487자)을 파이썬으로 분석한 결과, '사랑'이라는 단어 주변에 281개의 수식어 복합체가 발견되었습니다. 스페이시 라이브러리를 사용해 ±4 토큰의 문맥 창 내 의존 관계를 추출했습니다.

수식어 추출

analyze_epithets 함수는 스페이시 모델을 통해 텍스트를 처리하며, '사랑'의 자식 토큰(token.children)에 집중합니다. 기능어는 걸러내고, 명사, 완전형 및 단축형 형용사, 분사는 추출합니다. 문맥 창은 대상 토큰 자체는 제외합니다.

def analyze_epithets(text):
    doc = nlp(text)
    results = {'adj_full': [], 'adj_short': [], 'noun': [], 
               'participle': [], 'other': []}
    complexes = []
    
    for token in doc:
        if token.lemma_.lower() == 'love':
           children = list(token.children)
           window_start = max(0, token.i - 4)
           window_end = min(len(doc), token.i + 5)
           window_tokens = [doc[i] for i in range(window_start, window_end) 
                           if i != token.i]
           potential_epithets = []

수식어 분포:

Google AdInline article slot
  • 명사: 179개 (63.7%) — '사랑은 살과 피다'와 같은 은유가 주를 이룹니다.
  • 완전형 형용사: 81개 (28.8%).
  • 분사: 10개 (3.6%).
  • 단축형 형용사: 8개 (2.8%).

이는 츠베타예바를 일반적인 러시아 시와 구분 짓습니다: 묘사적 형용사 대신 개념을 동일시하는 명사를 사용합니다.

빈번한 표제어로는 '세 번째'(7회)가 있으며, 이는 세 번째 요소(시간, 운명, 시)가 있는 삼각관계 모티프를 강조합니다.

위치 분석

analyze_position 함수는 문장 내 '사랑'의 상대적 위치를 검토합니다. 강한 위치(시작/끝) 이론은 부분적으로 확인되었습니다.

Google AdInline article slot
def analyze_position(doc, target_word='love'):
    position_data = []
    
    for sent in doc.sents:
        love_tokens = [t for t in sent if t.lemma_.lower() == target_word]
        
        if love_tokens:
            sent_len = len(sent)
            for token in love_tokens:
                token_idx = token.i - sent.start
                rel_pos = token_idx / sent_len if sent_len > 0 else 0
                
                position_data.append({
                    'sentence_len': sent_len,
                    'relative_position': rel_pos
                })
    
    return pd.DataFrame(position_data)

191개 문장의 결과:

  • 평균 위치: 0.473.
  • 시작 (0.0–0.2): 50개 (26.2%).
  • 중간 (0.2–0.8): 108개 (56.5%).
  • 끝 (0.8–1.0): 33개 (17.3%).
  • 강한 위치: 43.5%.

이 단어는 선언적으로 강조되기보다 시의 구조에 통합되어 있습니다.

문장 길이 분석

'사랑'이 포함된 문장은 평균보다 깁니다:

Google AdInline article slot
all_sent_lengths = [len(sent) for sent in doc.sents]
avg_len_all = sum(all_sent_lengths) / len(all_sent_lengths)

sentences_with_love = [len(sent) for sent in doc.sents 
                       if any(t.lemma_.lower() == 'love' for t in sent)]
avg_len_love = sum(sentences_with_love) / len(sentences_with_love)
  • 전체 평균 길이: 15.3 토큰.
  • '사랑' 포함: 21 토큰.

사랑은 확장된 문맥을 필요로 하며 격언으로 축소될 수 없습니다.

핵심 요약

  • '사랑'의 수식어는 주로 명사(63.7%)로, 은유적 풍부함을 높입니다.
  • 7회 나타나는 '세 번째' 모티프는 감정의 복잡성을 강조합니다.
  • 단어의 위치는 문장 중간(56.5%)으로 치우쳐 서사에 통합됩니다.
  • '사랑'이 포함된 문장은 평균보다 37% 더 길어 설명을 요구합니다.
  • 스페이시는 문헌학적 NLP 분석을 위한 의존 관계 추출에 효과적입니다.

이 접근법은 어떤 시 코퍼스에도 적용 가능합니다: 창 조정, 표제어화, 품사 필터 조정으로 스타일에 대한 정량적 통찰을 제공합니다.

— Editorial Team

Advertisement 728x90

다음 읽기