기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Neural Topic Model(NTM) 알고리즘
Amazon SageMaker NTM은 통계 분포를 기반으로 단어 그룹을 포함하는 주제로 문서 모음을 구성하는 데 사용되는 비지도 학습 알고리즘입니다. 예를 들어, "오토바이", "자동차", "기차", "주행 거리" 및 "속도" 등과 같은 단어가 자주 발생하는 문서는 "운송"에 대한 주제를 공유할 가능성이 큽니다. 주제 모델링은 감지된 주제를 기반으로 문서를 분류 또는 요약하거나, 주제의 유사성을 기반으로 정보를 검색하거나 콘텐츠를 추천하는 데 사용할 수 있습니다. NTM이 학습하는 문서의 주제는 코퍼스 내에서 관측되는 단어 분포에서 추론되기 때문에 이러한 주제는 잠재 표상으로 특징이 지정됩니다. 주제의 의미는 주로 포함된 상위 단어를 검사하여 추론됩니다. 비지도 메서드이기 때문에 주제 자체가 아닌 주제의 수만이 사전 지정됩니다. 추가로 주제는 인간이 자연적으로 문서를 범주화할 수 있는 방법과 연계되는 것이 보장되지 않습니다.
주제 모델링은 학습된 주제 측면에서 대량의 문서 코퍼스의 콘텐츠를 시각화하는 방법을 제공합니다. 각 주제와 관련이 있는 문서는 소프트 주제 레이블을 기반으로 인덱싱 또는 검색될 수 있습니다. 문서의 잠재 표상을 사용하여 주제 공간 내 유사한 문서를 찾을 수 있습니다. 또한 누제 모델이 학습하는 문서의 잠재 표상을 문서 분류자와 같은 다른 지도 알고리즘의 입력으로 사용할 수 있습니다. 문서의 잠재 표상이 이러한 표상을 일부 기반으로 하는 기본 문서 알고리즘의 의미를 포착할 것으로 예상되기 때문에 어휘 특징만을 기반으로 하는 것에 비해 성능이 더 뛰어날 것으로 예상됩니다.
주제 모델링에 Amazon SageMaker NTM과 LDA 알고리즘을 모두 사용할 수 있지만 두 알고리즘은 별개의 알고리즘이므로 동일한 입력 데이터에 대해 서로 다른 결과를 생성할 것으로 예상할 수 있습니다.
NTM의 수학적 계산에 대한 자세한 정보는 Neural Variational Inference for Text Processing
NTM 알고리즘의 입력/출력 인터페이스
Amazon SageMaker Neural Topic Model은 학습, 검증, 테스트, 보조의 네 가지 데이터 채널을 지원합니다. validation, test 및 auxiliary data 채널은 선택 사항입니다. 이러한 선택적 채널 중 하나를 지정한 경우 해당 채널의 S3DataDistributionType
파라미터 값을 FullyReplicated
로 설정합니다. 검증 데이터를 제공하는 경우 모든 epoch마다 이 데이터가 로깅되고, 모델은 검증 손실이 개선되는 것을 감지하는 대로 훈련을 중지합니다. 검증 데이터를 제공하지 않는 경우 알고리즘은 훈련 데이터를 기반으로 조기 중지하지만 이는 효율성이 떨어질 수 있습니다. 테스트 데이터를 제공한 경우 알고리즘은 최종 모델에서 테스트 손실을 보고합니다.
NTM의 train, validation 및 test data 채널은 recordIO-wrapped-protobuf
(밀집 및 희소) 및 CSV
파일 형식을 둘 다 지원합니다. CSV
형식의 경우 각 행은 해당 문서에서 존재하지 않는 단어는 0개로 계산해 조밀하게 표현되어야 하고, (레코드 수) * (어휘 크기)와 동일한 차원을 가져야 합니다. 파일 모드 또는 파이프 모드를 사용하여 recordIO-wrapped-protobuf
또는 CSV
로 형식이 지정된 데이터에 대해 모델을 훈련할 수 있습니다. auxiliary 채널은 어휘가 포함된 텍스트 파일을 제공하는 데 사용됩니다. 사용자는 어휘 파일을 제공하여 정수 ID 대신 로그에 출력된 각 주제에 대한 상위 단어를 볼 수 있습니다. 또한 어휘 파일이 있으면 NTM이 각 주제의 상위 단어 간 유사성을 효율적으로 캡처하는, 로그에 표시되는 새로운 지표인 Word Embedding Topic Coherence(WETC) 점수를 계산할 수 있습니다. auxiliary 채널의 ContentType
은 text/plain
이고, 각 행에는 단일 단어가 포함되어 있으며 데이터에 제공되는 정수 ID에 해당하는 순서로 정렬됩니다. 어휘 파일의 이름은 vocab.txt
여야 하고 현재 UTF-8 인코딩만 지원됩니다.
추론의 경우, text/csv
, application/json
, application/jsonlines
및 application/x-recordio-protobuf
콘텐츠 유형이 지원됩니다. 희소 데이터는 application/json
및 application/x-recordio-protobuf
로 전달될 수 있습니다. NTM 추론은 application/json
또는 application/x-recordio-protobuf
예측을 반환하고, 여기에는 각 관측치에 대한 topic_weights
벡터가 포함됩니다.
auxiliary 채널 및 WETC 점수 사용에 대한 자세한 정보는 블로그 게시물
입력 및 출력 파일 형식에 대한 자세한 정보는 NTM 응답 형식(추론의 경우) 및 NTM 샘플 노트북 단원을 참조하십시오.
NTM 알고리즘에 대한 EC2 인스턴스 권장 사항
NTM 훈련은 GPU 및 CPU 인스턴스 유형을 모두 지원합니다. GPU 인스턴스를 권장하지만 특정 워크로드의 경우 CPU 인스턴스의 훈련 비용이 더 낮을 수 있습니다. CPU 인스턴스는 추론에 효율적입니다. NTM 훈련은 훈련 및 추론을 위한 P2, P3, G4dn 및 G5 GPU 인스턴스 패밀리를 지원합니다.
NTM 샘플 노트북
주제 분포가 알려진 합성 데이터 소스에서 문서 내 주제를 찾아내기 위해 SageMaker NTM 알고리즘을 사용하는 샘플 노트북은 NTM의 기본 기능 소개를 참조하십시오.