Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

fastTextWordEmbedding

사전 훈련된 fastText 단어 임베딩

설명

예제

emb = fastTextWordEmbedding은 100만 개의 영어 단어에 대해 300차원의 사전 훈련된 단어 임베딩을 반환합니다.

이 함수를 사용하려면 Text Analytics Toolbox™ Model for fastText English 16 Billion Token Word Embedding 지원 패키지가 필요합니다. 이 지원 패키지가 설치되어 있지 않으면 함수에서 다운로드 링크를 제공합니다.

예제

모두 축소

Text Analytics Toolbox Model for fastText English 16 Billion Token Word Embedding 지원 패키지를 다운로드하여 설치합니다.

명령줄에 fastTextWordEmbedding을 입력합니다.

fastTextWordEmbedding

Text Analytics Toolbox Model for fastText English 16 Billion Token Word Embedding 지원 패키지가 설치되어 있지 않으면 이 함수가 애드온 탐색기로 연결되는 지원 패키지 링크를 제공합니다. 지원 패키지를 설치하려면 링크를 클릭한 다음, 설치를 클릭하십시오. 명령줄에 emb = fastTextWordEmbedding을 입력하여 성공적으로 설치되었는지 확인합니다.

emb = fastTextWordEmbedding
emb = 

  wordEmbedding with properties:

     Dimension: 300
    Vocabulary: [1×1000000 string]

필요한 지원 패키지가 설치되었으면 함수가 wordEmbedding 객체를 반환합니다.

사전 훈련된 단어 임베딩을 fastTextWordEmbedding을 사용하여 불러옵니다. 이 함수를 사용하려면 Text Analytics Toolbox™ Model for fastText English 16 Billion Token Word Embedding 지원 패키지가 필요합니다. 이 지원 패키지가 설치되어 있지 않으면 함수에서 다운로드 링크를 제공합니다.

emb = fastTextWordEmbedding
emb = 
  wordEmbedding with properties:

     Dimension: 300
    Vocabulary: [1×1000000 string]

word2vec을 사용하여 단어 "Italy", "Rome" 및 "Paris"를 벡터에 매핑합니다.

italy = word2vec(emb,"Italy");
rome = word2vec(emb,"Rome");
paris = word2vec(emb,"Paris");

vec2word를 사용하여 벡터 italy - rome + paris를 단어에 매핑합니다.

word = vec2word(emb,italy - rome + paris)
word = 
"France"

사전 훈련된 단어 임베딩을 사용하여 토큰화된 문서로 구성된 배열을 단어 벡터 시퀀스로 변환합니다.

fastTextWordEmbedding 함수를 사용하여 사전 훈련된 단어 임베딩을 불러옵니다. 이 함수를 사용하려면 Text Analytics Toolbox™ Model for fastText English 16 Billion Token Word Embedding 지원 패키지가 필요합니다. 이 지원 패키지가 설치되어 있지 않으면 함수에서 다운로드 링크를 제공합니다.

emb = fastTextWordEmbedding;

공장 보고서 데이터를 불러와서 tokenizedDocument 배열을 만듭니다.

filename = "factoryReports.csv";
data = readtable(filename,'TextType','string');
textData = data.Description;
documents = tokenizedDocument(textData);

doc2sequence를 사용하여 문서를 단어 벡터 시퀀스로 변환합니다. 기본적으로 doc2sequence 함수는 시퀀스의 왼쪽을 채워서 동일한 길이로 만듭니다. 고차원 단어 임베딩을 사용하여 대규모 문서 모음을 변환하는 경우 채우기를 수행하려면 대량의 메모리가 필요합니다. 함수가 데이터를 채우지 않도록 하려면 'PaddingDirection' 옵션을 'none'으로 설정하십시오. 또는 'Length' 옵션을 사용하여 채우는 양을 제어할 수 있습니다.

sequences = doc2sequence(emb,documents,'PaddingDirection','none');

처음 10개 시퀀스의 크기를 표시합니다. 각 시퀀스는 DxS 행렬입니다. 여기서 D는 임베딩 차원이고 S는 시퀀스의 단어 벡터 수입니다.

sequences(1:10)
ans=10×1 cell array
    {300×10 single}
    {300×11 single}
    {300×11 single}
    {300×6  single}
    {300×5  single}
    {300×10 single}
    {300×8  single}
    {300×9  single}
    {300×7  single}
    {300×13 single}

출력 인수

모두 축소

사전 훈련된 단어 임베딩으로, wordEmbedding 객체로 반환됩니다.

R2018a에 개발됨