关于 duplicate-detection
面向 ServiceNow 知识管理人员的技能,用于发现重复知识文章并评估应保留的权威版本。它结合标题和内容相似度、使用数据、反馈及关联记录,辅助选择合并、退役或归档方案。
主要功能
- 01按标题和关键词查找候选重复文章
- 02比较文章内容与分类
- 03分析浏览量和用户反馈
- 04检查关联事件与案例
- 05规划合并或退役操作
- 06记录去重决定及理由
适用场景
- 01定期清理知识库冗余内容
- 02批量导入后排查重复文章
- 03处理用户报告的内容冲突
- 04合并相似文章并保留替代指引
MCP 相关
该技能使用 ServiceNow MCP 工具查询文章、使用数据和反馈,并更新文章状态或添加工作备注,以执行和记录去重决策。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill duplicate-detection安装后在 Claude Code 中输入/duplicate-detection确认已加载。
详细介绍
知识文章重复检测
概述
此技能提供了一套结构化方法,用于识别并处理 ServiceNow 中重复的知识文章。随着时间推移,知识库会不断积累冗余内容,这些内容可能由不同作者创建、从多个来源导入,或为类似问题独立撰写。重复内容会降低搜索质量、令用户困惑,并增加维护负担。
此技能可帮助你:
- 根据标题相似度、类别和关键词重合度查询并比较知识文章
- 识别涵盖相同主题或解决方案的文章群组
- 根据使用指标和新近程度评估哪篇文章是权威版本
- 建议合并策略:退役、重定向、整合或归档
- 使用可供审计的工作备注记录去重决策
适用场景: 定期开展知识库清理审查、批量导入后,或用户报告同一问题存在相互矛盾的文章时。
前提条件
- 角色:
knowledge_manager或knowledge_admin - 访问权限: 对
kb_knowledge、kb_knowledge_base、kb_category和kb_use表具有读写权限 - 插件: 已激活
com.glideapp.knowledge(知识管理) - 知识: 熟悉组织的知识库结构和文章生命周期
流程
步骤 1:根据标题相似度识别候选重复文章
在所有已发布的知识库中搜索简短描述相似或相同的文章。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: kb_knowledge
query: workflow_state=published^short_descriptionLIKEpassword reset
fields: sys_id,number,short_description,kb_knowledge_base,kb_category,author,sys_updated_on,rating,sys_view_count
limit: 25
使用 REST API:
GET /api/now/table/kb_knowledge?sysparm_query=workflow_state=published^short_descriptionLIKEpassword reset&sysparm_fields=sys_id,number,short_description,kb_knowledge_base,kb_category,author,sys_updated_on,rating,sys_view_count&sysparm_limit=25
步骤 2:使用关键词变体扩大搜索范围
重复文章经常使用不同的措辞。请搜索常见同义词和替代术语。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: kb_knowledge
query: workflow_state=published^short_descriptionLIKEpassword^ORshort_descriptionLIKEcredential^ORshort_descriptionLIKElockout
fields: sys_id,number,short_description,text,kb_knowledge_base,author
limit: 30
使用 REST API:
GET /api/now/table/kb_knowledge?sysparm_query=workflow_state=published^short_descriptionLIKEpassword^ORshort_descriptionLIKEcredential^ORshort_descriptionLIKElockout&sysparm_fields=sys_id,number,short_description,text,kb_knowledge_base,author&sysparm_limit=30
步骤 3:比较文章内容以检查重合部分
获取候选重复文章的全文,并比较其内容结构。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: kb_knowledge
query: numberIN KB0010234,KB0010567,KB0010890
fields: sys_id,number,short_description,text,wiki,kb_knowledge_base,kb_category,author,published,sys_updated_on
limit: 10
使用 REST API:
GET /api/now/table/kb_knowledge?sysparm_query=numberINKB0010234,KB0010567,KB0010890&sysparm_fields=sys_id,number,short_description,text,wiki,kb_knowledge_base,kb_category,author,published,sys_updated_on
步骤 4:分析使用指标以确定权威文章
查看浏览量、反馈评分和附件数量,以确定使用最广泛的版本。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: kb_use
query: article.numberINKB0010234,KB0010567,KB0010890
fields: article,article.number,viewed,useful,not_useful
limit: 20
使用 REST API:
GET /api/now/table/kb_use?sysparm_query=article.numberINKB0010234,KB0010567,KB0010890&sysparm_fields=article,article.number,viewed,useful,not_useful&sysparm_limit=20
检查反馈记录:
Tool: SN-Query-Table
Parameters:
table_name: kb_feedback
query: article.numberINKB0010234,KB0010567,KB0010890
fields: article,article.number,rating,comments,sys_created_on
limit: 50
步骤 5:检查交叉引用和关联事件
确定哪些文章正与事件或案例关联使用。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: m2m_kb_task
query: kb_knowledge.numberINKB0010234,KB0010567,KB0010890
fields: kb_knowledge,kb_knowledge.number,task,task.number
limit: 50
使用 REST API:
GET /api/now/table/m2m_kb_task?sysparm_query=kb_knowledge.numberINKB0010234,KB0010567,KB0010890&sysparm_fields=kb_knowledge,kb_knowledge.number,task,task.number&sysparm_limit=50
步骤 6:执行去重操作
根据分析结果选择合并策略并执行。
策略 A:退役重复文章
将较差的文章设为“已退役”,并添加重定向说明:
Tool: SN-Update-Record
Parameters:
table_name: kb_knowledge
sys_id: [duplicate_article_sys_id]
data:
workflow_state: retired
retirement_date: 2026-03-19
work_notes: "Retired as duplicate of KB0010234. Content merged into authoritative article."
策略 B:整合内容
将所有重复文章中的优质内容更新到权威文章中:
Tool: SN-Update-Record
Parameters:
table_name: kb_knowledge
sys_id: [authoritative_article_sys_id]
data:
text: "[Merged content from KB0010234, KB0010567]"
work_notes: "Consolidated content from duplicate articles KB0010567 and KB0010890. Retired duplicates."
步骤 7:记录去重决策
使用 MCP:
Tool: SN-Add-Work-Notes
Parameters:
sys_id: [authoritative_article_sys_id]
work_notes: |
=== DEDUPLICATION ANALYSIS ===
Date: 2026-03-19
Analyst: Knowledge Manager
Duplicate Cluster Identified:
- KB0010234 (Authoritative) - 1,245 views, 4.5 rating, last updated 2026-02-15
- KB0010567 (Retired) - 312 views, 3.8 rating, last updated 2025-08-20
- KB0010890 (Retired) - 89 views, no rating, last updated 2025-03-10
Decision: Retained KB0010234 as primary. Merged unique resolution steps from KB0010567.
Retired KB0010567 and KB0010890.
Impact: Reduced duplicate search results for "password reset" queries.
工具使用
MCP 工具参考
| 工具 | 使用场景 |
|---|---|
SN-Query-Table | 对文章、使用数据和反馈执行结构化查询 |
SN-Natural-Language-Search | 使用自然语言搜索,按主题发现重复文章 |
SN-Update-Record | 退役重复文章,更新权威文章 |
SN-Add-Work-Notes | 记录去重决策及理由 |
REST API 参考
| 端点 | 方法 | 用途 |
|---|---|---|
/api/now/table/kb_knowledge | GET | 查询知识文章 |
/api/now/table/kb_knowledge/{sys_id} | PATCH | 更新或退役文章 |
/api/now/table/kb_use | GET | 获取使用量/浏览量指标 |
/api/now/table/kb_feedback | GET | 获取用户反馈和评分 |
/api/now/table/m2m_kb_task | GET | 查找与事件关联的文章 |
最佳实践
- 从高流量主题入手: 优先对搜索量最大的主题进行去重,以最大限度提升用户体验
- 保留最佳内容: 淘汰重复文章前,务必先将独特且有价值的内容合并到权威文章中
- 维护重定向: 淘汰文章时,添加指向替代文章的说明,方便通过旧链接访问的用户找到正确内容
- 按类别分批处理: 每次处理一个知识类别中的重复内容,以保持一致性
- 淘汰前先验证: 确认没有正在处理的事件引用该文章,也没有书签指向该文章
- 跟踪指标: 记录去重前后的搜索结果质量,以展示去重的价值
故障排除
“标题搜索返回的结果过多”
原因: 通用关键词匹配了无关文章
解决方案: 添加类别或知识库筛选条件:kb_knowledge_base=<sys_id>^short_descriptionLIKEpassword
“无法淘汰文章——工作流状态转换被阻止”
原因: 文章生命周期要求遵循特定的状态转换(例如,从已发布到审核,再到已淘汰)
解决方案: 检查知识工作流配置;可能需要经过中间状态
“所有文章的使用指标均为零”
原因: 可能未启用 kb_use 跟踪,或者通过直接 URL 访问的文章绕过了跟踪
解决方案: 确认 glide.knowman.track_article_usage 属性已设置为 true
“文章分布在多个知识库中”
原因: 不同团队在各自的知识库中创建了相似文章
解决方案: 与知识库所有者协调;跨知识库去重可能需要治理审批
示例
示例 1:密码重置重复文章集群
搜索: 有关密码重置流程的文章
调查结果:
- KB0010234:“如何重置密码”——1,245 次浏览,IT 知识库
- KB0010567:“密码重置说明”——312 次浏览,HR 知识库
- KB0010890:“重置密码步骤”——89 次浏览,IT 知识库
操作: 将最佳内容合并到 KB0010234 中,淘汰 KB0010567 和 KB0010890。通知 HR 知识库所有者已有合并后的文章。
示例 2:VPN 配置重复文章
搜索: 有关 VPN 设置和故障排除的文章
调查结果:
- KB0020100:“Windows VPN 设置指南”——890 次浏览,内容全面
- KB0020145:“如何配置 VPN”——456 次浏览,客户端版本已过时
- KB0020200:“VPN 故障排除”——1,100 次浏览,主题不同(保留)
操作: 将 KB0020145 的内容合并到 KB0020100 中,并淘汰 KB0020145。保留 KB0020200,因为它介绍的是故障排除,而非设置。
相关技能
knowledge/gap-analysis- 查找缺少文章的主题knowledge/content-recommendation- 为事件推荐相关文章knowledge/article-generation- 根据已解决的事件创建新文章knowledge/gap-grouping- 对知识缺口进行聚类,以便制定行动计划