返回列表

18th place solution

618. USPTO - Explainable AI for Patent Professionals | uspto-explainable-ai

开始: 2024-04-24 结束: 2024-07-24 法律检索 数据算法赛
第 18 名解决方案
作者: Raki, Lukas Bogenrieder
发布日期: 2024-07-25
竞赛排名: 第 18 名

第 18 名解决方案

方法概述

我们的最终方法采用了一个预处理和过滤管道,旨在最小化过拟合。最初,我们使用了一种复杂的方法,涉及带有线性规划的 CPC 代码搜索、多种算法(包括决策树)以及逻辑链(NOT, OR)。最终,我们将其简化为基于单词匹配的直接 OR 链。我们创建了一个包含所有出版物过滤信息的 SQLite 数据库,并在该 notebook 中仅使用单个 OR 链实现,达到了 0.72+ 的分数(我们最好的提交仅为 0.66,这个 notebook 只是将我们方法的目标分数从精确率改为 mAP,我们在下面解释这个混淆)。

细节

  1. SQL 数据库创建

    • 数据按单词分割以创建用于推理的 SQL 数据库。
    • 每列都使用 whoosh.analysis.StandardAnalyzer(stoplist=BRS_STOPWORDS) | NumberFilter() 进行处理,然后去除重复项以节省内存,因为最初优先考虑单词搜索。
  2. 推理时的邻居

    • 我们将 12.5 万篇主要出版物及其邻居加载到字典中,以便在推理期间进行 O(1) 检索。额外的邻居 - 邻居贡献了一个单词出现字典,但未直接使用。
  3. 特征 DataFrame 生成

    • 我们识别了任何邻居中出现的所有单词,并将它们添加到特征列表中。为每个专利创建了一个 dataframe,所有特征作为列,50 行表示在邻居中的出现情况,结果产生了大约 10,000 个唯一单词。
  4. OR 链生成

    • 基于惩罚假阳性并奖励真实匹配的函数迭代选择特征。优化了惩罚假阳性的参数以选择得分最高的 OR 链,侧重于精确率而不是平均精度均值 (mAP)。

问题:指标误解

一个重大的疏忽是对评分指标的误解。最初,我们假设该指标可以视为精确率,因为错误匹配会填满至 50 个而不考虑顺序。后来,我们意识到使用了 tf-idf 和排序,但没有重新评估我们基于精确率的方法。这导致选择了 35/15 的分割而不是 25/0 的分割,导致分数较低(0.7 对 0.84)。

缺失的改进

潜在的改进包括:

  • 使用 Ray/GPU 进行更快的推理以利用更多邻居。
  • 对多个 OR 链使用 AND。
  • 一个语义独立的 NOT-OR 链,利用全局单词计数字典来省略所有正例中缺失的高频单词。这也需要某种方法来识别具有大量内部重叠的省略,也许需要一些语义相似性度量,因为通常前 3 个省略会是类似 [material, materials, metal] 的内容。

结语

我们向比赛组织者、分享方法和想法的参与者表示感谢,并向获胜者表示祝贺!

同比赛其他方案