GithubHelp home page GithubHelp logo

keyword-bert's People

Contributors

34127chi avatar dataterminatorx 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

keyword-bert's Issues

代码中语法问题确认

你好,文件convert_to_bert_keyword.py文件中的match接口,有如下两点疑惑:
1、在调英文匹配的时候调用的仍是中文匹配接口
def match(s, kws):
kw_index = set()
for kw in kws:
if re.match(r'^[\u4e00-\u9fff]+$', kw):
kw_index |= set(match_ch(s, kw))
elif re.match(r'^[a-zA-Z]+$', kw):
kw_index |= set(match_ch(s, kw)) #我的理解这里应该是用来做英文匹配的
else:
continue
return kw_index

2、在英文匹配接口里,字符串处理有问题
def match_en(s, kw):
kw_index = []
for idx,e in enumerate(s):
e.replace('#', '') #基于字符串对象是不可修改的,这里不重新赋值的话很可能是无效操作的
if e in kw:
kw_index.append(idx)
return kw_index

代码和实现问题以及paper的问题

在modeling.py中

  1. 重复定义 transformer_model_kw,定义了两次
  2. 函数 transformer_model_kw,和 transformer_model几乎一样,为何不加个参数直接复用,而是写成两个函数
  3. fusion_rep 的实现和paper里面讲的不一样,我认为paper讲的是,[rep_CLS, rep_a, rep_b, rep_a-rep_b, rep_b-rep_a]而在代码实现中是,将[rep_CLS, dense([rep_a, rep_b)] 这个很confusing呀
  4. no ablation studies ?我想知道的是不同的fusion ways 的效果对比

数据

您好,我想请问一下,在运行模型的时候构造数据时有create_pretraining_data.py和convert_to_bert_keyword.py两个文件,它们的作用分别是什么哪?然后在create_pretraining_data.py中数据输入输出的格式是什么那?

关键词抽取的一些疑惑

本文的work感觉很大质量上依赖于关键词抽取的质量。而在实际的业务中,并不能保证许多场景业务的关键词都能很好的抽取出来,导致实用性降低了一层。
针对各种关键词算法抽取对于整体模型的影响有仔细对比过吗

关于fusion_rep的实现问题

请问目前为止,fusion_rep的实现方式[rep_CLS, rep_a, rep_b, rep_a-rep_b, rep_b-rep_a]和[rep_CLS, dense([rep_a, rep_b)],还是第一个的效果最好吗?还是说尝试出了更好的实现方式,所以改成第二种了?

关于模型结构和 kw_mask

1. 模型结构

看论文中的描述,关键字注意力层和常规 transformer 层分别接在 11 层常规 transformer 之后,但是看源码中,貌似并不是这样,也就是 modeling.py 的第 212、226 行,类似于一个双塔结构,它们共享的只有 embedding 层?

2. kw_mask attention

在生成这个 mask 的过程中,cls 和 sep 三行中如果不经过特殊处理应该在进入 softmax 之前全部被填充成 -10000,那这三行在进行 softmax 计算的过程中不会发生除 0 错误吗?

谢谢

关于kw_mask部分

首先谢谢作者开放代码~

看了您的源码,发现create_attention_mask_from_keyword_mask函数生成的kw_mask只有A's token到B's key word的映射,按这部分的注释似乎是包含A到B以及B到A两方的token 及 kw映射,代码似乎搞错了

结果极端化

您好,我使用了自己本地的一些数据集进行测试,但是发现引入了关键词信息之后,输出的结果趋于极端化,结果呈现完全的接近0或1,经过我后面的对比分析发现。输出结果几乎完全被关键词左右,比如“图片”-“壁纸”这一对相似词义,本应输出为1,但是几乎所有的包含图片和壁纸的query对,都输出为0。
如果在特定的标注好的训练集和测试集下,引入关键词是可以提升的,但是如果是没有见过的数据集或者关键词呢,这样会不会带来更多的副作用。

How to reproduce data for training?

I have read readme.md and don't know how to load raw data in convert_to_bert_keyword.py to transform to bert keyword. Also I don't understand the raw data. It is a keyword from a corpus and do I need to make it up myself, right ? Thank you

性能问题

您好,您用6layer的并发支持好吗?我是用tf serving来落地的,但是并发一般呀。感谢回复

关键词系统

关键词系统相关代码可以提供一下吗?(数据预处理之类的)

关于数据准备

请问一下,在应用的预测阶段,给定一个输入query,如何确定他是哪个domain的呢?

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.