HTML语义化标签本身不直接抽取实体,但能提升质量,前提是系统建模DOM层级与标签映射关系;如<time>的datetime属性提供ISO 8601结构化时间源,比正则更可靠。

HTML 文档结构本身不直接参与知识图谱实体抽取,但语义化标签(如 <article>、<header>、<time>、<address>)能显著提升抽取质量——前提是抽取系统明确建模了 DOM 层级与语义标签的映射关系。
为什么 <time> 比正则更可靠地抽取时间实体
纯文本正则匹配 "2024年[0-1][0-9]月[0-3][0-9]日" 容易误捕评论区或广告文案;而 <time datetime="2024-06-15">6月15日</time> 的 datetime 属性是结构化时间源,抽取器可直接取值,无需解析歧义文本。
-
datetime值必须符合 ISO 8601 格式(如"2024-06-15T14:30"),否则多数 NLP 工具链会跳过该节点 - 浏览器渲染无关的
<time>内容(如中文“昨天”)不应作为主时间源,仅作 fallback - 多个
<time>出现在同一<article>下时,需结合父级itemprop="datePublished"微数据判断主时间
<address> 和 <aside> 的误用会导致地理/组织实体污染
不少 CMS 自动生成的页脚包含 <address>,但内容实为版权信息(如“© 2024 XX公司”),并非联系地址。若抽取器无上下文过滤,会把“XX公司”错误识别为地理实体或组织实体。
-
<address>应仅出现在<footer>或<article>末尾,且子元素应含<a href="mailto:...">或<span>电话:...</span>等联络特征 -
<aside>内容默认视为非主干信息,其中出现的人名/地名需降权处理,避免干扰正文主体实体 - 检测到
<address>但无href或tel:协议时,建议丢弃该节点或标记为unverified
DOM 树深度与 itemprop 微数据共同决定实体置信度
仅靠 <span itemprop="name">张三</span> 不足以确认“张三”是人物实体——还需检查其是否嵌套在 <div itemscope itemtype="https://schema.org/Person"> 内,且该 div 是否位于 <main> 范围内。
立即学习“前端免费学习笔记(深入)”;
- 层级过深(如
<main> <section> <article> <div itemscope> ...)通常可信度高;出现在<nav>或<header>中的itemprop多为导航标签,应排除 - 同一页面多个
itemscope共享相同itemtype时,需用 DOM 路径哈希去重,防止重复抽取 - 未声明
itemtype的itemprop(如孤立的<meta itemprop="url" content="...">)应忽略,因其缺乏类型约束
真正起作用的不是标签名本身,而是抽取器是否将 <time> 映射为时间槽位、是否把 itemscope 解析为实体边界、是否对 <aside> 做负采样加权——这些逻辑一旦缺失,再“语义化”的 HTML 也只是普通文本容器。



















