텍스트에 대한 단어 임베딩이란 무엇입니까?

트윗 공유 공유

2019 년 8 월 7 일 최종 업데이트

단어 삽입은 비슷한 의미를 가진 단어가 비슷한 표현을 가질 수 있도록 단어 표현의 한 유형입니다.

그들은 아마도 도전 자연 언어 처리 문제에 깊은 학습 방법의 인상적인 성능을위한 핵심 혁신 중 하나입니다 텍스트에 대한 분산 표현이다.

이 게시물에서는 텍스트 데이터를 나타내는 단어 포함 접근 방식을 발견하게됩니다.

이 게시물을 완료 한 후,당신은 알게 될 것이다:

  • 텍스트를 나타내는 단어 포함 접근 방식은 무엇이며 다른 특징 추출 방법과 어떻게 다른지.
  • 텍스트 데이터에서 단어 임베딩을 학습하기위한 3 가지 주요 알고리즘이 있습니다.
  • 새 임베딩을 학습하거나 자연 언어 처리 작업에 사전 학습된 임베딩을 사용할 수 있습니다.

단계별 자습서 및 모든 예제에 대한 파이썬 소스 코드 파일을 포함하여 자연 언어 처리를위한 새로운 책 딥 러닝으로 프로젝트를 시작하십시오.

시작하자.

텍스트에 대한 단어 임베딩이란 무엇입니까?

텍스트에 대한 단어 임베딩이란 무엇입니까?
헤더 사진,일부 권리 보유.

개요

이 게시물은 3 부분으로 나뉩니다.:

  1. 단어 임베딩이란 무엇입니까?
  2. 단어 임베딩 알고리즘
  3. 단어 임베딩 사용

텍스트 데이터에 대한 딥 러닝에 대한 도움이 필요하십니까?

내 무료 7 일 이메일 크래시 코스를 지금 수강하십시오(코드 포함).

가입을 클릭하고 또한 과정의 무료 전자 책 버전을 얻을.

지금 무료 충돌 과정을 시작

워드 임베딩이란 무엇입니까?

단어 삽입은 동일한 의미를 갖는 단어가 유사한 표현을 갖는 텍스트에 대한 학습 된 표현입니다.

어려운 자연어 처리 문제에 대한 깊은 학습의 핵심 혁신 중 하나로 간주 될 수있는 단어와 문서를 나타내는 이러한 접근 방식입니다.

고밀도 및 저 차원 벡터를 사용할 때의 이점 중 하나는 계산: 신경 네트워크 툴킷의 대부분은 매우 높은 차원,스파 스 벡터와 잘 재생되지 않습니다. …조밀 한 표현의 주요 이점은 일반화 전력이다:우리는 몇 가지 기능이 유사한 단서를 제공 할 수 있다고 생각하는 경우,이러한 유사성을 캡처 할 수있는 표현을 제공하는 것이 가치가있다.

— 92 페이지,자연어 처리의 신경망 방법,2017.

단어 임베딩은 사실 개별 단어가 미리 정의된 벡터 공간에서 실제 값 벡터로 표현되는 기술 클래스입니다. 각 단어는 하나의 벡터에 매핑되고 벡터 값은 신경망과 유사한 방식으로 학습되므로 기술은 종종 딥 러닝 분야에 집중됩니다.

이 접근법의 핵심은 각 단어에 대해 조밀 한 분산 표현을 사용하는 아이디어입니다.

각 단어는 실제 값 벡터,종종 수십 또는 수백 차원으로 표시됩니다. 이는 단일 핫 인코딩과 같은 스파스 단어 표현에 필요한 수천 또는 수백만 차원과 대조됩니다.

어휘의 각 단어와 연결 분산 단어 특징 벡터…특징 벡터는 단어의 다양한 측면을 나타냅니다. 기능의 수는 어휘의 크기보다 훨씬 작습니다

— 신경 확률 론적 언어 모델,2003.

분산 표현은 단어의 사용을 기반으로 학습됩니다. 이를 통해 유사한 방식으로 사용되는 단어는 유사한 표현을 가지며 자연스럽게 그 의미를 포착 할 수 있습니다. 이것은 명시 적으로 관리하지 않는 한,다른 단어가 사용되는 방법에 관계없이 다른 표현을 갖는 단어 모델의 가방에서 선명하지만 깨지기 쉬운 표현과 대조 될 수 있습니다.

접근법 뒤에는 더 깊은 언어 이론,즉 젤리그 해리스의”분배 가설”이 다음과 같이 요약 될 수있다:비슷한 맥락을 가진 단어는 비슷한 의미를 가질 것이다. 더 깊이는 해리스의 1956 년 논문”분배 구조”.

단어의 사용이 그 의미를 정의하게하는이 개념은 존 퍼스에 의해 자주 반복 경구로 요약 할 수있다:

당신은 유지 회사에 의해 단어를 알게 될 것이다!

— 11 페이지,”언어 이론의 개요 1930-1955″,언어 분석 연구 1930-1955,1962.

워드 임베딩 알고리즘

워드 임베딩 방법은 텍스트의 코퍼스에서 미리 정의 된 고정 크기의 어휘에 대한 실제 값 벡터 표현을 학습합니다.

학습 과정은 문서 분류와 같은 일부 작업에서 신경망 모델과 결합되거나 문서 통계를 사용하여 감독되지 않은 프로세스입니다.

이 섹션에서는 텍스트 데이터에서 임베딩하는 단어를 학습하는 데 사용할 수 있는 세 가지 기술을 검토합니다.

임베딩 레이어

임베딩 레이어는 더 나은 이름이 없기 때문에 언어 모델링이나 문서 분류와 같은 특정 자연어 처리 작업에서 신경망 모델과 공동으로 학습되는 단어 임베딩입니다.

각 단어가 핫 인코딩되도록 문서 텍스트를 정리하고 준비해야 합니다. 벡터 공간의 크기는 50,100 또는 300 차원과 같이 모델의 일부로 지정됩니다. 벡터는 작은 난수로 초기화됩니다. 임베딩 레이어는 신경망의 프런트 엔드에 사용되며 역전파 알고리즘을 사용하여 감독된 방식으로 적합합니다.

… 신경망에 대한 입력에 기호 범주 형 기능(예: 이러한 벡터는 모델의 매개 변수로 간주되며 다른 매개 변수와 공동으로 훈련됩니다.

— 49 페이지,자연 언어 처리의 신경망 방법,2017.

원-핫 인코딩된 단어들은 단어 벡터들에 매핑된다. 다층 퍼셉트론 모델을 사용하는 경우,단어 벡터는 모델에 입력으로 공급되기 전에 연결됩니다. 반복되는 신경망이 사용되는 경우 각 단어는 시퀀스에서 하나의 입력으로 간주 될 수 있습니다.

임베딩 계층을 학습하는 이러한 접근 방식은 많은 학습 데이터를 필요로 하며 속도가 느릴 수 있지만 특정 텍스트 데이터와 네임스페이스 태스크를 대상으로 하는 임베딩을 학습합니다.

워드 투벡

워드 투벡은 텍스트 코퍼스에서 독립형 단어 임베딩을 효율적으로 학습하기 위한 통계적 방법이다.

토마스 미콜로프 등에 의해 개발되었다. 구글에서 2013 년 응답으로 삽입의 신경 네트워크 기반의 교육을보다 효율적으로 만들기 위해 그 이후 사전 훈련 된 단어 임베딩을 개발하기위한 사실상의 표준이되었다.

또한,학습된 벡터의 분석과 단어의 표현에 대한 벡터 수학의 탐구를 포함했다. 예를 들어,”왕”에서”남자 다움”을 빼고”여자 다움”을 추가하면”여왕”이라는 단어가 생겨”왕이 여왕에게 남자가 여자에게”라는 비유를 포착합니다.

우리는 이러한 표현이 언어의 구문 및 의미 규칙 성을 캡처 놀라 울 정도로 좋은 것을 발견,각 관계는 관계 별 벡터 오프셋을 특징으로한다. 이를 통해 단어 간의 오프셋을 기반으로 벡터 지향 추론을 할 수 있습니다. 예를 들어,남성/여성 관계가 자동으로 학습되고 유도 된 벡터 표현으로”왕–남자+여자”는”여왕”에 매우 가까운 벡터를 생성합니다.”

— 연속 공간 단어 표현의 언어 적 규칙 성,2013.

두 개의 서로 다른 학습 모델은 단어 투벡 접근법의 일부로 사용될 수 있는 도입되었습니다.:

  • 연속 가방-의-단어,또는 크 보우 모델.
  • 연속 스킵 그램 모델.

씨보우모델은 문맥에 따라 현재 단어를 예측하여 임베딩을 학습한다. 연속 건너 뛰기 그램 모델은 현재 단어가 주어진 주변 단어를 예측하여 학습합니다.

연속 스킵 그램 모델은 현재 단어가 주어진 주변 단어를 예측하여 학습합니다.

워드투벡 트레이닝 모델

워드투벡 트레이닝 모델
“벡터 공간에서의 단어 표현의 효율적인 추정”에서 발췌”, 2013

두 모델 모두 로컬 사용 컨텍스트가 주어진 단어에 대해 배우는 데 중점을 둡니다.이 컨텍스트는 이웃 단어의 창에 의해 정의됩니다. 이 창은 모델의 구성 가능한 매개 변수입니다.

슬라이딩 윈도우의 크기는 결과 벡터 유사성에 강한 영향을 미친다. 큰 창은 더 많은 국소 유사성을 생성하는 경향이 있지만 작은 창은 더 많은 기능 및 구문 유사성을 생성하는 경향이 있습니다.

— 128 페이지,자연 언어 처리의 신경망 방법,2017.

이 접근법의 주요 이점은 고품질의 단어 임베딩을 효율적으로 학습(낮은 공간 및 시간 복잡성)할 수 있으며,훨씬 더 큰 텍스트(수십억 단어)에서 더 큰 임베딩을 학습(더 많은 차원)할 수 있다는 것입니다.

글러브

단어 표현을 위한 글로벌 벡터 또는 글러브 알고리즘은 페닝턴 등에 의해 개발된 단어 벡터를 효율적으로 학습하기 위한 워드 투벡 방법의 확장이다. 스탠포드.

단어의 고전적 벡터 공간 모델 표현은 글로벌 텍스트 통계를 사용하는 데 능숙하지만 유추 계산과 같은 작업에서 의미를 캡처하고 시연하는 워드 투벡과 같은 학습 방법만큼 좋지 않은 잠재 의미 분석 등의 행렬 인수 분해 기술을 사용하여 개발되었습니다. 위의 왕과 여왕의 예).

글러브는 행렬 인수 분해 기법의 글로벌 통계와 워드 투벡의 지역 맥락 기반 학습을 결합하기위한 접근법이다.

창을 사용하여 로컬 컨텍스트를 정의하는 대신 글러브는 전체 텍스트 모음에 대한 통계를 사용하여 명시적인 단어 컨텍스트 또는 단어 동시 발생 행렬을 구성합니다. 결과는 일반적으로 더 나은 단어 임베딩을 초래할 수있는 학습 모델입니다.

장갑,단어 유추,단어 유사성 및 명명 된 엔티티 인식 작업에 다른 모델을 능가하는 단어 표현의 자율 학습을위한 새로운 글로벌 로그-쌍 선형 회귀 모델입니다.

— 장갑:단어 표현을위한 글로벌 벡터,2014.

워드 임베딩 사용

자연어 처리 프로젝트에서 워드 임베딩을 사용할 때 몇 가지 옵션이 있습니다.

이 섹션에서는 이러한 옵션에 대해 설명합니다.

임베딩 알아보기

문제에 대한 임베딩 단어를 학습하도록 선택할 수 있습니다.

이를 위해서는 수백만 또는 수십억 단어와 같은 유용한 임베딩을 학습하기 위해 많은 양의 텍스트 데이터가 필요합니다.

단어 임베딩을 훈련 할 때 두 가지 주요 옵션이 있습니다:

  1. 이 모델은 나중에 작업에 대한 다른 모델의 일부로 저장되고 사용되는 임베딩을 학습하도록 훈련됩니다. 여러 모델에서 동일한 임베딩을 사용하려는 경우 이 방법이 좋습니다.
  2. 공동 학습,여기서 임베딩은 큰 작업 별 모델의 일부로 학습됩니다. 하나의 작업에만 임베딩을 사용하려는 경우 이 방법이 좋습니다.

임베딩 재사용

연구자는 사전 훈련된 단어 임베딩을 무료로 사용할 수 있도록 하는 것이 일반적이며,종종 허용 라이선스에 따라 사용자가 자신의 학문적 또는 상업적 프로젝트에 사용할 수 있도록 하는 것이 일반적입니다.

예를 들어,워드 투벡과 글러브 워드 임베딩은 모두 무료로 다운로드할 수 있습니다.

이들은 처음부터 자신의 임베딩을 훈련하는 대신 프로젝트에서 사용할 수 있습니다.

사전 훈련된 임베딩을 사용할 때 두 가지 주요 옵션이 있습니다:

  1. 정적-임베딩이 정적으로 유지되고 모델의 구성 요소로 사용됩니다. 이 방법은 임베딩이 문제에 적합하고 좋은 결과를 제공하는 경우에 적합합니다.
  2. 업데이트,여기서 사전 학습된 임베딩은 모델을 시드하는 데 사용되지만 임베딩은 모델 학습 중에 공동으로 업데이트됩니다. 모델을 최대한 활용하고 작업에 임베딩하려는 경우 좋은 옵션이 될 수 있습니다.

어떤 옵션을 사용해야합니까?

다양한 옵션을 살펴보고 가능한 경우 테스트하여 문제에 대한 최상의 결과를 확인하십시오.

아마도 사전 훈련 된 임베딩을 사용하는 것과 같은 빠른 방법으로 시작하고 문제의 성능이 더 나은 경우에만 새 임베딩을 사용하십시오.

워드 임베딩 자습서

이 섹션에서는 워드 임베딩을 사용하고 프로젝트에 워드 임베딩을 가져올 수 있는 몇 가지 단계별 자습서를 나열합니다.

  • 제넴을 사용하여 파이썬에서 단어 임베딩을 개발하는 방법
  • 케라스와 함께 딥러닝을 위해 단어 임베딩 레이어를 사용하는 방법
  • 감정 분석을 위한 심층 인맥 개발 방법(텍스트 분류)

추가 읽기

이 섹션에서는 더 자세히 살펴보고 싶다면 주제에 대한 더 많은 리소스를 제공합니다.

기사

  • 위키백과
  • 위키백과
  • 위키백과
  • 위키백과
  • 위키백과
  • 위키백과
  • 위키백과
  • 위키백과
  • 딥 러닝,내셔널 리그 및 표현,2014.

논문

  • 분포 구조,1956.
  • 신경 확률 언어 모델,2003.
  • 자연어 처리를 위한 통합 아키텍처:멀티태스킹 학습을 통한 심층 신경망,2008.
  • 연속 공간 언어 모델,2007.
  • 벡터 공간에서의 단어 표현의 효율적인 추정,2013
  • 단어와 구문의 분산된 표현과 그 구성성,2013.
  • 장갑:단어 표현을위한 글로벌 벡터,2014.

프로젝트

  • 구글 코드
  • 장갑:단어 표현을 위한 글로벌 벡터

  • 자연어 처리에서의 신경망 방법,2017.

요약

이 게시물에서는 딥 러닝 응용 프로그램에서 텍스트의 표현 방법으로 단어 임베딩을 발견했습니다.

구체적으로,당신은 배웠습니다:

  • 표현 텍스트에 대한 단어 포함 접근 방식이 무엇이며 다른 특징 추출 방법과 어떻게 다른지.
  • 텍스트 데이터에서 단어 임베딩을 학습하기위한 3 가지 주요 알고리즘이 있습니다.
  • 새 임베딩을 학습하거나 자연 언어 처리 작업에 사전 학습된 임베딩을 사용할 수 있습니다.

질문이 있으십니까?
아래의 의견에 질문을하고 나는 대답하기 위해 최선을 다할 것입니다.

오늘 텍스트 데이터에 대한 딥 러닝 모델을 개발하십시오!

자연어 처리를 위한 딥러닝

분 안에 자신만의 텍스트 모델을 개발한다…파이썬 코드의 몇 줄

어떻게 내 새로운 전자 책에 발견:
자연 언어 처리를위한 깊은 학습

그것은 같은 주제에 대한 자율 학습 자습서를 제공합니다:
가방-의 단어,단어 삽입,언어 모델,캡션 생성,텍스트 번역 및 훨씬 더…

마지막으로 자연 언어 처리 프로젝트에 깊은 학습을 가지고

학계를 건너 뜁니다. 그냥 결과.

내부 내용 보기

짹짹 몫 몫

답글 남기기

이메일 주소는 공개되지 않습니다.