A Simple and Effective Model for Answering Multi-span Questions
A Simple and Effective Model for Answering Multi-span Questions
论文:EMNLP20-A Simple and Effective Model for Answering Multi-span Questions
代码:https://github.com/eladsegal/tag-based-multi-span-extraction
multi-span architecture (TASE: TAg-based Span Extraction)
traditional single-span extraction (SSE)
任务 传统的阅读理解模型将问题的答案限制在单个跨度,对于答案处于多跨度的问题会有限制,本文提出了一个简单的体系结构,通过将任务转换为序列标记问题来回答多跨度问题,为每个输入token预测是否应该将其作为输出的一部分。
阅读理解(RC)任务:
在给定一个问题和上下文的情况下提供答案。
方法(模型)Single-span Modelquestion-context-answe ...
conda创建新环境
conda创建新环境创建新环境1conda create -n '环境名' python=3.6
删除环境1conda remove -n '环境名' --all
重命名环境conda 其实没有重命名指令,实现重命名是通过 clone 完成的,分两步:
先 clone 一份 new name 的环境
删除 old name 的环境
例:比如,想把环境env1 重命名成env2
第1步
1conda create -n env2 --clone env1
第2步
1conda remove -n env1 --all
结果
1conda info -e
READING AND ANSWERING GIVEN REASONING PATHS
READING AND ANSWERING GIVEN REASONING PATHS
reader model
多任务阅读器模型
多任务阅读器模型
阅读理解任务
使用BERT从推理路径中提取答案范围。
对推理路径重排序
使用Bert模型对应于CLS标识符位的输出判断推理路径包括答案的概率。根据概率对推理路径重新排序。
P(E|q) = σ(w_n· u_E) \ \ s.t. \ \ u_E= BERT_{[CLS]}(q, E) ∈ \R^D
$w_n∈ R^D$:权重向量
$P(E|q)$:推理路径E的概率
E_{best}=\underset{E∈E} {arg\ max } \ P(E|q)
$E_{best}$:最佳路径
S_{read}= \underset{i,j, i≤j}{arg \ max}\ P^{start}_i P^{end}_j
$S_{read}$:正确答案的范围
$P^{start}i,P^{end}_j$表示$E{best}$中第i个token和第j个token分别为开始位置和结束位置的概率
增加负例数据:
...
GRAPH-BASED RECURRENT RETRIEVER
GRAPH-BASED RECURRENT RETRIEVER
a new graph-based recurrent retrieval method
查找证据文档作为回答复杂问题的推理路径。
w_i=BERT_{CLS}(q,p_i) \in \R^d
P(p_i|h_t)=\sigma(w_i·h_t+b)
h_{t=1}=RNN(h_t,w_i) \in \R^d
b:偏置项
使用RNN建模问题$Q$的推理路径。
给定问题$q$,在时间步$t$时,模型从候选段落集$C_t$中找出$p_i$ ,与$q$拼接计算$p_i$的概率。
遇到$[EOE]$时结束推理,允许它在给定每个问题的情况下捕获具有任意长度的推理路径。
本文BERT结构:
RNN结构:$P(p_i|h_t)$:表示在时间步$t$选择段落$p_i$的概率。
最终得到推理路径【$p_1,p_2$】
beam search
通过束搜索得到给定时间步长的有限数量的最可能推理路径,减小输入BERT的数据量,减小计算量。
$C_1$是用在输入问题上 TF-IDF 得分最高的段落。
$C_t$是在C_1基础上,拓展 ...
谷歌翻译接口
谷歌翻译接口安装1pip install google_trans_new
测试12345from google_trans_new import google_translator translator = google_translator() translate_text = translator.translate('美国下一届总统将会是谁?',lang_src='zh-cn',lang_tgt='en') print(translate_text)
默认自动检测语种
效果1Who will be the next president of the United States?
SRLGRN
SRLGRN
论文:EMNLP2020-Semantic Role Labeling Graph Reasoning Network
语义角色标注图推理网络
任务 提出了一个基于句子语义结构的图推理网络来学习跨段落推理路径,并联合寻找支持事实和答案。
方法(模型)SRLGRN
该框架在构建推理图网络时会考虑句子的语义结构。 不仅利用节点的语义角色,而且会利用边缘的语义。
训练一个段落选择模块来检索gold documents并最小化干扰因素。
构建了一个异类文档级图,其中包含以句子为节点以及SRL子图,其中SRL子图包括语义角色标签参数作为节点,谓词作为边。
训练图编码器来获得图节点表示,该图节点表示在学习的表示中结合了参数类型和谓词边的语义。
最后,共同训练一个multi-hop supporting fact prediction module和answer prediction module。
multi-hop supporting fact prediction module可以找到跨段落推理路径,answer prediction module ...
python——Argparse 教程
python——Argparse 教程
此模块是 Python 标准库中推荐的命令行解析模块。
位置参数
add_argument() 方法
该方法用于指定程序能够接受哪些命令行选项。
12345import argparseparser = argparse.ArgumentParser()parser.add_argument("echo", help="echo the string you use here")args = parser.parse_args()print(args.echo)
输出:
12345678python3 test.py -husage: test.py [-h] echopositional arguments: echo echo the string you use hereoptional arguments: -h, --help show this help message and exit
指定传递参数类型(默认为字符串)
12345678import argpar ...
python知识点
python知识点
tqdm:进度条
12345from tqdm import tqdmpbar = tqdm(["a", "b", "c", "d"])for char in pbar: pbar.set_description("Processing %s" % char)
效果:
@staticmethod
静态方法无需实例化也可以实例化后调用
list
append():将元素直接内嵌到列表
+=:拼接同级列表
123a = []a.append(['s'])a += ['d']
1[['s'], 'd']
if any python条件判断 all(),any()
any() 理解成any True的意思,是否存在True,只要有一个是True,结果就是True。
not any() 全为False则为True。
assert
assert expression
assert ...
智能门锁
智能门锁演示视频:https://www.bilibili.com/video/BV1Z5411V7Gh/
教学视频:https://www.bilibili.com/video/BV1g54y1t7C9/
安装效果图
清单NodeMCU:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340 CP2102(淘宝搜索)
Arduino uno r3(可选)
RFID-RC522
舵机:MG996R
蜂鸣器(有源)
触摸按键模块(TTP223/224/226/229皆可)
电源模块:提供5v,3.3v输出
杜邦线 :公对公 公对母 母对母
esp8266库:https://arduino.esp8266.com/stable/package_esp8266com_index.json
接线ESP8266 —— MFRC522
D1 —— RST
D2 —— NSS(SDA)
3V3 ——3V3
GND —— GND
D5 —— SCK
D6 —— MIS0
D7 —— MIS1
ESP8266 —— 舵机
D4
ESP8266 —— uno ...
Learning to Retrieve Reasoning Paths over Wikipedia Graph for Question Answering
Learning to Retrieve Reasoning Paths over Wikipedia Graph for Question Answering
论文:https://arxiv.org/abs/1911.10470
代码:https://github.com/AkariAsai/learning_to_retrieve_reasoning_paths
学习在维基百科中检索问题的推理路径
基于推理路径
任务从维基百科中提取推理路径实现多轮问答。
多轮问答:
需要结合多篇文档的“知识推理”能得到最终答案。
方法(模型)
通过维基百科的超链接构建一个维基百科图网络,在不同的文档之间建模。
使用一个RNN给推理路径建模,从而找到最佳推理路径。
模型结构:
由一个提取器和阅读器组成
推理路径提取器(Reasoning Path Retrieval):根据维基百科之间的超链接关系得到若干推理路径。
阅读理解答案抽取器(Reading and Answering Reasoning Path):基于这些路径找到最可能的一条路径作为最终的答案。
将维基百科文章 ...
智能开关(Android)
智能开关(Android)
开发工具
AndroidStudio
Android APP代码
GitHub:https://github.com/Asimok/dorm_light
教学视频
哔哩哔哩:https://www.bilibili.com/video/BV18Z4y1g7VS/
完整教程博客:https://www.asimok.site/2020/12/06/%E6%99%BA%E8%83%BD%E5%BC%80%E5%85%B3/
Nginx 服务器证书安装(配置https)
Nginx 服务器证书安装(配置https)下载证书
从证书颁发平台下载证书
选择Nginx下的证书文件
上传到服务器
1/etc/ssl
配置Nginx
启动nginx
1service nginx start
查找正在运行中的nginx服务
1ps -ef | grep nginx
修改配置文件
从正在运行中的nginx服务可以知道当前生效的配置文件。
1/etc/nginx/nginx.conf
在http节点下添加server节点,并完成重定向
12345http{ server{ }}
具体配置如下:
http节点中可以添加多个server节点。
12345678910111213141516171819202122232425262728 server{ #监听443端口 listen 443 ssl; #对应的域名,把www.asimok.com改成你们自己的域名就可以了 server_name www.asimok.c ...
anaconda更换清华源加快下载速度
anaconda更换清华源加快下载速度终端执行以下代码:1234567conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/conda config --append ch ...
Linux挂载移动硬盘出现错误:mount:unknown filesystem type 'exfat'
Linux挂载移动硬盘出现错误:mount:unknown filesystem type ‘exfat’exfat是可以在windows,mac,Linux共享的文件系统
解决办法:
安装exfat-fuse:
sudo apt-get install exfat-fuse