рдлрд╛рд╕реНрдЯрдЯреЗрдХреНрд╕реНрдЯ рдореЙрдбрд▓ рдХреЛ 100 рдмрд╛рд░ рдХреИрд╕реЗ рдХрдВрдкреНрд░реЗрд╕ рдХрд░реЗрдВ

рдлрд╛рд╕реНрдЯрдЯреЗрдХреНрд╕реНрдЯ рдореЙрдбрд▓ рд░реВрд╕реА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╡реЗрдХреНрдЯрд░ рдирд┐рд░реВрдкрдг рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдореЙрдбрд▓ рдХреЗ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА (рдХрдИ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ) рдЖрдХрд╛рд░ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдЖрдк рдлрд╛рд╕реНрдЯрдЯреЗрдХреНрд╕реНрдЯ рдореЙрдбрд▓ рдХреЛ 2.7 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд╕реЗ 28 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рддрдХ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рдЧреБрдгрд╡рддреНрддрд╛ (3-4%) рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЦреЛрдП рдмрд┐рдирд╛ред Spoiler: рдорд╛рддреНрд░рд╛ рдХрд╛ рдард╣рд░рд╛рд╡ рдФрд░ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЪрдпрди рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рд╕рдВрдкреАрдбрд╝рди рдФрд░ рд░реВрд╕реА рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдореЙрдбрд▓ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ ред



рдХреНрдпреЛрдВ рдФрд░ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ


, fastText: fastText , . unsupervised тАФ n-. navec тАФ glove- . .


: ? , тАФ , , (, 300-), - . , ( ). , , , , , . , , (, ) . , , "" .


тАФ , ELMO BERT. , fastText. fastText' тАФ ( , ) n- ( ) . , , , , . fastText , n- .


fastText Facebook AI Research. :


def embed(word, model):
    if word in model.vocab:
        #       
        # return model.vectors[word]
        result = model.vectors_vocab[word]
    else:
        result = zeros()
    n = 1
    for ngram in get_ngrams(word, model.min_n, model.max_n):
        result += model.vectors_ngrams[hash(ngram)]
        n += 1
    return result / n

: тАФ "" ( ), n-. , , , тАФ - , , , n-. , , , , .


fastText : fastText ( Python ), Gensim ( Python). , Gensim.


, Gensim , . model.vectors_vocab model.vectors_ngrams model.vectors, "" , n-. model.vectors_vocab , model.vectors_ngrams .



FastText ( ) . : , n-, . n- , , fastText hashing trick: , n-, n-. , ( , ), . , ruscorpora_none_fasttextskipgram_300_2_2019 RusVectores 2 , 330 .


, тАФ n- тАФ fastText . 2 500 , . " + n- ", ; . , , . " ", . 16 2 , 94% , n-, ( gensim).


, fastText, тАФ " " , ( , ) . "" n- . (, , self-supervized) .


, . fasttext тАФ 300. (SVD), n*300 n*k k*300. k тАФ . ( , , ), , ( 300 тАФ ).


тАФ "" , . 32- . 16-, , . float' Python , , . 8 256 . , 256 , , . ( ) , .


, 300 32- 300 8- . ? , , тАФ ! , 300- 100 3- , 3- . , , 3- , 3- . product quantization, . , navec , glove- , 25 50 . , fasttext . - .



. ruscorpora_none_fasttextskipgram_300_2_2019 c 300- , 165K 2000K n- (n 3 5), . " " 2.7 . gensim, ( gensim==3.8.1). , n- ( , ).


: , adjust_vectors, n-. , . ruscorpora_none_fasttextskipgram_300_2_2019 gensim, - , adjust_vectors . : intrinsic evalution ( ) . . , , , , gensim. : , , .


, sys.getsizeof ( , numpy-), numpy.ndarray.nbytes ( , ), gc.get_referents "" . , ( save gensim, , , pickle) , , , .


, , . 80 , ( 10 ) . pymorphy2, , ; . , 54 fastText, 26 тАФ . .


, . intrinsic evaluation: , . , : , , NER, .. , .. . .


intrinsic : hj, ae rt RUSSE, simlex965 ( sl) тАФ RusVectores ( ). hj sl , . ae rt , 2*ROC_AUC-1, ROC AUC . , ae rt precision, . .



: vectors_vocab ( , ), vectors vectors_ngrams 32 16 . , 2.7 1.28 . , . n- (1.14 ) (136 ).


: TruncatedSVD scikit-learn. : 8% . .


, , . navec, ( ). : ( float int) 99.6% . , 96%. . : , , (!) , 256 . 12 ( 25 ), 94 , 75%. .


тАФ n-, .. . , . , 128 (x10, 16- ) 95%, 25 тАФ 82%. , .


n- ? . , . : - , n- ( ), . ( ) , "" 450 ( ). 45- 93.6% .


, : , fastText-, " " . (20 , 100 n-, 100- ), 28 ( 100 !), 96.15% . . , 36 .


. тАФ , тАФ . , : . , , , n-.



, "" : - .


( 36 15 -, ). , , .



!


RAM 80 . ?


, , . . , , n- . , (.. n-) , . , , , , , n- тАФ , .



, , . .



, 80 . : . , , , тАФ n-, , . .



, intrinsic evaluation. , . тАФ n-. , OOV , -.



, intrinsic evaluation . , , . , , , intrinsic evaluation .



, , .



Fasttext тАФ , , -, , . тАФ тАФ 100 , . 96% , 3% .


PyPI. 13, 28, 51 180- тАФ ruscorpora_none_fasttextskipgram_300_2_2019 RusVectores.


. , -, ODS.


All Articles