특성 해시 구성 요소 참조

이 문서에서는 Azure Machine Learning 디자이너의 구성 요소에 대해 설명합니다.

특성 해시 구성 요소를 사용하여 영어 텍스트 스트리밍을 정수 기능 세트로 변환합니다. 그런 다음 이 해시된 기능 세트를 기계 학습 알고리즘에 전달하여 텍스트 분석 모델을 학습할 수 있습니다.

이 구성 요소에서 제공되는 특성 해시 기능은 nimbusml 프레임워크를 기반으로 합니다. 자세한 내용은 NgramHash 클래스를 참조하세요.

기능 해싱이란 무엇인가요?

기능 해싱은 고유 토큰을 정수로 변환하여 작동합니다. 입력으로 제공한 정확한 문자열에 대해 작동하며 언어 분석이나 사전 처리를 수행하지 않습니다.

예를 들어 다음과 같은 간단한 문장 세트를 사용하고 감정 점수가 뒤따릅니다. 이 텍스트를 사용하여 모델을 구축한다고 가정합니다.

사용자 텍스트 데이터
I loved this book 3
I hated this book 1
This book was great 3
I love books 2

내부적으로 특성 해시 구성 요소는 n그램 사전을 생성합니다. 예를 들어 이 데이터 세트의 바이그램 목록은 다음과 같습니다.

용어(바이그램) 빈도
This book 3
I loved 1
I hated 1
I love 1

N그램 속성을 사용하여 n그램의 크기를 제어할 수 있습니다. 바이그램을 선택하면 유니그램도 계산됩니다. 사전에는 다음과 같은 단일 용어도 포함됩니다.

용어(유니그램) 빈도
설명서 3
I 3
서적 1
was 1

사전이 빌드된 후 특성 해시 구성 요소는 사전 용어를 해시 값으로 변환합니다. 그런 다음 각 경우에 기능이 사용되었는지 여부를 계산합니다. 텍스트 데이터의 각 행에 대해 구성 요소는 해시된 각 기능에 대해 하나의 열로 구성된 일련의 열을 출력합니다.

예를 들어, 해싱 후 기능 열은 다음과 같이 보일 수 있습니다.

등급 해시 기능 1 해시 기능 2 해시 기능 3
4 1 1 0
5 0 0 0
  • 열의 값이 0이면 행에 해시된 기능이 포함되지 않은 것입니다.
  • 값이 1이면 행에 기능이 포함된 것입니다.

기능 해싱을 사용하면 가변 길이의 텍스트 문서를 동일한 길이의 숫자 기능 벡터로 표현하여 차원을 줄일 수 있습니다. 학습을 위해 텍스트 열을 그대로 사용하려고 하면 많은 고유 값이 있는 범주형 기능 열로 처리됩니다.

숫자 출력을 통해 분류, 클러스터링 및 정보 검색을 포함한 일반적인 기계 학습 방법을 사용할 수도 있습니다. 조회 작업은 문자열 비교 대신 정수 해시를 사용할 수 있기 때문에 기능 가중치를 얻는 것도 훨씬 빠릅니다.

특성 해시 구성 요소 구성

  1. 디자이너의 파이프라인에 특성 해시 구성 요소를 추가합니다.

  2. 분석하려는 텍스트가 포함된 데이터 세트를 연결합니다.

    기능 해싱은 형태소 분석 또는 자르기와 같은 어휘 연산을 수행하지 않기 때문에 기능 해싱을 적용하기 전에 텍스트를 사전 처리하여 더 나은 결과를 얻을 수 있습니다.

  3. 대상 열을 해시된 기능으로 변환할 텍스트 열로 설정합니다. 다음 사항에 유의하세요.

    • 열은 문자열 데이터 유형이어야 합니다.

    • 여러 텍스트 열을 선택하면 기능 차원에 상당한 영향을 줄 수 있습니다. 예를 들어 10비트 해시의 열 수는 단일 열의 경우 1,024개에서 두 개의 열의 경우 2,048개로 늘어납니다.

  4. 해싱 비트 크기를 사용하여 해시 테이블을 만들 때 사용할 비트 수를 지정합니다.

    기본 비트 크기는 10입니다. 많은 문제의 경우 이 값이 적절합니다. 학습 텍스트의 n그램 어휘 크기에 따라 충돌을 피하기 위해 더 많은 공간이 필요할 수 있습니다.

  5. N그램에 학습 사전에 추가할 n그램의 최대 길이를 정의하는 숫자를 입력합니다. n그램은 고유한 단위로 처리되는 n 단어의 시퀀스입니다.

    예를 들어 3을 입력하면 유니그램, 바이그램, 트라이그램이 만들어집니다.

  6. 파이프라인을 제출합니다.

결과

처리가 완료된 후 구성 요소는 원본 텍스트 열이 여러 열로 변환된 데이터 세트를 출력합니다. 각 열은 텍스트의 기능을 나타냅니다. 사전의 중요성에 따라 결과 데이터 세트가 커질 수 있습니다.

열 이름 1 열 유형 2
USERTEXT 원본 데이터 열
감정 원본 데이터 열
USERTEXT - 해싱 기능 1 해시 기능 열
USERTEXT - 해싱 기능 2 해시 기능 열
USERTEXT - 해싱 기능 n 해시 기능 열
USERTEXT - 해싱 기능 1024 해시 기능 열

변환된 데이터 세트를 만든 후 모델 학습 구성 요소에 대한 입력으로 사용할 수 있습니다.

모범 사례

다음 모범 사례는 특성 해시 구성 요소를 최대한 활용하는 데 도움이 될 수 있습니다.

  • 특성 해시를 사용하여 입력 텍스트를 사전 처리하기 전에 사전 처리 텍스트 구성 요소를 추가합니다.

  • 특성 해시 구성 요소 뒤에 열 선택 구성 요소를 추가하여 출력 데이터 세트에서 텍스트 열을 제거합니다. 해시 기능이 생성된 후에는 텍스트 열이 필요하지 않습니다.

  • 결과를 단순화하고 정확도를 높이려면 다음 텍스트 사전 처리 옵션을 사용하는 것이 좋습니다.

    • 단어 분리
    • 단어 제거 중지
    • 사례 정규화
    • 문장 부호 및 특수 문자 제거
    • 형태소 분석

모든 솔루션에 적용할 최적의 전처리 방법 집합은 도메인, 어휘 및 비즈니스 요구 사항에 따라 다릅니다. 데이터를 사용하여 파이프라인을 통해 가장 효과적인 텍스트 처리 방법을 확인합니다.

다음 단계

Azure Machine Learning에서 사용 가능한 구성 요소 집합을 참조하세요.