在keras中将Gensim Fasttext模型与LSTM nn一起使用

我已经用Gensim训练了非常短的句子(最多10个单词)的快速文本模型。我知道我的测试集包含不在我的训练语料库中的单词,即我的语料库中的某些单词像“催产素”,“ Lexitocin”,“ Ematrophin”,“ Betaxitocin”

给定测试集中的一个新单词,fasttext非常了解如何使用字符级n-gram生成与训练集中的其他相似单词具有高余弦相似度的向量

我如何将快速文本模型合并到LSTM keras网络中,而又不将快速文本模型丢失到词汇表中的向量列表中?因为那样的话,即使fasttext做得很好,我也不会处理任何OOV。

任何想法?

马克·塞里亚尼

这里是将快速文本模型合并到LSTM Keras网络中的过程

# define dummy data and precproces them

docs = ['Well done',
        'Good work',
        'Great effort',
        'nice work',
        'Excellent',
        'Weak',
        'Poor effort',
        'not good',
        'poor work',
        'Could have done better']

docs = [d.lower().split() for d in docs]

# train fasttext from gensim api

ft = FastText(size=10, window=2, min_count=1, seed=33)
ft.build_vocab(docs)
ft.train(docs, total_examples=ft.corpus_count, epochs=10)

# prepare text for keras neural network

max_len = 8

tokenizer = tf.keras.preprocessing.text.Tokenizer(lower=True)
tokenizer.fit_on_texts(docs)

sequence_docs = tokenizer.texts_to_sequences(docs)
sequence_docs = tf.keras.preprocessing.sequence.pad_sequences(sequence_docs, maxlen=max_len)

# extract fasttext learned embedding and put them in a numpy array

embedding_matrix_ft = np.random.random((len(tokenizer.word_index) + 1, ft.vector_size))

pas = 0
for word,i in tokenizer.word_index.items():
    
    try:
        embedding_matrix_ft[i] = ft.wv[word]
    except:
        pas+=1

# define a keras model and load the pretrained fasttext weights matrix

inp = Input(shape=(max_len,))
emb = Embedding(len(tokenizer.word_index) + 1, ft.vector_size, 
                weights=[embedding_matrix_ft], trainable=False)(inp)
x = LSTM(32)(emb)
out = Dense(1)(x)

model = Model(inp, out)

model.predict(sequence_docs)

如何处理看不见的文字

unseen_docs = ['asdcs work','good nxsqa zajxa']
unseen_docs = [d.lower().split() for d in unseen_docs]

sequence_unseen_docs = tokenizer.texts_to_sequences(unseen_docs)
sequence_unseen_docs = tf.keras.preprocessing.sequence.pad_sequences(sequence_unseen_docs, maxlen=max_len)

model.predict(sequence_unseen_docs)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在keras中将CNN与LSTM一起使用时,池化层是否是强制性的?

来自分类Dev

在AngularJS中将ng-required与模型的值一起使用

来自分类Dev

如何在Loopback中将hasAndBelongsToMany模型与外键一起使用

来自分类Dev

如何在 Laravel 中将 orderBy() 与模型的方法一起使用

来自分类Dev

n_gram 模型 HashingVectorizer 并将其与 keras 一起使用

来自分类Dev

在MySQL中将WHERE与AS一起使用

来自分类Dev

将QTableView与模型一起使用

来自分类Dev

将表格与模型一起使用

来自分类Dev

将TFRecords与keras一起使用

来自分类Dev

在模型中将ActiveAdmin与“:through”关系一起使用时,如何解决Ransack未定义方法“ _eq”?

来自分类Dev

使用fastText模型进行拼写检查?

来自分类Dev

如何让cython和gensim与pyspark一起使用

来自分类Dev

Keras LSTM模型不学习

来自分类Dev

Keras LSTM 模型数据重塑

来自分类Dev

LSTM和Keras一起进行小批量培训和在线测试

来自分类Dev

将LSTM与GEKKO MPC一起使用

来自分类Dev

在ASP.NET MVC中将自定义编辑器模板与IEnumerable模型一起使用的正确,惯用方式

来自分类Dev

如何在Django中将2个模型字段结合在一起?

来自分类Dev

在CakePHP中将模型链接在一起时出现问题

来自分类Dev

如何在Django中将2个模型字段结合在一起?

来自分类Dev

在Rails 4+中将两个模型关联在一起

来自分类Dev

在布局中将ShareActionProvider与按钮一起使用

来自分类Dev

如何在.NET中将SQLite与NLog一起使用

来自分类Dev

在CakePHP中将路由前缀与RESTful路由一起使用

来自分类Dev

在ExpressJS中将Twitter Bootstrap与FontAwesome一起使用

来自分类Dev

在Unity中将通用存储库与TEntity一起使用

来自分类Dev

如何在RethinkDB中将getall与orderby一起使用

来自分类Dev

如何在bash中将`tail`与`timeout`一起使用

来自分类Dev

在bash中将单引号与echo一起使用

Related 相关文章

  1. 1

    在keras中将CNN与LSTM一起使用时,池化层是否是强制性的?

  2. 2

    在AngularJS中将ng-required与模型的值一起使用

  3. 3

    如何在Loopback中将hasAndBelongsToMany模型与外键一起使用

  4. 4

    如何在 Laravel 中将 orderBy() 与模型的方法一起使用

  5. 5

    n_gram 模型 HashingVectorizer 并将其与 keras 一起使用

  6. 6

    在MySQL中将WHERE与AS一起使用

  7. 7

    将QTableView与模型一起使用

  8. 8

    将表格与模型一起使用

  9. 9

    将TFRecords与keras一起使用

  10. 10

    在模型中将ActiveAdmin与“:through”关系一起使用时,如何解决Ransack未定义方法“ _eq”?

  11. 11

    使用fastText模型进行拼写检查?

  12. 12

    如何让cython和gensim与pyspark一起使用

  13. 13

    Keras LSTM模型不学习

  14. 14

    Keras LSTM 模型数据重塑

  15. 15

    LSTM和Keras一起进行小批量培训和在线测试

  16. 16

    将LSTM与GEKKO MPC一起使用

  17. 17

    在ASP.NET MVC中将自定义编辑器模板与IEnumerable模型一起使用的正确,惯用方式

  18. 18

    如何在Django中将2个模型字段结合在一起?

  19. 19

    在CakePHP中将模型链接在一起时出现问题

  20. 20

    如何在Django中将2个模型字段结合在一起?

  21. 21

    在Rails 4+中将两个模型关联在一起

  22. 22

    在布局中将ShareActionProvider与按钮一起使用

  23. 23

    如何在.NET中将SQLite与NLog一起使用

  24. 24

    在CakePHP中将路由前缀与RESTful路由一起使用

  25. 25

    在ExpressJS中将Twitter Bootstrap与FontAwesome一起使用

  26. 26

    在Unity中将通用存储库与TEntity一起使用

  27. 27

    如何在RethinkDB中将getall与orderby一起使用

  28. 28

    如何在bash中将`tail`与`timeout`一起使用

  29. 29

    在bash中将单引号与echo一起使用

热门标签

归档