GithubHelp home page GithubHelp logo

bert_in_keras's People

Contributors

bojone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bert_in_keras's Issues

请教关系抽取中的repair函数

您好,对于关系抽取中的repair函数的意义不是很理解,为何要对专辑,歌曲等做特殊处理?麻烦您了,谢谢您

sentiment analysis 那个例子中如何构建 prediction 函数?

多谢苏神的例子,已经在自己的数据集上重新训练了模型,效果也有很大的提升。目前想拿新的模型预测数据,但是好像卡住了,希望苏神能够帮忙看一下:

text = '这辆车真是太差了!'
tokenizer = Tokenizer(token_dict)

def predict_sentiment(text):
    tokens = tokenizer.tokenize(text)
    indices = np.array([[token_dict[token] for token in tokens]])
    segments = np.zeros(len(tokens))
    result = model_in.predict([indices, segments], verbose=True)[0].argmax()
    return result

predict_sentiment(text)

目前无论放什么 text 进去,结果都是 0,不知道错在哪里?

NL2SQL复现X-SQL问题

苏神你好:

我想请教一个问题,我在您的代码基础上,想复现X-SQL....
遇到一个问题:X-SQL中有一个Context Reinforcing Layer,它利用Context Embedding全局向量来对表头向量列表[...]逐一作Attention和残差计算。您的代码中是取列名[CLS]所在位置的向量拼接然后分类,而我希望的是将全局向量hctx和每一个表头的不定长向量输出做一个attention,那么问题来了,batch_gather该如何设计呢?

关于主题抽取中的代码

作者你好, 我刚入门NLP。对于下面这几行代码不是很理解,想请问一下, 在extract_entity函数中,为何要将_ps递减10,谢谢!

if len(_t) == 1 and re.findall(u'[^\u4e00-\u9fa5a-zA-Z0-9\*]', _t) and _t not in additional_chars:           
    _ps1[i] -= 10

您好,请教一下,在nl2sql的例子中,pcsel的shape=(?, ?, ?, ?),会导致pcsel_loss的计算报如下错误,能否指导一下怎么处理?谢谢!


TypeError Traceback (most recent call last)
in ()
60 pcop_loss = K.sparse_categorical_crossentropy(cop_in, pcop)
61 pcop_loss = K.sum(pcop_loss * xm) / K.sum(xm)
---> 62 pcsel_loss = K.sparse_categorical_crossentropy(csel_in, pcsel)
63 pcsel_loss = K.sum(pcsel_loss * xm * cm) / K.sum(xm * cm)
64 loss = psel_loss + pconn_loss + pcop_loss + pcsel_loss

/usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py in sparse_categorical_crossentropy(target, output, from_logits, axis)
3343 output_shape = output.get_shape()
3344 targets = cast(flatten(target), 'int64')
-> 3345 logits = tf.reshape(output, [-1, int(output_shape[-1])])
3346 res = tf.nn.sparse_softmax_cross_entropy_with_logits(
3347 labels=targets,

TypeError: int returned non-int (type NoneType)

关于relation_extraction例子中的反例样本

苏神你好,在relation_extraction那个例子中有一行是random.choice选择主语: https://github.com/bojone/bert_in_keras/blob/master/relation_extract.py#L171
这里k1随机出来之后,其实对应k1的正确k2就有了,但是k2你也是随机选出来的,这使得k2有可能选对,也有可能选错,选错的话就会在下面for j in items.get((k1, k2), []):时为[],o1和o2都是全0的,当前错误的subject没有对应的object和predicate。这里是为了加入反例训练样本吗?这种做法有什么reference也是这样吗?不是很了解这块,希望向您请教下~

AttributeError: module 'keras.backend' has no attribute 'tf'

Traceback (most recent call last):
File "F:/pycharm/bert_in_keras/relation_extract.py", line 240, in
k1v = Lambda(seq_gather)([t, k1])
File "D:\software\anoconda\envs\keras_bert\lib\site-packages\keras\engine\base_layer.py", line 451, in call
output = self.call(inputs, **kwargs)
File "D:\software\anoconda\envs\keras_bert\lib\site-packages\keras\layers\core.py", line 716, in call
return self.function(inputs, **arguments)
File "F:/pycharm/bert_in_keras/relation_extract.py", line 212, in seq_gather
return K.tf.gather_nd(seq, idxs)
AttributeError: module 'keras.backend' has no attribute 'tf'

如何对bert微调后的模型进行加载?

您好!在参考了您的代码后,想问一下后续一点的问题
在对bert进行微调过后用 model.save()保存了模型。
但是在加载模型的时候发生了报错:
ValueError: Unknown layer: TokenEmbedding
加载方式:model = load_model(self.fmodel, custom_objects={"tf":tf, "backend":backend})
这个问题该怎么解决?

不好意思 作者 能不能问一下数据的格式是怎么样的

苏大 能不能给个数据例子出来 就一个就行 好像关系抽取 relation_extract.py 那个 前面两个 将多行json塞进数组能理解
但是这句就不懂了
id2predicate, predicate2id = json.load(open('../datasets/all_50_schemas_me.json'))
原本的数据是
{"object_type": "地点", "predicate": "祖籍", "subject_type": "人物"}
{"object_type": "人物", "predicate": "父亲", "subject_type": "人物"}

怎么处理呢 谢谢

run subject_extract.py meet the error!

when i run nl2sql_baseline.py , i meet this error:
Traceback (most recent call last):
File "subject_extract.py", line 47, in
D = D[D[2] != u'其他']
File "/home/work/.local/lib/python2.7/site-packages/pandas/core/ops.py", line 1728, in wrapper
(is_extension_array_dtype(other) and not is_scalar(other))):
File "/home/work/.local/lib/python2.7/site-packages/pandas/core/dtypes/common.py", line 1749, in is_extension_array_dtype
registry.find(dtype) is not None)
File "/home/work/.local/lib/python2.7/site-packages/pandas/core/dtypes/dtypes.py", line 89, in find
return dtype_type.construct_from_string(dtype)
File "/home/work/.local/lib/python2.7/site-packages/pandas/core/dtypes/dtypes.py", line 699, in construct_from_string
raise TypeError(msg.format(string))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
@bojone

nl2sql

苏神287到304行代码中 当预测出的value存在问句的句末时,这是并没有将value添加进conds中

run nl2sql_baseline.py meet the error!

when i run nl2sql_baseline.py , i meet this error:
Traceback (most recent call last):
File 'nl2sql_baseline.py', line 254, in
pcsel_loss = K.sparse_categorical_crossentropy(csel_in, pcsel)
File '/home/work/.local/lib/python2.7/site-packages/keras/backend/tensorflow_backend.py', line 3345, in sparse_categorical_crossentropy
logits = tf.reshape(output, [-1, int(output_shape[-1])])
TypeError: int returned non-int (type NoneType)

so i want to know the version of tenfsorfow and keras and python?
@bojone

NL2SQL

苏神,您好,想请教您一下,虽然已经了解学习bert一段时间了,但实际应用还是第一次,针对您nl2sql的baseline有一些想法。首先,您将question和headers拼接让我有点迷惑,虽然我一开始的直观感觉也是将问题和表头放在一起编码,仔细想了一下,设置多个[CLS]倒是没问题,毕竟[CLS]实在微调分类的时候才起分类作用,但是输入的embedding除了token embedding还有segment和position embedding吧,position embedding不太清楚可能是在tokenize的时候keras-bert内置函数编码加到输入里了吧?但segment embedding全0我无法理解,虽然question和headers拼接不能向两个句子那样,segment embedding为[0,0,0,...0,1,1,1,...1],但都是0的话应该是没有任何意义的吧。或者我可以理解成您抛去了segment embedding?

关于主题抽取的数据集是哪个

train_data = json.load(open('../datasets/train_data_me.json'))
dev_data = json.load(open('../datasets/dev_data_me.json'))
id2predicate, predicate2id = json.load(open('../datasets/all_50_schemas_me.json'))
这个数据集在哪里。

大佬您好,我在调用官方预训练模型,即代码为bert_model = load_trained_model_from_checkpoint(config_path, checkpoint_path, seq_len=None)这一语句时,出现了如下问题,可以请教一下为何吗,谢谢

Traceback (most recent call last):
File "E:\PYTHON36\lib\contextlib.py", line 99, in exit
self.gen.throw(type, value, traceback)
File "E:\PYTHON36\lib\site-packages\tensorflow\python\framework\ops.py", line 5652, in get_controller
yield g
File "E:\PYTHON36\lib\site-packages\keras\engine\base_layer.py", line 491, in call
arguments=user_kwargs)
File "E:\PYTHON36\lib\site-packages\keras\engine\base_layer.py", line 559, in _add_inbound_node
output_tensors[i]._keras_shape = output_shapes[i]
IndexError: list index out of range

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.