파이썬 텍스트 마이닝 예제

By agosto 2, 2019Sem categoria

문서에서 용어의 TF-IDF를 계산하는 예제를 살펴보겠습니다. 그리고 여기에 우리의 샘플 텍스트에 디 노이징의 결과입니다. 데이터 전처리 파이프라인에서는 BeautifulSoup 라이브러리의 도움으로 HTML 태그를 제거하고 정규식을 사용하여 열고 닫는 이중 대괄호와 그 사이에 있는 모든 것을 제거합니다(샘플 텍스트를 기반으로 이 태그가 필요하다고 가정함). 이를 위해 텍스트 블럭 라이브러리를 사용합니다. 당신이 그것에 익숙하지 않은 경우, 당신은 텍스트 블롭을 사용하여 초보자를위한 NLP에 내 이전 기사를 확인할 수 있습니다. BOW를 사용하는 주요 단점 중 하나는 단어 순서를 무시하여 컨텍스트를 무시하고 문서의 단어 의 의미를 무시한다는 것입니다. NLP(자연어 처리)의 경우 단어의 컨텍스트를 유지하는 것이 가장 중요합니다. 이 문제를 해결하기 위해 Word 포함이라는 다른 접근 방식을 사용합니다. 텍스트 처리에서 텍스트 의 단어는 불연속, 범주형 기능을 나타냅니다.

알고리즘에서 사용할 준비가 된 방식으로 이러한 데이터를 인코딩하려면 어떻게 해야 합니까? 텍스트 데이터에서 실제 값 벡터로의 매핑을 피처 추출이라고 합니다. 텍스트를 숫자로 나타내는 가장 간단한 기술 중 하나는 단어의 가방입니다. 우리가 할 첫 번째 사전 처리 단계는 소문자로 우리의 트윗을 변환하는 것입니다. 이렇게 하면 동일한 단어의 복사본이 여러 개 되는 것을 방지할 수 있습니다. 예를 들어 단어 수를 계산하는 동안 `분석` 및 `분석`은 다른 단어로 간주됩니다. scikit-learn은 텍스트에서 사전 처리를 수행하는 몇 가지 멋진 도구를 제공합니다. 우리는 TfidTransformer를 사용하여 텍스트 모음을 피처 벡터로 감추고 최대 피처를 10000으로 제한합니다. 사용 방법에 대한 자세한 내용은Tfid변형을 참조하십시오. U는 연구를위한 텍스트 데이터와 관련된 몇 가지 주제를 제안 할 수 있습니다, 당신은 Document1에 대해 볼 수 있습니다, TF-IDF 방법은 무겁게 단어 `아름다운`하지만 `하루`에 더 큰 무게를 할당합니다.

이는 IDF 부품으로 인해 구별되는 단어에 더 많은 가중치를 부여하기 때문입니다. 즉, `day`는 전체 코퍼스의 맥락에서 Document1에 대한 중요한 단어입니다. 파이썬 scikit-learn 라이브러리는 텍스트 데이터 마이닝을위한 효율적인 도구를 제공하고 텍스트 코퍼스 주어진 텍스트 어휘의 TF-IDF를 계산하는 기능을 제공합니다. 여기서는 텍스트 데이터로만 작업하고 있지만 숫자 피처가 텍스트와 함께 있을 때 아래 메서드를 사용할 수도 있습니다. 벡터 구성의이 종류는 또한 우리가 대답 할 수 있습니다 “왕 – 남자 + 여자 = ?” 질문과 결과 “여왕”에 도착! 이 모든 지식은 단순히 의미에 대해 제공된 다른 정보없이 맥락에서 많은 단어를 보는 것에서 비롯됩니다. 자세한 내용은 여기를 참조하십시오. 마찬가지로 가장 일반적인 단어를 제거한 것처럼 이번에는 텍스트에서 거의 발생하지 않는 단어를 제거해 보겠습니다. 그들은 매우 드물기 때문에, 그들과 다른 단어 사이의 연관성은 소음에 의해 지배된다.

희귀 한 단어를 보다 일반적인 형식으로 바꿀 수 있으며, 이 경우 K라는 단어가 단어 w의 맥락에서 나타날 확률이 높을수록 얼음과 관련이 있는 단어를 고려하지만 증기로 는 볼 수 없습니다. 솔리드와 같은. P(고체 | 얼음)는 상대적으로 높고, P(고체 | 증기)는 상대적으로 낮을 것이다. 따라서 P(고체 | 얼음)/P(고체 | 증기)의 비율이 클 것이다. 우리가 증기와 관련이 있지만 얼음과 관련이없는 가스와 같은 단어를 취하면 P (가스 | 얼음) / P (가스 | 증기)의 비율은 작을 것입니다. 물과 같이 얼음과 증기와 관련된 단어의 경우 비율이 1에 가까울 것으로 예상합니다. 자세한 내용은 여기를 참조하십시오. 이전에는 일반적인 의미에서 일반적으로 발생하는 단어를 제거했습니다. 우리는 또한 우리의 텍스트 데이터 에서 일반적으로 발생하는 단어를 제거 할 수 있습니다 먼저, 우리의 텍스트 데이터에서 가장 자주 발생하는 10 단어를 확인 한 다음 제거하거나 유지하기 위해 전화를 걸 수 있습니다.

이제 텍스트 데이터의 분류에 사용되지 않기 때문에 이러한 단어를 제거해 보겠습니다.