扩展文本浏览器找到的一些短语你好呀,
我正在使用文本浏览器在一个我比较熟悉的干净语料库(万智牌卡牌的官方文本)中查找短语。它的表现很棒,但我想改进一些地方。它能找到常见的短语“消灭至多一个目标”,但却找不到“消灭至多一个目标生物”或“消灭至多一个目标结界”。我希望能够找到这些短语。它们足够常见,理应被找到。我尝试将每个短语的最大单词数从 10 个增加到 100 个,再增加到 1000 个,看看这是否会影响算法的行为,但并没有。我已经关闭了所有停用词,也没有使用词干提取。我将要查找的短语数量上限设置为 50,000,但它只找到了大约 30,000 个,所以我认为这不是问题所在。
除了这些基本设置之外,我还能做些什么来“训练”短语查找算法,使其能够找到这些扩展短语呢?我不懂正则表达式,但或许可以在这方面做些改进?这种不幸的截断(至少就我的研究而言)在我的语料库中普遍存在,所以我正在寻找一种能够系统性地解决这个问题的方法,而不是像添加我正在研究的特定短语那样的一次性修复。我认为,如果能够教会它将所有现有短语都延长一个词,我就能找到很多我想要的短语。我猜想,应该存在某种规则,让它在每次添加一个词时都认为已经找到了每个短语的最佳停止点,但对于这个语料库来说,它经常会停得稍微短一点。当然,它也会找到各种各样我并不需要的、毫无意义的十个词的短语。
有没有人知道如何让它将找到的每个短语都增加一个词?
我发现更改任何设置都没什么效果。有人有什么建议吗?
基础数据分析与建模消费者和市场研究数据探索与可视化回复:扩展文本浏览器找到的一些短语嗨@caseylott ,
这个想法很棒——我在想,市场上的 LLM Prompt Runner 或许是个不错的起点——让 LLM 来完成一些繁重的工作,比如识别关键短语或清理原始条目,从而简化数据查找。MTG 官方文本的语法结构非常规范(动词 + “目标” + 可选量词 + 宾语类型),因此,如果 LLM 提示它提取每个目标从句的完整宾语,就能可靠地输出“目标生物”、“目标结界”、“目标生物或鹏洛客”等结构化结果。
另一种方法是将短语“destroy up to one target”改为单个短语“destroy_up_to_one_target”。目前,文本浏览器会将各个单词拆分,由于结尾的词语并不突出(例如,没有很多“target creature”),所以它们被当作单独的条目。如果将其转换为“destroy_up_to_one_target”,它将以“destroy_up_to_one_target creature//enchantment”或类似形式出现。您可以使用“列”>“重新编码”>“替换字符串”并按照以下屏幕截图进行操作:

回复:扩展文本浏览器找到的一些短语谢谢你,Ben。我会试试手动重新编码的方法。我不确定 Marketplace 上的 LLM 选项是什么,但如果需要付费,我就不买了。
凯西
“错误的模式也可能很危险”回复:扩展文本浏览器找到的一些短语嗨,本,
我只想表扬一下你,并告诉你手动重编码的方法非常有效。每次我发现某个短语似乎结尾少了一个词时,我只需将其重编码为一个单词并用下划线括起来,然后用相同的设置重新运行分析。每次都能找到我想要的短语。例如,在将“At the beginning of each opponents”重编码为“At_the_beginning_of_each_opponents”并移至词项列表后,下次运行文本浏览器时,它找到了“At the beginning of each opponents upkeep”,这正是我最初要找的。我的语料库和我要查找的短语都比较小,所以我大概可以在20-30个地方进行这种手动重编码,有效地找到所有我要查找的词项。对于这种小型分析,我觉得你给了我一个可以反复使用的“秘诀”。非常感谢。
凯西
回复:扩展文本浏览器找到的一些短语嗨@caseylott ,
LLM Prompt Runner(以及应用商店中的所有扩展程序)是免费的——它可以用来向 LLM 发送多行条目并获取其响应——例如,我拥有卡牌的所有行描述,无需手动请求 LLM 提供分析(例如“这张卡牌是否过于强大?请回答‘是’或‘否’”),它会自动针对每个条目向 LLM 发送请求并收集响应。这对于数据处理非常有用,尤其是在处理语义文本时,不同的描述符可能指向同一个事物(反之亦然)。
如果你打算把这篇文章公开发表,那真是太好了!
谢谢,
本