知识图谱学习笔记(五)——实体识别(1)

实体识别(信息抽取)

1. 信息抽取概述

  • 信息抽取定义:从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术。(Grishman,1997)
  • 信息抽取的主要任务:实体识别与抽取、实体消歧、关系抽取、事件抽取

2. 信息抽取的基础:分词和词性标注

2.1中文分词

  • 中文以字为基本书写单位,词语之间没有明显的区分标记
  • 中文分词就是要由机器在中文文本中词与词之间加上标记。
  • 和中文分词相比,英语切分问题相对容易。

2.2词性标注

  • Part-of-speech(POS) tagging(词性标注):消除词性兼类歧义,即确定当前上下文每个词是名词、动词、形容词或其他词性的过程。
    eg:名词和动词的兼类:爱好,把握,报道。

2.3中文分词的难点:

  • 汉语中,字、词、词素和词组的界限模糊:吃饭、吃鱼、吃羊肉、吃羊肉串
  • 歧义切分字段处理:
    1.交集型歧义:对于汉字串ABC,AB,BC同时成词:研究生物,从小学起等
    2.组合型歧义:对于汉字串AB,A、B、AB同时成词:门/把/手/弄/坏/了。门/把手/弄/坏/了。
    3.真歧义:歧义字段在不同的语境中确实有多种切分形式:乒乓球拍/卖/完了。乒乓球/拍卖/完了。
  • 未登录词(未登录词即没有被收录在分词词表中但必须切分出来的词)识别:
    1.实体名词和专有名词:eg.中国人名,中国地名,翻译人名,翻译地名,机构名,商标字号。
    2.专业术语和新词语:专业术语、缩略语、新词语。

2.4中文分词结果的评价:

  • 封闭测试和开放测试
    开方测试指的是测试样本不属于训练样本集合,否则称为封闭测试;
    封闭测试相当于考试试题都出自于学习过的书本,实际上,通过机械记忆小样本的封闭测试取得100%的精度不存在问题。
  • 专项测试和总体测试
    专项测试是对特定领域或者特定类型的样本进行测试,反之成为总体测试。
    总体测试能反映分词系统的综合效果,专项测试可以反映分词系统针对某个特定领域或者特定类型文本的效果。
  • 评价指标:
    真确率:测试结果中正确切分或标注的个数占系统所有输出结果的比例。P
    召回率:测试结果中正确结果的个数占标准答案总数的比例。R
    F值:正确率与召回率的综合值。
    F 1 = 2 × P × R P + R F1 = \frac{2 \times P \times R}{P + R} F1=P+R2×P×R
    在这里插入图片描述

2.5基于字典的分词方法

  • 方法概述:按照一定的策略将待分析的汉字串与一个充分大的词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。

  • 典型方法:
    1.正向最大匹配法
    2.反向最大匹配法
    3.最短路径法(最少分词法)

  • eg.
    句子:中医治白癜风 词典:中、医、治、中医、医治、白癜风
    正向最大匹配法:中医/治/白癜风
    反向最大匹配法:中/医治/白癜风
    最短路径法:
    独立自主/和平/等/互利/的/原则
    独立自主/和/平等互利/的/原则

  • 正向最大匹配(Forward Maximum Matching, FMM)
    1.令i=0,当前指针 P i P_i Pi指向输入字串的初始位置,执行下面的操作:
    2.计算当前指针 P i P_i Pi到字串末端的字数(即未被切分字串的长度)n,如果n=1,转第4步,结束算法。否则,令m=字典中最长单词的字数,如果 n < m n<m n<m,令m=n;
    3.从当前 P i P_i Pi起取m个汉字作为词 w i w_i wi,判断:
    (1)如果 w i w_i wi确实是词典中的词,则在 w i w_i wi后添加一个切分标志,转(3);
    (2)如果 w i w_i wi不是词典中的词且 w i w_i wi的长度大于1,将 w i w_i wi从右端去掉一个字,转(1)步;否则( w i w_i wi的长度等于1),则在 w i w_i wi后添加一个切分标志,将 w i w_i wi作为单字词添加到词典中,执行(3);
    (3)根据 w i w_i wi的长度修改指针 P i P_i Pi的位置,如果 P i P_i Pi指向字串末端,转第4步,否则, i = i + 1 i = i + 1 i=i+1,返回(2);
    4.输出切分结果,结束分词程序

  • 最短路径法
    1.相邻节点 V k − 1 , V k V_{k-1}, V_k Vk1,Vk之间建立有向边 < V k − 1 , V k > <V_{k-1}, V_k> <Vk1,Vk>,边对应的词默认为 C k ( k = 1 , 2 , . . . , n ) C_k (k = 1, 2, ..., n) Ck(k=1,2,...,n)
    2.如果 w = C i C i + 1 . . . C j ( 0 < i < j < = n ) w = C_i C_{i+1}... C_{j} (0<i<j<=n) w=CiCi+1...Cj(0<i<j<=n)是一个词,则节点 V i − 1 , V j V_{i-1},V_j Vi1Vj之间建立有向边 < V i − 1 , V j > <V_{i-1}, V_j> <Vi1,Vj>,边对应的词为w。
    在这里插入图片描述
    3.重复步骤2,直到没有新路径(词序列)产生。
    4.从产生的所有路径中,选择路径最短的(词数最少的)作为最终分词结果。

2.6基于统计的分词方法

基于统计的方法需要标注训练语料训练模型,可分为生成式统计分词和判别式统计分词

2.6.1 生成式方法

原理:首先建立学习样本的生成模型,再利用模型对预测结果进行间接推理。

马尔可夫模型
存在一类重要的随机过程(马尔可夫过程):如果一个系统有N个状态 S 1 , S 2 , . . . , S N S_1, S_2, ..., S_N S1,S2,...,SN,随着时间的推移,该系统从某一个状态转移到另一状态。如果用 q t q_t qt表示系统在时间t的状态变量,那么t时刻的状态取值为 S j ( 1 < = j < = N ) S_j (1<=j<=N) Sj(1<=j<=N)的概率取决于前t-1个时刻的状态,该状态的概率为:
P ( q t = S j ∣ q t − 1 = S i , q t − 2 = S k , . . . ) P(q_t = S_j | q_{t-1} = S_i, q_{t-2} = S_k, ...) P(qt=Sjqt1=Si,q

### 关于知识图谱学习笔记与资料 #### 知识图谱的核心概念 知识图谱的概念最早由 Google 公司在 2012 年提出,其核心目标是通过构建大规模的语义网络来增强搜索引擎的能力[^2]。从学术角度来看,知识图谱被定义为一种语义网络的知识库,它能够以结构化的方式存储实体及其之间的关系[^3]。 #### 符号表示方法 对于初学者而言,理解知识图谱中的符号表示方法是非常重要的一步。这些符号通常用于描述实体、属性以及它们之间的复杂关联。例如,在知识图谱中,节点代表实体(Entity),边则表示两者间的关系(Relation)。这种多关系图的形式使得知识图谱成为表达现实世界信息的强大工具[^1]。 #### 数据来源与知识抽取技术 知识图谱的数据主要来源于三类:非结构化数据(如自然语言文本)、半结构化数据(如表格、XML 文件)和完全结构化的数据库记录。其中,针对非结构化文本的知识抽取尤为重要,涉及命名实体识别(NER)、关系提取等多个 NLP 技术环节[^4]。 以下是几个推荐的学习资源方向: 1. **官方文档与教程** 许多知名机构提供了详尽的知识图谱入门指南,比如 Stanford 的 CS224W 和 IBM Watson 提供的技术白皮书。 2. **书籍推荐** - *《Knowledge Graphs: Fundamentals, Techniques and Applications》* —— 这本书全面介绍了知识图谱的基础理论和技术实现路径。 - *《Building Knowledge Graphs with Python and RDFLib》* —— 实践导向型读物,适合希望动手实践的人群。 3. **在线课程平台** Coursera 上开设了一系列有关知识图谱的应用场景分析课件;而 edX 则更侧重算法原理讲解。 4. **开源项目体验** 尝试参与一些公开可用的知识图谱建设项目,像 DBpedia 或 Wikidata,能帮助加深对其工作流程的理解程度。 ```python from rdflib import Graph, Literal, BNode, Namespace, RDF, URIRef g = Graph() # 创建简单的三元组示例 exNs = Namespace("http://example.org/") g.add((URIRef('http://example.org/subject'), exNs.predicate, Literal('object'))) print(g.serialize(format='turtle').decode()) ``` 上述代码片段展示了如何利用 `RDFLib` 库创建基本的知识图谱三元组模型。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aidanmomo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值