100일간의 거절을 통해 배운 것들

지아 지앙은 대부분의 우리가 두려워하는 거절을 과감하게 탐험합니다. 100일 동안 거절을 찾아 다니며 (낯선 사람에게 백 달러를 빌려 달라고하기, 식당에서 "버거 리필"을 요구하기) 거절이 가

www.ted.com

 

     몇일전 친구를 카페에서 만났다. 얘기를 하던 중간에 친구가 핸드폰 충전을 해야한다면 충전기를 꺼냈는데 

     카페내에 콘센트가 보이지 않았다. 그래서 친구한테 '직원한테 부탁해봐' 라고 했더니 친구가 곤란해 하면서

     거절당하는게 무섭다고 나한테 물어봐달라고 부탁을 했다.

 

     나도 그런적 있었다. 

     거절을 당하면 움츠러들고 어디 숨어버리고 싶고.. 

     그게 싫어서 부탁도 안하게 되고, 질문이 있어도 안하게 되었다.

     그러다 몇달전 우연히 '100일간의 거절을 통해 배운 것들' 이라는 유튜브를 보았다.

     블로거 '지아 장'이라는 분이 말도 안되는 부탁을 하면서 일부러 거절을 당했고,

     그렇게 100일동안 100번 거절 당하기를 통해 두려움을 극복 할 수 있었다고 한다.

          

 

'거절당하기' 50번…두려움을 깼다[남기자의 체헐리즘] - 머니투데이

올해 첫눈이 올 거라던 21일 낮, 청계천 산책로는 을씨년스러웠다. 차가워진 바람이 얼굴을 연신 두드렸다. 이날은 서른 여섯번째 생일(生日)이었다. 청계천 초입에서 두리...

news.mt.co.kr

     이 유튜브에 영감을 받아 '남형도' 기자도 50번 거절 당하기 실험을 하였고 그 경험을 글로 작성하였다. 

     처음에 거절 당할때는 생각보다 정신적으로 많이 힘들었다고 한다.

     말도 안되는 부탁을 하는걸 알면서도 거절을 당하면 부끄럽고 자존심도 상하고 숨어버리고 싶었다고... 

     그런데 10번 정도 거절을 당하니 부탁이 편해지고,  30번이 넘어가니 그뒤로 거절당하면 '감사합니다' 라고 외치게 되었다고.

     그리고 실험 끝에 그는 이렇게 말했다.

 

      ''50번의 NO', 거절에 당당해졌다"

 

     몇년 전 일본에 사는 친척 언니를 만나러 간적이 있었다.

     언니는 가끔 편의점에서 신기한 광고나 문구를 발견하면 꼭 이게 무슨 내용인지 찾아보고

     모르겠으면 편의점이나 회사에 직접 물어본다고 한다.

     "궁금하면 가서 물어봐야지. 왜 안물어봐?"

 

      난 거절당하기 유튜브와 남형도 기자의 글을 읽고 부탁 할 일이 있으면 피하지 않기 연습을 시작했다.

      '그래 뭐 어때, 까짓거 거절 당하면 당하고 말지.'     

      모르는게 있으면 물어보고, 원하는게 있으면 부탁도 해보고.      

      조금씩 거절에 당당해져가고 있다.

      거절 당하면 깨끗하게 끝이지만 거절 당할까봐 아무것도 하지 않으면 아무일도 일어나지 않고 오히려 해볼걸...      

      하는 후회만 남는다.

 

 

 

 

 

 

     카운트 벡터에서는 빈도는 일종의 가중치로 작용하기에 빈도가 높을수록 중요한 단어로 취급 되는 경향이 있다.

     그렇다면 어떤 단어가 모든 문서에 나타난다면 그 단어는 과연 중요한 단어일까?

     모든 문서에 'the' 의 빈도수가 높다고 해서 중요하다고 생각하긴 어려울 것이다. 

     이걸 다시 얘기하면 모든 문서에 다 들어있는 단어는 별로 중요하지 않다.

     이러한 의미를 카운트 벡터에 반영한 것이 바로 TF-IDF 이다. 

 

    1. TF-IDF 란?

      용어 그대로 해석하면 단어빈도(Term Frequency) - 역문서빈도(Inverse Document Frequency) 인데,

      카운트 대신 단어의 빈도에 그 단어가 출현한 문서 수의 역수를 곱했다는 뜻이다.

 

      TF-IDF는 모든 문서에서 자주 등장하는 단어는 중요도가 낮다고 판단하며,

      특정 문서에서만 자주 등장하는 단어는 중요도가 높다고 판단한다.

      TF-IDF 값이 낮으면 중요도가 낮은 것이며, TF-IDF 값이 크면 중요도가 큰 것이다.

      즉, the나 a와 같이 불용어의 경우에는 모든 문서에 자주 등장하기 때문에

      불용어의 TF-IDF의 값은 다른 단어의 TF-IDF에 비해서 낮아지게 된다. 

 

    2. 예제

 

      위의 예제에서 카운트 벡터의 값(DTM)과 TF-IDF의 벡터 값이 다른것을 확인할 수 있다.

      또한, DTM의 결과에서 값이 0인것은 TF-IDF의 결과에서도 값은 0이다.

 

 

 

 

 

 

 

 

 

 

      REFERENCE  

     파이썬 텍스트 마이닝 완벽 가이드

     https://wikidocs.net/31698      

 

     1. 문서 단어 행렬(Document-Term Matrix, DTM)이란?

        다수의 문서에서 등장하는 각 단어들의 빈도를 행렬 값으로 표현한 것을 말한다. 

        표1과 같이 각 문서에 대한 BoW를 하나의 행렬로 표현하고 부르는 용어이다. 

       문서 단어 행렬은 문서들을 서로 비교할 수 있도록 수치화할 수 있다는 점에서 의의로 갖는다. 

표1

     

     2. DTM의 한계

       문서의 수가 많아지면 대부분의 값이 0으로 표현되는 희소 벡터(sparse vector)의 문제가 생긴다.

       희소 벡터는 많은 양의 저장 공간과 높은 계산 복잡도를 요구하기에 좋지 않다.

       이러한 이유로 텍스트 전처리 방법을 사용하여 구두점, 빈도수가 낮은 단어, 불용어를 제거하고,

       어간이나 표제어 추출을 통해 단어를 정규화하여 단어 집합의 크기를 줄인다.

 

       또한,

       단순 빈도 수 접근 방법은 한계를 가지기도 하는데 예를들어 불용어인 the는 어떤 문서이든 자주 등장한다.

       유사한 문서인지 비교하고 싶은 문서들에서 동일하게 the가 빈도수가 높다고 해서 이 문서들이

       유사한 문서라고 판단해서는 안된다.

 

 

 

 

 

     REFERENCE

    https://wikidocs.net/24559

https://n.news.naver.com/article/009/0005074828?sid=103

 

[생활속 건강 톡 '메디神'] 긍정적 생각이 사망·심혈관계 위험 낮춘다

박경우 서울대병원 강남센터원장 ◆ 생활속 건강 톡 '메디神' ◆ '긍정적인 사고는 긍정적인 결과를 낳습니다.' 회사를 운영하던 필자의 부친이 이메일 말미에 항상 붙이던 문구다. 자라면서 밥

n.news.naver.com

 

     '긍정적인 사고는 긍정적인 결과를 낳는다.'

     예전부터 많이 들었던 얘기지만 실천하기가 쉽지 않았고 그러다보니 와 닿지도 않았다.

     그러다 몇일전에 이 기사를 읽었는데 왜 이렇게 오래 기억에 남았던지.

     기사에서는 긍정적인 사고를 하기위해 도움이 되는 4가지를 소개하고 있다.

 

     첫째. 긍정적인 프레임으로 사안을 봐야한다.

     물이 컵에 반만 차 있다면 물이 반밖에 차있다라고 생각하기 보다는 반쯤 남아 있는 물의 가능성을 생각 하라는 것이다.

     친구를 만나기로 했는데 갑자기 친구가 약속을 취소해 버렸다.

     이럴때 '아 짜증나' 보다는 '아 계속 미뤘던 은행 업무 보러 가야겠다.' 이렇게 다른일을 하기위한 시간을 벌었다고 생각하자.

 

     둘째. 감사하는 마음을 가져야한다. 

     내 입장에서 아쉬웠던 일들을 위주로 생각하면 긍정적이기 어렵다.

     아쉬운일이 아닌 오늘 하루 감사했던 일들을 생각하면 내가 얼마나 운이 좋은 사람인지 알게되고 마음이 긍정적으로 변한다고. 

      

     셋째. 내가 할 수 있는 것과 할 수 없는 것을 구분해 할 수 있는 일에 에너지를 집중하자.

     이게 제일 힘든거 같다. 난 사소한거에 신경을 많이 쓰고 걱정이 너무 많다.

     걱정의 절반 이상이 일어나지 않을 일에 대한 것인데..

     불확실성은 인간에게는 고민의 근원이 된다. 하지만 고민 한다고해서 해결될것도 아니지 않은가.

     지금 내가 할 일에 집중하는 것이 나의 건강에 도움이 되는 것을 기억하자.

 

     넷째.  내 주변과 친구들을 돌아봐야 한다.

     냉소적이고 부정적인 사람들과 어울리기 보다는 긍정적이고 밝은 친구들과 어울리려고 노력하자.

     정말 감사하게도 내가 어울리는 사람은 대체적으로 열심히 살아가는 긍정적인 사람들이다.     

     생각지도 못했는데 감사할 일이 생겼다. 

 

      이렇게 하루를 긍정적으로 감사하게 채워나가는 2023년이 되었으면 좋겠다.

 

 

 

 

 

 

     

     

 

    

     

 

     1. Bag of Words란 ?

         단어들의 출현 빈도(frequency)에만 집중하는 텍스트 데이터의 수치화 표현 방법으로

         문서가 가지는 모든 단어를 문맥이나 순서를 무시하고 단어에 대해 빈도 값을 부여해 특성(feature) 값을 추출하는 모델이다. 

         문서 내 모든 단어를 한꺼번에 Bag안에 넣은 뒤에 흔들어서 섞는다는 말로 Bag of Words 모델이라고 한다.

 

         예를 들어 책을 한 권 읽고 대략 어떤 내용인지 알아내야 한다고 생각해보자.

         처음부터 차근차근 글을 읽어 나가는 데에는 시간이 오래 걸린다.

         이를 좀 더 빨리 할 수 있는 방법은 컴퓨터를 이용해서 책에 나오는 단어의 빈도를 세는 것이다.

         책에 어떤 단어가 주로 사용됐는지 알아내면 내용을 유추할 수 있다. 

 

     2. Bag of Words 프로세스는?

         텍스트 마이닝을 하려면 말뭉치(corpus)를 우리가 다룰 수 있는 수치 형태로 변환해야 한다.

         이때 각 수치는 그 텍스트의 특성(feature)을 표현한다.

 

         비유를 들자면, 사람이라는 대상의 특성으로는 이름, 나이, 키, 몸무게 등이 있을 것이다.

         각 사람을 구분할 수 있는 것은 이러한 특성의 값들이 달라서다. (ex. Mike, 28 years old, 170cm, 62kg)

         우리가 정의한 특성 관점에서, 비슷한 사람끼리는 특성 값이 비슷할 것이다.

         그와 마찬가지로 텍스트 마이닝에서는 텍스트의 특성을 정의하고 그 값으로 텍스트를 구분한다. 

 

     

     3. BoW 피처(feature) 벡터화

         머신러닝 알고리즘은 일반적으로 숫자형 피처를 데이터로 입력: 받아 동작하기 때문에

         텍스트 데이터를 특정 의미를 가지는 숫자형 값인 벡터 값으로 변환해야 한다. 

         이러한 변환을 피처 벡터화라고 한다.

Bow의 피처 벡터화 2가지 방식

1. 카운트 기반의 벡터화
   : 단어 피처에 값을 부여할 때 각 문서에서 해당 단어가 나타나는 횟수, 즉 Count를 부여하는 경우를 말한다.
     카운트 벡터화에서는 카운트 값이 높을수록 중요한 단어로 인식된다.

2. TF-IDF(Term Frequency - Inverse Document Frequency) 기반의 벡터화
   : 개별 문서에서 자주 나타나는 단어에 높은 가중치를 주되, 모든 문서에서 전반적으로 자주 나타나는 단어에
     대해서는 패널티를 주는 방식으로 값을 부여하는 방법이다.

 

     4. 텍스트의 특성(feature)은?

         그렇다면 텍스트의 특성은 무엇으로 정의할 수 있을까?

         텍스트의 특성은 단어로 표현하고, 특성값은 그 단어가 텍스트에서 나타나는 횟수로 표현한다.

         예를들어 "text mining is the process of deriving high quality information from text"라는 문장이 있을 때,

         이 문장에는 'text', 'mining', 'is', 'the'등의 단어가 사용됐다.

         따라서 각 단어가 특성이 되고, 이 단어의 빈도가  특성의 값이 된다.

         다음과 같이 파이썬의 딕셔너리로 표현 할 수 있다.

     

     feature = { 'text': 2,  'mining': 1,  'is': 1,  'the': 1,  'process': 1,  'of': 1,  'deriving': 1,  'high': 1,  'quality': 1, 'information': 1,  'from': 1}

 

         모든 문서의 특성은 같아야 서로 비교할 수 있기 때문에 동일한 단어들로 특성을 표현해야 한다.

         다시 말해 전체 말 뭉치에 한번이라도 사용된 단어는 문서에 없더라도 특성에 포함하고 빈도를 0으로 주면 된다.

 

         쉽게 다시 설명하면,

         우선 말뭉치(Corpus)와 문서(Document)의 차이점을 알아야 하는데

         텍스트 마이닝에서 보통 문장을 문서라고 하고 문장들의 집합을 말뭉치라고 한다.

         ( ex. 100개의 문장으로 구성된 말뭉치)

       위의 예제에서는 하나의 말뭉치와 3개의 문서가 있는데 각각의 문서의 단어 조합 즉, 특성이 다르다. 

        문서2에는 'quality', 'deriving' 같은 특성이 포함되어 있지만 문서1과 문서3에는 없다. 

        이렇게 되면 모든 문서의 특성이 같지 않기때문에 서로 비교 할 수가 없다.

        그러므로 전체 말뭉치에 한번이라도 사용된 단어는 특성에 포함하고 빈도를 0으로 준다.

 

      카운트 기반 문서 표현은 문서의 의미를 반영해 벡터를 만드는 과정을 말한다.

       위의 결과는 3개의 문서에 대해 특성 벡터를 추출한 결과이고 결과에서 보듯이 각 문서에 없는 특성(단어)들은 

       0으로 되어 있는 것을 확인할 수 있다. 이렇게 특성이 같아야 서로 비교 할 수 있다.

 

      이렇게 하기 위해서 먼저 대상이 되는 말뭉치에 대해 하나의 단어 집합(Vocabulary)을 구성한다.

       그리고 이 단어 집합을 대상으로 각 문서에 대해 빈도를 표시한다. 

       여기서 문제점은 위의 결과와 같이 하나의 문서에서 사용한 단어에 비해 사용하지 않은 단어(0)가 훨씬 많다. 

       이는 카운트 기반 문서 표현의 본질적인 문제로, 문서를 표현하기 위해 너무나 많은 특성을 사용해야 하고 

       그 특성중에서 극히 일부만 값을 갖는다. 

       이와 같이 대부분의 값이 0인 특성 벡터를 희소 벡터(sparse vector)라고 부른다.  

 

       정리하자면 텍스트는 우리가 정의한 특성에 대한 특성 값의 집합(혹은 벡터)으로 변환하는데

        BoW에서는 단어가 특성이 되고, 이렇게 표현하는 이유는 문서의 단어들을 가방에 넣으면 순서가

        사라지기 때문이다. 가방 안의 단어들에 대해 빈도를 계산하여 특성 벡터를 추출한다.

 

파이썬 텍스트 마이닝 완벽 가이드

 

* 말뭉치는 '언어 연구를 위해 컴퓨터가 텍스트를 가공, 처리, 분석할 수 있는 형태로 모아 놓은 자료의 집합'을 의미한다. 일반적으로 우리가 텍스트 마이닝을 한다면 그 대상은 하나의 문장 혹은 문서(document)가 아니고 그러한 문장이나 문서들의 집합(corpus)이 된다. 따라서 카운트 기반의 문서표현은 개별 문서가 아닌 말뭉치를 대상으로 한다. 

 

     

 

 

 

 

 

 

 

 

     REFERENCE

      파이썬 텍스트 마이닝 완벽 가이드(2022)

      파이썬 라이브러리를 활용한 텍스트 분석(2022)

      파이썬 머신러닝 완벽 가이드

      https://swjman.tistory.com/125

      

 

 

+ Recent posts