Chars2Vec 라이브러리는 약어, 속어, 오타 또는 기타 특정 텍스트 데이터 세트가 포함 된 텍스트를 다루는 경우 매우 유용 할 수 있습니다. Chars2Vec 언어 모델은 단어의 상징적 표현을 기반으로합니다. 모델은 각 단어를 고정 길이의 벡터에 맵핑합니다. 이러한 벡터 표현은 사용자 정의 신경망으로 얻어지는 반면 후자는 유사하고 유사하지 않은 단어 쌍에 대해 훈련을 받고 있습니다. 이 맞춤형 신경망에는 LSTM, 단어의 일련의 문자 시퀀스가 포함됩니다. 이 모델은 유사하게 쓰여진 단어를 근위 벡터에 매핑합니다. 이 접근법을 사용하면 모든 문자 시퀀스에 대한 벡터 공간에 포함 된 내장을 생성 할 수 있습니다. chars2Vec 모델은 임베드 사전을 유지하지는 않지만 사전 사전을 사용하여 임베딩 벡터를 생성합니다.
영어에 대한 사전 차원 모델 50, 100, 150, 200 및 300의 모델이 있습니다. 라이브러리는 편리한 사용자 API를 제공하여 임의의 문자 세트에 대한 모델을 훈련시킵니다. Chars2Vec의 아키텍처에 대한 자세한 내용을 참조하십시오. 해커 정오의 철자 오류와 인간 속어를 가진 실제 텍스트를 처리하기위한 캐릭터 기반 언어 모델.
>> python setup.py install >> pip install chars2vec 함수 chars2vec.load_model(str path) 디렉토리에서 모델을 초기화하고 chars2vec.Chars2Vec 객체를 반환합니다. 차원의 50, 100, 150, 200 및 300의 5 개의 사전에 걸린 영어 모델이 있습니다.
import chars2vec
# Load Inutition Engineering pretrained model
# Models names: 'eng_50', 'eng_100', 'eng_150', 'eng_200', 'eng_300'
c2v_model = chars2vec . load_model ( 'eng_50' ) 메소드 chars2vec.Chars2Vec.vectorize_words(words) numpy.ndarray of shape (n_words, dim) 단어 임베딩으로 반환합니다.
words = [ 'list' , 'of' , 'words' ]
# Create word embeddings
word_embeddings = c2v_model . vectorize_words ( words ) 함수 chars2vec.train_model(int emb_dim, X_train, y_train, model_chars) 새로운 chars2vec 모델을 생성하고 훈련시키고 chars2vec.Chars2Vec 객체를 반환합니다.
PARAMETER emb_dim 은 모델의 차원입니다.
매개 변수 X_train 은 단어 쌍의 목록 또는 numpy.ndarray입니다. 매개 변수 y_train 은 단어의 근접성을 설명하는 대상 값의 목록 또는 numpy.ndarray입니다.
훈련 세트 ( X_train , y_train )는 "유사한"및 "유사한"단어 쌍으로 구성됩니다. 한 쌍의 "유사한"단어에는 0 대상 값이 0이고 한 쌍의 "유사하지 않음"이 표시되어 있습니다.
매개 변수 model_chars 는 모델의 숯 목록입니다. model_chars 목록에없는 문자는 모델에 의해 무시됩니다.
Chars2Vec에 관한 기사에서 Chars2Vec 교육 및 교육 데이터 세트에 대해 자세히 알아보십시오.
함수 chars2vec.save_model(c2v_model, str path_to_model) 훈련 된 모델을 디렉토리에 저장합니다.
import chars2vec
dim = 50
path_to_model = 'path/to/model/directory'
X_train = [( 'mecbanizing' , 'mechanizing' ), # similar words, target is equal 0
( 'dicovery' , 'dis7overy' ), # similar words, target is equal 0
( 'prot$oplasmatic' , 'prtoplasmatic' ), # similar words, target is equal 0
( 'copulateng' , 'lzateful' ), # not similar words, target is equal 1
( 'estry' , 'evadin6' ), # not similar words, target is equal 1
( 'cirrfosis' , 'afear' ) # not similar words, target is equal 1
]
y_train = [ 0 , 0 , 0 , 1 , 1 , 1 ]
model_chars = [ '!' , '"' , '#' , '$' , '%' , '&' , "'" , '(' , ')' , '*' , '+' , ',' , '-' , '.' ,
'/' , '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , ':' , ';' , '<' ,
'=' , '>' , '?' , '@' , '_' , 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i' ,
'j' , 'k' , 'l' , 'm' , 'n' , 'o' , 'p' , 'q' , 'r' , 's' , 't' , 'u' , 'v' , 'w' ,
'x' , 'y' , 'z' ]
# Create and train chars2vec model using given training data
my_c2v_model = chars2vec . train_model ( dim , X_train , y_train , model_chars )
# Save your pretrained model
chars2vec . save_model ( my_c2v_model , path_to_model )
# Load your pretrained model
c2v_model = chars2vec . load_model ( path_to_model ) 사용 및 교육 모델에 대한 전체 코드 예제 example_usage.py 및 example_training.py 파일을 참조하십시오.