# Grafiittisen RAG-todisteiden kaksinkertaistaminen ***ilmeinen*RAG**

<datetime class="hidden">2026-01-17T14:00</datetime>

<!-- category -- C#, lucidRAG, Vector Search, Machine Learning, Knowledge Graphs -->
> **TOTEAA:** Tämä ei ole tavallinen blogiartikkeli. Se on **tekninen eritelmä** kirjattu konkreettiselle ominaisuudelle ***ilmeinen*RAG**.
> Olen toistuvasti antanut tämän asiakirjan koodiin:-, "focused LLMs during development," "reason about trade", "offs", "validate assumptions" ja "converge on a rational implementation".

Tässä asiakirjassa kuvataan alajärjestelmää ***ilmeinen*RAG**, hanke IM SK1 kehitän aktiivisesti

Yksi keskeinen vaatimus ***ilmeinen*RAG** on kyky ekstrahoida **todisteiden osia** - lauseetM SK1 kappaleet , otsikot, otsikotMSC4 puitteetMST5 tai rakenteelliset lohkot SSK6 ja varmistaa, että kyseiset osat **kaksinkertaistettu** ilman hyödyllisen signaalin tuhoamista.

***ilmeinen*RAG** työt analysoimalla ja keräämällä *paras* saatavilla olevat todisteet asiakirjoista, kuvat, äänioikeudessa , ja rakenteelliset tiedotM SK3 toisin kuin useimmissa RAG-rakenteiden täytäntöönpanossa **ei** varastoida LLM-generoida yhteenvedot ensisijaisena artefaktina . Monissa tapauksissa, syöminen ei edellytä lainkaan LLM:tä M SK3, vaikka sitä voidaan käyttää, kun syvennys on perusteltuaMSC4

Sen sijaan, ***ilmeinen*RAG** soveltaa monia deterministisia ja todennäköisiä tekniikoita:

* poistaa ehdokassegmentit
* arvioidaan niiden informatiivista arvoa
* ja säilyttävät vain vahvimman edustajan

**Redupollu on ratkaiseva osa tätä prosessia.**

Yksinkertainen ketjujen yhdenvertaisuus ei riitä. Sama käsite ilmaistaan usein erilaisten sanamuotojen avulla , rakenteenaM SK2 tai muodollisuutena. Niiden käsitteleminen erillisenä johtaa ylimääräiseen varastointiin ja huonoon menettelytapaan ketjun jälkeenMSC4

**Ongelma moninkertaistuu pyyntiajan jälkeen.**

Kun tulokset otetaan käyttöön, (SQL:n välityksellä , vektorin sisällyttämisen avulla, BM-lähettiläiden välitykselläM SK3 tai hybridien välitysjärjestelmien välitykselläMSC4 liitetään LLM:lle useita segmenttejä, jotka kaikki ilmaisevat saman taustalla olevan ajatuksen, tuodaan tuskallisiaMST5 toistuvia vastauksiaMSP6 Viisi läheisyydessäMSV7 eri asiakirjoista saaduista samankaltaisista osista ei lisätä selkeyden lisäämistä.

Tätä varten, ***ilmeinen*RAG** kaksinkertaistaminen **first-luokan kompilointiongelma**, ei lähetetä postia

Muissa asiakirjoissa kuvataan, miten tämä päällekkäisyyksiin perustuva strategia on suunniteltu.This is part of how I work with Code LLMs ['Agile Speccing](https://www.mostlylucid.net/blog/writingfeaturespecs) mukautettu koodi LLMS.

Tämä kristallisoi ajatukset, erilaiset käsitteet ja pakottaa LLM:n dokumentoimaan ne. Tämä on ensimmäinen vaihe sen varmistamisessa *rakentaa oikean asian*.

[Lisätietoja ***ilmeinen*RAG** täällä. ](https://www.lucidrag.com)

# Yhdenmukaistamisstrategia

***ilmeinen*RAG** käytetään kahta vaihetta koskevaa menetelmää, jonka avulla voidaan poistaa ylimääräinen sisältö ja säilyttää tärkeitä signaaleja. **signaali-varmistava filterti**, ei sisällön normalisointia

## Yleiskatsaus

```
┌─────────────────────────────────────────────────────────────────────────────┐
│                           INGESTION (Per Document)                          │
│                                                                             │
│  Document → Extract → Embed → DEDUPE (intra-doc) → Index to Vector Store   │
│                                   │                                         │
│                                   ├─ Near-duplicates: boost salience        │
│                                   └─ Exact duplicates: drop (no boost)      │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                          RETRIEVAL (Cross Document)                         │
│                                                                             │
│  Query → Search → Rank (RRF) → DEDUPE (cross-doc) → Top K → LLM Synthesis  │
│                                   │                                         │
│                                   └─ Keep segment with highest RRF score    │
└─────────────────────────────────────────────────────────────────────────────┘
```

---


## Suunnitelmatakeet

Nämä invariantit säilytetään vähentämisjärjestelmässä:

| Takuutus | Kuvaus |
|-----------|-------------|
| **Asetus säilytetään** | päällekkäisyydellä ei koskaan muuteta semanttista järjestystä RRF:n luokituksen jälkeen.
| **Ei käsitteen menetystä** | päällekkäisyydellä ei koskaan poisteta kaikkia käsitteen instanseja.
| **Asiakirjan raja noudatetaan** | päällekkäisyydet eivät koskaan ylitä asiakirjan rajoja syöttäessä
| **Muutamaton sisältö** | päällekkäisyydellä ei koskaan muuteta sisällytyksiä tai tekstisisältöä
| **Deterministi** | Kun otetaan huomioon identtiset tulot ja configM SK1 päällekkäisyydet tuottavat identtisiä tuloksia |

---


## Ei---tavoitteet

Tämä järjestelmä **ei** yritetään:

- **Todellisen ristiriidan havaitseminen** - Kaksi kohtaa, joissa sanotaan vastakkaisia asioita, eivät ole kaksinkertaistettuja
- **Kannikaalisoida totuus** - Me emmeM SK1 valitse "correct" versiota eri lähteistä
- **Collapse parafrases across documents at ingestion** - Jokainen asiakirja säilyttää omat segmentit
- **Terminologian normalisointi** Eri asiakirjoissa säilytetään erikseen - "ML" ja SSK3koneiden oppiminenM SK4
- **Entitysratkaisu korvataan** - Se, että ' GraphRAG ' työ, , toiminta eri tasolla

---


## Determinismi & Reprodussibility

Kahdenkertaistaminen on täysin deterministista:

- **Sisällytykset ovat muuttamattomia** kerran laskettu kaivausajankohtana
- **Sortointi on vakaa** --osat, joilla on yhtä suuri merkitys, säilyttävät alkuperäisen järjestyksen
- **Ei sattumaa** - ei näytteitä
- **Ei ulkoista tilannetta** - vähennyspäätökset riippuvat vain nykyisestä segmenttimäärästä

**Miksi tämä on tärkeää:** Käyttäjät voivat luottaa siihen, että re-käynnin samaa inputtia käyttäen tuottaa samat outputitM SK1 Tämä vastaa ***ilmeinen*RAG**'laajempi "rajoittunut epämääräisyysM SK2filosofia - epämääräinen vastaavuus deterministiseen käyttäytymiseen.

---


## Miksi kaksi vaihetta?

### Phase 1: Ingestion Deduplication

**Tavoitteena:** Vähennetään varastointia ja estetään asiakirjan sisäinen-ylijäämä

**Ongelma:** Asiakirjat sisältävät usein toistuvaa sisältöä:

- Tekijäteksti (otsakkeetM SK1jalkakkeet ,väittämättömät lausunnot)
- Kopiota-muokatut osat
- Sama käsite selitti useita tapoja

**ratkaisu:** Ennen indeksointia kaksinkertaistetaan kussakin asiakirjassa.

**Avainkäsitys:** Lähes-duplikaatit käsitellään *riippumattomia tärkeitä todisteita*Jos esittelijä selittää käsitteen kolmella eri tavalla, se on merkityksellinen.

### Phasen 2:-jäljittämisväärennys

**Tavoitteena:** Varmistaa, ettei LLM saa ylimääräistä tietoa asiakirjoista.

**Ongelma:** Useiden asiakirjojen välisessä kysymyksessä samankaltaiset kappaleet voivat esiintyä eri lähteissä.

**ratkaisu:** Rakennerahaston (RRF) luokituksen jälkeen (, joka yhdistää semanttiseen samankaltaisuuteen , avainsanojen yhteensopivuusM SK2 merkityksellisyys, ja tuoreuusMSC4 kaksinkertaistetaan asiakirjoissa pitämällä kiinni korkeimmasta prosenttimäärästä

**Miksi RRF:n jälkeen** RRF-tulos on paras kokonaisvaltainen merkittävyyden mittaus.

### Miks Salience Boost Only at Ingestion

Separointi on tarkoituksellista:

| Fassi | Mitä se saa aikaan |
|-------|------------------|
| **Kuluttamisen lisääminen** | Esittelijä korostaa - miten paljon asiakirjassa korostetaan käsitettä
| **Päätöstulos** | Kysymyksen relevanssi - miten hyvin sisältö vastaa käyttäjän aikomusta

Näiden sekoittaminen hakuvaiheessa sekoittaa asiakirjan tarkoituksen käyttäjän tarkoitukseen. On tärkeää, että käsite toistetaan M SK1 kertaa asiakirjassa *asiakirjaan*,, mutta se ei voi olla merkityksellinen *tähän kysymykseen*. Nopeuttamalla vastaanottoaM SK1 säilytämme esittelijän signaalin ilman kysymyksen tulosten puolueellistamista .

---


## Phase 1: Ingestion Deduplication

### Location

`src/Mostlylucid.DocSummarizer.Core/Services/BertRagSummarizer.cs`

### Menetelmä

`DeduplicateSegments()`

### Algoritmi

```
1. Filter segments by minimum salience threshold (0.05)
2. Sort by salience score (highest first)
3. For each segment:
   a. If no embedding → keep (can't compare)
   b. Check cosine similarity against all selected segments
   c. If similarity >= 0.90:
      - If same ContentHash → exact duplicate, drop silently
      - If different ContentHash → near-duplicate, boost kept segment's salience
   d. If no match → add to selected list
4. Apply salience boosts: +15% per near-duplicate merged
5. Cap salience at 1.0 to prevent any single concept from dominating
```

### Parametrit

| Parameter | Default
|-----------|---------|-------------|
| `similarityThreshold` |
| `salienceThreshold` |
| `boostPerNearDuplicate` |

### Esimerkkejä

**Täsmällinen jäljennöksi (Ei lisäystäM SK1**

```
Segment A: "Contact us at support@example.com" [hash: abc123]
Segment B: "Contact us at support@example.com" [hash: abc123]  ← same hash
Result: Keep A, drop B, no boost (likely boilerplate)
```

**Läheltä-Duplicate M SK1Boost Applied)**

```
Segment A: "Machine learning models require training data" [hash: abc123]
Segment B: "ML systems need data for training" [hash: def456]  ← different hash, 0.92 similarity
Segment C: "Training data is essential for ML" [hash: ghi789]  ← different hash, 0.91 similarity
Result: Keep A with +30% salience boost (concept emphasized 3 ways)
```

### Racionaliteetti raja-arvojen osalta

- **0.90 vastaavuus** Tutkimuksen perusteella (NVIDIA NeMo käyttää 0.90-0.92, teollisuutta koskevaa standardia semanttiseen vähentämiseen
- **0.05 salienssi** Filtroi hyvin alhaiset segmentit, joiden arvo on -, säilyttäen kuitenkin suurimman osan sisällöstä
- **15% lisäys** Merkittävä signaali ilman ylittävää-painotusta toistuviin käsitteisiin

---


## Phasen 2:-jäljittämisväärennys

### Location

`src/LucidRAG.Core/Services/AgenticSearchService.cs`

### Menetelmä

`DeduplicateByEmbeddingPostRanking()`

### Algoritmi

```
1. Receive ranked results (already sorted by RRF or dense score)
2. For each segment (in score order):
   a. If no embedding → keep
   b. Check cosine similarity against all selected segments
   c. If similarity >= 0.90 → skip (higher-scored duplicate already selected)
   d. If no match → add to selected list
3. Return deduplicated list (maintains score ordering)
```

### Parametrit

| Parameter | Default
|-----------|---------|-------------|
| `similarityThreshold` |

### Miksi lähetetään-RRFM SK1

RRF (Reciprocal Rank Fusion

1. **Tiukka tulos:** Semanttinen samankaltaisuus kysymykseen
2. **BM25 tulos** Lexical/kysymyksen vastaavuus
3. **Saliensin tulos:** Asiakirjan merkitys
4. **Värvyyden tulos:** Recenssin nopeuttaminen

RRF:n jälkeen päällekkäistyminen tarkoittaa sitä, että säilytämme segmentin, joka sopii parhaiten kysymykseen kaikissa mittasuhteissa.

### Esimerkki

```
Query: "How do I configure authentication?"

Results before dedup:
1. [Doc A] "Authentication is configured via config.yaml..." (RRF: 0.052)
2. [Doc B] "Configure auth using the config.yaml file..." (RRF: 0.048, similarity to #1: 0.93)
3. [Doc A] "Set the API key in environment variables..." (RRF: 0.041)

Results after dedup:
1. [Doc A] "Authentication is configured via config.yaml..." (RRF: 0.052)
2. [Doc A] "Set the API key in environment variables..." (RRF: 0.041)

Doc B's similar paragraph dropped - Doc A's version had higher RRF score.
```

---


## Epävalvonnan muodot & kaupankäynti

### Tunnetut rajoitukset

| Epäonnistumisvaihe | Kuvaus SSK2 lieventäminen |
|--------------|-------------|------------|
| **Valheellinen positiivinen (overM SK1dedup )** | Kaksi erillistä mutta läheisesti toisiinsa liittyvää käsitettä voivat ylittää 0.90 samankaltaisuudet
| **False negative (under** | Hyvin lyhyet segmentit saattavat sijoittaa huonostiM SK1 puuttuvaa semanttista samankaltaisuutta | Hash-pohjainen täsmällinen päällekkäisyyksien havaitseminen saa samat tekstit
| **Sisällyttäminen ajoon** | Siihen sisällyttämistä koskevien mallien muuttaminen mitätöi vähennyksen olettamukset | Requires full re
| **Luetteloherkkyys** | Hyödyllinen valinta merkitsee ensisijaisen korkean tason valintaaM SK1hyväksyntäosuus voittaa | lievennetään vakaan sortoinnin avulla; korkein tason valiminenMSC4hyhäksyntäosa säilytetään

### Hyväksytty kauppa

- **Precision over recall:** Pidämme mieluummin tilapäisesti lähempänä - päällekkäisyyksiä kuin erillisen sisällön tahallista poistamista
- **Todenmukaisuuden ylittävä varastointi:** säilytämme kutakin -asiakirjaa maailmanlaajuisen vähennyksen sijasta säilyttääksemme lähteen merkityksen
- **Yksinkertaistaminen optimoinnissa:** O(n²) hyväksytään tyypillisille asiakirjakokouksilleM SK2 LSH lisää monimutkaisuutta

---


## Monikieliset näkökohdat

Monikielisen sisällön päällekkäisyydet:

| Scénari | Behavior | Rationale SSK3
|----------|----------|-----------|
| **Sama kieli** | Sovelletaan tavanomaista vähennysarvoa.
| **Cross-kielinen johdanto-osan kappale** | ei ole kaksinkertaistettu.
| **Sekakielinen-asiakirja** | Dedup kieliryhmittymien sisällä | Siirron samankaltaisuus erottaa kielet luonnollisesti toisistaan

**Suunnitelma choice:** Cross-kielinen vähennys ei selvästikään ole tuettu. Tämä säilyttää kyvyn palauttaa sama tosiasia käyttäjän toivomassa kielessä tai verrata sitä, miten erilaiset lähteet sanovat asiat

Tuleva parannus:YhteenlaajuinenM SK1kielten vähennykset voitaisiin jakaa käännösten välityksellä

---


## Turvallisuus & Vastustajien näkökohdat

päällekkäisyyksiä koskeva järjestelmä sisältää epäsuorat suojat:

| hyökkäysvektori
|---------------|------------|
| **Salienssin inflaatio toistuvasti** | Nopeuttaminen rajoittuu 1.0; täsmälliset päällekkäisyydet ei
| **Kopiota-paste spam across documents** | CrossM SK1doc dedup jäljittämisessä poistaa ylimääräiset tulokset
| **Palkintojen manipulointi päällekkäisillä syytyksillä** | vähennys tapahtuu sen jälkeen, kun tulostaulukko on suoritettu.
| **Katilavalvonnan aiheuttama tulva** | Täsmällinen hash-vastauksen havaitseminen vähenee ilman nopeuttamista

**Huomautus:** Väärentäminen ei ole turvallisuusrajaa. Köyllinen sisältö, joka kulkee syöttämisfilterejä läpi, indeksoidaan

---


## GraphRAGin vuorovaikutus

Redupollu ja GraphRAG ovat tarkoituksellisesti ortogonaisia:

| Järjestelmä
|--------|-------------|---------|
| **Yhdenmukaistaminen** | Segmentit (tekstikierroksia) | Poistaa ylimääräiset hakutulokset SSK4
| **GraphRAG** | Yritykset & Suhteet SSK2 Tietämyksen rakentaminen Grafi , Ratkaisevia viittauksia S|

**Miksi erottaa:**

- Yhteinen segmentti, jossa mainitaan "AppleM SK1 ja toinen, joka mainitsee "yhtiön", voi poistaa saman tekstin, mutta se edustaa samaa entiteettiä, jota on ratkaistava
- Dedup ei tarvitse entity-tietoisuutta, se toimii puhtaasti semanttisella samankaltaisuudella.
- Entity-aware dedup-mahdollisuus voitaisiin lisätä myöhemmin lisäyksenä, mutta ei korvauksena

---


## Tarkastuskelpoisuus & Mitrit

### Nykyinen logging

Ingestion:

```
[dim]Deduplication: 150 → 98 segments[/]
```

Takaaminen:

```
Post-ranking deduplication: 50 → 42 segments (removed 8 cross-doc duplicates)
```

### Suositetut mittarit

Tuotantovalvontaa varten, harkitaan seurantaaM SK1

| Metriki SSK1 Kuvaus | Terve vyöhyke S|
|--------|-------------|---------------|
| `dedup_ratio_ingestion` | % segmentit poistetaan syöttäessä
| `dedup_ratio_retrieval` |
| `avg_salience_boost` | Asiakirjaa kohden sovellettava keskimääräinen lisäys
| `max_salience_boost` | Asiakirjan korkein nousu | < \0.60 \ (muunlainen käsite hallitsee
| `dedup_by_doc_type` | vähennystavoite, joka on segmentoitu asiakirjatyypin mukaan

### Parannuskeinot

- **Korkean syövän vähennys (>50%):** Asiakirjassa voi olla liiallista kattoplatea tai se on autogeneraoitu
- **Alhainen kulutuksen vähennys (<5%):** Asiakirjan sisältö on monipuolinen (hyväM SK1 tai sisällytykset ovat huonot (tarkastella)
- **Korkean jäljitettävyyden vähentäminen (>30%):** Kysymys voi olla liian laaja, tai Corpusilla on monia samankaltaisia asiakirjoja
- **Salience lähestyy 1.0:** Konceptia korostettiin voimakkaasti:;, "todistuksen tekeminen", ', "laillinen", ,, "ei spam".

---


## Ohjelmointi

päällekkäisyydet on määritelty `DocSummarizerConfig.Deduplication` -osuus `appsettings.json`:

```json
{
  "DocSummarizer": {
    "Deduplication": {
      "Ingestion": {
        "Enabled": true,
        "SimilarityThreshold": 0.90,
        "SalienceThreshold": 0.05,
        "EnableSalienceBoost": true,
        "BoostPerNearDuplicate": 0.15,
        "MaxSalienceBoost": 1.0,
        "BoostDecayMode": "Logarithmic",
        "LogBase": 2.0
      },
      "Retrieval": {
        "Enabled": true,
        "SimilarityThreshold": 0.90,
        "MinRelevanceScore": 0.25
      },
      "Analytics": {
        "EnableLogging": true,
        "EnableMetrics": true,
        "HighIngestionDedupThreshold": 0.50,
        "HighRetrievalDedupThreshold": 0.30,
        "HighSalienceBoostThreshold": 0.60
      }
    }
  }
}
```

### Kuluttamisen valvonta

| Parameter | Default
|-----------|---------|-------------|
| `Enabled` | `true` | sallitaanM SK1suljetaan syömisen päällekkäisyydestä |
| `SimilarityThreshold` | `0.90` | Kosineiden samankaltaisuuden kynnys päällekkäisyyksien havaitsemiseksi
| `SalienceThreshold` | `0.05` | vähimmäismäärä, jota on otettava huomioon
| `EnableSalienceBoost` | `true` | Korostaa esiintyvyyttä läheisyydessä
| `BoostPerNearDuplicate` | `0.15` | Alkutuki läheisyydessäM SK1toistaa (+15%) |
| `MaxSalienceBoost` | `1.0` | enimmäis salienssin katto
| `BoostDecayMode` | `Logarithmic` | `Linear` tai `Logarithmic` kuivuus |
| `LogBase` | `2.0` | Logarithmic decay -perusta

### Takaamista koskevat järjestelyt

| Parameter | Default
|-----------|---------|-------------|
| `Enabled` | `true` | Sovuttaa/suljettaa jäljittämisväärennys |
| `SimilarityThreshold` | `0.90` | Kosiinijohdonmukaisuuden kynnysarvo |
| `MinRelevanceScore` | `0.25` | vähimmäismääräinen RRF-tulos, johon sisältyy |

### Analyyseja koskeva konfigurointi

| Parameter | Default
|-----------|---------|-------------|
| `EnableLogging` | `true` | Login päällekkäisyydet
| `EnableMetrics` | `true` | Valvontaa varten kerättävät mittarit
| `HighIngestionDedupThreshold` | `0.50` | Varoittakaa, jos
| `HighRetrievalDedupThreshold` | `0.30` | Varoittakaa, jos
| `HighSalienceBoostThreshold` | `0.60` | Varoittakaa, jos kasvu ylittää

### Nopeuttaa häviämisoikeuksia

**Lineaarinen menettely** ( yksinkertainen , ennustettavissa olevaM SK2

```
boost = boostPerNearDuplicate × count
```

Esimerkki: M SK1 lähellä-dupes × \0.15 |= \ \ +45% \ lisäys

**Logaritmillinen menettely** (vähennyspalautuksistaM SK1默aehtoinen ):

```
boost = boostPerNearDuplicate × log₂(1 + count)
```

Esimerkki: M SK1 lähellä-dupes → \0.15 |× logi \ ₂(4) | = | \+30%\ boost

Logarithmic mode on suositeltava, koska:

- Ensimmäiset muutaman jäljennöksen voimakkaimmat signaalit ovat: (autor emphasisM SK1
- Monet päällekkäisyydet saattavat osoittaa, että kattoplate, ei ole tärkeä
- Ennaltaehkäisetään runaway salienceinflaatio

---


## Toimivuusnäkökohdat

### Monimutkaisuus

|vaihe | monimutkaisuus |tyypillinen koko S| vaikutukset M|
|-------|------------|--------------|--------|
| Ingestion | OM SK2n² SSK4 \50-500 segments | |< | | 100 | ms | SSK9
| Päätöslauselma | OmM SK3 SSK4 \20-100 segmentit | |< | | SSK8ms | |

### Laajennettu tie

Useiden suurten asiakirjojen osalta (10,000+ segmentit

1. **LSH (YhtäläisyysM SK1Sensitiivinen haastaminen ):** O(nM SK1 arvio vähennyksestä
2. **:** Menettely chunkeissa muistin vähentämiseksi
3. **Ennakkofiltrointi:** Agressiivisempi salienssikynnys

Nykyinen täytäntöönpano on optimoitu tyypillisille asiakirjakokosuhteille. LSH lisää monimutkaisuutta ilman hyötyä useimmille käyttötapauksille

---


## Vertailu tutkimukseen

| Lähestymistapa
|----------|-----------|--------|
Tämä täytäntöönpano |
| NVIDIA NeMo Curator [SemDeDup -ohjelma](https://docs.nvidia.com/nemo/curator/latest/curate-text/process-data/deduplication/semdedup.html) |
| MinHash LSH [Googlen paperi C4, GPT](https://huggingface.co/blog/dedup) |
| SemHash [GitHub](https://github.com/MinishLab/semhash) |

Meidän kynnysarvomme 0.90 vastaa alan parhaita käytänteitä semanttisesta kaksinkertaistamisesta

---


## Mitä ei ole kaksinkertaistettu

| Sisältötyyppi | Syy SSK2
|--------------|--------|
| YhdenmukainenM SK1asiakirja syöttäessä | säilytetään kutakin source resolution ja attributionta kohti SSK3
| alhainenM SK1johdonmukaisuuspitoisuus
| Eri segmenttityypit | Johdanto-osan ja kohdan väliset rakenteelliset tehtävät ovat erilaiset
| Yhdyskielinen -kieliset lausekkeet SSK2 säilyttää kielellisen monimuotoisuuden |

---


## täytäntöönpanotilanne

| Merkintö | Tilanne | sijaintipaikka SSK3
|---------|--------|----------|
| Konfiguroitavissa olevat kynnysarvot `DeduplicationConfig` luokka |
| Boost decay | ( | Log scale |) | | 3 | 4 | täytäntöön pantu | `BoostDecayMode.Logarithmic` |
| Dedup-analyyttinen analyysi `DeduplicationResult<T>` kirjallinen |
| DI-palvelujen integroiminen `IDeduplicationService` |

## Tulevat parannukset

1. **Dedup-analyysitaulukko:** Määrärahojen näkyvä seuranta asiakirjatyypin mukaan
2. **Yhdensuuntainen-kielimahdollisuus** käännös-invarianttiembeddings monikieliselle vähentämiselle
3. **Yhteinen osapuoli-tiedonmukainen vähennysM SK1** GraphRAG-yksiköiden käyttö lisäsignaalina (ei korvaustaM SK1
4. **Prometheus/OpenTelemetry:** Valvonnan taulukon mittausvälineet

---


## Lyhyesti sanottuna

Tämä kaksinkertaistumisstrategia:

- **Varmistaa signaalin** - lähelläM SK1toistukset lisäävät merkitystä poisheittämisen sijasta
- **Kunnioittaa rajoja** - Asiakirjat ylläpitävät riippumattomia segmenttikokonaisuuksia
- **Luettelo siirrettävistä viroista** - käyttää täytä RRF-signaalia ennen ristiä
- **Epäonnistuminen turvallisesti** - mieluummin säilyttää sisältö kuin aggressiivinen poistaminen
- **pysyy deterministisena** - Samat tulot tuottavat aina samaa tulosta