)]}'
{
  "commit": "0fec0bee779435957d92730316376657f0456463",
  "tree": "bdd5dbd99a1eb1c098ed1d933a8f0b5d32b98a1e",
  "parents": [
    "92f779d03ee09c543434432d222d4267fc286784"
  ],
  "author": {
    "name": "Marc Kupietz",
    "email": "kupietz@ids-mannheim.de",
    "time": "Fri Sep 04 19:42:38 2026 +0200"
  },
  "committer": {
    "name": "Marc Kupietz",
    "email": "kupietz@ids-mannheim.de",
    "time": "Fri Sep 04 19:42:38 2026 +0200"
  },
  "message": "Compute logDice as defined by Rychly, and split off the auto focus score\n\nca_logdice() and ca_dice() multiplied the node frequency by the window\nsize, while the citation right above ca_logdice() and the tooltip in the\nDeReKoVecs web UI both give Rychly\u0027s (2008) definition,\n14 + log2(2*f12/(f1+f2)).\n\nThe window size does not belong there. It is correct in the expected\nfrequency of the other measures, where f1 * window_size counts the\npositions a collocate can occupy, but the Dice coefficient relates the\nco-occurrence frequency to how often the two words occur at all, so its\ndenominator sums marginal frequencies. Adding f1 * window_size, a count\nof window positions, to f2, a count of word tokens, mixes units, and it\nmade the coefficient asymmetric: swapping node and collocate changed the\nscore, 0.64 against 3.96 for Grund and triftiger from the same counts.\n\nBecause f1 * window_size dominated the denominator for a frequent node,\nrare collocates were penalised. Among the collocates of \"Grund\" in a 5+5\nwindow, \"triftiger\" scored 0.64, below \"Berlin\" at 2.03, although Berlin\nco-occurs with Grund less often than chance predicts. They are now 3.96\nand 3.84, and comparable with other tools such as Sketch Engine.\n\nThe auto focus score, reported as LDaf, keeps that factor and moves into\nits own function, ca_focus_score(). It is Dice-like but not logDice, and\nthe two are deliberately not on a common scale: the penalty on wide\nwindows is what makes it sensitive to how concentrated a pair is, which\nis what tells actual collocations from words that merely share contexts,\nand is why LDaf orders collocates well enough to be the default order.\nIts values are unchanged, bit-identical for all 504 collocates of the\nfive nodes checked against the state before this change, as are the\nselected windows.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nChange-Id: I72bd69d4d2a74127ca87bf20d94f9ffafda6c191\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f327c4bc3c8957c78a82743bd3bed3192bf366ad",
      "old_mode": 33188,
      "old_path": "src/collocatordb.cc",
      "new_id": "4da2e064cef925c896daf2adf61cd7b20f05888a",
      "new_mode": 33188,
      "new_path": "src/collocatordb.cc"
    },
    {
      "type": "modify",
      "old_id": "75eae5bf159a694796830c92129e2228ae24f681",
      "old_mode": 33188,
      "old_path": "tests/basic_test.c",
      "new_id": "53e2736ea772f72fac353c5e67449cf28abc9629",
      "new_mode": 33188,
      "new_path": "tests/basic_test.c"
    }
  ]
}
