美文网首页
NER RE 备忘

NER RE 备忘

作者: NazgulSun | 来源:发表于2021-08-30 18:40 被阅读0次

    实体识别

    下面的文字目前完全是备忘录,如果有自己的看法,也是肤浅的理解,切勿当真;
    HMM
    最开始是 HMM,隐马尔科夫链模型:
    t+1, 与 t 有某种概率关系;
    给定一个句子; NER 真的 很难学习的一门 NLP 技术;
    从标注中,学习了一个模型, 我们知道 state1 -》 state2 的转移概率;
    state1 -> word 的发射改了; state 的初始概率; 就可以 算出 t+1 是某个 state 的概率;

    求一个句子 state 概率的最大值,微比特算法求解; 就是HMM;

    # -*- coding:utf-8 -*-
    # 作者:李鹏飞
    # 个人博客:https://www.lookfor404.com/
    # 代码说明:https://www.lookfor404.com/用隐马尔可夫模型hmm做命名实体识别-ner系列二/
    # github项目:https://github.com/lipengfei-558/hmm_ner_organization
    

    CRF
    HMM 只能利用前面一个word 的信息; CRF 可以利用前面+后面 的信息;也就是 能够利用更多的上下文信息;

    CRF 有一个特征模板的概念;在特征模板中,定义 利用的上下文信息;然后生成 一些列 函数集合F; F 对word 进行综合打分;求出最大的概率;

    BI-LSTM CRF
    是神经网络的方式, RNN 试图通过循环神经网络记住 上下文全部信息;
    LSTM有记忆单元,记录他认为重要的上下文, 然后产生一个序列概率;
    LSTM 特别适合序列预测场景, NER 也是其中一种, 能够利用句子中的上下文信息, 然后再输入给 CRF 模板函数,获取更高的精确度;【暂时不动为何】

    这个算法在github上有很多代码的例子,需要tensorflow 或者pytorch;

    上述的算法都需要大量信息的标注,作为train 的文本; 先做一些记录,后面再深入阅读;

    关系抽取

    https://zhuanlan.zhihu.com/p/139485679
    git 上可以找到很多 RE 相关的算法, 有半监督的,无监督的;最近几年研究方向都是基于深度学习;

    从知乎这篇文章来看,对于特定领域,使用基于规则的snowball算法,在实际应用中可能达到比较好的效果; snow ball 算法,属于bootstrap 思路;

    有一个 seed list, 比如 公司,生产, 产品。 然后从 文本中找到 company- (y) - 产品; (y) 可能有很多类型; 比如生产, 制造等等;
    这就是一个模式, 把这个模式 迭代下去,又从文本中找,可以达到一个 bootstrap的效果,能够识别越来越多的关系;

    但是有一个问题就是 (y)某一个模式,可能是低质量的,或者有问题的,那么我们必须 在一个模式,加入到 tuple 之前,就行 判定;

    snowball 的思想就是, 在一个 新的模式, 加入tuple 之前, 计算一个相似度,假设 tuple 里面的都是高质量的,那么 相似度越高,新加入的tuple
    的质量就是越有保障的;

    snowball 的算法思想。就是 构建 (L, Company, M, Product, R),这样的五元组, 把句子前,中,右的 信息考虑进去,做一个评判的上下文;
    https://github.com/snowballstem/snowball, 有现成的工具,可以参考

    知识融合

    各种融合方法,可能根据业务场景,有的比较实用,没有很高深的算法;
    https://github.com/snowballstem/snowball
    https://www.pianshen.com/article/7846157877/
    https://zhuanlan.zhihu.com/p/113326853

    下面这个简单的例子,使用实体所在的句子的 前后的句子, 与 现有实体 的desc 信息,进行 tf-idf相似度进行对齐;

    相关文章

      网友评论

          本文标题:NER RE 备忘

          本文链接:https://www.haomeiwen.com/subject/pwuoiltx.html