基于spaCy的命名实体识别实战:从新闻文本中提取关键信息
在实际技术项目中我们经常需要处理来自社交媒体、新闻网站或开放API的文本数据这些数据中可能包含人名、事件、品牌等实体信息。手动从海量文本中提取和分类这些信息效率极低而命名实体识别技术正是解决这一问题的核心。本文将以一个近期备受关注的公共事件——“罗宾·威廉姆斯子女重启其Instagram账号以对抗AI滥用”——作为分析案例手把手带你构建一个能够自动识别此类新闻中关键实体的NLP应用。我们将使用Python生态中成熟的工具链包括spaCy库进行实体识别requests和BeautifulSoup进行简单的网页内容抓取仅用于演示数据获取逻辑并最终将识别结果进行结构化输出和简单分析。通过这个完整的流程你将掌握从原始文本到结构化信息提取的核心技能并能将此能力应用到舆情监控、内容标签化、知识图谱构建等实际场景中。1. 理解命名实体识别与项目目标命名实体识别是自然语言处理的一个基础任务旨在识别非结构化文本中具有特定意义的实体并将其归类到预定义的类别中如人名、组织机构、地点、时间、货币等。1.1 NER 的核心价值在信息爆炸的时代NER的价值在于将文本转化为结构化数据。例如从新闻“苹果公司于2023年在加州发布了新款iPhone”中NER系统可以提取出苹果公司ORG、2023年DATE、加州GPE、iPhonePRODUCT。这种能力是构建智能搜索、推荐系统、风险监控和知识库的基石。1.2 本次案例的技术目标我们将围绕“罗宾·威廉姆斯子女重启Instagram账号”这一事件实现以下目标环境搭建配置Python的NER开发环境安装必要的库。数据模拟与获取由于直接抓取社交媒体内容涉及合规性问题我们将模拟构造一段包含该事件描述的文本并演示通用的网页文本获取方法。实体识别与分类使用spaCy的预训练模型对文本进行实体识别。结果解析与呈现将识别出的实体按类别整理并分析其在该事件描述中的作用。扩展思考探讨如何将此类技术应用于对抗“AI滥用”等更广泛的场景例如识别虚假信息中的实体网络。2. 环境准备与依赖配置一个稳定的环境是项目成功的第一步。我们将使用venv创建独立的Python环境并通过pip安装所有依赖。2.1 创建并激活虚拟环境为了避免包冲突首先在项目目录下创建虚拟环境。# 在项目根目录下执行 python -m venv nlp_ner_env # 激活虚拟环境 # Windows nlp_ner_env\Scripts\activate # Linux/macOS source nlp_ner_env/bin/activate激活后命令行提示符前会出现(nlp_ner_env)字样。2.2 安装核心依赖库我们将主要使用spaCy进行实体识别。spaCy是一个工业级的NLP库其预训练模型在多个标准数据集上表现良好。同时为了演示数据获取环节我们安装requests和beautifulsoup4。pip install spacy requests beautifulsoup4 lxml安装完成后需要下载spaCy的英文预训练模型。对于通用场景en_core_web_sm小型模型在精度和速度之间取得了良好平衡。python -m spacy download en_core_web_sm2.3 验证安装创建一个简单的Python脚本verify_env.py来验证环境是否就绪。import spacy import requests from bs4 import BeautifulSoup print(“spaCy version:”, spacy.__version__) print(“requests version:”, requests.__version__) print(“BeautifulSoup version:”, BeautifulSoup.__version__) # 尝试加载模型 try: nlp spacy.load(“en_core_web_sm”) print(“spaCy model ‘en_core_web_sm’ loaded successfully.”) except Exception as e: print(“Failed to load model:”, e)运行该脚本如果没有报错并成功打印出版本信息和模型加载成功提示则环境配置完成。python verify_env.py3. 构建实体识别应用环境就绪后我们开始构建应用的核心逻辑。整个过程分为数据准备、模型处理、结果解析三个步骤。3.1 准备输入文本出于合规和稳定性考虑我们不直接爬取Instagram。而是根据公开新闻报道构造一段包含关键信息的示例文本。# sample_text.py sample_text “”” The children of the late comedian Robin Williams, Zelda Williams and Cody Williams, have recently reactivated his official Instagram account (robinwilliams). Their goal is to combat the rising tide of ‘AI abuse‘, specifically the unauthorized use of their father‘s likeness and voice in deepfake videos and AI-generated content. The account will share authentic memories and advocate for ethical AI practices. This move highlights ongoing concerns in California and across the tech industry about the need for better regulation, such as the proposed ‘AI Accountability Act‘. Meta Platforms, the parent company of Instagram, has yet to issue a formal statement. “”” print(“Sample text length:”, len(sample_text)) print(“\n--- Sample Text ---\n”) print(sample_text)这段文本包含了人物Robin Williams, Zelda Williams、组织机构Meta Platforms、地点California、法律法案AI Accountability Act以及核心议题AI滥用等多个实体非常适合作为演示材料。3.2 加载模型与处理文本使用spaCy的流程非常简单加载模型将文本输入处理管道即可得到一个包含丰富语言学信息的Doc对象。# ner_core.py import spacy class NERProcessor: def __init__(self, model_name“en_core_web_sm”): “””初始化加载spaCy模型。””” try: self.nlp spacy.load(model_name) print(f“Model ‘{model_name}’ loaded.”) except OSError: raise OSError(f“Model ‘{model_name}’ not found. Please run ‘python -m spacy download {model_name}’ first.”) def extract_entities(self, text): “””处理文本并提取命名实体。””” doc self.nlp(text) entities [] for ent in doc.ents: entities.append({ “text”: ent.text, “label”: ent.label_, “start”: ent.start_char, “end”: ent.end_char }) return entities def print_entities(self, entities): “””以表格形式打印实体信息。””” if not entities: print(“No entities found.”) return print(f“{‘Text’:25} {‘Label’:15} {‘Description’:40}”) print(“-” * 85) for ent in entities: # 为每个标签添加简单描述 label_desc { “PERSON”: “People, including fictional.”, “ORG”: “Companies, agencies, institutions.”, “GPE”: “Countries, cities, states.”, “LAW”: “Named documents made into laws.”, “PRODUCT”: “Objects, vehicles, foods, etc.”, “EVENT”: “Named hurricanes, battles, wars, sports events.”, “WORK_OF_ART”: “Titles of books, songs, etc.”, “NORP”: “Nationalities or religious or political groups.”, }.get(ent[“label”], “Other entities.”) print(f“{ent[‘text’]:25} {ent[‘label’]:15} {label_desc:40}”) if __name__ “__main__”: from sample_text import sample_text processor NERProcessor() extracted_entities processor.extract_entities(sample_text) processor.print_entities(extracted_entities)运行上述代码你将得到类似下表的输出。spaCy的模型成功识别出了文本中的关键实体并进行了分类。Text Label Description ------------------------------------------------------------------------------------- Robin Williams PERSON People, including fictional. Zelda Williams PERSON People, including fictional. Cody Williams PERSON People, including fictional. Instagram PRODUCT Objects, vehicles, foods, etc. AI abuse PERSON People, including fictional. # 注意这里可能被误识别 California GPE Countries, cities, states. the tech industry ORG Companies, agencies, institutions. AI Accountability Act LAW Named documents made into laws. Meta Platforms ORG Companies, agencies, institutions.注意观察结果你会发现“AI abuse”被识别为PERSON。这是预训练模型的一个局限性因为它主要基于历史新闻语料训练而“AI abuse”作为一个较新的复合概念尚未被很好地学习。这引出了NER任务中的一个重要概念模型泛化能力和领域适配。3.3 解析结果与事件分析仅仅列出实体是不够的我们需要理解它们之间的关系。以下是对识别结果的初步分析核心人物Robin Williams已故主体Zelda Williams和Cody Williams执行重启账号动作的主体。他们是事件的发起方。核心平台Instagram(PRODUCT)是事件发生的数字场所。其母公司Meta Platforms(ORG) 是潜在的监管或规则制定方。核心议题AI abuse虽然被误标。结合上下文它指代的是“AI滥用”具体形式是深度伪造和AI生成内容。地域与法规California(GPE) 和AI Accountability Act(LAW) 指出了事件发生的物理地点和相关的政策讨论背景。相关领域the tech industry(ORG) 指明了该事件影响的行业范围。通过这种分析我们可以快速从一篇长文中抽取出“谁、在哪里、做了什么、关于什么”的核心信息骨架。4. 处理流程优化与常见问题排查在实际应用中直接使用开箱即用的模型可能会遇到各种问题。下面我们针对常见场景进行优化和排查。4.1 提升识别准确率处理未知或领域特定实体预训练模型在通用新闻上表现良好但对于新兴术语、特定领域 jargon 或像“AI abuse”这样的复合概念识别可能不准。有几种应对策略策略一添加规则到管道spaCy允许将基于规则的匹配器与统计模型结合。例如我们可以显式地将“AI abuse”标记为一个新的实体类型ISSUE。# ner_enhanced.py import spacy from spacy.matcher import PhraseMatcher from spacy.tokens import Span nlp spacy.load(“en_core_web_sm”) matcher PhraseMatcher(nlp.vocab, attr“LOWER”) # 定义我们关心的特定短语列表 ai_terms [“AI abuse”, “deepfake videos”, “AI-generated content”, “ethical AI”] patterns [nlp.make_doc(text) for text in ai_terms] matcher.add(“AI_TERMS”, patterns) def custom_entity_component(doc): new_ents [] for ent in doc.ents: new_ents.append(ent) # 保留模型识别的实体 # 获取匹配项 matches matcher(doc) for match_id, start, end in matches: span Span(doc, start, end, label“ISSUE”) # 避免与已有实体重叠简单处理 if not any(span.start e.end and span.end e.start for e in doc.ents): new_ents.append(span) doc.ents new_ents return doc # 将自定义组件添加到管道中放在‘ner’组件之后 nlp.add_pipe(custom_entity_component, after“ner”) doc nlp(sample_text) for ent in doc.ents: if ent.label_ “ISSUE”: print(f“Custom Entity: {ent.text} - {ent.label_}”)策略二模型微调如果领域特异性很强且数据充足可以考虑用标注数据对spaCy模型进行微调。这是一个更彻底但成本更高的解决方案。4.2 常见错误与排查在开发和运行NER应用时你可能会遇到以下问题问题现象可能原因检查与解决方案OSError: [E050] Can‘t find model ‘en_core_web_sm’模型未下载或虚拟环境路径问题。1. 确认已运行python -m spacy download en_core_web_sm。2. 在Python中执行import spacy; print(spacy.util.get_package_path(‘en_core_web_sm’))检查模型路径。3. 重启IDE或终端确保虚拟环境激活。实体识别结果为空或非常少1. 文本语言与模型不匹配。2. 文本过短或实体不常见。3. 输入文本编码异常。1. 使用对应语言的模型如中文用zh_core_web_sm。2. 使用更长的、包含常见实体的文本测试。3. 检查文本字符串是否正常尝试text.encode(‘utf-8’).decode(‘utf-8’)。处理长文本时内存溢出或速度极慢默认会一次性加载整个文本到内存。使用nlp.pipe方法流式处理并设置batch_size和disable参数来优化。自定义规则与模型识别冲突规则匹配的跨度与模型识别的实体重叠导致doc.ents设置错误。实现更复杂的冲突解决逻辑例如优先保留模型识别的PERSON、ORG等或根据跨度长度、置信度决定。4.3 性能优化建议对于生产环境需要考虑性能和稳定性。批处理使用nlp.pipe(texts, batch_size50)处理文本列表效率远高于循环调用nlp(text)。禁用不需要的管道如果只需要NER可以在加载模型时禁用其他组件spacy.load(“en_core_web_sm”, disable[“tagger”, “parser”, “attribute_ruler”, “lemmatizer”])这能显著提升速度。模型选型en_core_web_sm速度最快但精度较低。en_core_web_md/lg或en_core_web_trf基于Transformer精度更高但资源消耗更大。根据业务需求权衡。5. 从案例到实践构建抗AI滥用的信息监测原型回到我们最初的案例罗宾·威廉姆斯的子女通过重启社交账号来对抗AI滥用。从技术角度看我们可以构建一个简单的监测原型自动发现网络中滥用特定人物形象的内容。5.1 系统设计思路数据源监控特定的社交媒体API、新闻RSS或公开论坛需严格遵守平台政策与法律法规。实体识别与过滤使用NER提取文本中的人名、组织名。建立一个“关注人物名单”如Robin Williams当识别到名单中的人物实体时触发后续分析。上下文情感与主题分析对触发后的文本进行更深度的NLP分析例如使用情感分析判断内容倾向使用关键词匹配或主题模型识别是否涉及“deepfake”、“voice clone”、“unauthorized”等滥用相关词汇。告警与报告将可疑内容、来源、关联实体汇总生成报告或触发告警。5.2 原型代码示例以下是一个高度简化的概念验证代码展示核心逻辑。# monitoring_prototype.py import spacy class AIMisuseMonitor: def __init__(self, watchlist): self.nlp spacy.load(“en_core_web_sm”) self.watchlist [name.lower() for name in watchlist] # 关注名单 def analyze_text(self, text, source_info): “””分析单条文本。””” doc self.nlp(text.lower()) # 简单处理转为小写匹配 found_entities [] for ent in doc.ents: if ent.label_ “PERSON” and ent.text.lower() in self.watchlist: found_entities.append(ent.text) # 简单的关键词匹配实际应用需更复杂的方法 abuse_keywords [“deepfake”, “voice clone”, “unauthorized”, “fake”, “impersonat”] matched_keywords [kw for kw in abuse_keywords if kw in text.lower()] if found_entities and matched_keywords: return { “source”: source_info, “flagged”: True, “persons”: list(set(found_entities)), “keywords”: matched_keywords, “snippet”: text[:200] “…” # 截取片段 } return {“source”: source_info, “flagged”: False} if __name__ “__main__”: # 模拟数据 watchlist [“Robin Williams”, “Tom Hanks”] monitor AIMisuseMonitor(watchlist) test_articles [ (“Fans were delighted by a new Robin Williams comedy special shared online.”, “News Site A”), (“A deepfake video of Robin Williams selling products is circulating on social media.”, “Forum B”), (“Tom Hanks criticized the unauthorized use of AI to replicate his voice in a documentary.”, “Blog C”), ] for text, source in test_articles: result monitor.analyze_text(text, source) if result.get(“flagged”): print(“[ALERT] Potential misuse detected!”) print(f“ Source: {result[‘source’]}”) print(f“ Persons involved: {result[‘persons’]}”) print(f“ Trigger keywords: {result[‘keywords’]}”) print(f“ Snippet: {result[‘snippet’]}\n”)运行此原型它会“发现”第二条和第三条测试文本可能涉及对关注名单中人物的AI滥用。5.3 生产环境考量上述原型仅为演示。真实系统需要考虑数据获取的合规性必须严格遵守《网络安全法》、《数据安全法》等相关法律法规以及各平台的使用条款不得非法爬取数据。分析准确性需要结合更先进的模型如Transformer进行上下文理解、情感分析和事实核查以降低误报。系统健壮性需要处理网络异常、API限流、数据存储、任务调度等问题。隐私与伦理监控的边界需清晰界定避免侵犯个人隐私和言论自由技术应用需符合伦理规范。6. 总结与扩展方向通过本次实践我们完成了一个从文本中提取命名实体的完整流程并以一个真实的社会议题为例展示了其应用潜力。spaCy提供了强大的开箱即用能力使得NLP技术的入门和应用变得非常高效。要在此基础上深入可以考虑以下几个方向多语言支持spaCy支持包括中文在内的多种语言模型可以构建跨语言的实体识别系统。关系抽取不仅仅是识别实体更进一步分析实体之间的关系如“子女-重启-账号”。与知识图谱结合将识别出的实体链接到 Wikidata、DBpedia 等公开知识库丰富实体信息。自定义模型训练针对金融、医疗、法律等垂直领域收集和标注数据训练领域专用的NER模型。实时流处理结合 Apache Kafka、Flink 等流处理框架实现对海量文本流的实时实体识别与事件监测。技术的价值在于应用。命名实体识别作为NLP的基石技术其真正的挑战和魅力在于如何将其与具体的业务逻辑、合规要求和伦理考量相结合解决像“对抗AI滥用”这样真实而复杂的问题。

相关新闻

Java开发者转型AI应用开发:基于Spring AI构建生产级RAG与Agent系统

Java开发者转型AI应用开发:基于Spring AI构建生产级RAG与Agent系统

最近在技术社区里,经常看到有朋友在问:作为一个Java开发者,想切入AI应用开发,到底该从哪里开始?是去学Python,还是死磕大模型原理?看着满天飞的“Agent”、“RAG”、“MCP”这些新词&#xff0c…

2026/8/22 8:41:16 阅读更多 →
C++模板特例化:从通用到特殊,精准处理类型特定行为

C++模板特例化:从通用到特殊,精准处理类型特定行为

1. 从“通用”到“特殊”:为什么我们需要模板特例化?在C的日常开发里,尤其是写一些基础库或者通用组件时,模板(Template)绝对是我们的得力助手。它能让我们写出类型无关的代码,一份逻辑&#xf…

2026/8/22 8:40:16 阅读更多 →
数学建模竞赛底层能力:从代码到可信建模逻辑

数学建模竞赛底层能力:从代码到可信建模逻辑

1. 这不是“押题”,而是建模竞赛的底层能力拆解2023亚太杯数学建模竞赛刚落幕不久,朋友圈里又刷起一波“ABC题思路代码模型分析”的标题党合集——点开一看,要么是三道题各贴一段模糊的公式截图加一句“思路如上”,要么是打包下载…

2026/8/22 8:40:16 阅读更多 →

最新新闻

WeChatMsg:三步导出微信聊天记录为 Word、CSV,还能生成年度聊天报告

WeChatMsg:三步导出微信聊天记录为 Word、CSV,还能生成年度聊天报告

WeChatMsg:三步导出微信聊天记录为 Word、CSV,还能生成年度聊天报告 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/…

2026/8/22 9:18:34 阅读更多 →
移动端选日期总踩坑?3 行代码接入一个滑动切月的移动端日期选择器

移动端选日期总踩坑?3 行代码接入一个滑动切月的移动端日期选择器

移动端选日期总踩坑?3 行代码接入一个滑动切月的移动端日期选择器 【免费下载链接】vue-mobile-calendar a vue component of calendar for mobile移动端vue日期选择组件 项目地址: https://gitcode.com/gh_mirrors/vu/vue-mobile-calendar 移动端做日期选择…

2026/8/22 9:18:34 阅读更多 →
毕业季AI工具测评:论文查重与简历优化实战指南

毕业季AI工具测评:论文查重与简历优化实战指南

1. 毕业季AI工具测评背景又到一年毕业季,论文查重、简历优化、求职信撰写这些让人头疼的事情接踵而至。作为一名连续三年帮学弟学妹把关毕业工具的老司机,今年我决定系统性地测评市面上主流的6款AI工具,总花费超过500元,就为了帮大…

2026/8/22 9:18:34 阅读更多 →
数学建模竞赛全流程解析:从问题抽象到模型求解与论文写作

数学建模竞赛全流程解析:从问题抽象到模型求解与论文写作

1. 赛题核心与破题思路拿到“2023年中国研究生数学建模竞赛E题”这个题目,很多同学的第一反应可能是去网上找现成的代码和论文。但作为一名多次参与并指导过此类竞赛的“老手”,我想说,直接套用往届模板往往是死路一条。每年的E题&#xff0c…

2026/8/22 9:18:34 阅读更多 →
Claude Code v2.1.235 集成拼写检查:提升代码规范与专业性的工程实践

Claude Code v2.1.235 集成拼写检查:提升代码规范与专业性的工程实践

最近在开发中,经常遇到代码注释或文档里出现拼写错误,虽然不影响程序运行,但提交代码时总感觉不够专业。手动检查费时费力,而一些IDE自带的拼写检查对中文混合场景支持又不够好。刚好,Claude Code v2.1.235版本发布&am…

2026/8/22 9:18:34 阅读更多 →
数学建模实战:基于预测-优化双引擎的生鲜供应链定价与补货决策

数学建模实战:基于预测-优化双引擎的生鲜供应链定价与补货决策

1. 项目概述:从菜篮子到数据模型,一次供应链的数学化实践“蔬菜定价与补货”,听起来像是超市经理每天晨会要讨论的琐事。但当你把它和“国赛数学建模”放在一起,事情就变得有趣了。这不仅仅是给西红柿、黄瓜定个价,而是…

2026/8/22 9:17:34 阅读更多 →

日新闻

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

在电子硬件开发领域,PCB(印制电路板)的沉金工艺是提升产品可靠性和焊接质量的关键环节。对于需要高密度互连、长期稳定运行或高频信号传输的板卡,如“黍姐仿通行证”这类可能涉及身份识别、数据交互的硬件项目,选择正确…

2026/8/22 0:00:11 阅读更多 →
电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

这次我们来看一个针对电气考研电路科目的学习规划项目。它不是软件工具,而是一套聚焦于8月份关键节点的备考策略。对于电气工程考研的同学来说,电路分析是专业课的重中之重,也是拉开分差的关键。进入8月,复习进入强化阶段&#xf…

2026/8/22 0:00:11 阅读更多 →
消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

大家好,我是专注于前端开发与AI工具实践的技术博主。在日常使用 Claude Code 等AI编程助手时,你是否也遇到过这样的困扰:生成的代码功能上没问题,但代码风格、组件设计、交互逻辑总透着一股“AI味”——布局单调、样式简陋、交互生…

2026/8/22 0:00:11 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/22 8:09:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/21 6:07:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/21 16:42:28 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/22 7:31:03 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →