如何理解语义(semantic)化?

简介: 前端工程师的招聘中,经常有这样的要求:对Web 语义化有深刻理解。那么到底什么才是深刻理解Web语义化呢?读完这篇博客你就知道了。

前端工程师们口里的web语义化,实际上是指HTML5标签的语义化

但是这并不完全正确,在W3C标准,有semantic web的详细介绍,我将结合W3C标准的介绍和其他资料,深入理解web语义化,而不仅仅停留在标签层面。

那么HTML的语义化就不重要了吗?显然不是,medium上有一篇很好的博客。

  • 语义学与计算机科学的关系是什么?
  • semantic web是什么?
  • 通过TypeScript理解为什么Semantic HTML很重要?
  • 除了增强可读性,Semantic HTML还有哪些方面很重要?
  • HTML语义化标签参考手册
  • 进一步增强Web语义化的WAI-ARIA


语义学与计算机科学的关系是什么


以下内容摘自维基百科:

一个逻辑系统通常由三个部分组成,即 词汇部分、 句法部分和基于模型论的 语义部分。所谓的词汇部分就是列举出一个形式系统所使用的所有符号,句法部分是这些符号的组合规则,规定什么样的符号序列可以是这个系统的句子,语义部分是对合格句子的解释,这样的解释通常是:在一个模型中进行的对真值条件推导。逻辑学的语义学着眼点在于逻辑系统的语义解释,是一个理想化的模型系统,不直接涉及自然语言。互联网理论中讨论的Web 2.0的一个很重要的特征就是语义网络,其目的是以语义为纲领组织网络资源


semantic web是什么?


除了经典的"Web of documents" W3C也致力于构建一个技术栈去支持"Web of data",也就是数据库中你的数据的顺序。Web of data的终极目的在于:让计算机做更多的有用的工作去开发系统,从而通过网络去支持可以信赖的交互。W3C术语"Semantic Web"指的是对Web链接的数据。语义Web技术使人们可以在Web上创建数据仓库,建立词汇表,为需要处理的数据写规则。Linked data 由类似RDF,SPARQL,OWL和SKOS。


Linked Data

Semantic Web是建立在数据上的Web,包括日期,标题和部分数字以及机制属性以及任何其他的可以想象到的数据。RDF提供了发布和链接数据的基础。多种技术允许你在文档中嵌入数据(RDFa,GRDDL)或者暴露SQL数据库里的数据,或者通过RDF文件嵌入。


Vocabulary

有时候组织数据更重要更有价值。使用OWL(构建词汇或者本体)以及SKOS(设计知识组织系统),通过附属的意义enrich数据,这就可以允许更多的人或者更多的机器基于数据做更多的事。


Query

查询语言与数据库息息相关。如果Semantic Web被当做一个全局的数据库,那么理解为什么需要一门语言用来查询数据就很轻松了。SPARQL就是Semantic Web的查询语言。


Inference

在Semantic Web栈顶,可以找到引用--通过规则推理数据。W3C基于规则工作,主要通过RIF和OWL,集中精力在不同系统之间的规则语言和交换规则。


Vertical Application

W3C工作在不同的产业,例如在医疗健康和生命科学,电子政务,提升合作能力的能力,研究和开发,以及通过语义化的Web创新革新的技术改革。例如,通过帮助临床研究中的决策,语义Web技术将跨机构桥接多种形式的生物和医学信息。


通过TypeScript理解为什么Semantic HTML很重要?


原文链接:Understanding why Semantic HTML is important, as told by TypeScript.

为了控制时间成本,我将只记录自己认为重要的知识点,而不是通篇翻译了。

image.png


  • 当今有一种宣扬JavaScript,贬低HTML的趋势,这是不正确的!
  • TypeScript引入了类型,确保我们debug,写,读的时候更加高效。
  • HTML若是同样按照TypeScript这样,严格按照类型码标签,会更加严格。
  • 写一个标题,很多标签都可以实现,但是选择header可以更加准确的代表我们的元素,也可以让代码可读性更好。
  • 充分利用好HTML这们语言,而不是到处都是div。
  • 将HTML当做一门语言,选择最最合适的代码去表现自己的内容


语义化好的web与语义化不好的web间的对比:


语义化好的TS和HTML:

interface dog {
  name: string
  age: number
  isFluffy: boolean
}

image.png

语义化不好的TS和HTML:


interface dog {
  name: any
  age: any
  isFluffy: any
}

image.png

“…to build for people and the long term, then simple, structural, semantic HTML was best?—?each element deployed for it’s intended purpose. Don’t use a div when you mean a p”?—?Jeffery Zeldman


Get to know the HTML elements available to you, and use the appropriate one for your content. Make the most it, like you would any language you choose to code with.


除了增强可读性,Semantic HTML还有哪些方面很重要?


资料链接:https://developer.mozilla.org...

下面这句话很重要!

HTML should be coded to represent the data that will be populated and not based on its default presentation styling. Presentation (how it should look), is the sole responsibility of CSS.

语义化标签有下面这些好处:

  • Search engines will consider its contents as important keywords to influence the page's search rankings (see SEO)
  • Screen readers can use it as a signpost to help visually impaired users navigate a page
  • Finding blocks of meaningful code is significantly easier than searching though endless divs with or without semantic or namespaced classes
  • Suggests to the developer the type of data that will be populated
  • Semantic naming mirrors proper custom element/component naming

每次写标签时,问自己这样一个问题:

What elements best describe/represent the data that I'm going to populate?


HTML语义化标签参考手册

手册地址:https://developer.mozilla.org...


进一步增强Web语义化的WAI-ARIA


可以查看另外一篇博文:关于WAI-ARIA那些事儿

相关文章
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
大模型开发:解释强化学习以及它与监督学习的不同之处。
强化学习(RL)是机器学习的一种,通过智能体与环境交互学习最优策略,以获取最大回报,常用于动态环境如游戏和机器人。与之不同,监督学习(SL)使用有标签的训练数据来预测新数据,适用于如图像分类等稳定问题。两者关键区别在于学习方式和应用场景:RL侧重环境交互和策略优化,适合未知动态环境;SL依赖已知标签数据,适合标签明确的任务。在大模型开发中,两者各有优势,并不断融合创新,推动人工智能发展。
|
1天前
|
人工智能 自然语言处理 监控
大语言模型回复的 RLFH 概念
大语言模型回复的 RLFH 概念
65 0
|
1天前
|
编解码 算法 测试技术
【论文精读】ICLR2022 - 语言驱动的语义分割
【论文精读】ICLR2022 - 语言驱动的语义分割
|
9月前
|
自然语言处理 算法 编译器
C++基础句法
● 使用场景 1.switch只能支持常量固定值相等的判断 2.if还可以判断区间范围 3.用switch能做的,用if都能做,但是反过来不行。
58 0
|
10月前
|
机器学习/深度学习 存储 人工智能
大语言模型的预训练[5]:语境学习、上下文学习In-Context Learning:精调LLM、Prompt设计和打分函数(Scoring Function)设计以及ICL底层机制等原理详解
大语言模型的预训练[5]:语境学习、上下文学习In-Context Learning:精调LLM、Prompt设计和打分函数(Scoring Function)设计以及ICL底层机制等原理详解
大语言模型的预训练[5]:语境学习、上下文学习In-Context Learning:精调LLM、Prompt设计和打分函数(Scoring Function)设计以及ICL底层机制等原理详解
|
10月前
|
人工智能 自然语言处理 算法
大语言模型的预训练[6]:思维链(Chain-of-thought,CoT)定义原理详解以及在LLM上应用
大语言模型的预训练[6]:思维链(Chain-of-thought,CoT)定义原理详解以及在LLM上应用
|
12月前
|
机器学习/深度学习 数据采集 Oracle
DAFormer | 使用Transformer进行语义分割无监督域自适应的开篇之作(二)
DAFormer | 使用Transformer进行语义分割无监督域自适应的开篇之作(二)
300 0
|
12月前
|
机器学习/深度学习 编解码 自然语言处理
DAFormer | 使用Transformer进行语义分割无监督域自适应的开篇之作(一)
DAFormer | 使用Transformer进行语义分割无监督域自适应的开篇之作(一)
334 0
|
机器学习/深度学习 计算机视觉
CVPR 2019|CFNet:语义分割中的共现特性
作者发现图像中存在?共现特征(即输入图像中与目标特征共同出现的特征)。比如在城市景观图像中,很难分辨的出海洋、湖泊、江河,但是当有帆船在图片上的时候,出现海洋的可能性很大。
71 0
|
机器学习/深度学习 编解码 人工智能
高效轻量级语义分割综述
语义分割是自动驾驶中视觉理解的重要组成部分。然而当前SOTA的模型都非常复杂和繁琐,因此不适合部署在计算资源受限且耗时要求较低的车载芯片平台上。本文深入研究了更紧凑、更高效的模型以解决上述问题,这些模型能够部署在低内存嵌入式系统上,同时满足实时推理的需求。本文讨论了该领域一些优秀的工作,根据它们的主要贡献进行归类,最后本文评估了在相同软硬件条件下模型的推理速度,这些条件代表了一个典型的高性能GPU和低内存嵌入式GPU的实际部署场景。本文的实验结果表明,许多工作能够在资源受限的硬件上实现性能和耗时的平衡。
高效轻量级语义分割综述
http://www.vxiaotou.com