小编Hel*_*rld的帖子

导入GoogleNews-vectors-negative300.bin

我正在使用gensim处理代码,并且很难在我的代码中对ValueError进行故障排除.我终于能够压缩GoogleNews-vectors-negative300.bin.gz文件了,所以我可以在我的模型中实现它.我也试过gzip,结果不成功.代码中的错误发生在最后一行.我想知道如何解决错误.有没有解决方法?最后,有一个我可以参考的网站吗?

谢谢你的帮助!

import gensim
from keras import backend
from keras.layers import Dense, Input, Lambda, LSTM, TimeDistributed
from keras.layers.merge import concatenate
from keras.layers.embeddings import Embedding
from keras.models import Mode

pretrained_embeddings_path = "GoogleNews-vectors-negative300.bin"
word2vec = 
gensim.models.KeyedVectors.load_word2vec_format(pretrained_embeddings_path, 
binary=True)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-23bd96c1d6ab> in <module>()
  1 pretrained_embeddings_path = "GoogleNews-vectors-negative300.bin"
----> 2 word2vec = 
gensim.models.KeyedVectors.load_word2vec_format(pretrained_embeddings_path, 
binary=True)

C:\Users\green\Anaconda3\envs\py35\lib\site-
packages\gensim\models\keyedvectors.py in load_word2vec_format(cls, fname, 
fvocab, binary, encoding, unicode_errors, limit, datatype)
244                             word.append(ch)
245                     word = utils.to_unicode(b''.join(word), 
encoding=encoding, errors=unicode_errors)
--> 246                     weights = fromstring(fin.read(binary_len), 
dtype=REAL) …
Run Code Online (Sandbox Code Playgroud)

python gensim

6
推荐指数
3
解决办法
1万
查看次数

如何将 Bert 嵌入提供给 LSTM

我正在研究用于文本分类问题的 Bert + MLP 模型。本质上,我试图用基本的 LSTM 模型替换 MLP 模型。

是否可以创建带有嵌入的 LSTM?或者,最好创建一个带有嵌入层的 LSTM?

更具体地说,我很难尝试创建嵌入矩阵,因此我可以使用 Bert 嵌入创建嵌入层。

def get_bert_embeddings(dataset='gap_corrected_train',
                        dataset_path=TRAIN_PATH,
                        bert_path=BERT_UNCASED_LARGE_PATH,
                        bert_layers=BERT_LAYERS):
    """Get BERT embeddings for all files in dataset_path and specified BERT layers and write them to file."""
    df = None
    for file in os.listdir(dataset_path):
        if df is None:
            df = pd.read_csv(dataset_path+'/'+file, sep='\t')
        else:
            next_df = pd.read_csv(dataset_path+'/'+file, sep='\t')
            df = pd.concat([df, next_df], axis=0)
            df.reset_index(inplace=True, drop=True)

    for i, layer in enumerate(bert_layers):
        embeddings_file = INTERIM_PATH + 'emb_bert' + str(layer) + '_' + dataset …
Run Code Online (Sandbox Code Playgroud)

lstm keras keras-layer mlp bert-language-model

6
推荐指数
1
解决办法
8410
查看次数

使用 Python 将特定文本替换为编辑版本

我希望做与这里所做的相反的事情:

import re

text = '1234-5678-9101-1213 1415-1617-1819-hello'

re.sub(r"(\d{4}-){3}(?=\d{4})", "XXXX-XXXX-XXXX-", text)

output = 'XXXX-XXXX-XXXX-1213 1415-1617-1819-hello'
Run Code Online (Sandbox Code Playgroud)

部分替换为 re.sub()

我的总体目标是XXXX使用神经网络替换文本中的所有内容。XXXX可以表示 .csv 文件中的名称、地点、数字、日期等。

最终结果将如下所示:

XXXX went to XXXX XXXXXX
Run Code Online (Sandbox Code Playgroud)

海绵宝宝去了迪斯尼乐园。

简而言之,我正在取消屏蔽文本并将其替换为使用模糊生成的数据集。

nlp python-3.x lstm

5
推荐指数
1
解决办法
13万
查看次数

标签 统计

lstm ×2

bert-language-model ×1

gensim ×1

keras ×1

keras-layer ×1

mlp ×1

nlp ×1

python ×1

python-3.x ×1