감정 해석 API "Empath"의 실력은 어떤가요?실제 시도의 결과를 검사하다

9108 단어 감정 분석
이 기사는 Ateam Hikkoshi samurai Inc.× Ateam Connect Inc. Advent Calendar 2020 24일째 보도다.
가오리팀 연결기술개발부@keki가 맡았다.
개시하다
목소리 데이터에서 감정을 알 수 있다면 활용할 점이 많을 것 같지 않나요?
내가 속한 가오리대 연결은 접촉 센터 부대다.
평소 대량의 사운드 데이터가 날아다니는 곳이라 특히 활용할 수 있는 곳이 많은 것 같다.
그래서 이번에는 감정 해석 API'Empath'를 사용해 몇 개의 소리에 대해 감정 분석을 했다.
설치 자체가 매우 간단하니 관심 있는 사람은 반드시 시도해 보세요.
감정 표현 API "Empath"정보
소리의 물리적 특징량을 바탕으로 감정을 분석하는 API.
웹사이트에서 마이크에 대고 말해도 감정 분석이 가능하다.
사이트 링크 여기 있습니다.
https://webempath.net/lp-jpn/
설치 단계
【1단계】 Empath 사이트에 가입한 사용자
감정 표현 API "Empath"를 사용하려면 먼저 사용자가 로그인해야 합니다.
기본적으로 무료로 이용할 수 있지만, 한 달의 무료 이용 주기(API 이용 횟수)를 넘으면 그 달에는 사용할 수 없기 때문에 주의가 필요하다.
아래 사이트 중간에 있는 '신청은 여기 있습니다' 단추에서 가입해 주십시오.
https://webempath.net/lp-jpn/

【2단계】API Key 가져오기
사용자는 로그인이 완료되면 관리 화면에 로그인할 수 있습니다.
관리 화면의 API Key 메뉴에서 Key를 등록하고 가져옵니다.

【3단계】 개발(인코딩)
위에서 얻은 API Key 및 wav 파일을 매개변수로 지정하는 URL에 대한 POST만 있으면 됩니다.
다음은 샘플 코드입니다.
파이톤이 기록한 것이지만 하는 일이 간단하기 때문에 다른 언어로 써도 된다.
활용 환경
  • macOS Catalina 10.15.7
  • python 3.7.6
  • request 2.22.0
  • 네.
    sample.py
    import requests
    
    url ='https://api.webempath.net/v2/analyzeWav'
    
    apikey = 'YOUR API KEY'
    payload = {'apikey': apikey}
    
    wav = "/file/to/path/sample.wav"
    data = open(wav, 'rb')
    file = {'wav': data}
    
    res = requests.post(url, params=payload, files=file)
    print(res.json())
    
    또한 Empath에서 지정한 사운드 파일 형식이 아니면 오류가 반환됩니다.
    사운드 파일은 다음 형식의 데이터를 지정하십시오.
  • PCM WAVE 형식 16비트
  • 데이터 크기 1.9MB 이하
  • PCM_FLOAT、PCM_SIGNED、PCM_UNSIGNED 형식 중 하나
  • 5.0초 미만
  • 11025Hz
  • 샘플링
  • 채널 수는 1(모노)
  • 음성 변환은 다음과 같은 도구를 사용하여 진행하는 것이 비교적 편리하다.
    ▼ Audacity
    https://www.audacityteam.org/
    【4단계】집행
    ptyhon 명령을 사용하여 위의 파일을 실행합니다.
    $ python sample.py
    
    실행하면 다음과 같은 결과를 얻을 수 있다.
    '평정심','분노','기쁨','슬픔','정신'등의 항목에 대해 0~50의 수치로 결과를 응답한다.
    {'error': 0, 'calm': 24, 'anger': 3, 'joy': 3, 'sorrow': 18, 'energy': 0}
    
    결과에 대한 견해
    항목
    설명
    calm
    0~50으로 결과를 되돌려줍니다.수치가 클수록 평상심이 커진다.어렸을 때 감정이 혼란스러웠어요.
    분노
    0~50으로 결과를 되돌려줍니다.수치가 클수록 화가 난다.
    기쁨
    0~50으로 결과를 되돌려줍니다.수치가 클수록 기쁘다.
    슬픔
    0~50으로 결과를 되돌려줍니다.수치가 작을수록 슬프다.
    원기 왕성하다
    0~50으로 결과를 되돌려줍니다.수치가 클수록 기운이 난다.
    '평정심'의 항목은 몇 개의 수치가 있습니까?기초로 하다
    다른 사업 동향을 보니 좋은 것 같아요.
    [주의점] v1과 v2의 차이
    v1 및 v2는 Empath API에 있습니다.
    결론적으로 각자의 차이는'오류가 발생했을 때의 정보량'뿐이다.
    예를 들어, 사운드 파일 형식이 올바르지 않은 경우(이 오류가 가장 많음)
    v1은 오류 코드만 되돌려주고 v2는 오류 내용을 되돌려줍니다.
    또한 잘못된 입도 v2도 더 가늘다.
    예를 들어 음성 파일의 형식이 정확하지 않은 경우 v1의 경우 모두 오류 코드'1001'로 되돌아옵니다
    v2의 상황은 상황에 따라'1001~1017'에 따라 분류한다.
    v1과 v2는 POST의 URL만 변경하면 구분해서 사용할 수 있기 때문에 v2를 사용하는 것이 좋다.
    오류
    상황
    $ python sample.py
    {'error': 1001}
    
    상황
    $ python sample.py
    {'error': 1016, 'msg': 'could not get audio input stream.'}
    
    검증 결과
    그럼 실제 검증된 결과를 소개해 드리겠습니다.
    샘플 음원
    샘플 음원은 아래 사이트에서 다운로드한 것이다.
    http://pro-video.jp/voice/announce/
    ※ 접촉 중심에 속하므로 실제 목소리로 해보세요.이런 목소리도 들리지만 개인정보 보호 관점에서 볼 때 이번엔 일시 중단될 테니 언짢게 생각하지 마세요...
    【검증1】방백풍의 소리
    사용된 사운드(위 URL에서 다운로드)

    참조: http://pro-video.jp/voice/announce/
    ※ "비누 거품 비누 없이 시작하면 안심"부분만 잘라 사용한다.
    특징.
  • 소리가 뚜렷하고 원기왕성하다.
  • 사운드에 커팅 등이 없고 상대적으로 안정적인 음량으로 소리를 내는 사운드
  • 결실
    $ python sample.py
    {'error': 0, 'calm': 8, 'anger': 0, 'joy': 32, 'sorrow': 8, 'energy': 24}
    
    항목
    결실
    calm
    8
    분노
    0
    기쁨
    32
    슬픔
    8
    원기 왕성하다
    24
    분노의 요소는 제로, 기쁨과 정신의 수치가 큰 것은 이해할 수 있는 결과다.
    평정심 수치가 의외로 적어 조금이지만 슬픈 요소가 담겨 있어 조금 의문이다.
    음질에 따라 다를 수도 있어요.
    [검증 2] 약간 슬픈 목소리.

    참조: http://pro-video.jp/voice/announce/
    ※ 소리가 짧기 때문에 특별히 언급하지 않았습니다.
    특징.
  • 슬픈 목소리
  • 약간 대사 소리 같나요?
  • $ python sample.py
    {'error': 0, 'calm': 9, 'anger': 20, 'joy': 18, 'sorrow': 1, 'energy': 37}
    
    항목
    결실
    calm
    9
    분노
    20
    기쁨
    18
    슬픔
    1
    원기 왕성하다
    37
    슬픈 소리를 선택했지만, 왠지'슬프다'는 요소는 단 1개였다.
    그리고 분노의 요소는 20, 기쁨의 요소는 18이다.
    왜 이런 결과가 나왔을지 예측하기는 어렵지만
    성우가 애니메이션에서 소리를 내는 소리이기 때문에 이런 결과가 나올 수 있다.
    [검증 3] 음악이 배경으로 흘러드는 소리.

    참조: http://pro-video.jp/voice/announce/
    ※ "본사 개요 및 업무 소개"부분은 사용 시작 부분만 잘라냅니다.
    특징.
  • 아나운서 스타일의 목소리
  • 배경음악 재생
  • $ python sample.py
    {'error': 0, 'calm': 24, 'anger': 3, 'joy': 3, 'sorrow': 18, 'energy': 0}
    
    항목
    결실
    calm
    24
    분노
    3
    기쁨
    3
    슬픔
    18
    원기 왕성하다
    0
    아나운서 스타일의 목소리라 평정심은 24, 정신은 0이라는 수치는 이해할 수 있다.
    나는 배경음악의 영향을 그다지 느끼지 않는다.
    소감&총결
    정밀도 정보
    결과적으로 AI가 산출한 수치이기 때문에 인간은 결과를 추정하는 데 한계가 있지만, 어느 정도 경향을 보면 큰 편차가 없는 것으로 느껴진다.
    이 결과를 다른 AI 모델에 투입해 접촉 중심에서의 거래율과의 상관성을 살펴본다.기다리시는 게 좋을 것 같습니다.
    기타 우려
    또 현황 검증에서 가장 치명적인 것은 최대 5초 이내의 음성 파일만 대응할 수 있다는 것이다.
    요금판으로 전환해 규제를 없앨 가능성도 높다고 생각하지만, 용량 제한이 없는 계량요금제라면'직원의 동력 관리'등에서 활용했을 가능성이 있다.
    다음 회 예고
    이 기사는 Ateam Hikkoshi samurai Inc.× Ateam Connect Inc. Advent Calendar 2020 24일째 보도다.
    내일 25일 크리스마스에 전단강@hinora씨가 기사를 씁니다.
    기대해주세요!!
    인용원
  • 감정 분석 API
  • http://pro-video.jp/voice/announce/
  • 좋은 웹페이지 즐겨찾기