怎么做外贸网站优化,如何去看网站是不是响应式,wordpress pdf 下载失败,现在做什么行业前景好文 | Severus大家好#xff0c;我是Severus#xff0c;一个致力于做好中文自然语言理解的老程序员。一年前#xff0c;我在萌屋的第一篇推文#xff08;在错误的数据上#xff0c;刷到 SOTA 又有什么意义#xff1f;#xff09;中#xff0c;重点讲述了关系抽取任务所面… 文 | Severus大家好我是Severus一个致力于做好中文自然语言理解的老程序员。一年前我在萌屋的第一篇推文在错误的数据上刷到 SOTA 又有什么意义中重点讲述了关系抽取任务所面临的数据质量困境。但在当时我也不得不承认即便我将问题点出大家也都同意这个痛点我们也仍旧没有好的方法去批量构造高质量的数据这也给我的下一步工作带来了很大的困难。继续回归远监督那么就又要面对无尽的数据清洗工作以及面对知识库未收录的数据时仍会出现的大量缺失。而远监督之外的规则中文又没有相对应的解析结构能够指导我们产出更好的数据。即便困难重重我们也没有放弃探索。时隔一年我们终于想明白了其中的一些问题以及做出了一些成果在这篇推文中分享给大家。首先上效果schema 预测与自然语义预测实际上使用远监督来做数据的关系抽取任务虽然其出发点未必如此但皆可看作是 schema 预测任务。这也出于在任务定义时总想要一步到位做得“优雅”。如两个人结婚则直接要求模型预测“妻子”与“丈夫”的关系一个人唱了一首歌则要求模型预测这个人的职业是歌手等。由此则衍生了一些伪命题如所谓重叠关系问题等。而正如我所讲这些答案看似合理但这种“合理”不过是我们预先知道了事实之后所感受到的一种错觉。实际上如果完全使用任务文本中的自然语义哪怕是抽取后加入逻辑推断有些答案也无法得出比如唱过歌的人不一定是歌手结婚的人也很难分辨妻子丈夫关系。那么任务中所要求的答案多数则是需要其他的事实知识辅助推断得出而从技术上我们又无法假定模型能够精准记住、使用世界上所有的事实知识又或者说这件事是不可能的首先收录不可能完全同时统计模型会泛化也就是说理想化的逻辑推断几乎是不可能存在于统计模型之中的。那么schema 预测则一定会导向不合理的泛化。如这段文本克里斯汀·斯图尔特与相恋7年的女友订婚如果模型没有预先记住克里斯汀·斯图尔特的性别则很容易得到由 schema 预测其他答案时泛化得到 克里斯汀·斯图尔特性别男 这一关系而实际上……所以我一直主张的是关系抽取任务应当回归到自然语义中即答案完全从输入文本中触发得到。需要基于推断得到的关系放到任务特化的推理步骤进行。即“克里斯汀·斯图尔特与相恋7年的女友订婚”这段文本中关系抽取模块仅抽取克里斯汀·斯图尔特订婚女友而 克里斯汀·斯图尔特, 性别 由推理模块结合其他信息完成。最近我司与中科院共同发表的 UIE则是给出了一种使用 DNN 模型从自然语义中做信息抽取的实例其模型思路上和我的解法大同小异而其最大的难题仍旧是如何构造出准确又全面的训练数据。中文数据的难题实际上想要得到大规模的训练样本最简便的方法就是整合各大已有数据集无论是公开的还是非公开的。但是多源数据集整合的过程中则必然会存在一个问题数据集标准不一致问题。例如“苏里南”这一 mention可能在A数据集中被标为“世界地区”在B数据集中被标为“国家”。或 schema 定义不一致A数据集中只定义了“所属”而B数据集中定义了“首都”。同样的头尾实体相似触发的文本如果最终的答案不一致则会对统计模型造成很大的困惑。而这样的问题每增加一份数据集每切换一次领域则需要重新面对一次而如果是 model-centric 地做这个任务又不会想要花大力气在任务数据上可造成的结果又是随着数据规模的扩大trick 也会不断增加反倒消耗了很多的精力。所以我们决定设计一个方法能够简单、灵活配置并较准确地抽取出文本中的已配置关系它一定是一个规则的。而首先我们就先要有一个中文文本的解析表示方法将中文无限的词和表达方式收拢到有限的表示模式中从而至少实现配置可枚举的体系。中文的解析体系之前的推文中我提到过中文和英文存在很大的区别。具体来讲中文相比于英文存在以下特性类有定职则词无定类即如果将句子中每一个词与句子中的成分对应起来则一个词可能会有多个词性词有定类则类无定职如果将一个词固定为一个词性则该词性的功能不稳定这个特性也就决定了纯语法结构的词类体系无法适用于中文也就是说词性标注、依存结构树等英文解析方法无法完全适用于中文。所以我们也只能重新去设计中文的解析体系。所幸中文语言学的先辈们早已给出了分类的准则即按照实词与虚词分别划分具体的划分准则为凡本身能表示一种概念者叫做实词其分类当以概念的种类为根据凡本身不能表示一种概念者叫做虚词其分类当以其在句中的职务为根据所以我们根据语义划分实词根据语法划分虚词最终得到了一个中文词类的全划分体系同时训练得到一个中文词类标注工具其展示效果如下至此我们的关系抽取工具的先决条件算是大体完成。关系的触发逻辑搞定了上述的词类划分及文本标注后我们相当于已实现将无限的词收拢到了有限的词类体系中接下来而待抽取的关系则变成了仅发生在词类与词类之间便可以枚举出来。例如人物类_实体与作品类_实体之间的关系可以是“创作”而“创作”的触发词如作词、作曲、演唱、执导、出演等或触发pattern则可以通过知识库枚举得到如此则实现了灵活配置。那么接下来一个问题则是我们如何从现在的序列解析结果中得到关系三元组数据呢要解决这个问题我们依旧要从中文语言学的成果中寻找答案中文更偏孤立语注重意合依靠词序和词之间的意义联系成句词性、句法特征弱。也就是说我们在解析的时候可以尝试摒弃所谓句法特征只是从次序上下手。于是我们发现只需要覆盖好 SPO 的几种常用表达顺序单向搜索即可覆盖大部分简单句。例如对于张艺谋创作十面埋伏这一 SPO 三元组常用表达顺序有如下几种S-P-O张艺谋执导了《十面埋伏》。S-O-P张艺谋是《十面埋伏》的导演。O-S-P《十面埋伏》是张艺谋执导的电影。O-P-S《十面埋伏》的导演是张艺谋。然而这种模式仍然过于复杂如遇到多组 SPO 关系并存的文本如果要完全照顾到这四种表达顺序则很容易发生混乱难以得到严格对应的三元组。所以我们设计了互反关系即头实体和尾实体对调后对应的反向关系。例如三元组张艺谋创作十面埋伏则存在一个反向三元组十面埋伏创作者张艺谋。那么当我们找到一个头实体之后只需要考虑它之后的部分即 S-P-O 和 S-O-P 两种表达顺序就行了。同时我们部分参考了英文语法中关于屈折词的定义。即屈折词本身定义了其作用范围。我们也认为触发词不仅定义了语义同时也定义了触发方向所以部分触发词我们也配置了其尾实体搜索方向进一步提升精度。另外我们认为规范表达中关系触发和尾实体一定实在同一个短语中出现所以触发关系之后寻找尾实体的过程中我们仅搜索与触发在同一个短语中的实体及相关元素。于是参考了语言学先辈们总结的中文规律使用以上的解析体系我们用纯规则的方法做出来了这样一个可简单配置的信息抽取工具可以用来方便地产出信息抽取样本无论是用于微调前段时间发布的 UIE还是直接用于领域文档抽取相信都可以是个有力的工具。这个工具叫做 WordTag-IE现已在 PaddleNLP 中开源。https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/text_to_knowledge展望与讨论在文章的开头我的自我介绍是“致力于做好中文自然语言理解”诚然自然语义中的信息抽取是能够表明语言理解能力的我们也认为做文本标注的下一步就是做信息抽取。因此我们发布了WordTag-IE。但是我们现在也发现即使信息抽取工具优化到理想态无论是UIE这类的模型工具还是WordTag-IE这类的规则工具其结果直接作为中文理解的特征仍然是不够的。比如对话结构建模或文本生成控制所需要的信息不仅仅是 SPO 就能可以满足的。所以我们就开了一个脑洞既然我们已经做了语义序列解析那么能否更进一步做出来一段文本的语义结构化解析结果呢而这个结构化的结果则可能可以真正发挥大用处比如上文提到的对话结构建模、文本生成控制。因为语义结构可以弥补 DNN 模型在长期记忆上的不够精准的短板结构化数据既保证了信息全面也更加适用于归一和检索在需要长期记忆的场景下能够快捷、精准地找到所需的信息给 DNN 模型以必要的提示。希望在不久的将来我可以在这里继续向小伙伴们报告我最新的成果。萌屋作者SeverusSeverus在某厂工作的老程序员主要从事自然语言理解方向资深死宅日常愤青对个人觉得难以理解的同行工作都采取直接吐槽的态度。笔名取自哈利波特系列的斯内普教授觉得自己也像他那么自闭、刻薄、阴阳怪气也向往他为爱而伟大。作品推荐深度学习路在何方数据还是模型人类知识在深度学习里还有用武之地吗在错误的数据上刷到 SOTA 又有什么意义后台回复关键词【入群】加入卖萌屋NLP、CV、搜推广与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集