통계 분석
Microsoft Azure Machine Learning Studio를 사용한 감정 분석
개요
MLStudio(Microsoft Azure Machine Learning Studio)는 기계 학습 "실험"을 제작하기 위한 작업 공간입니다. 실험은 MLStudio에서 웹 서비스로 변환될 수 있으며, 이를 통해 RESTful 인터페이스를 통해 쿼리하여 필요에 따라 예측 및 분류를 얻을 수 있습니다.
MLStudio를 시작하려면 다음을 방문하세요. https://studio.azureml.net/ 아직 계정이 없다면 계정을 등록하세요. Microsoft는 현재 사용자가 제한된 수의 실험을 무료로 배포할 수 있도록 허용하고 있으며 교육 데이터용으로 10GB의 무료 호스팅을 제공합니다. 아직 MLStudio에 익숙하지 않다면 튜토리얼을 시청하고 일부 샘플 실험이나 실험 갤러리의 실험부터 시작하는 것이 좋습니다. 이 튜토리얼 전체에서 우리는 여기에 있는 Twitter 감정 분석을 위한 예측 실험을 사용합니다. https://gallery.cortanaintelligence.com/Experiment/Predictive-Experiment-for-Twitter-sentiment-analysis-3. 이 튜토리얼이 끝나면 Vantiq Analytics Source를 통해 이 실험을 쿼리하여 트윗의 감정을 얻을 수 있습니다.
MLStudio 실험 설정
MLStudio 계정을 만들고 작업 공간에 로그인한 후 다음으로 이동합니다. https://gallery.cortanaintelligence.com/Experiment/Predictive-Experiment-for-Twitter-sentiment-analysis-3 'Studio에서 열기' 링크를 클릭하고 '갤러리에 실험 복사' 팝업의 체크 표시를 클릭하세요. 작업 공간의 실험 목록에서 실험을 열고, 실험이 업그레이드되고 있음을 나타내는 하단 메뉴 표시줄에서 “확인”을 클릭한 다음, 하단 메뉴에서 실행을 클릭하세요. 실행이 완료되면(모델을 훈련하는 데 약 10분 정도 소요될 수 있음) 하단 메뉴에서 “웹 서비스 배포”를 선택하고 권장 옵션을 선택합니다.
웹 서비스를 배포하면 API 키를 지정하는 페이지로 이동하게 되며, 아래에 요청/응답 API와 배치 API 행이 있는 표가 표시됩니다. 요청/응답 행에서 파란색 "테스트" 버튼을 선택하여 테스트해 보세요. 페이지 하단에 응답이 표시됩니다. 실제로 어떤 API 호출이 수행되는지 확인하려면 왼쪽 열의 요청/응답을 클릭하세요. 이 문서와 이전 페이지의 API 키만 있으면 VAIL에서 감정 분석을 요청할 수 있습니다.
Vantiq Analytics 소스 구성
예측 실험을 사용하여 MLStudio에 예측을 요청하려면 Vantiq 네임스페이스에 "Sentiment"라는 이름으로 새 분석 소스를 생성하세요. 분석 유형은 "Microsoft MLStudio"이고 요청 URI는 실험에 대한 요청/응답 문서에 지정된 POST URL입니다. 액세스 토큰 필드에 API 키를 지정한 다음 분석 소스를 저장하세요.
VAIL에서 분석 소스 사용
이제 Analytics 소스가 구성되었으므로 VAIL에서 시험해 볼 수 있습니다. 다음은 분류할 메시지인 단일 매개변수를 사용하고 예측 실험 실행의 응답을 반환하는 절차의 예입니다.
PROCEDURE testSentimentOfStatement(msg)
// Construct the request body
// see the Request/Response docs for more details on how this is formulated
var payload = {"Inputs": { "input1": { "ColumnNames": ["tweet_text"], "Values": [[msg]]}}, "GlobalParameters": {}}
// Request the prediction from the source
var prediction = SELECT FROM SOURCE Sentiment WITH body = payload
log.info("Prediction result: {}", [prediction])
// Grab the result field
var result = prediction[0].Results
// Get the values from output1 (the name of the final activity in the experiment)
var output = result["output1"]
var values = output.value.Values
// values is actually an array, so get the first index
values = values[0]
// values is an array of length 2
// first value is the direction (positive, neutral, or negative)
// second value is the score
var polarity = values[0]
var score = values[1]
return {polarity: polarity, score: score}