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

Sketch Engine语料库CQL查询:匹配无前后空格的点

问题分析与正确写法

首先,你的CQL写法主要错在这几个地方:

  • token划分逻辑误解:你要找的a.a这类实例,绝大多数语料库会把它识别为单个token,而非a、.、a三个独立token。你用三个连续token的规则去匹配,自然找不到结果。
  • 属性与正则误用:
    • lemma!="[[:space:]]"完全无效,因为空格不会作为任何token的lemma存在,这个条件等于没加。
    • [lemma="[[:alpha:]]*"]里的*会匹配空字符串,可能命中.a或a.这类不符合要求的情况;就算是三个token的场景,也该用+(匹配至少一个字母)而非*。

正确写法分两种场景:

场景1:目标是含中间无空格点的单个token(如a.b、hello.world)

直接匹配表层文本(用word属性,避免词元还原干扰):

[word="^[[:alpha:]]+\.[[:alpha:]]+$"]

说明:^和$限定整个token的首尾,[[:alpha:]]+匹配至少一个字母,\.匹配点。

场景2:若语料库确实将a.a拆分为三个独立token(极少出现)

匹配连续的字母token、点token、字母token:

[word="[[:alpha:]]+"] [word="\."] [word="[[:alpha:]]+"]

这里用word而非lemma,确保匹配的是表层的字母和点,不受词元还原影响。

另外无需用\s或[[:space:]]排除空格——token序列本身就代表文本中连续无空格的部分,有空格的地方会被拆分为不同token组,中间会有<s>等分隔标记。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 21:30:06