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

如何用TfidfVectorizer的token_pattern匹配所有空格分隔词汇

TfidfVectorizer匹配所有空格分隔词汇的正确方案

要匹配所有仅以空格分隔的词汇(包括单字符如"0"、"a",以及带特殊符号的如"0?0"这类),你最初使用的token_pattern=r"[^ ]+"可能无法达到预期效果,因为它仅匹配非空格字符序列,但无法确保是独立的空格分隔词汇。

两种有效解决方法:

  • 使用单词边界正则匹配
    用\b定义单词边界,搭配\S+匹配所有非空白字符序列,确保捕获完整的空格分隔词汇:

    vectorizer = TfidfVectorizer(smooth_idf=False, token_pattern=r"\b\S+\b")
    
    • \b:匹配单词边界,确保目标词汇被空格或文本首尾包裹
    • \S+:匹配一个或多个非空白字符,覆盖所有你需要的词汇类型
  • 直接用空格分割作为分词器
    如果完全不需要正则匹配,直接指定tokenizer为str.split,严格按空格分割文本:

    vectorizer = TfidfVectorizer(smooth_idf=False, tokenizer=str.split)
    

    这种方式更直接,完全符合“仅以空格分隔”的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:55:18