Compare commits

...

1 Commits

Author SHA1 Message Date
ArvinLovegood
746589a972 feat(backend):优化词典加载与情感分析逻辑
- 重构词典初始化流程,提升加载效率
- 新增CalcToken调用以确保词典更新生效
- 改进用户词典读取路径并增强格式校验
- 忽略空行及注释行,防止无效词条干扰分析
- 使用ReAddToken方法替换原有AddToken实现热更新
- 调整词频权重过滤阈值,提高情感识别准确度
- 引入Score字段用于treemap可视化展示
- 更新基础词典和用户词典内容,强化专业术语覆盖
- 注释冗余测试文本,避免影响正式环境运行
- 增加日志记录以便追踪词典加载与匹配过程
2025-11-22 20:16:14 +08:00
5 changed files with 46 additions and 529 deletions

View File

@@ -475,508 +475,4 @@ CXO 300 n
# 十、委托交易与规则
限价委托 340 n
市价委托 340 n
止损委托 330 n
止盈委托 330 n
预埋单 320 n
条件单 330 n
触发委托 320 n
追涨委托 320 n
抄底委托 320 n
挂单 330 n
撤单 330 v
成交 340 v
未成交 320 adj
部分成交 320 adj
委托价 320 n
成交价 320 n
委托量 320 n
买单 330 n
卖单 330 n
买入 340 v
卖出 340 v
做多 330 v
做空 330 v
开仓 330 v
满仓 330 v
空仓 330 v
半仓 320 v
轻仓 320 v
重仓 320 v
底仓 320 n
补仓 320 v
T+1交易 330 n
T+0交易 330 n
日内交易 320 n
短线交易 320 n
中线交易 320 n
长线交易 320 n
集合竞价交易 320 n
连续竞价交易 320 n
保证金 320 n
杠杆 320 n
融资 320 n
融券 320 n
融资买入 320 v
融券卖出 320 v
融资余额 320 n
融券余额 320 n
两融业务 320 n
信用账户 320 n
普通账户 320 n
资金账户 320 n
证券账户 320 n
持仓 330 n
持仓股 320 n
持仓数量 320 n
可用资金 320 n
可取资金 320 n
冻结资金 320 n
交易成本 320 n
手续费 320 n
佣金 320 n
印花税 320 n
过户费 320 n
交易规费 320 n
B股 310 n
H股 310 n
美股 310 n
创业板 320 n
科创板 320 n
主板 320 n
纳斯达克 350 n
纽交所 310 n
标普500 350 n
道琼斯 310 n
成分股 310 n
权重股 310 n
龙头股 310 n
中小盘股 310 n
大盘股 310 n
小盘股 310 n
ST股 320 n
*ST股 320 n
退市股 320 n
次新股 320 n
新股 320 n
打新 320 v
新股申购 320 n
中签 320 v
新股上市 320 n
限售股 310 n
解禁 310 v
股权登记日 310 n
除权除息日 310 n
派息 310 n
分红 310 n
送股 310 n
转增股 310 n
配股 310 n
除权 310 n
除息 310 n
填权 310 v
贴权 310 v
筹码分析 310 n
盘口分析 310 n
K线图 310 n
均线 310 n
日均线 310 n
周均线 310 n
月均线 310 n
MACD 310 n
KDJ 310 n
RSI 310 n
布林带 310 n
成交量均线 310 n
支撑位 310 n
压力位 310 n
阻力位 310 n
突破 310 v
跌破 310 v
站稳 310 v
回落 310 v
冲高 310 v
横盘整理 310 n
震荡整理 310 n
洗盘 310 n
吸筹 310 n
出货 310 n
建仓成本 310 n
持仓周期 310 n
交易频率 310 n
长线持有 310 v
高抛低吸 310 v
追涨杀跌 310 v
低吸高抛 310 v
顺势而为 310 n
逆向投资 310 n
交易软件 300 n
行情软件 300 n
交易终端 300 n
手机炒股 300 n
电脑炒股 300 n
网上交易 300 n
电话委托 290 n
营业部交易 290 n
交易系统 300 n
行情系统 300 n
Level-2行情 300 n
实时行情 300 n
延时行情 290 n
交易接口 300 n
量化交易 310 n
算法交易 300 n
程序化交易 300 n
自动交易 300 n
智能投顾 300 n
券商APP 300 n
交易佣金 300 n
开户 300 v
销户 290 v
转户 290 v
绑定银行卡 290 v
银证转账 300 n
银证通 290 n
第三方存管 290 n
赛道股 330 n
抱团股 310 n
妖股 310 n
庄股 310 n
# 十一、主要财经网站与机构
# 国内财经网站
东方财富网 350 n
同花顺财经 340 n
财新网 340 n
新浪财经 340 n
第一财经 330 n
金融界 330 n
华尔街见闻 330 n
每日经济新闻 330 n
证券时报网 330 n
财联社 330 n
和讯网 320 n
证券之星 320 n
中国证券报 330 n
上海证券报 330 n
证券日报 320 n
界面新闻 320 n
澎湃新闻财经 320 n
腾讯财经 320 n
网易财经 320 n
凤凰财经 320 n
# 国际财经媒体
彭博社 350 n
路透社 350 n
金融时报 340 n
华尔街日报 340 n
雅虎财经 320 n
CNBC 320 n
路透财经 330 n
彭博财经 330 n
英国金融时报 330 n
美国消费者新闻与商业频道 320 n
日经新闻 320 n
韩国经济新闻 310 n
# 国际金融机构
高盛集团 350 n
摩根士丹利 350 n
摩根大通 350 n
瑞银集团 340 n
汇丰银行 340 n
野村证券 330 n
贝莱德 350 n
桥水基金 340 n
黑石集团 340 n
橡树资本 330 n
花旗集团 330 n
美银美林 330 n
德意志银行 320 n
瑞士信贷 320 n
法国巴黎银行 320 n
三菱日联金融集团 310 n
# 国内外金融监管与交易机构
中国证监会 350 n
美联储 350 n
英国金融行为管理局 330 n
香港证监会 330 n
纽约证券交易所 350 n
香港交易所 340 n
伦敦证券交易所 340 n
芝商所集团 330 n
泛欧证券交易所 330 n
上海证券交易所 340 n
深圳证券交易所 340 n
北京证券交易所 330 n
中国人民银行 350 n
银保监会 340 n
国家金融监督管理总局 340 n
财政部 340 n
发改委 330 n
石油输出国组织 340 n
国际能源署 330 n
美国能源信息署 320 n
世界银行 330 n
国际货币基金组织 330 n
# 国内核心金融机构
中国工商银行 340 n
中国建设银行 340 n
中国农业银行 340 n
中国银行 340 n
交通银行 330 n
招商银行 330 n
兴业银行 320 n
浦发银行 320 n
中信证券 340 n
华泰证券 330 n
中金公司 330 n
中信建投 330 n
国泰君安 330 n
广发证券 320 n
东方证券 320 n
南方基金 330 n
易方达基金 330 n
华夏基金 330 n
嘉实基金 320 n
博时基金 320 n
# 十二、知名美股与中概股
# 知名美股
苹果 350 n
Apple 340 n
英伟达 350 n
Nvidia 340 n
特斯拉 350 n
Tesla 340 n
谷歌 340 n
Alphabet 330 n
亚马逊 340 n
Amazon 330 n
Meta Platforms 330 n
Meta 330 n
微软 350 n
Microsoft 340 n
甲骨文 320 n
Oracle 310 n
伯克希尔哈撒韦 320 n
Berkshire Hathaway 310 n
闪迪 300 n
SanDisk 290 n
高通 320 n
Qualcomm 310 n
英特尔 320 n
Intel 310 n
AMD 320 n
超威半导体 310 n
脸书 320 n
Facebook 310 n
推特 310 n
Twitter 300 n
Square 300 n
Block 290 n
PayPal 310 n
贝宝 300 n
星巴克 310 n
Starbucks 300 n
可口可乐 310 n
Coca-Cola 300 n
百事可乐 300 n
PepsiCo 290 n
沃尔玛 310 n
Walmart 300 n
家得宝 300 n
Home Depot 290 n
美国银行 310 n
Bank of America 300 n
# 知名中概股
阿里巴巴 350 n
Alibaba 340 n
拼多多 340 n
PDD 330 n
蔚来汽车 330 n
NIO 320 n
理想汽车 330 n
LI 320 n
腾讯音乐 320 n
TME 310 n
唯品会 310 n
VIPS 300 n
富途控股 310 n
FUTU 300 n
老虎证券 310 n
TIGR 300 n
万物新生 300 n
RERE 290 n
涂鸦智能 300 n
TUYA 290 n
百济神州 320 n
BeiGene 310 n
百度集团 340 n
Baidu 330 n
文远知行 300 n
WRD 290 n
贝壳 310 n
KE 300 n
新氧 300 n
SY 290 n
京东 340 n
JD.com 330 n
京东物流 320 n
JD Logistics 310 n
腾讯控股 350 n
Tencent Holdings 340 n
美团 340 n
Meituan 330 n
小米集团 340 n
Xiaomi Group 330 n
快手 330 n
Kuaishou 320 n
字节跳动 340 n
ByteDance 330 n
滴滴 330 n
DiDi 320 n
携程 320 n
Ctrip 310 n
去哪儿 310 n
Qunar 300 n
同程旅行 300 n
LY.com 290 n
途牛 300 n
Tuniu 290 n
哔哩哔哩 320 n
Bilibili 310 n
爱奇艺 320 n
iQiyi 310 n
优酷 310 n
Youku 300 n
芒果超媒 310 n
Mango TV 300 n
网易 330 n
NetEase 320 n
新浪 320 n
Sina 310 n
微博 320 n
Weibo 310 n
知乎 310 n
Zhihu 300 n
小红书 310 n
Xiaohongshu 300 n
商汤科技 310 n
SenseTime 300 n
旷视科技 300 n
Megvii 290 n
云从科技 300 n
Cloudwalk 290 n
依图科技 300 n
Yitu 290 n
药明生物 320 n
WuXi Biologics 310 n
康希诺 310 n
CanSino Biologics 300 n
智飞生物 310 n
Innovax 300 n
CATL 340 n
BYD 330 n
小鹏汽车 330 n
Xpeng 320 n
哪吒汽车 310 n
Nezha Auto 300 n
零跑汽车 310 n
Leapmotor 300 n
极氪 310 n
ZEEKR 300 n
岚图汽车 300 n
VOYAH 290 n
华为 350 n
Huawei 340 n
荣耀 330 n
Honor 320 n
OPPO 330 n
vivo 330 n
一加 310 n
OnePlus 300 n
真我 310 n
realme 300 n
传音控股 310 n
Transsion 300 n
# 十三、十五五规划重点领域
# 核心战略方向
新质生产力 350 n
科技自立自强 350 n
全要素生产率 340 n
高质量发展 340 n
中国式现代化 340 n
共同富裕 330 n
区域协调发展 330 n
城乡融合发展 330 n
国家安全体系 330 n
双循环 330 n
高水平对外开放 320 n
# 科技创新与数字经济
量子科技 340 n
脑机接口 340 n
具身智能 340 n
第六代移动通信 340 n
生成式AI 340 n
通用人工智能 330 n
工业母机 340 n
集成电路 340 n
高端算力 330 n
数据要素 340 n
数字基础设施 330 n
智能制造 340 n
服务型制造 320 n
绿色制造 320 n
# 能源与绿色转型
新型能源体系 340 n
氢能 340 n
核聚变能 330 n
可再生能源 330 n
风电 330 n
生物质能 320 n
碳排放双控 340 n
碳达峰 330 n
碳中和 330 n
绿色低碳 330 n
循环经济 320 n
节能环保 320 n
碳交易 320 n
# 高端制造与新兴产业
航空航天 340 n
新材料 340 n
生物制造 330 n
生物医药 330 n
基因编辑 320 n
合成生物学 320 n
智能网联汽车 330 n
机器人 330 n
海洋工程 320 n
核电 320 n
高端装备 330 n
# 乡村振兴与农业现代化
乡村振兴 340 n
农业机械化 330 n
智慧农业 330 n
现代农业 320 n
粮食安全 330 n
农产品深加工 320 n
农村电商 320 n
乡村旅游 310 n
# 对外开放与贸易升级
跨境电商 330 n
自贸试验区 320 n
海南自贸港 320 n
一带一路 330 n
服务贸易 320 n
数字贸易 320 n
跨境金融 320 n
外资准入 310 n
# 社会民生与公共服务
教育强国 320 n
健康中国 320 n
养老服务 310 n
医疗保障 310 n
保障性住房 310 n
公共卫生 320 n
文化强国 320 n
体育强国 310 n
止损委托 330 n

View File

@@ -1,13 +1,26 @@
公司 1 n
国家 1 n
国际 1 n
会议 1 n
市场 1 n
经济 1 n
技术 1 n
记者 1 n
时间 1 n
项目 1 n
问题 1 n
企业 1 n
财联社 1 n
公司 0.1 n
国家 0.1 n
国际 0.1 n
会议 0.1 n
市场 0.1 n
经济 0.1 n
技术 0.1 n
记者 0.1 n
时间 0.1 n
项目 0.1 n
问题 0.1 n
企业 0.1 n
财联社 0.1 n
上涨 0.1 v
下跌 0.1 v
期货 0.1 n
跌幅 0.1 n
跌超 0.1 adj
股票 0.1 n
冰雪旅游 500 n
特高压 500 n
跨境电商 500 n
俄乌冲突 400 n
新能源汽车 500 n
机器人 500 n
具身智能 500 n

View File

@@ -72,13 +72,13 @@ var baseDict string
var zhDict string
func InitAnalyzeSentiment() {
logger.SugaredLogger.Infof("初始化词典库路径:%s", fileutil.CurrentPath())
err := seg.LoadDictEmbed(baseDict)
if err != nil {
logger.SugaredLogger.Error(err.Error())
} else {
logger.SugaredLogger.Info("加载默认词典成功")
}
seg.CalcToken()
stocks := &[]StockBasic{}
db.Dao.Model(&StockBasic{}).Find(stocks)
for _, stock := range *stocks {
@@ -123,35 +123,40 @@ func InitAnalyzeSentiment() {
logger.SugaredLogger.Errorf("添加%s失败:%s", tag.Name, err.Error())
}
}
seg.CalcToken()
//加载用户自定义词典 先判断用户词典是否存在
if fileutil.IsExist(fileutil.CurrentPath() + "/data/dict/user.txt") {
lines, err := fileutil.ReadFileByLine(fileutil.CurrentPath() + "/data/dict/user.txt")
if fileutil.IsExist("data/dict/user.txt") {
lines, err := fileutil.ReadFileByLine("data/dict/user.txt")
if err != nil {
logger.SugaredLogger.Error(err.Error())
return
}
for _, line := range lines {
if len(line) == 0 || line[0] == '#' {
continue
}
k := strutil.SplitAndTrim(line, " ")
switch len(k) {
case 1:
err = seg.AddToken(k[0], 100)
err = seg.ReAddToken(k[0], 100)
case 2:
freq, _ := convertor.ToFloat(k[1])
err = seg.AddToken(k[0], freq)
err = seg.ReAddToken(k[0], freq)
case 3:
freq, _ := convertor.ToFloat(k[1])
err = seg.AddToken(k[0], freq, k[2])
err = seg.ReAddToken(k[0], freq, k[2])
default:
logger.SugaredLogger.Errorf("用户词典格式错误:%s", line)
}
logger.SugaredLogger.Infof("添加用户词典[%s]成功", line)
}
if err != nil {
logger.SugaredLogger.Error(err.Error())
} else {
logger.SugaredLogger.Error("加载用户词典成功")
logger.SugaredLogger.Infof("加载用户词典成功")
}
}
seg.CalcToken()
}
// WordFreqWithWeight 词频统计结果,包含权重信息
@@ -167,7 +172,8 @@ func getWordWeight(word string) float64 {
// 从分词器获取词汇权重
freq, pos, ok := seg.Dictionary().Find([]byte(word))
if ok && pos == "n" {
if ok {
logger.SugaredLogger.Infof("获取%s的权重:%f,pos:%s,ok:%v", word, freq, pos, ok)
return basefreq + freq
}
return 0
@@ -258,7 +264,7 @@ func countWordFrequencyWithWeight(text string) map[string]WordFreqWithWeight {
// 构建包含权重的结果
for word, frequency := range wordCount {
weight := getWordWeight(word)
if weight > 0 {
if weight > 200 {
freqMap[word] = WordFreqWithWeight{
Word: word,
Frequency: frequency,

View File

@@ -25,7 +25,7 @@ func TestAnalyzeSentiment(t *testing.T) {
//}
text := messageText.String()
text = " 【周六你需要知道的隔夜全球要闻:美联储鸽声重振 美股走势回稳】 1、纽约联储行长威廉姆斯表示随着劳动力市场走软美联储近期内仍有再次降息的空间。 2、美联储理事斯蒂芬·米兰表示自上次联邦公开市场委员会FOMC会议以来的经济数据应“促使人们偏向鸽派立场”。 3、波士顿联邦储备银行行长柯林斯表示由于通胀可能在一段时间内保持高位维持利率不变“目前合适”。 4、据CME“美联储观察”截至北京时间11月22日6时30分美联储12月降息25个基点的概率为69.4%维持利率不变的概率为30.6%。 5、美国劳工统计局表示11月CPI报告将于12月18日发布同时取消了10月CPI报告发布表示无法追溯采集政府停摆期间未能收集的部分数据。 6、俄罗斯总统普京表示已收到美提出解决俄乌冲突的计划俄罗斯愿意进行和平谈判。美国总统特朗普表示他认为27日是乌克兰接受美国支持的和平计划的最后期限。 7、美联储高官鸽派言论提振市场情绪美股三大指数收盘集体上涨道琼斯指数涨1.08%标普500指数涨0.98%纳斯达克综合指数涨0.88%。甲骨文跌超5%英伟达跌超1%。纳指本周累计跌2.74%标普500指数累跌1.95%道指累跌1.91%。英伟达本周累跌5.9%。 8、热门中概股多数上涨纳斯达克中国金龙指数收涨1.23%。蔚来涨超3%哔哩哔哩、理想汽车涨超2%京东、小鹏汽车涨超1%。 9、国际油价下跌交易员评估乌克兰与俄罗斯可能达成和平协议的前景。WTI 1月期货下跌1.6%结算价报每桶58.06美元为过去五个交易日中第四次下跌。布伦特1月期货下跌1.3%结算价报每桶62.56美元。 10、美联储延长压力测试改进方案征询期为银行反馈提供更多时间。 11、由于美国人对个人财务状况的看法恶化美国消费者信心在11月跌至接近纪录最低水平密歇根大学数据显示11月消费者信心指数降至5110月为53.6。 12、日本央行政策委员会委员Kazuyuki Masu表示日本央行接近作出加息决定。 13、穆迪将意大利信用评级从BAA3上调至BAA2展望稳定。\n"
//text = " 【周六你需要知道的隔夜全球要闻:美联储鸽声重振 美股走势回稳】 1、纽约联储行长威廉姆斯表示随着劳动力市场走软美联储近期内仍有再次降息的空间。 2、美联储理事斯蒂芬·米兰表示自上次联邦公开市场委员会FOMC会议以来的经济数据应“促使人们偏向鸽派立场”。 3、波士顿联邦储备银行行长柯林斯表示由于通胀可能在一段时间内保持高位维持利率不变“目前合适”。 4、据CME“美联储观察”截至北京时间11月22日6时30分美联储12月降息25个基点的概率为69.4%维持利率不变的概率为30.6%。 5、美国劳工统计局表示11月CPI报告将于12月18日发布同时取消了10月CPI报告发布表示无法追溯采集政府停摆期间未能收集的部分数据。 6、俄罗斯总统普京表示已收到美提出解决俄乌冲突的计划俄罗斯愿意进行和平谈判。美国总统特朗普表示他认为27日是乌克兰接受美国支持的和平计划的最后期限。 7、美联储高官鸽派言论提振市场情绪美股三大指数收盘集体上涨道琼斯指数涨1.08%标普500指数涨0.98%纳斯达克综合指数涨0.88%。甲骨文跌超5%英伟达跌超1%。纳指本周累计跌2.74%标普500指数累跌1.95%道指累跌1.91%。英伟达本周累跌5.9%。 8、热门中概股多数上涨纳斯达克中国金龙指数收涨1.23%。蔚来涨超3%哔哩哔哩、理想汽车涨超2%京东、小鹏汽车涨超1%。 9、国际油价下跌交易员评估乌克兰与俄罗斯可能达成和平协议的前景。WTI 1月期货下跌1.6%结算价报每桶58.06美元为过去五个交易日中第四次下跌。布伦特1月期货下跌1.3%结算价报每桶62.56美元。 10、美联储延长压力测试改进方案征询期为银行反馈提供更多时间。 11、由于美国人对个人财务状况的看法恶化美国消费者信心在11月跌至接近纪录最低水平密歇根大学数据显示11月消费者信心指数降至5110月为53.6。 12、日本央行政策委员会委员Kazuyuki Masu表示日本央行接近作出加息决定。 13、穆迪将意大利信用评级从BAA3上调至BAA2展望稳定。\n"
text = "财联社电英伟达周五冲高回落股价涨幅收于1%,市场普遍认为其走势疲软"
// 分析情感
words := splitWords(text)

View File

@@ -189,6 +189,8 @@ function Analyze(){
type: 'treemap',
data: res['frequencies'].map(item => ({
name: item.Word,
// value: item.Frequency,
// value: item.Weight,
value: item.Score,
}))
}