学习笔记——信息标记与信息提取方法简介
一、信息标记的意义
- 形成信息组织结构,增加信息维度;
- 标记的结构与信息一样具有重要价值
- 标记后的信息可用于通信、存储或展示
- 标记后的信息更利于程序理解和运用
二、信息标记的三种形式
1. XML格式
XML:eXtensible Markup Language,可扩展的标记语言。
主要的格式如下:
<name>...</name> # 常见的格式
<name /> # 空元素缩写形式
<!-- --> # 注释书写形式
实例如下:
<man>
<firstName>Yun</firstNmae>
<lastName>Ma</lastName>
<address>
<strrtAddr>余杭区文一西路969号</streetAddr>
<city>杭州市</city>
<zipcode>311121</zipcode>
</address>
<title>Teacher</title><title>Businessman</title>
</man>
2. JSON格式
JSON:JavsScript Object Notation.
主要格式如下:
"key":"value"
"key":["value1","value2"]
"key":{"subke":"value"}
可见JSON格式没有添加注释的选项,有点类似于构造字典。
实例如下:
{
"firstName":"Yun",
"lastName":"Ma",
"address":{
"strrtAddr":"余杭区文一西路969号",
"city":"杭州市",
"zipcode":"311121"
},
"title":["Teacher","Businessman"]
}
3. YAML格式
YAML:YAML Ain’t Markup Language。
主要格式如下:
key:value
key:#comment # 用"#"表示注释
-value1 # 用"-"表示并列关系
-value2
key:
subkey:subvalue # 用缩进表示所属关系
YAML跟Python一样,用缩进表示所属关系,用"-“表示并列关系,用”#"表示注释,用“|”表达整块数据。
实例如下:
firstName:Yun
lastName:Ma
address:
strrtAddr:余杭区文一西路969号
city:杭州市
zipcode:311121
title:
-Teacher
-Businessman
4.XML/JSON/YAML三种信息标记的比较
XML:最早的通用信息标记语言,可扩展性好,但繁琐,应用在Internet上的信息交互与传递。
JSON:信息有类型,适合程序处理(js),较XML简洁,应用在移动应用云端和节点的信息通信,无注释。
YAML:信息无类型,文本信息比例最高,可读性好,应用在各类系统的配置文件,有注释易读。
三、信息提取的方法
1. 完整解析信息的标记形式,再提取关键信息
XML JSON YAML
需要标记解析器,例如:bs4库的标签树遍历
优点:信息解析准确
缺点:提取过程繁琐,速度慢
2. 搜索的方法——无视标记形式,直接搜索关键信息
对信息的文本查找函数即可
优点:提取过程简洁,速度较快
缺点:提取结果准确性与信息内容相关
3. 融合方法:结合形式解析与搜索方法,提取关键信息
XML JSON YAML 搜索
需要标记解析器及文本查找函数