Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
sl-ai
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhouwei
sl-ai
Commits
77b29670
Commit
77b29670
authored
1 week ago
by
zhouwei
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into 'master'
修改和新增新闻标签 See merge request
!6
parents
36a6440c
561080e6
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
82 additions
and
156 deletions
+82
-156
pom.xml
pom.xml
+0
-31
DatasourceConfig.java
...java/com/nanyan/securitylink/config/DatasourceConfig.java
+0
-18
MybatisPlusConfig.java
...ava/com/nanyan/securitylink/config/MybatisPlusConfig.java
+0
-19
WechatMsgMapper.java
.../java/com/nanyan/securitylink/mapper/WechatMsgMapper.java
+0
-9
WechatMsgDO.java
src/main/java/com/nanyan/securitylink/model/WechatMsgDO.java
+0
-20
AIServiceImpl.java
...a/com/nanyan/securitylink/service/impl/AIServiceImpl.java
+82
-59
No files found.
pom.xml
View file @
77b29670
...
...
@@ -155,43 +155,12 @@
<version>
1.19.0
</version>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<scope>
runtime
</scope>
<version>
8.0.30
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
druid-spring-boot-starter
</artifactId>
<version>
1.2.6
</version>
</dependency>
<dependency>
<groupId>
org.mybatis.spring.boot
</groupId>
<artifactId>
mybatis-spring-boot-starter
</artifactId>
<version>
2.1.4
</version>
</dependency>
<dependency>
<groupId>
software.amazon.awssdk
</groupId>
<artifactId>
s3
</artifactId>
<version>
2.20.0
</version>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
<version>
3.4.3
</version>
</dependency>
<dependency>
<groupId>
com.github.pagehelper
</groupId>
<artifactId>
pagehelper-spring-boot-starter
</artifactId>
<version>
1.4.1
</version>
</dependency>
<dependency>
<groupId>
io.jsonwebtoken
</groupId>
...
...
This diff is collapsed.
Click to expand it.
src/main/java/com/nanyan/securitylink/config/DatasourceConfig.java
deleted
100644 → 0
View file @
36a6440c
package
com
.
nanyan
.
securitylink
.
config
;
import
com.alibaba.druid.pool.DruidDataSource
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
javax.sql.DataSource
;
@Configuration
public
class
DatasourceConfig
{
@Bean
@ConfigurationProperties
(
prefix
=
"spring.datasource.druid"
)
public
DataSource
druidDataSource
()
{
return
new
DruidDataSource
();
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/nanyan/securitylink/config/MybatisPlusConfig.java
deleted
100644 → 0
View file @
36a6440c
package
com
.
nanyan
.
securitylink
.
config
;
import
com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor
;
import
com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
@MapperScan
(
"com.nanyan.securitylink.mapper"
)
public
class
MybatisPlusConfig
{
@Bean
public
MybatisPlusInterceptor
mybatisPlusInterceptor
()
{
MybatisPlusInterceptor
interceptor
=
new
MybatisPlusInterceptor
();
// 添加分页插件
interceptor
.
addInnerInterceptor
(
new
PaginationInnerInterceptor
());
return
interceptor
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/nanyan/securitylink/mapper/WechatMsgMapper.java
deleted
100644 → 0
View file @
36a6440c
package
com
.
nanyan
.
securitylink
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.nanyan.securitylink.model.WechatMsgDO
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
public
interface
WechatMsgMapper
extends
BaseMapper
<
WechatMsgDO
>
{
}
This diff is collapsed.
Click to expand it.
src/main/java/com/nanyan/securitylink/model/WechatMsgDO.java
deleted
100644 → 0
View file @
36a6440c
package
com
.
nanyan
.
securitylink
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
java.util.Date
;
@Data
@TableName
(
"wechat_msg"
)
public
class
WechatMsgDO
{
@TableId
(
type
=
IdType
.
AUTO
)
Integer
id
;
String
msg
;
//状态 0:未发送 1:发送
Integer
status
;
Date
createTime
;
Date
updateTime
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/nanyan/securitylink/service/impl/AIServiceImpl.java
View file @
77b29670
...
...
@@ -40,39 +40,68 @@ public class AIServiceImpl implements AIService {
private
static
final
Map
<
String
,
String
>
NATURAL_DISASTER_LABEL_MAP
=
new
HashMap
<>();
static
{
NEWS_LABEL_MAP
.
put
(
"枪击"
,
"TagShooting"
);
NEWS_LABEL_MAP
.
put
(
"抢劫"
,
"TagRobbery"
);
NEWS_LABEL_MAP
.
put
(
"爆炸"
,
"TagExplosion"
);
NEWS_LABEL_MAP
.
put
(
"恐怖袭击"
,
"TagTerroristAttack"
);
NEWS_LABEL_MAP
.
put
(
"纵火"
,
"TagArson"
);
NEWS_LABEL_MAP
.
put
(
"大规模伤亡事件"
,
"TagMassCasualtyIncident"
);
NEWS_LABEL_MAP
.
put
(
"人质事件"
,
"TagHostageSituation"
);
NEWS_LABEL_MAP
.
put
(
"毒气泄漏"
,
"TagToxicGasLeak"
);
NEWS_LABEL_MAP
.
put
(
"生物危害"
,
"TagBiologicalHazard"
);
NEWS_LABEL_MAP
.
put
(
"交通意外"
,
"TagTrafficAccident"
);
NEWS_LABEL_MAP
.
put
(
"建筑物倒塌"
,
"TagBuildingCollapse"
);
NEWS_LABEL_MAP
.
put
(
"食品安全"
,
"TagFoodSafety"
);
NEWS_LABEL_MAP
.
put
(
"社会冲突"
,
"TagSocialConflict"
);
NEWS_LABEL_MAP
.
put
(
"群体性事件"
,
"TagMassGatheringIncident"
);
NEWS_LABEL_MAP
.
put
(
"环境污染"
,
"TagEnvironmentalPollution"
);
NEWS_LABEL_MAP
.
put
(
"重大事故"
,
"TagMajorAccident"
);
NEWS_LABEL_MAP
.
put
(
"抗议示威"
,
"TagProtestDemonstration"
);
NEWS_LABEL_MAP
.
put
(
"集体维权"
,
"TagCollectiveAdvocacy"
);
NEWS_LABEL_MAP
.
put
(
"活动失控骚乱"
,
"TagUncontrolledEventRiot"
);
NEWS_LABEL_MAP
.
put
(
"地域冲突"
,
"TagTerritorialConflict"
);
NEWS_LABEL_MAP
.
put
(
"性别冲突"
,
"TagGenderConflict"
);
NEWS_LABEL_MAP
.
put
(
"宗教冲突"
,
"TagReligiousConflict"
);
NEWS_LABEL_MAP
.
put
(
"民族冲突"
,
"TagEthnicConflict"
);
NEWS_LABEL_MAP
.
put
(
"阶级冲突"
,
"TagClassConflict"
);
NEWS_LABEL_MAP
.
put
(
"食物中毒"
,
"TagFoodPoisoning"
);
NEWS_LABEL_MAP
.
put
(
"公共卫生事件"
,
"PublicHealthEmergency"
);
NEWS_LABEL_MAP
.
put
(
"工业事故"
,
"IndustriaAccident"
);
NEWS_LABEL_MAP
.
put
(
"核事故"
,
"NuclearAccident"
);
NEWS_LABEL_MAP
.
put
(
"矿难"
,
"MiningAccident"
);
NEWS_LABEL_MAP
.
put
(
"游行抗议"
,
"Protest"
);
NEWS_LABEL_MAP
.
put
(
"水坝溃坝"
,
"DamBurst"
);
NEWS_LABEL_MAP
.
put
(
"油轮泄漏"
,
"OilSpill"
);
NEWS_LABEL_MAP
.
put
(
"火灾"
,
"Fire"
);
NEWS_LABEL_MAP
.
put
(
"枪击"
,
"TagShooting"
);
NEWS_LABEL_MAP
.
put
(
"抢劫"
,
"TagRobbery"
);
NEWS_LABEL_MAP
.
put
(
"事故爆炸"
,
"TagExplosion"
);
NEWS_LABEL_MAP
.
put
(
"恐怖袭击"
,
"TagTerroristAttack"
);
NEWS_LABEL_MAP
.
put
(
"纵火"
,
"TagArson"
);
NEWS_LABEL_MAP
.
put
(
"大规模伤亡事件"
,
"TagMassCasualtyIncident"
);
NEWS_LABEL_MAP
.
put
(
"人质事件"
,
"TagHostageSituation"
);
NEWS_LABEL_MAP
.
put
(
"毒气泄漏"
,
"TagToxicGasLeak"
);
NEWS_LABEL_MAP
.
put
(
"生物危害"
,
"TagBiologicalHazard"
);
NEWS_LABEL_MAP
.
put
(
"交通事故"
,
"TagTrafficAccident"
);
NEWS_LABEL_MAP
.
put
(
"建筑物倒塌"
,
"TagBuildingCollapse"
);
NEWS_LABEL_MAP
.
put
(
"食品安全事件"
,
"TagFoodSafety"
);
NEWS_LABEL_MAP
.
put
(
"社会冲突"
,
"TagSocialConflict"
);
NEWS_LABEL_MAP
.
put
(
"群体性事件"
,
"TagMassGatheringIncident"
);
NEWS_LABEL_MAP
.
put
(
"环境污染"
,
"TagEnvironmentalPollution"
);
NEWS_LABEL_MAP
.
put
(
"抗议示威"
,
"TagProtestDemonstration"
);
NEWS_LABEL_MAP
.
put
(
"集体维权"
,
"TagCollectiveAdvocacy"
);
NEWS_LABEL_MAP
.
put
(
"活动失控骚乱"
,
"TagUncontrolledEventRiot"
);
NEWS_LABEL_MAP
.
put
(
"地域冲突"
,
"TagTerritorialConflict"
);
NEWS_LABEL_MAP
.
put
(
"性别冲突"
,
"TagGenderConflict"
);
NEWS_LABEL_MAP
.
put
(
"宗教冲突"
,
"TagReligiousConflict"
);
NEWS_LABEL_MAP
.
put
(
"民族冲突"
,
"TagEthnicConflict"
);
NEWS_LABEL_MAP
.
put
(
"阶级冲突"
,
"TagClassConflict"
);
NEWS_LABEL_MAP
.
put
(
"食物中毒"
,
"TagFoodPoisoning"
);
NEWS_LABEL_MAP
.
put
(
"地震"
,
"TagEarthquake"
);
NEWS_LABEL_MAP
.
put
(
"火山爆发"
,
"TagVolcanicEruption"
);
NEWS_LABEL_MAP
.
put
(
"山体滑坡"
,
"TagLandslide"
);
NEWS_LABEL_MAP
.
put
(
"泥石流"
,
"TagMudslide"
);
NEWS_LABEL_MAP
.
put
(
"雪崩"
,
"TagAvalanche"
);
NEWS_LABEL_MAP
.
put
(
"水坝决口"
,
"TagDamBreach"
);
NEWS_LABEL_MAP
.
put
(
"水坝溃坝"
,
"TagDamBurst"
);
NEWS_LABEL_MAP
.
put
(
"台风/飓风"
,
"TagTyphoonHurricane"
);
NEWS_LABEL_MAP
.
put
(
"龙卷风"
,
"TagTornadoWarning"
);
NEWS_LABEL_MAP
.
put
(
"暴雨"
,
"TagRainstorm"
);
NEWS_LABEL_MAP
.
put
(
"洪水"
,
"TagFlood"
);
NEWS_LABEL_MAP
.
put
(
"寒潮"
,
"TagColdWave"
);
NEWS_LABEL_MAP
.
put
(
"高温热浪"
,
"TagHeatWave"
);
NEWS_LABEL_MAP
.
put
(
"干旱"
,
"TagDrought"
);
NEWS_LABEL_MAP
.
put
(
"沙尘暴"
,
"TagDustStorm"
);
NEWS_LABEL_MAP
.
put
(
"冻雨"
,
"TagFreezingRain"
);
NEWS_LABEL_MAP
.
put
(
"冰雹"
,
"TagHail"
);
NEWS_LABEL_MAP
.
put
(
"雷暴"
,
"TagThunderstormWarning"
);
NEWS_LABEL_MAP
.
put
(
"大风"
,
"TagHighWind"
);
NEWS_LABEL_MAP
.
put
(
"山林火灾"
,
"TagForestFire"
);
NEWS_LABEL_MAP
.
put
(
"冰川融化"
,
"TagGlacialMelting"
);
NEWS_LABEL_MAP
.
put
(
"海啸"
,
"TagTsunami"
);
NEWS_LABEL_MAP
.
put
(
"霾"
,
"TagHazeWarning"
);
NEWS_LABEL_MAP
.
put
(
"化学品泄漏"
,
"TagChemicalSpill"
);
NEWS_LABEL_MAP
.
put
(
"核事故"
,
"TagNuclearAccident"
);
NEWS_LABEL_MAP
.
put
(
"矿难"
,
"TagMiningAccident"
);
NEWS_LABEL_MAP
.
put
(
"油轮泄漏"
,
"TagOilSpill"
);
NEWS_LABEL_MAP
.
put
(
"火灾"
,
"TagFire"
);
NEWS_LABEL_MAP
.
put
(
"工业污染"
,
"TagIndustrialPollution"
);
NEWS_LABEL_MAP
.
put
(
"工业事故"
,
"TagIndustriaAccident"
);
NEWS_LABEL_MAP
.
put
(
"传染病爆发"
,
"TagDiseaseOutbreak"
);
NEWS_LABEL_MAP
.
put
(
"公共卫生事件"
,
"TagPublicHealthEmergency"
);
NEWS_LABEL_MAP
.
put
(
"持刀伤人"
,
"TagKnifeAttack"
);
NEWS_LABEL_MAP
.
put
(
"恐怖爆炸"
,
"TerroristBombing"
);
NEWS_LABEL_MAP
.
put
(
"暴力冲突"
,
"TagViolentClashes"
);
NEWS_LABEL_MAP
.
put
(
"战争"
,
"TagWar"
);
NEWS_LABEL_MAP
.
put
(
"游行抗议"
,
"TagProtest"
);
NATURAL_DISASTER_LABEL_MAP
.
put
(
"地震"
,
"earthquake"
);
NATURAL_DISASTER_LABEL_MAP
.
put
(
"火山爆发"
,
"volcanicEruption"
);
...
...
@@ -339,44 +368,38 @@ public class AIServiceImpl implements AIService {
systemRole
.
setRole
(
"system"
);
systemRole
.
setContent
(
"```xml\n"
+
"<instruction>\n"
+
"对
多条新闻内容进行打标签,标签分别为枪击、抢劫、爆炸、恐怖袭击、纵火、大规模伤亡事件、人质事件、毒气泄漏、自然灾害、生物危害、交通意外、建筑物倒塌、食品安全、社会冲突、群体性事件等。请按照以下步骤完成任务:
\n"
+
"对
新闻内容进行标签分类,仅当标签评分达到或超过80分时才应用该标签。可选的标签包括:枪击,抢劫,事故爆炸,恐怖袭击,纵火,大规模伤亡事件,人质事件,毒气泄漏,生物危害,交通事故,建筑物倒塌,食品安全事件,社会冲突,群体性事件,环境污染,抗议示威,集体维权,活动失控骚乱,地域冲突,性别冲突,宗教冲突,民族冲突,阶级冲突,食物中毒,地震,火山爆发,山体滑坡,泥石流,雪崩,水坝决口,水坝溃坝,台风/飓风,龙卷风,暴雨,洪水,寒潮,高温热浪,干旱,沙尘暴,冻雨,冰雹,雷暴,大风,山林火灾,冰川融化,海啸,霾,化学品泄漏,核事故,矿难,油轮泄漏,火灾,工业污染,工业事故,传染病爆发,公共卫生事件,持刀伤人,恐怖爆炸,暴力冲突,战争,游行抗议,其他。
\n"
+
"\n"
+
"1. 仔细阅读每条新闻内容,理解其核心事件。\n"
+
"2. 根据新闻描述的事件类型,从给定的标签列表中选择最匹配的一个或多个标签。\n"
+
"3. 确保标签与新闻内容高度相关,避免主观臆断。\n"
+
"4. 如果新闻内容涉及多个事件类型,可以分配多个标签,但需确保每个标签都准确反映新闻内容。\n"
+
"5. 输出结果时,仅列出标签名称,不要包含任何XML标签或其他无关内容。\n"
+
"<instructions>\n"
+
"1. 仔细阅读新闻内容,理解其核心事件和背景。\n"
+
"2. 根据新闻内容,评估每个标签的适用性,并为每个标签打分(0-100分)。\n"
+
"3. 仅选择评分达到或超过80分的标签作为最终标签。\n"
+
"4. 如果新闻内容与任何标签的匹配度均低于80分,则输出“其他”。\n"
+
"5. 确保输出结果不包含任何XML标签,仅列出适用的标签名称,多个标签用逗号分隔。\n"
+
"6. 如果新闻内容涉及多个高评分标签,则按相关性从高到低排序。\n"
+
"\n"
+
"<examples>\n"
+
"<example>\n"
+
"<输入>\n"
+
"\"昨日凌晨,某市一家银行发生持枪抢劫案,歹徒与警方交火后逃离现场,造成两名保安受伤。\"\n"
+
"<输出>\n"
+
"枪击, 抢劫\n"
+
"输入:某市发生一起持枪抢劫银行事件,造成3人死亡,5人受伤。\n"
+
"输出:枪击, 抢劫, 大规模伤亡事件\n"
+
"</example>\n"
+
"\n"
+
"<example>\n"
+
"<输入>\n"
+
"\"今日上午,某化工厂发生毒气泄漏事故,附近居民已被紧急疏散,暂无人员伤亡报告。\"\n"
+
"<输出>\n"
+
"毒气泄漏\n"
+
"输入:某工厂发生化学气体泄漏,导致附近居民出现中毒症状。\n"
+
"输出:毒气泄漏\n"
+
"</example>\n"
+
"\n"
+
"<example>\n"
+
"<输入>\n"
+
"\"近日,某地因征地问题引发大规模抗议活动,数百名民众与警方发生冲突,导致多人受伤。\"\n"
+
"<输出>\n"
+
"社会冲突, 群体性事件\n"
+
"输入:某地区因土地纠纷引发大规模抗议活动,警方与示威者发生冲突。\n"
+
"输出:社会冲突, 群体性事件\n"
+
"</example>\n"
+
"</examples>\n"
+
"\n"
+
"注意事项:\n"
+
"- 标签必须严格从给定的列表中选择,不得自行添加或修改标签名称。\n"
+
"- 如果新闻内容与任何标签都不匹配,则输出\"\"。\n"
+
"- 输出时标签之间用逗号分隔,不要使用编号或项目符号。\n"
+
"- 确保标签的准确性和一致性,避免歧义或模糊分类。\n"
+
"\n"
+
"请严格按照上述要求完成任务,确保输出结果简洁、准确且符合规范。\n"
+
"<note>\n"
+
"1. 标签评分必须严格遵循80分的阈值,低于80分的标签不得使用。\n"
+
"2. 确保标签的准确性和相关性,避免过度标记或遗漏重要标签。\n"
+
"3. 对于模糊或不确定的内容,优先选择最相关的标签,避免猜测。\n"
+
"4. 输出结果必须简洁明了,仅包含适用的标签名称。\n"
+
"</note>\n"
+
"</instruction>\n"
+
"```"
);
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment