neptune_ml의 features 필드 - Amazon Neptune

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

neptune_mlfeatures 필드

속성값과 RDF 리터럴은 다양한 형식과 데이터 유형으로 제공됩니다. 기계 학습에서 우수한 성능을 달성하려면 이러한 값을 특성이라고 하는 수치 인코딩으로 변환해야 합니다.

Neptune ML은 Neptune ML의 특성 인코딩에 설명된 대로 데이터 내보내기 및 데이터 처리 단계의 일부로 특성 추출 및 인코딩을 수행합니다.

속성 그래프 데이터 세트의 경우 내보내기 프로세스는 문자열 속성과 여러 값이 포함된 숫자 속성에 대한 auto 특성을 자동으로 유추합니다. 단일 값을 포함하는 숫자 속성의 경우 numerical 특성을 유추합니다. 날짜 속성의 경우 datetime 특성을 유추합니다.

자동 유추된 특성 사양을 재정의하거나 속성에 대한 버킷 숫자, TF-IDF, FastText 또는 SBERT 사양을 추가하려는 경우 특성 필드를 사용하여 특성 인코딩을 제어할 수 있습니다.

참고

features 필드를 사용하여 RDF 데이터가 아닌 속성 그래프 데이터에 대한 특성 사양을 제어할 수 있습니다.

자유 형식 텍스트의 경우 Neptune ML은 여러 가지 모델을 사용하여 문자열 속성값의 토큰 시퀀스를 고정 크기의 실수 값 벡터로 변환할 수 있습니다.

  • text_fasttext   –   fastText 인코딩을 사용합니다. fastText에서 지원하는 5가지 언어 중 하나만 사용하는 특성에 권장되는 인코딩입니다.

  • text_sbert   –   Sentence BERT(SBERT) 인코딩 모델을 사용합니다. text_fasttext에서 지원하지 않는 텍스트의 경우 이 인코딩을 사용하는 것이 좋습니다.

  • text_word2vec   –   Google에서 처음 게시한 Word2Vec 알고리즘을 사용하여 텍스트를 인코딩합니다. Word2Vec는 영어만 지원합니다.

  • text_tfidf   –   Term Frequency-Inverse Document Frequency(TF-IDF) 벡터라이저를 사용하여 텍스트를 인코딩합니다. TF-IDF 인코딩은 다른 인코딩에서는 지원하지 않는 통계적 특성을 지원합니다.

features 필드에는 노드 속성 특성의 JSON 배열이 포함됩니다. 배열의 객체에는 다음과 같은 필드가 포함될 수 있습니다.

featuresnode 필드

node 필드는 특성 버텍스의 속성 그래프 레이블을 지정합니다. 예:

"node": "Person"

버텍스에 레이블이 여러 개 있는 경우 배열을 사용하여 레이블을 포함하세요. 예:

"node": ["Admin", "Person"]

featuresedge 필드

edge 필드는 특성 엣지의 엣지 유형을 지정합니다. 엣지 유형은 소스 버텍스의 속성 그래프 레이블, 엣지의 속성 그래프 레이블, 대상 버텍스의 속성 그래프 레이블을 포함하는 배열로 구성됩니다. 엣지 특성을 지정할 때는 세 값을 모두 제공해야 합니다. 예:

"edge": ["User", "reviewed", "Movie"]

엣지 유형의 소스 또는 대상 버텍스에 레이블이 여러 개 있는 경우 다른 배열을 사용하여 레이블을 포함하세요. 예:

"edge": [["Admin", "Person"]. "edited", "Post"]

featuresproperty 필드

속성 파라미터를 사용하여 node 파라미터로 식별되는 버텍스의 속성을 지정합니다. 예:

"property" : "age"

특성에 사용할 수 있는 type 필드 값

type 파라미터는 정의되는 특성 유형을 지정합니다. 예:

"type": "bucket_numerical"
사용할 수 있는 type 파라미터 값
  • "auto"   –   Neptune ML이 속성 유형을 자동으로 감지하고 적절한 특성 인코딩을 적용하도록 지정합니다. auto 특성에 옵션 separator 필드가 있을 수도 있습니다.

    Neptune ML의 자동 특성 인코딩 섹션을 참조하세요.

  • "category"   –   이 특성 인코딩은 속성값을 여러 범주 중 하나로 나타냅니다. 즉, 특성은 하나 이상의 이산 값을 가질 수 있습니다. category 특성에 옵션 separator 필드가 있을 수도 있습니다.

    Neptune ML의 범주별 특성 섹션을 참조하세요.

  • "numerical"   –   이 특성 인코딩은 '초과'와 '미만'이 의미하는 연속 간격의 숫자 속성값을 숫자로 나타냅니다.

    numerical 특성에 옵션 norm, imputer, separator 필드가 있을 수도 있습니다.

    Neptune ML의 수치적 특성 섹션을 참조하세요.

  • "bucket_numerical"   –   이 특성 인코딩은 숫자 속성값을 버킷 또는 범주 세트로 나눕니다.

    예를 들어, 어린이(0~20세), 청년(20~40세), 중년(40~60세), 노인(60세 이상)의 4가지 버킷으로 사용자의 나이를 인코딩할 수 있습니다.

    bucket_numerical 특성에는 rangebucket_cnt 필드가 필요하며, 필요에 따라 imputer 및/또는 slide_window_size 필드를 포함할 수도 있습니다.

    Neptune ML의 버킷 수치 특성 섹션을 참조하세요.

  • "datetime"   –   이 특성 인코딩은 날짜/시간 속성값을 년, 월, 요일, 시간과 같은 범주형 특성의 배열로 나타냅니다.

    이 네 범주 중 하나 이상을 datetime_parts 파라미터를 사용하여 제거할 수 있습니다.

    Neptune ML의 날짜/시간 특성 섹션을 참조하세요.

  • "text_fasttext"   –   이 특성 인코딩은 fastText 모델을 사용하여 문장이나 자유 형식 텍스트로 구성된 속성값을 숫자형 벡터로 변환합니다. 5가지 언어, 즉 영어(en), 중국어(zh), 힌디어(hi), 스페인어(es), 프랑스어(fr)를 지원합니다. 5개 언어 중 하나로 된 텍스트 속성값의 경우 text_fasttext 인코딩을 사용하는 것이 좋습니다. 하지만 같은 문장에 2개 이상의 언어로 된 단어가 포함된 경우에는 처리할 수 없습니다.

    fastText가 지원하는 언어가 아닌 다른 언어의 경우 text_sbert 인코딩을 사용하세요.

    120개 토큰보다 긴 속성값 텍스트 문자열이 많은 경우 이 max_length 필드를 사용하여 "text_fasttext"에서 인코딩하는 각 문자열의 토큰 수를 제한하세요.

    Neptune ML의 텍스트 속성값에 대한 fastText 인코딩 섹션을 참조하세요.

  • "text_sbert"   –   이 인코딩은 Sentence BERT(SBERT) 모델을 사용하여 텍스트 속성값을 숫자형 벡터로 변환합니다. Neptune은 2개의 SBERT 메서드를 지원합니다. text_sbert를 지정한 경우 기본값은 text_sbert128이며, 다른 메서드 하나는 text_sbert512입니다. 둘 사이의 차이는 인코딩되는 텍스트 속성의 최대 토큰 수입니다. text_sbert128 인코딩은 처음 128개 토큰만 인코딩하고, text_sbert512는 최대 512개 토큰을 인코딩합니다. 따라서 text_sbert512를 사용하려면 text_sbert128보다 많은 처리 시간이 소요될 수 있습니다. 두 메서드 모두 text_fasttext보다 느립니다.

    text_sbert* 메서드는 여러 언어를 지원하며 2개 이상의 언어를 포함하는 문장을 인코딩할 수 있습니다.

    Neptune ML의 텍스트 특성에 대한 Sentence BERT(SBERT) 인코딩 섹션을 참조하세요.

  • "text_word2vec"   –   이 인코딩은 Word2Vec 알고리즘을 사용하여 텍스트 속성값을 숫자형 벡터로 변환합니다. 영어만 지원합니다.

    Neptune ML의 텍스트 특성에 대한 Word2Vec 인코딩 섹션을 참조하세요.

  • "text_tfidf"   –   이 인코딩은 Term Frequency-Inverse Document Frequency(TF-IDF) 벡터라이저를 사용하여 텍스트 속성값을 숫자형 벡터로 변환합니다.

    ngram_range 필드, min_df 필드 및 max_features 필드를 사용하여 text_tfidf 특성 인코딩의 파라미터를 정의합니다.

    Neptune ML의 텍스트 특성에 대한 TF-IDF 인코딩 섹션을 참조하세요.

  • "none"   –   none 유형을 사용하면 특성 인코딩이 발생하지 않습니다. 원시 속성값이 구문 분석되어 대신 저장됩니다.

    사용자 지정 모델 훈련의 일환으로 사용자 지정 특성 인코딩을 수행하려는 경우에만 none을 사용하세요.

norm 필드

이 필드는 숫자 특성에 필요합니다. 숫자 값에 사용할 정규화 메서드를 지정합니다.

"norm": "min-max"

다음과 같은 정규화 메서드가 지원됩니다.

  • "min-max"   –   각 값에서 최소값을 뺀 다음 최대값과 최소값 간의 차이로 나누어 각 값을 정규화합니다.

  • “standard”   –   각 값을 모든 값의 합계로 나누어 정규화합니다.

  • “none”   –   인코딩 중에 숫자 값을 정규화하지 마세요.

Neptune ML의 수치적 특성 섹션을 참조하세요.

language 필드

언어 필드는 텍스트 속성값에 사용되는 언어를 지정합니다. 사용법은 텍스트 인코딩 메서드에 따라 달라집니다.

  • text_fasttext 인코딩의 경우 이 필드는 필수이며, 다음 언어 중 하나를 지정해야 합니다.

    • en(영어)

    • zh(중국어)

    • hi(힌디어)

    • es(스페인어)

    • fr(프랑스어)

  • SBERT 인코딩은 다국어이므로, text_sbert 인코딩의 경우 이 필드는 사용되지 않습니다.

  • text_word2vec에서는 영어만 지원하므로, text_word2vec 인코딩의 경우 이 필드는 선택 사항입니다. 있는 경우 영어 언어 모델 이름을 지정해야 합니다.

    "language" : "en_core_web_lg"
  • text_tfidf 인코딩의 경우 이 필드는 사용되지 않습니다.

max_length 필드

max_length 필드는 text_fasttext 특성의 경우 선택 사항이며, 입력 텍스트 특성에서 인코딩될 최대 토큰 수를 지정합니다. max_length보다 긴 입력 텍스트는 잘립니다. 예를 들어, max_length를 128로 설정하면 텍스트 시퀀스에서 128번째 이후의 모든 토큰은 무시됩니다.

"max_length": 128

separator 필드

이 필드는 category, numericalauto 특성과 함께 필요에 따라 사용됩니다. 속성값을 여러 범주형 값 또는 숫자 값으로 분할하는 데 사용할 수 있는 문자를 지정합니다.

"separator": ";"

속성이 단일 문자열에 구분된 여러 값(예: "Actor;Director" 또는 "0.1;0.2")을 저장하는 경우에만 separator 필드를 사용하세요.

범주별 특성, 수치적 특성자동 인코딩 단원을 참조하세요.

range 필드

이 필드는 bucket_numerical 특성에 필요합니다. 버킷으로 나눌 숫자 값의 범위를 다음과 같은 [lower-bound, upper-bound] 형식으로 지정합니다.

"range" : [20, 100]

속성값이 하한값보다 작으면 첫 번째 버킷에 할당되고, 상한값보다 크면 마지막 버킷에 할당됩니다.

Neptune ML의 버킷 수치 특성 섹션을 참조하세요.

bucket_cnt 필드

이 필드는 bucket_numerical 특성에 필요합니다. range 파라미터로 정의된 숫자 범위를 다음과 같이 나누어야 하는 버킷 수를 지정합니다.

"bucket_cnt": 10

Neptune ML의 버킷 수치 특성 섹션을 참조하세요.

slide_window_size 필드

이 필드는 bucket_numerical 특성과 함께 필요에 따라 사용되어 2개 이상의 버킷에 값을 할당합니다.

"slide_window_size": 5

슬라이드 창은 Neptune ML이 창 크기(s)를 가져와 속성의 각 숫자 값 v v - s/2 ~ v + s/2 까지의 범위로 변환하며 작동합니다. 그런 다음 범위가 겹치는 모든 버킷에 값이 할당됩니다.

Neptune ML의 버킷 수치 특성 섹션을 참조하세요.

imputer 필드

이 필드는 numericalbucket_numerical 특성과 함께 필요에 따라 사용되어 누락된 값을 채우기 위한 대체 기법을 제공합니다.

"imputer": "mean"

지원되는 대체 기법은 다음과 같습니다.

  • "mean"

  • "median"

  • "most-frequent"

Imputer 파라미터를 포함하지 않는 경우 누락된 값이 발견되면 데이터 사전 처리가 중단되고 종료됩니다.

Neptune ML의 수치적 특성Neptune ML의 버킷 수치 특성를 참조하세요.

max_features 필드

이 필드는 text_tfidf 특성별로 필요에 따라 사용되어 인코딩할 용어의 최대 개수를 지정합니다.

"max_features": 100

100으로 설정하면 TF-IDF 벡터라이저가 가장 많이 사용되는 100개의 용어만 인코딩합니다. max_features를 포함하지 않는 경우의 기본값은 5,000입니다.

Neptune ML의 텍스트 특성에 대한 TF-IDF 인코딩 섹션을 참조하세요.

min_df 필드

이 필드는 text_tfidf 특성별로 필요에 따라 사용되어 인코딩할 용어의 최소 문서 빈도를 지정합니다.

"min_df": 5

5로 설정한 경우 용어가 인코딩되려면 5개 이상의 서로 다른 속성값에 나타나야 합니다.

min_df 파라미터를 포함하지 않는 경우의 기본값은 2입니다.

Neptune ML의 텍스트 특성에 대한 TF-IDF 인코딩 섹션을 참조하세요.

ngram_range 필드

이 필드는 text_tfidf 특성별로 필요에 따라 사용되어 인코딩할 수 있는 개별 용어로 간주해야 하는 단어 또는 토큰의 크기 시퀀스를 지정합니다.

"ngram_range": [2, 4]

[2, 4] 값은 2, 3, 4단어 시퀀스를 잠재적 개별 용어로 간주하도록 지정합니다.

ngram_range를 명시적으로 설정하지 않으면 기본값은 [1, 1]이며, 이는 단일 단어나 토큰만 인코딩할 용어로 간주된다는 것을 의미합니다.

Neptune ML의 텍스트 특성에 대한 TF-IDF 인코딩 섹션을 참조하세요.

datetime_parts 필드

이 필드는 datetime 특성에서 필요에 따라 날짜/시간 값 중 범주별로 인코딩할 부분을 지정하는 데 사용됩니다.

"datetime_parts": ["weekday", "hour"]

datetime_parts를 포함하지 않는 경우 기본적으로 Neptune ML은 날짜/시간 값의 연도, 월, 요일 및 시간 부분을 인코딩합니다. ["weekday", "hour"] 값은 날짜/시간 값의 요일 및 시간만 특성에서 범주별로 인코딩해야 함을 나타냅니다.

훈련 세트에서 부분 중 하나에 고유 값이 2개 이상 없는 경우 인코딩되지 않습니다.

Neptune ML의 날짜/시간 특성을(를) 참조하세요.