You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中String.Contains与Regex.Match的误报问题及优化咨询

提升新闻标题关键词匹配准确率的建议

问题背景

我尝试筛选标题包含upgrade相关词汇(如upgrade、upgrades、upgrade's)的新闻文章,但使用String.Contains或Regex.Match时出现大量误报,希望得到提升准确率的方向建议。

基础代码

string baseHeadline = (string)newsRow["Headline"];
string headline = baseHeadline.ToLower();
bool isUpgrade = false;
isUpgrade = headline.Contains("upgrade");

误报与正确命中示例

误报标题

Stocks That Hit 52-Week Lows On Friday
JMP Securities Reiterates Market Outperform on Capital Southwest, Maintains $22 Price Target

正确命中标题

Analyst Upgrades Arrowhead Pharma Citing 'Attractive Risk/Reward'
Morgan Stanley Upgrades Confluent to Overweight, Raises Price Target to $30

提升准确率的具体方向

  • 使用正则匹配完整词汇:用单词边界\b限定匹配独立单词,同时覆盖复数、所有格变体。示例正则:\bupgrade(s|'s)?\b,开启忽略大小写选项。
    代码示例:
    using System.Text.RegularExpressions;
    // ...
    string pattern = @"\bupgrade(s|'s)?\b";
    bool isUpgrade = Regex.IsMatch(baseHeadline, pattern, RegexOptions.IgnoreCase);
    
  • 结合财经语境过滤:财经新闻里upgrade常和分析师(Analyst)、投行名称、评级调整(Overweight)等关联,可额外检查标题是否包含这类相关词汇,进一步压缩误报范围。
  • 排除无关子串干扰:针对像Southwest这类包含upgrade字母片段但无关的词汇,可通过正则明确排除,或构建黑名单词汇列表,命中则直接排除。
  • 用词干提取统一匹配:把标题词汇提取词干(如将upgrades、upgrade's还原为upgrade),再和目标词干匹配,避免词形变化导致的误判。

内容的提问来源于stack exchange,提问作者IslandIslandIsland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 22:32:12