<html>
<p>
    DeReKoVecs (Fankhauser & Kupietz 2022, 2017, 2019; Kupietz et al. 2018) is the new open lab of the Corpus Linguistics group at IDS Mannheim. Similar to the
    Collocation Database <a href="http://corpora.ids-mannheim.de/">CCDB</a> (Keibel &amp; Belica 2007, Belica 2011), DeReKoVecs serves for investigating and comparing
    of measurements, dimension reduction procedures, visualizations etc., to track down detailed paradigmatic and syntagmatic relations
    between words based on their use in very large corpora such as the German Reference Corpus DeReKo (Kupietz et al. 2010, 2018) or the Reference Corpus of the Contemporary Romanian Language CoRoLa (Barbu Mititelu et al. 2018, Cristea et al. 2017).
</p>
<p>
    The models used here are based on an extension of word2vec (Mikolov et al. 2013), wang2vec (Ling et al. 2015) 
    and on the other hand on simple co-occurence counts and analysis methods that operate on these.
</p>
<h3>Effective window size and auto focus</h3>
<p>
    The association measures LL, MI, MI², MI³ and nPMI are not computed over the whole context
    window, but only over the <em>attested positions</em>, i.e. those positions in which the
    collocate occurs at least once. The expected frequency is based on this effective window,
    which rates a collocate occurring in few positions higher than one spread over many, and thus
    helps to tell actual collocations from words that merely occur in the same contexts. Note
    that the values are therefore not directly comparable to those of tools that always compute
    with a fixed window size.
</p>
<p>
    LDaf, in contrast, is the <em>auto focus</em> score (Belica), i.e. the highest value that any
    – not necessarily contiguous – selection of positions reaches, an idea also known from the
    collocation database <a href="http://corpora.ids-mannheim.de/">CCDB</a>. As its denominator
    grows with the width of the selection, it rewards pairs whose co-occurrences are
    concentrated, which is why it usually orders collocates most usefully and is used as the
    default order here. It is Dice-like, but not Log-Dice, so it is not on the same scale as LD
    and can be higher or lower than it. Both can be read off the auto-focus column of the
    collocation table, where the attested positions are marked with ◽ and those selected by the
    auto focus with ◾. LD itself does not depend on any window.
</p>

<h3>Disclaimer</h3>
<p>
    Please note that  – unlike e.g. <a href="https://korap.ids-mannheim.de/">KorAP</a> – we cannot operate DeReKoVecs 
    as a service with high reliability. DeReKoVecs is only intended as a glass laboratory. 
    Things can change unannounced at any time and even a complete breakdown over a longer period of time cannot be excluded with certainty.
    If you would like to use DeReKoVecs for your own research in the longer term, please contact us.
</p>
<h3>Changes</h3>
<p>
    <strong>2026-09-04</strong>

        Log-Dice (LD) is now computed exactly as defined by Rychlý (2008),
        \(14 + \log_2 \frac{2f_{1,2}}{f_1 + f_2}\), without the window size factor that used to be
        applied to \(f_1\). Values are therefore higher than before, by up to \(\log_2\) of the
        window size, and directly comparable to those of other tools such as Sketch Engine.
        LL changes as well: its contingency table is now scaled with the window size as a whole
        rather than in its row total alone.
        LDaf is unchanged, as is the order of the collocates: it is the auto focus score, which
        keeps the window size factor deliberately, since that is what makes it sensitive to how
        concentrated a pair is. MI, MI², MI³ and nPMI are unaffected, as they only need the
        expected co-occurrence frequency, which is unchanged.
</p>

<h3>Scheduled Downtimes and Announcements</h3>
<dl id="downtimes">
    <dt></dt><dd>–</dd>
</dl>
</html>
