FoxNews 방송의 Word2Vec 모델 사례

 

배경

몇 달 전에 Word2Vec을 실험하기 시작하면서 NYU에서 텍스트 분석 과정 프로젝트를 진행했습니다. 이 프로젝트는 정치적으로 연설된 연설을 감지하고 측정하기 위해 수백만 개의 스페인어 YouTube 댓글을 수집하고 분석하는 것과 관련된 증명 개념이었습니다.

Word2Vec은 실제로 이 과정에서 배운 모델 중 하나는 아니었지만 단어 사이의 미묘한 관계를 파악하는 능력에 깊은 인상을 받았습니다. 스페인어로 사용자가 만든 텍스트를 분석 할 때 주요 문제점 중 하나는 철자법입니다. 대부분의 철자법이 있지만 철자 및 문법 오류가 어디에서나 발견되었습니다 .

불행히도 현재 사용할 수있는 불용어 사전에는 단어의 공식 철자법만 포함됩니다. 실제로는 특정 용어에 대해 잘못된 철자보다 일반적이지 않습니다. 설상가상으로 철자가 너무 많이 달라 용어 빈도 또는 다운 샘플링을 수정하여 제거 할 수 없습니다.

공통된 철자법을 사용하여 가장 유사한 단어 50개를 모델링하여 키워드를 필터링하여 포괄적인 불용어 사전을 만들 수 있었습니다.

 

 

왜 Fox News인가요?

위의 실험은 실제로 언어의 “성격”을 밝히기 위해 Word2Vec의 진정한 힘을 설명했습니다. 내가 궁금해하는 점은 아주 미묘한 방법으로 현실의 한 비전만을 표현한 언어에 대한 Word2Vec 모델을 훈련하면 어떨까요? 이며, 제가 생각할 수있는 유일한 영어 후보는 폭스뉴스였습니다.

텍스트 가져 오기

폭스뉴스가 실제로 웹사이트에 가면 사본을 작성하는 동안, 나는 폭스 경험 전체를 고려할 폭스의  언어모음을 원했습니다(게스트 해설, 오프 커프스 발언, 앵커 간의 농담 등).

나는 집에서 케이블TV가 없어서 웹스크래퍼를 만들고 당시 Fox News 웹 사이트에서 사용 가능한 모든 비디오 (길이가 1 분에서 20 분 사이 인 약 1150 클립)의 오디오를 추출했습니다. 일부 비디오는 2015년으로 거슬러 올라가지만 대다수는 지난 6개월 동안의 것이었습니다.

오디오를 변환하기 위해 Google의 음성 인식 API를 사용했는데, 그 결과는 다른 서비스보다 훨씬 뛰어났습니다 (플러스 300 달러 무료 크레딧을 제공함). 나는 이것을 어떻게 했는지  여기에서 설명 합니다.

구두점

음성 인식 모델에 대한 불행한 점 중 하나는 반환하는 텍스트에 실제로 구두점이 포함되지 않는다는 것입니다. Word2Vec을 사용할 때 토큰화 된 문장(구두점이 필요함)을 피드해야 하므로 특히 신경 써야합니다.

운 좋게도 Ottokar Tilk에 이미 해결책을 있습니다. 그는 영어 텍스트에서 구두점을 복원하는 양방향 반복적인 신경망 모델을 교육했습니다. 무엇보다도 그는 Python에서 쉽게 쿼리 할 수 있는 API 를 만들었습니다 .

도널드 트럭이 집에있어!

Google은 완벽하지 않습니다. 때로는 특정 단어와 구를 잘못 해석합니다. 특히 사람들이 서로 이야기 할 때가 있습니다. 예를 들어, Michael Flynn과 관련된 가장 일반적인 용어 중 하나는 “변호사”였지만 “tourney”라는 단어도 상위 20 위에 나타났습니다.

초기 전략은 메타폰 인코딩과 퍼지 문자열 매칭을 사용하여 이러한 실수를 찾아내는 것이 었습니다. 그러나 이것은 원래 예상했던 것보다 약간 더 시간이 걸리는 것으로 판명되었으므로 나는 그 생각을 포기했습니다. 궁극적으로 잘못된 단어의 영향을 최소화하기 위해 Word2Vec 모델의 매개 변수를 조정할 수 있었습니다.

결과

이 모델은 Word2Vec의 거대한 언어모음이  아닌 약 50 만 건에 대해 교육을 받았지만 결과는 여전히 매우 흥미 롭습니다. 위의 그래프를 보시고 언제나처럼 귀하의 의견이나 제안을 듣고 싶습니다.

원문 : http://truediggs.com/presdev/neww2v.html

Pres Nichols

Data Nerd/Writer