| 스피커 |
성적 증명서 |
| 클레이 바커 |
감사합니다. 저는 클레이 바커입니다. JMP 그룹의 통계 개발자이며, 오늘 JMP Pro 16의 새로운 기능인 용어 선택(term selection)에 대해 이야기하려고 합니다. 이 기능은 동료인 파리스 파이슨과 어니스트 파수르와 함께 개발했습니다. |
| |
따라서 텍스트 데이터는 실무에서 점점 더 흔해지고 있습니다. 우리가 만든 제품에 대한 고객 리뷰, 특정 사건에 대한 설명 또는 장비 유지 보수 기록 등이 텍스트 데이터일 수 있습니다. |
| |
그리고 제 슬라이드에 있는 이 예시는 바로 이것입니다. |
| |
항공기 사고... 우리가 샘플 데이터로 보유하고 있는 사고 데이터 세트입니다. |
| |
데이터의 각 행은 항공기 사고, 추락 또는 기타 유형의 오작동에 대한 설명입니다. |
| |
혹시 텍스트 탐색기 플랫폼을 사용해 본 적이 없으시다면, 이 플랫폼은 JMP 13에서 도입되었으며 주로 텍스트 데이터를 요약하고 분석하는 데 사용됩니다. |
| |
그래서 가장 자주 등장하는 단어나 구문을 살펴보는 것과 같은 일반적인 작업을 쉽게 수행할 수 있고, 문서를 그룹화하거나 주제 분석과 같은 테마를 찾는 것도 간편합니다. 이 모든 것은 문서 용어 매트릭스라는 것을 기반으로 합니다. |
| |
그렇다면 문서 용어 행렬이란 무엇일까요? 가장 쉽게 설명하자면, 각 문서에 특정 단어나 구문이 포함되어 있는지 여부를 나타내는 지표 변수들의 행렬이라고 생각하면 됩니다. |
| |
그리고 우리는 각 문서에서 해당 단어가 나타나는 빈도를 기준으로 가중치를 부여할 수 있습니다. 따라서 각 문서는 문서 용어 행렬의 한 행이 되고 각 열은 단어가 됩니다. |
| |
아주 간단한 예를 들어보면, 첫 번째 문장은 "피자 포장이 불편했다"입니다. 따라서 포장에 1점을 줬습니다. |
| |
피자에는 1, 답답한 단어에는 1, 나머지 단어에는 0을 부여합니다. 마찬가지로 두 번째 줄에서도 냄새, 훌륭한, 맛, 피자에는 1을 부여하고 나머지는 모두 0으로 표시합니다. 이는 각 문서에 어떤 단어가 나타나는지를 간단하게 요약한 것입니다. |
| |
문서 용어 행렬에는 몇 가지 변형이 있다고 말씀드렸습니다. 가장 간단한 것은 이진 행렬로, 1과 0으로만 구성됩니다. |
| |
하지만 각 단어가 얼마나 자주 나오는지에 대한 정보도 포함하고 싶을 수 있으므로, 피자가 여러 번 나오는 조금 더 긴 문장을 하나 더 보여드리겠습니다. |
| |
이진 문서 용어 행렬에서 피자 열은 여전히 1입니다. 왜냐하면 해당 단어가 얼마나 자주 나타나는지는 중요하지 않기 때문입니다. 삼진 행렬에서는 2가 됩니다. 삼진 행렬은 0, 1, 2로 구성되기 때문입니다. 단어가 나타나지 않으면 0, 한 번 나타나면 1, 두 번 이상 나타나면 2입니다. |
| |
여기서 네 번 나오든 안 나오든, 우리는 여전히 2로 코딩했습니다. 그리고 빈도수는 아주 간단합니다. 각 단어가 문서에서 몇 번 나오는지를 나타내는 것일 뿐입니다. |
| |
이것들은 아주 간단한 세 가지 방법이며, 저희는 상대 빈도와 유사한 TF-IDF 가중치도 제공합니다. 이러한 가중치 체계에 대한 자세한 내용은 다음에서 확인할 수 있습니다. |
| |
텍스트 탐색기 플랫폼. |
| |
그럼 다음 단계는 무엇인가요? 다음에 사용하고 싶은 것은 무엇인가요? |
| |
원하는 결과를 얻기 위해 텍스트를 활용할 수도 있습니다. 그래서 제가 가구 리뷰 몇 개를 만들어 봤는데, 각 리뷰마다 별점이 있습니다. |
| |
그래서 우리는 그런 리뷰들이 왜 사람들이 제품에 높은 점수나 낮은 점수를 주는지에 대한 단서를 제공한다고 생각할 수 있습니다. 바로 이 첫 줄에서 "설명서가 답답했다"라고 했는데, 사용자는 별점 3점밖에 주지 않았습니다. 만약 이런 패턴이 자주 나타나고 많은 사람들이 평가를 한다면... |
| |
낮은 평점 중 상당수는 조립 설명서와 관련된 것으로, 이는 우리가 가구와 함께 배송하는 설명서를 개선해야 할 필요가 있음을 시사합니다. |
| |
간단히 말해서, 그것들을 회귀 모델로 사용하는 것입니다. 우리는 문서-용어 행렬을 가져올 것입니다. |
| |
우리는 이를 응답 정보와 결합하여 회귀 분석을 수행할 것입니다. |
| |
그렇게 하면 고객들이 우리 가구나 우리가 만드는 다른 제품을 좋아하거나 싫어하는 이유를 이해하는 데 도움이 될 것입니다. |
| |
설명을 바탕으로 사물을 분류하는 데 도움이 될 수 있으며, 이는 나중에 자세히 살펴보겠습니다. 또는 기계의 유지보수 기록을 기반으로 특정 기계가 고장 나거나 고장 나지 않는 이유를 이해하는 데 사용할 수도 있습니다. |
| |
우리가 이 일을 하는 방식은 정말 간단합니다. |
| |
우리는 실제로 회귀 모델을 만들고 있는 것이며, 각 X, 즉 예측 변수는 용어 행렬의 열 중 하나입니다. 따라서 제품 평점을 모델링하는 경우 단순 선형 회귀가 되고, |
| |
만약 우리가 고객이 우리 제품을 추천할지 여부와 같은 이진 결과를 모델링한다면 |
| |
이 데이터는 수백 단어에 달할 수 있으며, 그 모든 단어를 사용하지 않는 것이 합리적일 것입니다. 모든 데이터가 유용한 것은 아니므로, 회귀 모델에 변수 선택 기법을 적용하여 해석하기 쉽고 적합도가 높은 더 간단한 모델을 얻을 것입니다. |
| |
그리고 여기 맨 아래에서는 이러한 지표 변수와 응답 평가, 즉 별점을 결합한 결과를 쉽게 시각화할 수 있습니다. |
| |
JMP 16에 포함될 저희 솔루션은 회귀 모델을 텍스트 탐색기 플랫폼에 통합하는 것입니다. 변수 선택을 위해 일반화된 회귀 플랫폼을 사용해 보신 적이 있다면, 저희는 기본적으로 해당 플랫폼을 텍스트 탐색기 내부에 내장하는 것입니다. |
| |
JMP Pro를 사용하시는 경우, 텍스트 탐색기의 빨간색 삼각형 메뉴에서 용어 선택 항목을 보실 수 있습니다. |
| |
이것이 바로 우리가 정말 기대하는 부분입니다. 이러한 회귀 모델을 쉽고 빠르게 구축하고 개선할 수 있게 해줍니다. |
| |
자, 이 플랫폼을 출시하면, 잠시 후에 몇 가지 데모를 보여드리겠지만, 간단히 말씀드리자면, |
| |
출시 초기에는 우리의 대응 방식과 우리가 원하는 모델 유형에 대한 정보만 요청합니다. |
| |
따라서 별점과 같은 연속형 응답을 처리할 수 있을 뿐 아니라, 연속형 응답을 지정할 경우 응답을 기준으로 특정 행을 필터링할 수 있는 필터 기능도 제공합니다. |
| |
명목형 응답 열이 있는 경우 목표 수준을 선택합니다. 따라서 이 경우 "저희 제품을 추천하시겠습니까? 예 또는 아니오"와 같이 선택합니다. 저희는 다음과 같은 모델링을 진행할 예정입니다... |
| |
우리는 권장 사항을 '아니오'로 모델링할 것입니다. |
| |
만약 파란색, 녹색, 노란색처럼 여러 단계의 응답이 있다면, 우리는 모델링할 단계를 선택하게 될 것이고, 잠시 후 그 예시를 보게 될 것입니다. |
| |
그런 다음, 응답을 지정한 후에는 플랫폼에 어떤 유형의 모델을 적용할 것인지에 대한 정보를 제공할 것입니다. |
| |
그렇다면 변수 선택을 할 때 엘라스틱 넷을 사용할까요, 아니면 라쏘를 사용할까요? 이 두 가지 모두 일반화 회귀에 내장된 변수 선택 기법입니다. 그리고 검증은 어떻게 할까요? AIC를 사용할까요, 아니면 BIC를 사용할까요? |
| |
또한 문서 용어 행렬에 대한 세부 정보를 지정할 수 있습니다. 가중치를 선택할 수 있을 뿐 아니라 고려할 용어의 최대 개수도 선택할 수 있습니다. 예를 들어 가장 자주 등장하는 단어 200개를 고려하려면 현재 200으로 설정하면 됩니다. |
| |
그럼 프로그램을 실행하고 실행 버튼을 누르면 어떻게 될까요? 기본적으로 모든 작업을 수행합니다. |
| |
당신이 해야 할 일은 바로 이것입니다. 이 도구는 백그라운드에서 데이터를 제대로 설정해 주기 때문에 당신은 신경 쓸 필요가 없습니다. 변수 선택도 해주므로 이제 우리는 응답을 예측하는 데 유용하다고 생각되는 단어들의 작은 부분집합을 얻게 되며, 결과는 보기 쉽게 표시됩니다. |
| |
보고서를 해석하는 데 사용되며, 잠시 후 살펴보겠지만 상당히 상호작용적입니다. 이전에는 다음과 같은 방법으로 이 작업을 수행할 수 있었습니다. |
| |
문서 용어 행렬을 데이터 세트에 저장하고, 일반화 회귀 분석 플랫폼을 직접 실행하는 방법 |
| |
하지만 이제 더 이상 그럴 필요가 없습니다. 이제는 모든 것이 선택의 문제입니다. |
| |
그렇다면 모델 사양을 어떻게 알 수 있을까요? 무엇을 선택해야 할지 어떻게 알 수 있을까요? |
| |
사용 가능한 추정 방법으로는 엘라스틱 넷과 라쏘가 있습니다. 이 두 방법의 차이점을 쉽게 기억하는 방법은 다음과 같습니다. |
| |
탄력적인 그물은 상관관계가 있는 예측 변수 그룹을 선택하는 경향이 있습니다. 따라서 이 설정에서 예측 변수가 모두 단어인 경우, |
| |
즉, 함께 자주 나타나는 단어 그룹을 선택하는 경향이 있다는 뜻입니다. 예를 들어, instruction과 manual을 생각해 보세요. |
| |
그 단어들은 사용 설명서 때문에 자주 함께 나타납니다. 따라서 이 두 예측 변수는 상관관계가 매우 높아서 엘라스틱 넷은 둘 다 선택할 가능성이 높은 반면, 라쏘는 'instruction'이나 'manual' 중 하나만 선택할 가능성이 높고 둘 다 선택하지는 않을 것입니다. |
| |
검증 방법으로는 AIC와 BIC가 있습니다. |
| |
일반적으로 AIC는 모델을 과다 선택하는 경향이 있고 BIC는 과소 선택하는 경향이 있습니다. 따라서 우리의 사양에서는, |
| |
다만 AIC는 더 많은 단어 집합을 선택하는 경향이 있는 반면, BIC는 더 적은 단어 집합을 선택하는 경향이 있습니다. |
| |
개인적으로 저는 AIC를 많이 사용하는 편인데, 필요 이상으로 많은 단어를 사용하는 것이 적은 것보다 낫다고 생각하기 때문입니다. 하지만 이는 전적으로 개인적인 선호의 문제입니다. |
| |
그리고 문서 용어 가중치는... |
| |
문서 용어 행렬 가중치를 말하는 겁니다. |
| |
어떤 문제를 해결하느냐에 따라 다릅니다. 이 예시에서는, |
| |
리뷰에 '페인트'라는 단어가 여러 번 등장합니다. 이는 리뷰어가 페인트에 대해 매우... |
| |
그 리뷰어에게는 페인트가 매우 중요했고, 이는 회귀 모델에서 의미 있는 요소일 수 있으므로 이진 변수 대신 빈도와 같은 가중치를 사용하는 것이 좋을 것입니다. |
| |
그렇다면, 용어 선택을 시작하면 다음과 같은 상황에 놓이게 될 것입니다. |
| |
왼쪽에는 모든 문서의 요약이 있고, 오른쪽에는 우리가 선택한 모든 단어의 요약이 있습니다. 이 부분은 지금은 생략하겠습니다. 데모를 시작하면 더 쉽게 보실 수 있을 겁니다. |
| |
또 하나 매우 유용한 기능은 요약 기능입니다. 용어 선택을 통해 여러 모델을 순차적으로 적용한 후, 모든 결과를 상단에 요약해서 볼 수 있고, 모델 간에 쉽게 전환할 수 있습니다. 이 기능은 잠시 후에 자세히 살펴보겠습니다. |
| |
그럼 플랫폼을 한번 살펴보겠습니다. |
| |
그럼 먼저 이것을 살펴보겠습니다. |
| |
JMP 샘플 데이터 폴더에 있는 항공기 사고 데이터 세트입니다. |
| |
표의 각 행은 사고를 나타냅니다. 항공기 손상 정도, 부상 유형, 그리고 사고 설명까지 모두 기록되어 있습니다. 마지막 열은 사고 당시 상황을 자세히 설명한 내용입니다. |
| |
자, 그럼 텍스트 탐색기를 실행해 보겠습니다. 텍스트 탐색기를 사용해 본 적이 없다면, 왼쪽에는 가장 자주 등장하는 단어들이 있고, 오른쪽에는 가장 자주 등장하는 구문, 즉 단어 그룹들이 있습니다. |
| |
그래서 우리는 이러한 단어들을 사용하여 이해하고 싶습니다. |
| |
그렇다면... 어떤 요인이 충돌 사고를 더 크게 만들고, 더 큰 피해를 입히거나 더 심각한 부상을 초래하는 걸까요? 빨간색 삼각형 메뉴를 클릭해서 용어 선택을 해 보겠습니다. |
| |
자, 이제 방금 전에 보셨던 발사 장면을 다시 살펴보겠습니다. 피해 정도에 대해 더 자세히 알아보고 싶습니다. 특히, 항공기가 완전히 파괴된 경우와 경미한 피해를 입은 경우를 구분하고 싶습니다. 파괴 기준을 선택해 보겠습니다. |
| |
조기 정지 기능은 시간을 절약해주는 기능이라는 점을 말씀드리겠습니다. |
| |
변수 선택을 할 때, 특히 규모가 큰 문제의 경우 시간이 상당히 많이 소요될 수 있습니다. 이 확인란을 선택한 상태로 두면, 마치 "그렇다면 시간이 많이 걸릴 것이다"라고 말하는 것과 같습니다. |
| |
우리는 충분히 괜찮은 모델을 얻었다고 생각하므로, 조기에 종료하겠습니다. 저는 훨씬 더 큰 문제가 있다는 것을 알지 못하는 한, 이 옵션을 해제하는 편입니다. |
| |
그럼 탄력적 그물, AIC를 남겨두고 실행 버튼을 누르겠습니다. |
| |
그래서 지금 백그라운드에서 무슨 일이 일어나고 있냐면, 이 회귀 모델을 적합시키는 데 필요한 데이터를 생성했고, 백그라운드에서 회귀 모델을 적합시키고 있으며, 이제 요약 결과를 얻었습니다. 그래서 모든 |
| |
모든 문서는 이 왼쪽 패널에 요약되어 있습니다. 따라서 이것은 첫 번째 항공기 사고이고, 이것은 두 번째 사고이며, 두 번째 사고 부분은 비어 있습니다. |
| |
첫 번째 경우는 비행기가 활주로 옆의 눈더미에 부딪힌 것입니다. |
| |
그리고 우리는 모든 중요한 단어를 강조 표시했습니다. 파란색 단어는 음의 계수를, 주황색 단어는 양의 계수를 갖습니다. |
| |
만약 단어에 관심이 있다면, 오른쪽 패널을 보시면 됩니다. 저는 계수 순으로 정렬하는 걸 좋아해서 맨 위를 클릭하기만 하면 됩니다. |
| |
따라서 이 경우에는 음의 계수를 가진 단어일수록 파괴되었을 가능성이 낮습니다. 그러므로 만약 |
| |
문서에 '착륙'이라는 단어가 포함되어 있다면, 비행기가 착륙 지점에 도달했을 가능성이 높고, 따라서 심각한 사고는 아닐 것입니다. 그러므로 이러한 경우는 드물게 발생할 가능성이 높습니다. |
| |
파괴되었다는 표현이 가장 적절할 수 있습니다. 반대로, 가장 긍정적인 표현들을 살펴보면, 항공기가 파괴되었을 때 가장 많이 사용되는 단어들은 다음과 같습니다. |
| |
그리고 그런 단어들에는 '화재', '목격자' 같은 것들이 포함됩니다. 만약 그들이 사건에 대해 설명해 줄 목격자들을 인터뷰하고 있다면, 아마도 비행기 안에 있던 사람들은 인터뷰를 할 수 없었을 가능성이 큽니다. |
| |
불, 레이더, 회전, 밤, 이 모든 단어들은 매우 밀접하게 연관되어 있습니다. |
| |
파괴되는 것과 함께. |
| |
자, 이제 우리는 부상 수준에도 관심이 있을 수 있고, 특히 가장 심각한 부상 수준을 살펴볼 것입니다. |
| |
그리고 우리는 다시 용어 선택을 할 겁니다. |
| |
빨리 끝내기 위해 그 정도로 만족할게요. |
| |
이제 우리는 비슷한 방식으로, 다만 부상 정도를 살펴보는 방식으로 분석을 진행할 수 있습니다. |
| |
따라서 인터뷰에 기장이나 착륙 관련 내용이 포함된다면, 부상 정도는 그다지 심각하지 않을 가능성이 높습니다. |
| |
하지만 만약 레이더, 밤, 산과 같은 단어가 언급된다면 훨씬 더 심각한 의미를 갖게 됩니다. 따라서 이 두 가지 반응을 빠르게 오가며 어떤 단어가 이러한 두 가지 반응을 예측하는지 살펴볼 수 있습니다. |
| |
부상 정도 및 피해 정도. |
| |
그럼 다른 예를 살펴보겠습니다. |
| |
이건 제가 정말 좋아하는 주제예요. 아까는 피자를 예로 들었는데요, 이번에는 맥주에 대해 이야기해 볼게요. 보시다시피, 이 두 가지는 제게 아주 소중한 것들이죠. |
| |
제가 여기 가지고 있는 건... 어떤 맥주 리뷰 사이트에 나온 맥주 종류별 설명을 다운로드한 거예요. |
| |
몸. |
| |
모든 맥주에는 설명이 있습니다. |
| |
그리고 맥주의 원산지가 나와 있어요. 그래서 우리는... |
| |
미국, 독일, 아일랜드. |
| |
용어 선택을 사용하여 확인하세요 |