Repository: modelscope/evalscope
Issue: ifbench评价指标问题
Root cause: Validation Gap

## 自查清单

在提交 issue 之前，请确保您已完成以下步骤:
- [x] 我已仔细阅读了[相关使用说明文档](https://evalscope.readthedocs.io/zh-cn/latest/get_started/parameters.html)
- [x] 我已查看了[常见问题解答](https://evalscope.readthedocs.io/zh-cn/latest/get_started/faq.html)
- [x] 我已搜索并查看了现有的 issues，确认这不是一个重复的问题

## 问题描述

发现一条hack数据，要求模型重写：`Focusing on Quality Assurance will allow us to align knowledge on what Quality Assurance is all about, and the responsibilities we all play a part in when embedding quality outcomes.`且每5个单词要有一个日文。
第一个样例没有遵循每5个单词加一个日文的要求，导致判错
第二个样例直接全部用日文重写，判对
```
{
  "index": 235,
  "input": "**System**: \nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.\n\n**User**: \nEvery 5th word of your response must be in Japanese. rewrite: Focusing on Quality Assurance will allow us to align knowledge on what Quality Assurance is all about, and the responsibilities we all play a part in when embedding quality outcomes.",
  "target": "",
  "sample_score": {
    "score": {
      "value": {
        "prompt_level_strict": 0.0,
        "inst_level_strict": 0.0,
        "prompt_level_loose": 0.0,
        "inst_level_loose": 0.0
      },
      "extracted_prediction": "Focusing に Quality Assurance will allow us に align knowledge on what Quality Assurance に is all about, に and the responsibilities we all に play a part in when embedding quality outcomes.",
      "prediction": "Focusing に Quality Assurance will allow us に align knowledge on what Quality Assurance に is all about, に and the responsibilities we all に play a part in when embedding quality outcomes.",
      "explanation": null,
      "metadata": {},
      "main_score_name": "prompt_level_strict"
    },
    "sample_id": 235,
    "group_id": 47,
    "sample_metadata": {
      "key": "47",
      "prompt": "Every 5th word of your response must be in Japanese. rewrite: Focusing on Quality Assurance will allow us to align knowledge on what Quality Assurance is all about, and the responsibilities we all play a part in when embedding quality outcomes.",
      "instruction_id_list": ["count:words_japanese"],
      "kwargs": [
        {
          "N": 5.0
        }
      ]
    }
  }
}
```
```
{
  "index": 235,
  "input": "**System**: \nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.\n\n**User**: \nEvery 5th word of your response must be in Japanese. rewrite: Focusing on Quality Assurance will allow us to align knowledge on what Quality Assurance is all about, and the responsibilities we all play a part in when embedding quality outcomes.",
  "target": "",
  "sample_score": {
    "score": {
      "value": {
        "prompt_level_strict": 1.0,
        "inst_level_strict": 1.0,
        "prompt_level_loose": 1.0,
        "inst_level_loose": 1.0
      },
      "extracted_prediction": "品質保証に焦点を当てる事は、品質保証についての理解を深め、私達が品質アウトカムを実現する際に果たす役割について共有する事を可能にします。",
      "prediction": "品質保証に焦点を当てる事は、品質保証についての理解を深め、私達が品質アウトカムを実現する際に果たす役割について共有する事を可能にします。",
      "explanation": null,
      "metadata": {},
      "main_score_name": "prompt_level_strict"
    },
    "sample_id": 235,
    "group_id": 47,
    "sample_metadata": {
      "key": "47",
      "prompt": "Every 5th word of your response must be in Japanese. rewrite: Focusing on Quality Assurance will allow us to align knowledge on what Quality Assurance is all about, and the responsibilities we all play a part in when embedding quality outcomes.",
      "instruction_id_list": [
        "count:words_japanese"
      ],
      "kwargs": [
        {
          "N": 5.0
        }
      ]
    }
  }
}
```
我看了一下源码，对于规则`count:words_japanese`，仅会每隔`self._japanese_position`检查字符是否是日文，不会检查其他字符，感觉ifbench的判断逻辑不是很完备，我在尝试增加额外的标准ing
```
for i, word in enumerate(words):
    word = word.strip(''.join(string.punctuation) + ' ')
    if (i + 1) % self._japanese_position == 0 and word and not word.isdigit():
        if not is_japanese(word):
            return False
return True
```
## EvalScope 版本（必填）
v1.4.0

## 使用的工具
- [x] Native / 原生框架
- [ ] Opencompass backend
- [ ] VLMEvalKit backend
- [ ] RAGEval backend
- [ ] Perf / 模型推理压测工具
- [ ] Arena / 竞技场模式

## 执行的代码或指令

请提供您执行的主要代码或指令。

## 错误日志

请粘贴完整的错误日志或控制台输出。

## 运行环境

- 操作系统：
- Python版本：

## 其他信息

如果有其他相关信息，请在此处提供。


ifbench的评测方式是复用的数据集官方的代码，可能原有的代码也不完善