数据采集与整理:知识图谱的根基

数据采集与整理:知识图谱的根基

在这里插入图片描述

一、 引言

在今天的数据驱动的世界中,知识图谱已经成为了连接复杂信息的关键工具。它们不仅推动了人工智能的发展,还改变了我们管理和利用知识的方式。然而,任何优秀的知识图谱都离不开一个核心的前提——高质量的数据。在本篇博客中,我们将深入探讨数据采集与整理的重要性,这是构建可靠知识图谱的基石。

数据采集与整理是构建知识图谱的初始阶段,其重要性不亚于图谱的最终应用。想象一下,如果我们的数据源充满了错误、重复项或不一致性,那么最终的知识图谱将充满误导性的信息,其可靠性和有效性都将大打折扣。例如,假设我们正在构建一份关于历史人物的知识图谱,数据源提供了关于某位人物多个版本的出生日期。如果没有适当的数据整理,图谱可能会错误地展示这些信息,从而误导用户。

在数据质量对知识图谱构建影响的案例中,我们可以回顾2018年某知名企业的经验。该企业试图创建一个全面的客户知识图谱,但由于数据整理工作的不足,导致图谱中的客户信息重复和不一致,最终导致了错误的市场洞察和营销策略。这明确表明,一个精确、一致和全面的数据采集与整理过程是必不可少的。

在接下来的章节中,我们将逐一解剖数据采集与整理的各个环节,深入理解它们的技术细节和行业最佳实践。从数据源的选择和采集技术,到数据预处理和整理,再到语义标注和元数据管理,每个步骤都是确保知识图谱准确性和实用性的关键。通过本文,你将获得构建一个强大知识图谱所需的数据采集与整理的全面知识。

在这里插入图片描述

二、数据采集基础

1.数据源类型和数据采集方法

在构建知识图谱的过程中,首先需要确定的是数据采集的来源,数据源类型通常包括结构化数据、半结构化数据和非结构化数据。结构化数据如数据库中的表和记录,具有明确的格式和组织结构,易于机器读取和理解;半结构化数据,例如XML和JSON文件,虽然包含一定的结构,但不如结构化数据那般严格;非结构化数据则包括文本、图片、视频等格式,这类数据丰富多元,但缺乏统一的结构,因此提取信息更为复杂。

数据采集方法根据数据源的不同而异,对于结构化数据,通常使用标准的数据库查询语言如SQL进行读取;半结构化数据则需使用XML解析器或JSON解析库来进行数据提取;非结构化数据的采集则更依赖于文本分析、图像识别等技术。例如,从网络新闻文章中提取实体及其关系时,可能需要自然语言处理技术来识别和分类文中的人名、地点和事件。

2.自动化数据采集技术和工具

随着技术的发展,自动化数据采集技术和工具变得至关重要。这些技术可以系统地从各种数据源中提取数据,大幅提高效率和准确性。自动化工具如Apache NiFi、Talend和Kettle,能够处理和整合不同格式和来源的数据。此外,高级的数据采集系统不单可以收集数据,还能在采集过程中进行初步的数据清洗和转换。

例如,Apache NiFi支持数据流的设计、控制、反馈和监控,能够实现数据的实时采集和处理。通过设置数据流,用户可以指定数据的来源、预期的处理过程以及最终输出的位置。

3.网络爬虫的作用和限制

网络爬虫是互联网数据采集中的重要工具,它能够自动浏览网页,从中抽取信息并存储下来。例如,Scrapy和BeautifulSoup等工具能够帮助开发者从网页中提取需要的数据。

然而,网络爬虫也有其局限性。首先,爬虫必须遵守robots.txt文件中的规则,这是网站告知爬虫哪些页面可以抓取哪些不可以的标准。其次,爬虫可能会遇到反爬虫技术,如IP封禁、验证码或JavaScript加载的内容等。此外,爬取数据时也需注意版权和隐私问题,避免侵犯相关法律法规。

例如,对于新闻网站的爬虫项目,网络爬虫可能需要处理分页、无限滚动或动态加载内容的问题。假设我们要从一个新闻网站上爬取关于科技领域的最新报道,网络爬虫首先会分析网站的结构,然后根据结构设计爬取策略,定位到存放新闻的页面,抓取新闻标题、发布时间、作者和新闻正文内容。这些信息经过去除HTML标签等无关内容的清洗后,可以被保存为结构化数据,如CSV文件,供后续的数据整理和分析使用。

在这里插入图片描述

三、数据预处理

1.数据清洗的目的和常见方法

数据预处理是知识图谱构建中至关重要的步骤,它直接影响着知识图谱的质量和应用效果。数据清洗的主要目的是提高数据的质量,确保其能准确、一致地反映真实世界的实体和关系。常见的数据清洗方法包括:

  1. 去除重复:检测和删除数据中的重复记录,以避免在知识图谱中创建重复的实体。
  2. 填充缺失值:通过各种算法估算或推断缺失的数据,如使用均值、中位数或基于模型的方法。
  3. 校正错误:通过规则检查、算法识别和手动审查来纠正数据错误,例如,地址栏中的拼写错误或者日期格式不一致。
  4. 格式标准化:将数据转换为统一的格式,比如日期格式统一为ISO标准的“YYYY-MM-DD”。
  5. 噪声平滑:识别并处理数据中的噪声点,如通过分箱、聚类或回归方法对数据进行平滑处理。

例如,一个电商网站的商品数据库可能包含成千上万的商品记录,数据清洗的过程可能需要去除重复的商品列表,填充某些产品描述中缺失的值,纠正产品分类中的错误,并统一商品价格的表示格式。

2.格式化、转换和数据类型标准化

格式化和转换是数据预处理的关键环节,它们确保数据在不同系统和应用中能够无缝对接和处理。数据类型标准化涉及确保所有数据遵循相同的类型系统,这使得数据分析和处理更加准确和有效。

  1. 格式化:涉及将数据转换为一致的布局或结构,如将所有电话号码都转换为“国家代码-区号-号码”的格式。
  2. 转换:涉及将数据从一种格式改变为另一种格式,如将CSV文件转换为JSON格式。
  3. 数据类型标准化:确保每个数据字段都遵守预定义的类型,比如将字符串型的数字转换为整型。

在处理用户信息数据库的例子中,格式化可能包括将所有用户名按相同的格式首字母大写,转换可能包括将存储为文本文件的数据迁移到SQL数据库中,而数据类型标准化可能包括将文本格式的出生日期转换为日期类型。

3.缺失值和异常值的处理

处理缺失值和异常值对于构建准确的知识图谱至关重要。缺失值可能导致分析结果的偏差,而异常值可能指示数据录入错误,或者是需要特别关注的重要发现。

  1. 缺失值处理:常用的技术包括删除含有缺失值的记录、数据插补(比如用平均值或中位数填充)或者使用预测模型来估计缺失值。
  2. 异常值处理:这些值可以通过各种统计方法(如IQR、Z-score)来检测,并可通过剔除或替换处理。

例如,假设一个医疗研究数据库中有患者的体重记录,但某些记录遗失了体重值。在这种情况下,研究人员可能会使用其他患者的平均体重来填补这些缺失值。另一方面,如果检测到一个成年患者的体重为30公斤(这很可能是一个输入错误),则可以将其视为异常值并进行进一步的检查或处理。

在这里插入图片描述

四、数据整理

1.数据整合:合并来自多源的数据

数据整合是指将不同来源、不同格式的数据集中到一个统一的数据存储系统中,以便于接下来的分析和处理。在知识图谱构建的背景下,数据整合的目的是创建一个全面、一致的知识基础。

例如,假设我们正在构建一个医疗健康领域的知识图谱,数据源可能包括电子病历、医学文献、药品说明书、临床试验记录等。这些数据源有着不同的数据格式和结构。电子病历可能存放在某个医院的专有数据库中,采用特定的数据格式;医学文献可能以PDF形式存在,需要进行文本挖掘来提取信息;药品说明书和临床试验记录则可能以半结构化的HTML页面呈现。

在整合这些数据时,我们可能首先需要将非结构化的数据(如PDF文献)转换为结构化数据,然后再将来自不同数据库的结构化数据统一到一个格式,如JSON或XML。接着,我们会使用ETL(提取、转换、加载)工具来合并和统一不同来源的数据。在此过程中,实体匹配(Entity Resolution)技术是关键,它涉及到识别和合并指代同一实体(如同一种药物或病症)的不同记录。

2.数据对齐:确保数据一致性和准确性

数据对齐关注的是数据的一致性和准确性,特别是在不同数据源之间。它确保了相同的实体和概念在不同数据集中有一致的表示。

以医疗知识图谱为例,不同数据源可能会使用不同的术语来描述相同的疾病。比如,“高血压”可能在一个数据源中以"Hypertension"表示,在另一个数据源中则以“HTN”缩写表示。数据对齐会通过术语标准化来确保所有数据源中的“高血压”概念能够正确关联和统一。这通常涉及到使用词典、本体或控制性词表来映射和对齐术语。

3.实体识别与数据去重

实体识别是指识别数据中的关键实体,如人名、地名、机构名等。数据去重则是在数据中识别并删除重复的记录。这是确保知识图谱准确性和减少信息冗余的重要步骤。

在医疗知识图谱的构建中,实体识别可以通过自然语言处理技术,识别出病症、症状、药物、治疗方法等实体。而数据去重则可能需要比较实体的各种属性,以确保不同数据源中的同一实体不会被重复录入。例如,即便两个电子病历记录的病人名字不同,但如果其他信息(如出生日期、病症、治疗历程)都相同,我们可以推断这两个记录可能指的是同一名病人,进而进行去重处理。

举一个具体的例子,如果我们从两个不同的医院的数据库中提取数据,可能会发现某些病人在两家医院都有就诊记录。通过实体识别技术,我们可以识别出同一病人的记录,然后将其合并,确保知识图谱中该病人的信息是唯一且完整的。这样的过程通常会涉及到复杂的数据匹配算法,如基于机器学习的实体匹配技术,这些技术能够处理各种模糊匹配和不一致问题。

在这里插入图片描述

五、语义标注与元数据

语义标注的概念和重要性

语义标注是指将数据中的关键信息与预定义的语义概念相关联的过程。这些语义概念通常来源于领域本体或知识库,它们为数据项赋予明确的意义,使得数据不仅仅是对人类用户有意义,对计算机程序也具有可理解性。在知识图谱的构建中,语义标注是一个关键步骤,因为它为数据的自动化处理、查询以及后续的知识推理奠定了基础。例如,在构建一个医疗知识图谱时,将疾病名称、症状、治疗方法等信息与相应的医学本体中的概念进行匹配和标注,可以帮助系统精确理解这些数据项的具体意义,进而支持复杂的医学查询和分析。

元数据的定义及其在数据整理中的角色

元数据,直译为“数据的数据”,它描述了数据的基本信息和特征,如数据的来源、格式、创建时间、作者、使用权限等。在知识图谱中,元数据扮演着至关重要的角色:它不仅提供了关于数据本身的描述,从而使数据的管理、检索和使用变得更加高效,而且还能够增强数据的透明度和可信度。举个例子,对于知识图谱中的一个实体“爱因斯坦”,相关的元数据可能包括此实体的来源(如维基百科)、实体类型(人物)、相关领域(物理学)以及实体创建和最后更新的时间等。这些元数据不仅有助于用户理解和验证实体信息的可信度,还能够支持复杂的数据查询和分析任务,如基于实体类型或领域进行的高级检索。

例如,在一个面向研究人员的科研知识图谱中,语义标注可以将研究论文中提到的关键概念(如“机器学习”、“自然语言处理”)与知识库中的相应概念链接起来。同时,元数据可以提供论文的出版年份、作者信息、所属期刊等细节,这些信息对于研究人员筛选和定位相关文献是极其有用的。此外,通过对文献的引用关系进行标注和利用元数据记录引用次数,可以进一步分析研究领域的热点趋势和学术影响力,从而支持科学研究的深入进行。

在这里插入图片描述

六、数据模型和本体的应用

1. 本体在数据整理中的作用

本体是对特定领域知识的一个形式化表示,它包括了那个领域的基本概念、概念之间的关系以及这些概念的属性和规则。在知识图谱构建的过程中,本体起到了至关重要的作用,它不仅定义了数据之间的关系,也为数据整理提供了一套标准化的框架。通过本体,我们能够确保不同来源的数据能够基于相同的语义框架进行整合,从而避免了信息孤岛的产生。

例如,在医疗卫生领域的知识图谱构建中,通过本体模型,我们可以确保不同医院、实验室和研究机构的数据可以在概念上对齐。诸如“病患”、“诊断”和“治疗”等概念及其之间的关系被严格定义在本体中,使得数据整理时能够依据这些预定义的概念和关系来识别、关联和整合来自不同源的数据。

2. 数据模型在整理过程中的应用

数据模型是描述数据如何存储、组织和处理的一种抽象模型。在知识图谱的数据整理过程中,数据模型不仅决定了数据存储的逻辑结构,也影响了数据之间关系的建立和数据查询的效率。一个良好的数据模型可以显著提高知识图谱的性能和可扩展性。

以图数据库为例,它的数据模型非常适合知识图谱的构建,因为它天然地支持图结构,即实体以及实体之间的关系。通过图数据库,我们可以将本体中定义的关系直接映射为数据模型中的边,实体则映射为节点。当我们在整理数据时,例如将医疗健康记录转换为知识图谱中的实体时,可以直接创建节点,并根据本体中定义的关系类型创建边。

例如,假设我们正在建立一个推荐系统的知识图谱,其中包括用户、产品和购买记录三种实体。在整理数据时,我们首先将每个用户和产品作为节点添加到图数据库中。然后,我们根据购买记录创建用户和产品之间的“购买”关系。在这个过程中,数据模型指导我们如何将复杂的实际情况以图的形式简化表示,同时保留了数据之间的内在联系。

总的来说,数据模型和本体在知识图谱的数据整理过程中发挥着不可或缺的作用。本体提供了标准化的语义框架,而数据模型则为这一框架提供了实现方式,两者相辅相成,共同为构建高质量的知识图谱提供了坚实基础。

在这里插入图片描述

七、质量保证和数据治理

1.数据质量的评估标准

数据质量评估是确保知识图谱准确性和可靠性的关键步骤。评估标准通常包括准确性、完整性、一致性、可靠性和时效性。准确性指的是数据的正确性和精确性。完整性考虑数据集是否包含所有必要的数据项。一致性关注数据在不同数据源之间的一致性。可靠性评估数据的稳定性和信任度。时效性则指数据的更新频率和实时性。

例如,假设一个电商平台正在构建一个产品知识图谱。该平台需要从多个数据源(如供应商信息、用户评价、产品描述等)采集数据。在这种情况下,准确性可以通过比对供应商提供的产品信息与产品实际参数来评估。完整性可以通过检查每个产品是否都有价格、描述、评价等信息来确定。一致性可以通过比对不同供应商提供的同一产品的信息来评估。可靠性可以通过分析用户评价的真实性(例如,检测水军和假评论)来评估。时效性则可以通过定期检查产品信息更新的频率来保证。

2.数据治理的最佳实践

数据治理涉及制定政策、程序和标准,以确保数据在整个生命周期中的质量和安全。最佳实践包括:

  1. 建立跨部门的数据治理委员会:确保数据治理策略与组织的业务目标一致。
  2. 定义清晰的数据标准和政策:包括数据的采集、存储、处理、共享和删除标准。
  3. 实施数据质量管理工具和流程:自动化工具可以帮助识别和纠正数据问题。
  4. 数据访问和安全策略:确保敏感数据的保护,并定义谁可以访问数据以及如何使用数据。
  5. 培训和意识提升:教育员工关于数据治理政策和最佳实践的重要性。

例如,一个金融服务公司可能实施数据分类标准来区分公开数据、内部数据和机密数据。该公司还可能部署自动化数据质量管理工具来监控和纠正数据问题,并定期对员工进行数据安全和合规性培训。

3.持续的数据维护策略

持续的数据维护对于保持知识图谱的准确性和相关性至关重要。策略包括定期审核数据质量、更新过时的数据和引入新的数据源。数据维护还涉及监控数据使用情况和反馈,以识别和修复问题。

例如,一个健康信息知识图谱可能需要定期更新最新的医学研究发现和临床试验结果。这可能包括从公开的医学期刊和研究数据库中自动采集数据,以及与专业机构合作,确保数据的准确性和可靠性。

通过应用这些质量保证和数据治理的最佳实践,组织可以确保知识图谱的质量,从而提高决策的准确性、增强用户体验和促进业务成长。

在这里插入图片描述

八、最佳实践和案例研究

最佳实践

在知识图谱的构建过程中,最佳实践始终指导着数据采集与整理的过程,以确保最终的知识图谱是高质量且可用的。以下是几个被广泛认可的最佳实践:

  1. 定义清晰的目标和规范:在开始数据采集之前,明确定义知识图谱的目标,采集数据的范围,以及数据的品质标准。

  2. 选择可靠的数据源:数据源的选择直接影响到知识图谱的准确性和可靠性。优先选择权威、稳定且持续更新的数据源。

  3. 自动化和手动结合:虽然自动化工具可以提高效率,但在数据清洗和校验阶段结合专业人员的手动审核可以大幅提升数据质量。

  4. 注重数据多样性:为了使知识图谱更全面,应采集来自不同领域和角度的数据,丰富知识维度。

  5. 持续的数据维护:知识图谱不是一次性构建的,它需要持续更新和维护,以反映最新的数据和信息。

案例研究
1. 维基百科的数据整理

维基百科是一个开放的免费百科全书,它的数据采集与整理是一个优秀的案例研究。在维基百科中,数据采集主要依靠社区贡献,这包括了大量的自愿者手动输入信息,以及部分基于开源bot的自动化编辑。数据整理过程则包括了以下几个方面:

  • 数据清洗:社区成员和bot不断地修正错误信息、删除不恰当内容和更新陈旧信息。

  • 格式化:维基百科有着严格的编辑规范,所有的文章都遵循一定的格式,这有助于数据的整理和再利用。

  • 语义标注:通过维基数据(Wikidata),维基百科中的实体被赋予了唯一的标识符和结构化的信息,这极大地促进了知识的整理和链接。

  • 质量保证:社区监督和peer review机制确保了内容的准确性和中立性。

2. 企业级知识图谱构建

某科技公司在构建其内部知识图谱时,面临着从多个不同业务系统中整合数据的挑战。通过以下最佳实践,公司建立了一个有效的数据整理流程:

  • 数据整合:使用ETL(提取、转换、加载)工具从不同的业务系统中提取数据,并将其转换为统一的格式。

  • 实体识别:部署了自然语言处理(NLP)算法来识别和关联实体,如人物、公司和产品。

  • 本体建模:定义了一个行业专用的本体,用以描述企业知识的层次结构和关联。

  • 数据治理:制定了数据治理框架,以确保数据的质量、安全性和合规性。

  • 持续维护:建立了数据质量监控机制和定期评估流程,以确保知识图谱持续反映最新的业务情况。

通过上述最佳实践和案例研究,我们可以看到数据采集与整理是知识图谱构建中不可或缺的一环。确保这一过程的高质量可以直接提升最终知识图谱的价值和应用效果。

在这里插入图片描述

九、总结和未来展望

总结数据采集与整理对知识图谱构建的重要性

数据采集与整理在知识图谱构建中的重要性不容置疑。它们为知识图谱提供了基础数据层,这对于构建准确、丰富、可靠的知识图谱至关重要。正如本文前面章节所讨论,从多样化的数据源采集数据并通过一系列预处理步骤(包括清洗、格式化、对齐和去重等)整理数据,确保了知识图谱的数据质量和一致性。这一过程不仅提高了知识图谱的可用性和可靠性,而且对于后续的数据分析、知识提取和知识应用具有重要影响。

例如,在构建一个医疗健康领域的知识图谱时,从科学文献、病历报告和在线医疗数据库中采集数据,并通过详细的数据整理步骤,可以构建出一个能够支持复杂查询(如特定疾病的治疗方法和药物相互作用)和数据分析的高质量知识图谱。这不仅能够为医疗专业人员提供宝贵的信息资源,还能够促进医疗研究的发展。

展望自动化和智能化数据采集与整理技术的未来趋势

随着人工智能和机器学习技术的不断发展,数据采集与整理领域正迎来新的变革。自动化和智能化技术的应用,预计将极大提高数据处理的效率和准确性,同时减轻人工操作的负担。

一方面,自动化数据采集技术(如高级网络爬虫和API集成)将变得更加先进,能够处理更加复杂和动态的数据源。另一方面,智能化的数据预处理技术,如基于机器学习的数据清洗和实体识别工具,将能够更加准确地识别和修正数据错误,提高数据整理的质量和效率。

未来,我们还可以预见到更多的创新技术被应用于数据采集与整理领域,例如利用自然语言处理(NLP)技术自动从非结构化文本中提取和标注知识,或者使用图神经网络(GNN)更好地理解和处理复杂的实体关系。这些技术的发展不仅将进一步提升知识图谱的构建效率和质量,还将拓展知识图谱在各个领域中的应用范围,为人类社会带来更多的价值。

综上所述,数据采集与整理是知识图谱构建不可或缺的基础工作,它们的质量直接决定了知识图谱的质量和有效性。随着技术的进步,我们期待在自动化和智能化方面的突破,将会使得数据采集与整理过程更加高效、精准,进一步推动知识图谱技术的发展和应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/519278.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker安装Nexus,maven私服

文章目录 前言安装创建文件夹设置文件夹权限docker创建指令制作docker-compose.yaml文件 查看网站访问网页查看密码 前言 nexus作为私服的maven仓库,在企业级应用中,提供了依赖来源的稳定性,为构建庞大的微服务体系,打下基础 安…

docker安装、调试qsign签名服务器

go-cqhttp 在 Docker 里早就部署好了,由于没有搭建 qsign 签名服务器,所以迟迟不敢上线。今天终于搞定了在 Docker 下安装 qsign 签名服务器了。这次用的docker市场里找到的镜像,下次找时间制作一个自己的镜像。 1 拉取和运行镜像&#xff1a…

Win10文件夹共享(有密码的安全共享)(SMB协议共享)

前言 局域网内(无安全问题,比如自己家里wifi)无密码访问,参考之前的操作视频 【电脑文件全平台共享、播放器推荐】手机、电视、平板播放硬盘中的音、视频资源 下面讲解公共网络如办公室网络、咖啡厅网络等等环境下带密码的安全…

云备份day02

📟作者主页:慢热的陕西人 🌴专栏链接:C云备份项目 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 主要内容介绍了第三方库jsoncpp和bundle库的使用 文章目录 云备…

代码随想录算法训练营第三十一天| 理论基础、LeetCode 455.分发饼干、376. 摆动序列、53. 最大子序和

一、理论基础 文章讲解:https://programmercarl.com/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 1.贪心的定义 贪心的本质是选择每一阶段的局部最优解,从而达到全局最优解。例如,有一堆钞票&#xff0c…

MySQL常见锁探究

MySQL常见锁探究 1. 各种锁类型1.1 全局锁1.2 表级锁1.2.1 表锁1.2.2 元数据锁(MDL)1.2.3 意向锁1.2.4 AUTO-INC 锁 1.3 行级锁1.3.1 Record Lock1.3.2 Gap Lock1.3.3 Next-Key Lock 2. MySQL是如何加锁的?2.1 什么 SQL 语句会加行级锁&#…

WPS 不登录无法使用基本功能的解决办法

使用wps时,常常有个比较让人烦恼的事,在不登录的情况下,新建或者打开文档时,wps不让你使用其基本的功能,如设置字体等,相关界面变成灰色,这时Wps提示用户登录注册或登录,但我又不想登…

喜讯 ChatGPT 3.5 免登录|免注册就可以使用了

https://chat.openai.com/ 直接访问openai 官网直接使用,当然还是要魔法的,不用再去用别人二次开发的,还有次数限制,还有开会员😅才能用的。😀试用啦一下,基本秒回答,能力也是在线的…

深入浅出 -- 系统架构之微服务架构常见的六种设计模式

面向服务的架构(SOA) 面向服务的架构(SOA)是一种设计方法,也是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的…

软件工程导论

软件工程选择题复习笔记 一、软件工程学概述 用户使用不当、硬件可靠性差、对软件的错误认识属于软件危机的表现,不是原因软件危机,1960年以来,软件工程1968提出软件工程着重于建造一个软件系统 八个阶段可以归纳为计划(定义)阶段&#xf…

一次java.lang.NullPointerException的排查之旅

一次java.lang.NullPointerException的排查之旅 问题由来问题分析问题处理 问题由来 最近在项目中遇到了一个比较奇怪的java.lang.NullPointerException,就是说在自己的本地环境中,功能正常,运行无异常。但是测试环境点击同样的功能时却总是…

每日一练 寻找两个正序数组的中间数

题目参上,以下是解题思路: 首先,我们应该想到的一种方法是把两数组合并为一个整体的数组,然后返回其中位数即可。那么我们如何合并两数组呢?我们可以用归并排序,设置上下两指针,不断遍历返回较…

字节新作:图像生成质量超越DiT

🌟每日更新最新高质量论文,关注我,时刻关注最新大模型进展。🌟 📌 元数据概览: 标题:Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction作者&#xff1a…

2012年认证杯SPSSPRO杯数学建模C题(第二阶段)碎片化趋势下的奥运会商业模式全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 C题 碎片化趋势下的奥运会商业模式 原题再现: 从 1984 年的美国洛杉矶奥运会开始,奥运会就不在成为一个“非卖品”,它在向观众诠释更高更快更强的体育精神的同时,也在攫取着巨大的商业价值&#…

LeetCode-热题100:21. 合并两个有序链表

题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入: l1 [1,2,4], l2 [1,3,4] 输出: [1,1,2,3,4,4] 示例 2: 输入: l1 [], l2 [] 输出…

什么是ICMP协议,如何防护ICMP攻击

一.什么是ICMP ICMP(Internet Control Message Protocol)是互联网控制报文协议,是TCP/IP协议族的一个子协议。它主要用于在IP网络中传递控制信息和错误消息,是IP协议的补充。ICMP协议是一种无连接协议,它不需要建立…

如何锁定鼠标光标在水平、垂直或45度对角线模式下移动 - 鼠标水平垂直移动锁定器简易教程

在我们进行精细工作例如如创建图标和图形设计时,通常需要我们对鼠标移动进行精确控制。一旦向左或向右轻微移动,都可能导致设计出错。若出现不必要的错误,我们极有可能不得不重新开始,这会令人感到非常沮丧。这种情况下&#xff0…

NIO基础知识

在学习Netty之前先要学习一下NIO相关的知识,因为Netty是基于NIO搭建的一套网络编程框架。 一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的双向通道,可以从…

SSM实战项目——哈哈音乐(三)文件服务器模块开发

1、创建模块 创建一个子模块(hami-fie),里面不写任何代码,专门用于文件上传的服务器 在hami-file的webapp下创建上传文件资源的文件夹,并引入资源(图片、音频) 2、pom.xml主配置文件中引入文件…

提升提测质量之研测共建

提升提测质量之研测共建 简介 你是否也有同样的困惑?跟进的需求,就在提测前一秒,被告知不能如期提测了,研测计划被打乱;提测的功能,犹如遇到不好的购物体验,缺斤短两,与prd预期不符…