|
|
@@ -67,16 +67,7 @@ public class ContentScreenJob {
|
|
|
}
|
|
|
|
|
|
private Integer checkRoughScreenStatus(RoughScreenEntity obj) {
|
|
|
- if (Objects.isNull(obj.getIsElderlySuitable()) || !obj.getIsElderlySuitable()) {
|
|
|
- return SpiderContentScreenStatusEnum.ABANDONED.getCode();
|
|
|
- }
|
|
|
- if (Objects.nonNull(obj.getIsSensitive()) && obj.getIsSensitive()) {
|
|
|
- return SpiderContentScreenStatusEnum.ABANDONED.getCode();
|
|
|
- }
|
|
|
- if (Objects.nonNull(obj.getIsNegative()) && obj.getIsNegative()) {
|
|
|
- return SpiderContentScreenStatusEnum.ABANDONED.getCode();
|
|
|
- }
|
|
|
- if (Objects.nonNull(obj.getIsAdvertisement()) && obj.getIsAdvertisement()) {
|
|
|
+ if (Objects.isNull(obj.getIsSuitable()) || !obj.getIsSuitable()) {
|
|
|
return SpiderContentScreenStatusEnum.ABANDONED.getCode();
|
|
|
}
|
|
|
return SpiderContentScreenStatusEnum.PASSED.getCode();
|
|
|
@@ -84,40 +75,48 @@ public class ContentScreenJob {
|
|
|
|
|
|
private String roughScreenPrompt = "你是一名新闻智能审核系统的快速过滤模型,负责判断新闻标题是否适合老年群体内容推荐。请根据输入的标题和来源,对新闻进行初步筛选,并输出结构化结果。\n" +
|
|
|
"任务目标:\n" +
|
|
|
- "判断是否涉及政治、暴力、色情、负面或争议:\n" +
|
|
|
- " 政治类包括政府决策、领导人言论、外交、政策宣传等;\n" +
|
|
|
- " 暴力类包括打斗、战争、犯罪、事故、血腥场景等;\n" +
|
|
|
- " 色情类包括涉及性暗示、低俗内容、娱乐绯闻等;\n" +
|
|
|
- " 负面类包括疾病、灾难、焦虑、冲突、悲剧等;\n" +
|
|
|
- " 争议类包括社会矛盾、热点舆论事件、群体对立等。\n" +
|
|
|
- "判断是否属于广告或营销:\n" +
|
|
|
- " 包含品牌名、产品、促销、购买引导、价格描述、联系方式、二维码等;\n" +
|
|
|
- " 内容带有明显推广意图或商业导向。\n" +
|
|
|
- "判断是否适合老年群体:\n" +
|
|
|
- " 内容主题应偏向健康、养生、生活常识、家庭关系、历史文化、节日习俗等;\n" +
|
|
|
- " 避免复杂科技、游戏、金融、投资、网络用语等老年人不易理解的内容;\n" +
|
|
|
- " 表达方式应平实简洁,信息有实用价值或积极意义。\n" +
|
|
|
- "判断是否具有正能量或实用性:\n" +
|
|
|
- " 正能量内容包括积极向上、健康生活、社会关怀、家庭和谐等主题;\n" +
|
|
|
- " 实用内容包括健康建议、生活窍门、养生技巧、节气知识、天气预报、历史科普等;\n" +
|
|
|
- " 对老年人有帮助的内容应优先保留。\n" +
|
|
|
- "判断标题是否可进行正向优化(更吸引但不夸大):\n" +
|
|
|
- " 若标题内容平淡,但可通过增加情感词汇或轻度修饰(如“实用技巧”、“医生建议”、“家家都该知道”等)提升吸引力,则可标记为可优化;\n" +
|
|
|
- " 不得改变原文事实或引导误解,不得使用虚假或夸张性描述。\n" +
|
|
|
+ "基于以下明确的评定标准判断标题,并为每个标准提供正面和反面例子以指导判断:\n" +
|
|
|
+ "1.是否涉及政治、暴力、色情、负面或争议:\n" +
|
|
|
+ " 政治类:包括政府决策、领导人言论、外交、政策宣传等。评定标准:如果标题涉及这些内容,通常不适合,除非以中立或积极方式呈现(如政策解读)。\n" +
|
|
|
+ " 正面例子:\"国家发布养老新政策\"\n" +
|
|
|
+ " 反面例子:\"政治丑闻引发争议\"\n" +
|
|
|
+ " 暴力类:包括打斗、战争、犯罪、事故、血腥场景等。评定标准:任何涉及暴力的标题均不适合。\n" +
|
|
|
+ " 正面例子:无(通常无正面例子);\n" +
|
|
|
+ " 反面例子:\"街头暴力事件致多人受伤\"\n" +
|
|
|
+ " 色情类:包括涉及性暗示、低俗内容、娱乐绯闻等。评定标准:任何涉及色情的标题均不适合。\n" +
|
|
|
+ " 正面例子:无(通常无正面例子);\n" +
|
|
|
+ " 反面例子:\"明星低俗绯闻曝光\"\n" +
|
|
|
+ " 负面类:包括疾病、灾难、焦虑、冲突、悲剧等。评定标准:如果标题以消极或恐慌方式描述,不适合;但若以教育或预防为主可能例外。\n" +
|
|
|
+ " 正面例子:\"预防常见老年疾病指南\"\n" +
|
|
|
+ " 反面例子:\"重大地震造成严重伤亡\"\n" +
|
|
|
+ " 争议类:包括社会矛盾、热点舆论事件、群体对立等。评定标准:任何涉及争议的标题通常不适合,除非以调和或教育方式呈现。\n" +
|
|
|
+ " 反面例子:\"社会争议事件引发对立\"\n" +
|
|
|
+ "2.是否属于广告或营销:\n" +
|
|
|
+ " 评定标准:包含品牌名、产品、促销、购买引导、价格描述、联系方式、二维码等,或内容带有明显推广意图。\n" +
|
|
|
+ " 正面例子:\"健康养生小贴士\"\n" +
|
|
|
+ " 反面例子:\"限时促销购买保健品\"\n" +
|
|
|
+ "3.是否适合老年群体:\n" +
|
|
|
+ " 评定标准:内容主题应偏向健康、养生、生活常识、家庭关系、历史文化、节日习俗等;避免复杂科技、游戏、金融、投资、网络用语等;表达方式平实简洁,信息有实用价值或积极意义。\n" +
|
|
|
+ " 正面例子:\"老年人日常养生食谱\"\n" +
|
|
|
+ " 反面例子:\"最新加密货币投资指南\"\n" +
|
|
|
+ "4.是否具有正能量或实用性:\n" +
|
|
|
+ " 评定标准:正能量包括积极向上、健康生活、社会关怀、家庭和谐等;实用内容包括健康建议、生活窍门、养生技巧、节气知识、天气预报、历史科普等。\n" +
|
|
|
+ " 正面例子:\"社区组织老人关爱活动\"\n" +
|
|
|
+ " 反面例子:\"负面新闻引发焦虑\"\n" +
|
|
|
+ "5.标题是否可进行正向优化:\n" +
|
|
|
+ " 评定标准:若标题内容平淡但可通过增加情感词汇或轻度修饰(如“实用技巧”、“医生建议”、“家家都该知道”等)提升吸引力,且不改变事实或引导误解,则可优化;允许使用积极的国家成就描述如“中国世界第一”等来增强正能量,但必须基于真实事实,不得夸大或虚假。\n" +
|
|
|
+ " 正面例子:原标题\"科技成就\"可优化为\"中国在世界科技领域取得第一\"\n" +
|
|
|
+ " 反面例子:原标题\"普通产品\"优化为\"中国世界第一产品\"\n" +
|
|
|
+ "\n" +
|
|
|
+ "在输出JSON时,reason字段必须基于以上标准给出明确的判断理由,具体说明标题符合或不符合哪些标准,并引用相关例子作为参考。例如,如果标题涉及暴力,reason应为\"标题涉及暴力类内容,不符合老年群体标准\";如果标题具有实用性,reason应为\"标题具有实用性,适合推荐\"。\n" +
|
|
|
"\n" +
|
|
|
"请严格按以下 JSON 格式输出,不要输出任何说明或注释:\n" +
|
|
|
"{\n" +
|
|
|
- " \"is_elderly_suitable\": true/false,\n" +
|
|
|
- " \"is_sensitive\": true/false,\n" +
|
|
|
- " \"is_negative\": true/false,\n" +
|
|
|
- " \"is_advertisement\": true/false,\n" +
|
|
|
- " \"can_be_exaggerated\": true/false,\n" +
|
|
|
- " \"improved_title\": \"若可改写,请给出更吸引人的标题\",\n" +
|
|
|
- " \"need_deep_analysis\": true/false,\n" +
|
|
|
- " \"reason\": \"简要说明判断依据\"\n" +
|
|
|
+ "\"is_suitable\": true/false,\n" +
|
|
|
+ "\"reason\": \"简要说明判断依据\"\n" +
|
|
|
"}\n" +
|
|
|
"\n" +
|
|
|
- "【输入内容】\n" +
|
|
|
+ "输入内容:\n" +
|
|
|
"标题:{{title}}";
|
|
|
|
|
|
private List<SpiderContent> getRoughScreenSpiderContent() {
|
|
|
@@ -149,9 +148,7 @@ public class ContentScreenJob {
|
|
|
Integer aiPrecisionStatus = checkPrecisionScreenStatus(obj);
|
|
|
content.setAiPrecisionStatus(aiPrecisionStatus);
|
|
|
content.setAiPrecisionResult(JSONObject.toJSONString(obj));
|
|
|
- if (aiPrecisionStatus == SpiderContentScreenStatusEnum.PASSED.getCode()
|
|
|
- && obj.getPropagationScore() >= 0.8
|
|
|
- && obj.getSuitabilityScore() >= 0.8) {
|
|
|
+ if (aiPrecisionStatus == SpiderContentScreenStatusEnum.PASSED.getCode()) {
|
|
|
content.setStatus(SpiderContentStatusEnum.PASSED.getCode());
|
|
|
} else {
|
|
|
content.setStatus(SpiderContentStatusEnum.ABANDONED.getCode());
|
|
|
@@ -164,76 +161,70 @@ public class ContentScreenJob {
|
|
|
}
|
|
|
|
|
|
private Integer checkPrecisionScreenStatus(PrecisionScreenEntity obj) {
|
|
|
- if (Objects.isNull(obj.getIsElderlySuitable()) || !obj.getIsElderlySuitable()) {
|
|
|
+ if (Objects.isNull(obj.getIsSuitable()) || !obj.getIsSuitable()) {
|
|
|
return SpiderContentScreenStatusEnum.ABANDONED.getCode();
|
|
|
}
|
|
|
- if (Objects.nonNull(obj.getIsSensitive()) && obj.getIsSensitive()) {
|
|
|
- return SpiderContentScreenStatusEnum.ABANDONED.getCode();
|
|
|
- }
|
|
|
- if (Objects.nonNull(obj.getIsNegative()) && obj.getIsNegative()) {
|
|
|
- return SpiderContentScreenStatusEnum.ABANDONED.getCode();
|
|
|
- }
|
|
|
- if (Objects.nonNull(obj.getIsAdvertisement()) && obj.getIsAdvertisement()) {
|
|
|
+ if (obj.getPropagationScore() < 0.6 || obj.getSuitabilityScore() < 0.7) {
|
|
|
return SpiderContentScreenStatusEnum.ABANDONED.getCode();
|
|
|
}
|
|
|
return SpiderContentScreenStatusEnum.PASSED.getCode();
|
|
|
}
|
|
|
|
|
|
- private String precisionScreenPrompt = "你是一名内容智能分析与编辑顾问,负责对新闻或视频进行全面分析。请根据以下内容,判断其是否适合老年群体推荐,并输出结构化结果。\n" +
|
|
|
+ private String precisionScreenPrompt = "你是一名内容智能分析与编辑顾问,负责对新闻或视频进行全面分析,判断其是否适合老年群体推荐,并输出结构化结果。请根据以下明确的评定标准和正反例子进行分析:\n" +
|
|
|
"分析目标:\n" +
|
|
|
- "判断是否适合老年人阅读:\n" +
|
|
|
- " 内容应具备健康、生活、历史、天气、节假日、社会正能量等特征;避免涉及复杂科技、互联网、游戏、金融投机等难以理解或风险性内容。\n" +
|
|
|
- " 语言表达应平实易懂,不含网络黑话、缩写或复杂术语。\n" +
|
|
|
- "判断是否包含政治、敏感、广告或负面内容:\n" +
|
|
|
- " 政治:涉及国家政策、领导人、外交等信息;\n" +
|
|
|
- " 敏感:涉及宗教、种族、灾难、社会冲突等;\n" +
|
|
|
- " 负面:传播焦虑、恐慌、暴力、疾病死亡等信息;\n" +
|
|
|
- " 广告:带有明显推广目的,如品牌、价格、产品功能描述等。\n" +
|
|
|
- "判断内容主题、地域、关键词:\n" +
|
|
|
- " 主题:健康、生活、历史、天气、节假日、军事、社会、其他;\n" +
|
|
|
- " 地域:提取与城市、省份或国家相关的地域信息;\n" +
|
|
|
- " 关键词:提取3~5个能代表内容核心的热词。\n" +
|
|
|
- "判断是否可以在不误导、不造假的前提下适度夸大或优化标题:\n" +
|
|
|
- " 夸大标准包括:是否能使用更具吸引力的词汇(如“意想不到”、“太实用了”、“医生都建议”、“家家都能用上”等),但不能改变事实或造成误导。\n" +
|
|
|
- "提取内容亮点与传播潜力:\n" +
|
|
|
- " 内容亮点:是否包含实用技巧、经验分享、生活智慧或积极故事;\n" +
|
|
|
- " 传播潜力:判断是否具备高关注度话题、共鸣性或视觉吸引力(如图片、视频内容)。\n" +
|
|
|
- "给出传播评分和推荐评分:\n" +
|
|
|
- " 传播评分(0.0~1.0):根据内容话题性、情绪感染力、关键词热度等评估;\n" +
|
|
|
- " 推荐评分(0.0~1.0):根据内容积极性、老年适配度、价值导向评估。\n" +
|
|
|
- "若适合改写,请输出更吸引人的标题:\n" +
|
|
|
- " 若标题平淡但内容有亮点,可提出优化建议或改写方案,使其更具吸引力和传播性。\n" +
|
|
|
- "生成口播稿:\n" +
|
|
|
- " 在300至500字之间,用口语化、温和、易理解的语言生成一段适合新闻类短视频播报的口播内容。\n" +
|
|
|
- " 要求:\n" +
|
|
|
- "用第三人称叙述方式讲述新闻核心信息;\n" +
|
|
|
- "表达自然、生动,符合老年人理解习惯;\n" +
|
|
|
- "语气积极、温暖,避免复杂句式;\n" +
|
|
|
- "可加入轻微引导或总结语,如“这条消息提醒我们”、“大家平时也要注意”等。\n" +
|
|
|
+ "1.判断是否适合老年人阅读:\n" +
|
|
|
+ " 评定标准:内容应具备健康、生活、历史、天气、节假日、社会正能量等特征;避免涉及复杂科技、互联网、游戏、金融投机等难以理解或风险性内容;语言表达应平实易懂,不含网络黑话、缩写或复杂术语。\n" +
|
|
|
+ " 正面例子:标题“老年人日常养生食谱”\n" +
|
|
|
+ " 反面例子:标题“最新区块链投资指南”\n" +
|
|
|
+ "2.判断是否包含政治、敏感、广告或负面内容:\n" +
|
|
|
+ " 政治内容:涉及国家政策、领导人、外交等。\n" +
|
|
|
+ " 评定标准:通常不适合,除非以中立或积极方式呈现。\n" +
|
|
|
+ " 正面例子:标题“国家发布养老补贴政策”\n" +
|
|
|
+ " 反面例子:标题“政治争议事件发酵”\n" +
|
|
|
+ " 敏感内容:涉及宗教、种族、灾难、社会冲突等。\n" +
|
|
|
+ " 评定标准:任何涉及敏感话题的标题通常不适合。\n" +
|
|
|
+ " 反面例子:标题“宗教冲突引发骚乱”\n" +
|
|
|
+ " 负面内容:传播焦虑、恐慌、暴力、疾病死亡等。\n" +
|
|
|
+ " 评定标准:以消极或恐慌方式描述不适合;但若以教育或预防为主可能例外。\n" +
|
|
|
+ " 正面例子:标题“预防常见老年疾病方法”\n" +
|
|
|
+ " 反面例子:标题“重大车祸造成多人伤亡”\n" +
|
|
|
+ " 广告内容:带有明显推广目的,如品牌、价格、产品功能描述等。\n" +
|
|
|
+ " 评定标准:包含商业元素不适合。正面例子:标题“健康生活小贴士”\n" +
|
|
|
+ " 反面例子:标题“限时优惠购买保健品”\n" +
|
|
|
+ "3.判断内容主题、地域、关键词:\n" +
|
|
|
+ " 主题:从健康、生活、历史、天气、节假日、军事、社会、其他中选择。\n" +
|
|
|
+ " 地域:提取与城市、省份或国家相关的地域信息。\n" +
|
|
|
+ " 关键词:提取3~5个能代表内容核心的热词。\n" +
|
|
|
+ "4.判断标题是否可以在不误导、不造假的前提下适度夸大或优化:\n" +
|
|
|
+ " 评定标准:若标题平淡但内容有亮点,可通过增加情感词汇或轻度修饰(如“意想不到”、“太实用了”、“医生都建议”、“家家都能用上”等)提升吸引力;允许使用“中国世界第一”等基于真实事实的表述,但不能改变事实或造成误导。\n" +
|
|
|
+ " 正面例子:原标题“科技成就”可优化为“中国在世界科技领域取得第一”\n" +
|
|
|
+ " 反面例子:原标题“普通产品”优化为“中国世界第一产品”\n" +
|
|
|
+ "5.提取内容亮点与传播潜力:\n" +
|
|
|
+ " 内容亮点:是否包含实用技巧、经验分享、生活智慧或积极故事。\n" +
|
|
|
+ " 传播潜力:判断是否具备高关注度话题、共鸣性或视觉吸引力(如图片、视频内容)。\n" +
|
|
|
+ "6.给出传播评分和推荐评分:\n" +
|
|
|
+ " 传播评分(0.0~1.0):根据内容话题性、情绪感染力、关键词热度等评估。\n" +
|
|
|
+ " 推荐评分(0.0~1.0):根据内容积极性、老年适配度、价值导向评估。\n" +
|
|
|
+ "7.若适合改写,请输出更吸引人的标题:\n" +
|
|
|
+ " 评定标准:基于标题优化标准,提供更具吸引力和传播性的版本,但不得改变事实。\n" +
|
|
|
+ "8.生成口播稿:\n" +
|
|
|
+ " 在300至500字之间,用口语化、温和、易理解的语言生成一段适合新闻类短视频播报的口播内容。\n" +
|
|
|
+ " 要求:用第三人称叙述方式讲述新闻核心信息;表达自然、生动,符合老年人理解习惯;语气积极、温暖,避免复杂句式;可加入轻微引导或总结语,如“这条消息提醒我们”、“大家平时也要注意”等。\n" +
|
|
|
+ "\n" +
|
|
|
+ "在输出JSON时,reason字段必须基于以上评定标准给出明确的判断理由,具体说明标题和内容符合或不符合哪些标准,并引用相关例子作为参考。例如,如果标题涉及负面内容,reason应为“标题涉及负面类内容,如疾病死亡,不符合老年群体标准”;如果标题具有实用性,reason应为“标题具有实用性和正能量,适合推荐”。\n" +
|
|
|
"\n" +
|
|
|
"请严格按以下 JSON 格式输出,不要输出任何解释说明:\n" +
|
|
|
"{\n" +
|
|
|
- " \"is_elderly_suitable\": true/false,\n" +
|
|
|
- " \"is_sensitive\": true/false,\n" +
|
|
|
- " \"is_negative\": true/false,\n" +
|
|
|
- " \"is_advertisement\": true/false,\n" +
|
|
|
- " \"value_category\": \"健康/生活/历史/天气/节假日/军事/社会/其他\",\n" +
|
|
|
- " \"region\": \"北京/上海/全国/未知\",\n" +
|
|
|
- " \"hot_keywords\": [\"keyword1\", \"keyword2\", \"keyword3\"],\n" +
|
|
|
- " \"summary\": \"一句话总结新闻核心内容\",\n" +
|
|
|
- " \"highlight_potential\": true/false,\n" +
|
|
|
- " \"highlight_reason\": \"如果能增强吸引力,说明如何优化内容表达\",\n" +
|
|
|
- " \"can_be_exaggerated\": true/false,\n" +
|
|
|
- " \"exaggeration_type\": \"标题可优化/内容可强化/无可夸大点\",\n" +
|
|
|
- " \"improved_title\": \"若可改写,请给出更吸引人的标题\",\n" +
|
|
|
- " \"propagation_score\": 0.0~1.0,\n" +
|
|
|
- " \"suitability_score\": 0.0~1.0,\n" +
|
|
|
- " \"reason\": \"综合说明判断依据\",\n" +
|
|
|
- " \"narration_script\": \"生成一段300到500字的口播内容,语言自然、贴近生活、表达温和\"\n" +
|
|
|
- " }\n" +
|
|
|
- "\n" +
|
|
|
+ " \"is_suitable\": true/false,\n" +
|
|
|
+ " \"summary\": \"一句话总结新闻核心内容\",\n" +
|
|
|
+ " \"improved_title\": \"若可改写,请给出更吸引人的标题;否则为空字符串\",\n" +
|
|
|
+ " \"propagation_score\": 0.0~1.0,\n" +
|
|
|
+ " \"suitability_score\": 0.0~1.0,\n" +
|
|
|
+ " \"reason\": \"综合说明判断依据\",\n" +
|
|
|
+ " \"narration_script\": \"生成一段300到500字的口播内容,语言自然、贴近生活、表达温和\"\n" +
|
|
|
+ "}\n" +
|
|
|
"输入内容:\n" +
|
|
|
- " 标题:{{title}}\n" +
|
|
|
- " 正文:{{content}}";
|
|
|
+ "标题:{{title}}\n" +
|
|
|
+ "正文:{{content}}";
|
|
|
|
|
|
}
|