语料库

【论文翻译】Neural Architectures for Named Entity Recognition

痞子三分冷 提交于 2020-02-07 03:58:30
Abstract   处于领先水平的命名实体识别系统严重依赖于人工设计的特征与特定领域的知识,从而更高效地学习小型、带标记的语料库 。在这篇论文里我们介绍了两种神经结构——一种结构是基于双向LSTM与条件随机场,另一种结构是通过一种基于转换、Shift-Reduce解析的算法构造并标记了单词。我们的模型依赖于单词信息的两个来源:一是从带监督语料库中学习的基于单字的词表示,二是从无注释语料库中学习的非监督词表示。对于NER(命名实体识别),在使用四种语言且没有任何术语资源(比如Gazetteers,斯坦福开源的地名数据库)的前提下,我们的模型表现出了较好的性能。 1 Introduction   NER 是一个具有挑战性的学习问题。一方面,在大多数的语言和领域中可获取的监督训练数据都是很少的。另一方面,对于可以命名的单词种类限制很少,所以很难从这么小的数据集中泛化出好的模型。因此精心构造的词素特征和术语资源,比如Gazetteers(地名数据库),被广泛用于解决本次任务。不幸地是,在新语言与新领域的发展过程中术语资源与特征是很昂贵的,这给新语言与新领域的发展带来了挑战。利用无注释语料库进行的无监督学习提供了一个可替代策略,以便于即使学习的是小规模的监督数据集,也有较好的泛化能力。然而,甚至那些广泛依赖于无监督特征的系统(Collobert et al., 2011; Turian

语料库词频统计程序

ぐ巨炮叔叔 提交于 2020-01-25 01:00:33
老大让我写个统计程序,我就看看书写了两个. 这个是用c++的map方法,map内部实现是红黑树,应该效率比较高. #include <map> #include <string> #include <iostream> using namespace std; typedef std::map<std::string, int> type_map; typedef type_map::iterator type_iter; type_map m; type_iter it; bool lookup(string s)//const char* s) { int ret = 0; it = m.find(s); if (m.end() != it) return true; else return false; } void insert(string s )//const char* s) { int count=1; m.insert(type_map::value_type(s, count)); } bool gbr(char c,FILE *p) { if((int)c==13||(int)c==10||(int) c>=97&&(int) c<122||c=='['||c==']'||c=='{'||c==' '|(int)c==47||c==EOF) { if(c=='

Event2Mind: Commonsense Inference on Events, Intents, and Reactions

两盒软妹~` 提交于 2020-01-23 00:18:06
Event2Mind:事件、意图和反应的常识推理 华盛顿大学:ACL2018 Event2Mind 概览 新的常识推理人物:给定一个事件,系统推理出事件参与者的可能意图,相对反应。 事件:以简短的自由文本,比如 x drinks coffee in the morning, 可能意图:x wants to stay awake, 相对反应:x feels alert. 构建了一个包含25000个事件短语的新的众包语料库,事件短语涵盖了各种各样的日常事件和情景。 实验证明:Encoder-decoder模型能够成功地合成未知事件的嵌入表示,并推理可能的意图和反应。 展示了意图和反应的常识推理如何可以帮助揭示普遍存在于现代电影脚本中的隐含的性别偏差现象。 为什么做这篇paper 理解一个记叙文需要常识性地推理人们关于事件的心理状态。 比如:alex is dragging his feet at work. 关于alex意图的语用含义是 alex wants to avoid doing things. 可以推断alex的情绪反应可能是lazy, bored. 同时可以推断,除了alex,其他人都可能受到这种情况的影响:frustrated, impatient. 可以应用到: 理想的对话系统应该根据用户经历的事件来推理用户的心理状态,从而以合理方式作出反应

NLP基础:语言模型

萝らか妹 提交于 2020-01-07 14:16:04
什么是语言模型 语言模型旨在为语句的联合概率函数建模,是用来计算一个句子概率的模型,对有意义的句子赋予大概率,对没有意义的句子赋予小概率,也就是用来判断一句话是否是人话的概念。这样的模型可以用于NLP中的很多任务,如机器翻译、语音识别、信息检索、词性标注以及手写识别等。语言模型考虑两个方面的子任务(以“How long is a football game?”为例): 句子中的词序:“How long game is a football?” 句子中的词义:“How long is a football bame?” 语音识别 举例: “厨房里的食油用完了”和“厨房里的石油用完了” 文本翻译 举例: “you go first”:“你走先”和“你先走” 给定一个句子的词语序列: 如果假设句子中的每个词都相互独立,则整体的句子概率为: 然而,句子中的每一个词的含义均与前面的词紧密相关,所以实际的语言模型概率可以通过条件概率计算为: 求解上式中的条件概率: 这样就存在两个 问题 : 参数空间太大 :条件概率 P ( W k ∣ W 1 , W 2 , . . . , W k − 1 ) P(W_{k}|W_{1},W_{2},...,W_{k-1}) P ( W k ​ ∣ W 1 ​ , W 2 ​ , . . . , W k − 1 ​ ) 的可能性太多,计算开销巨大

ERNIE: Enhanced Representation through Knowledge Integration(百度)论文翻译

荒凉一梦 提交于 2019-12-22 03:16:17
paper: https://arxiv.org/pdf/1904.09223.pdf code: https://github.com/PaddlePaddle/LARK/tree/develop/ERNIE 文前总结 ERNIE相比于BERT,做出了如下改进: 1.mask策略。BERT只使用了字级别的随机masking,但是ERNIE使用了字、实体、短语三个级别的masking,旨在使模型学习到更多高级的语义。 2.中文异构数据预训练。对异构无监督数据进行预训练的语义编码器可以提高迁移学习性能。百度构建了混合语料库——中文Wikepedia,百度百科,百度新闻和百度贴吧。 3.对话语言模型。DLM任务可帮助ERNIE学习对话中的隐式关系,这也增强了模型学习语义表示的能力。 0.摘要 我们提出了一种新的语言表示模型,该模型称为ERNIE(通过知识集成的增强表示)。 受到BERT掩盖策略的启发(Devlin等人,2018), ERNIE被设计为学习通过知识掩盖策略增强的语言表示,其中包括实体级掩盖和短语级掩盖。 实体级策略可掩盖通常由多个单词组成的实体。 短语级策略掩盖了整个短语,该短语由几个词组成,作为一个概念单元。 实验结果表明,ERNIE优于其他基准方法,在五个自然语言处理任务(包括自然语言推理,语义相似性,命名实体识别,情感分析和问题解答)上取得了最新的最新成果。

GloVe学习:Global Vectors for Word Representation

不羁岁月 提交于 2019-12-20 10:34:26
GloVe: Global Vectors for Word Representation 什么是GloVe? 正如 GloVe: Global Vectors for Word Representation 论文而言,GloVe的全称叫Global Vectors for Word Representation,它是一个基于 全局词频统计 (count-based & overall statistics)的词表征(word representation)工具,它可以把一个单词表达成一个由实数组成的向量,这些向量捕捉到了单词之间一些语义特性,比如相似性(similarity)、类比性(analogy)等。我们通过对向量的运算,比如欧几里得距离或者cosine相似度,可以计算出两个单词之间的语义相似性。 模型目标:进行词的向量化表示,使得向量之间尽可能多地蕴含语义和语法的信息。 输入:语料库 输出:词向量 方法概述:首先基于语料库构建词的共现矩阵,然后基于共现矩阵和GloVe模型学习词向量。 统计共现矩阵 设共现矩阵为 X X X ,其元素为 X i , j X_{i,j} X i , j ​ 。 X i , j X_{i,j} X i , j ​ 的意义为:在整个语料库中,单词i和单词j共同出现在一个窗口中的次数。 举个例子: 设有语料库: i love you but you

自然语言处理相关技术文献资源汇集

混江龙づ霸主 提交于 2019-12-09 22:47:18
1、ACL Anthology A Digital Archive of Research Papers in Computational Linguistics and Natural Language Processing 旧版: http://aclweb.org/anthology/ 新版: http://aclanthology.info/ 2、ACL Anthology Network http://clair.eecs.umich.edu/aan/index.php 3、ACL Wiki http://www.aclweb.org/aclwiki 4、Machine Translation Archive Electronic repository and bibliography of articles, books and papers on topics in machine translation, computer translation systems, and computerbased translation tools http://www.mt-archive.info/ 5、Text Retrieval Conference(TREC) http://trec.nist.gov/ 6、LREC Conference The

Wikipedia 语料库处理

混江龙づ霸主 提交于 2019-12-07 17:52:24
参考: http://licstar.net/archives/262 参考的博客略旧,根据博客内容调整了处理过程 第一步:下载语料 最新的: http://download.wikipedia.com/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2 第二步:抽取正文 下载 Wikipedia Extractor: https://github.com/attardi/wikiextractor 安装 Wikipedia Extractor: sudo python setup.py install 抽取正文: python WikiExractorPath/WikiExtractor.py -b 1000M -o extracted WikiDataPath/zhwiki-latest-pages-articles.xml.bz2 得到的文件默认在当前路径下的,./extracted/AA/下 第三步:繁简转换 下载 OpenCC: https://github.com/BYVoid/OpenCC 安装OpenCC: make sudo make install 繁简转换: opencc -i wiki_00 -o wiki_00_chs -c OpenCCPath/data/config/t2s.json opencc -i

文本相似度算法:文本向量化+距离公式

陌路散爱 提交于 2019-12-04 20:58:43
1. 文本向量化 1.1 词袋模型 词袋模型,顾名思义,就是将文本视为一个 “装满词的袋子” ,袋子里的词语是随便摆放的,没有顺序和语义之分。 1.1.1 词袋模型的步骤 第一步:构造词典 根据语料库,把所有的词都提取出来,编上序号 第二步:独热编码,D维向量 记词典大小为D,那么每个文章就是一个D维向量:每个位置上的数字表示对应编号的词在该文章中出现的次数。 1.1.2 词袋模型的缺点 只统计词语是否出现或者词频,会被无意义的词汇所影响 解决:文本预处理(a.去除停用词;b.文字、字母、标点符号统一;c.利用TF-IDF去除不重要的词) 无法识别语义层面的信息 解决:基于深度学习的文本表示(词向量、句向量等) 无法关注词语之间的顺序关系 解决:深度学习 1.2 TF-IDF TF-IDF是一种统计方法,用以评估某一字词对于语料库中的一篇文章的重要程度。其算法简单快速,结果也比较符合实际情况。 1.2.1 TF-IDF的步骤 第一步:统计词频TF 统计每个词在文本中出现的次数,出现的越频繁,那么就越可能是这个文章的关键词。 词频TF = 某个词在文章中出现的次数/文章的总词数 词频TF = 某个词在文章中出现的次数/文章中出现的最多的词出现的次数 第二步:计算逆文档频率IDF IDF用于衡量每一个词在语料库中的重要性,一个词在语料库中越少见,它的权重就越大;反之

用例建模Use Case Modeling

孤街醉人 提交于 2019-12-03 10:05:35
我的工程实践项目《基于大数据问答训练的中文自然语言理解系统设计》 主要工作是根据一些中文语料库和 Web 上的资料来构建一个问答系统,主要业务流程是,对用户输入的文本进行提取分析,然后根据相应的问题在语料库搜索和根据概率模型生成回答,然后讲回答返回给用户。以下是用用例图 High level use case: P arse:对输入文本进行前期处理 A nalyze:对输入文本进行解析 E xecute:给用户返回答案和进行模型的更新 G enerate:通过在预料库中搜索或模型来产生预选答案 来源: https://www.cnblogs.com/liuhuacheng/p/11787613.html