On Claim Generation - robbiemu/aclarai GitHub Wiki
Let's walk through an example of processing conversatino turns, clearly separating:
- Sentence →
- Disambiguation (may still contain references) →
- Decomposition → only those outputs that pass Claimify's claim criteria
🧪 Input Tier 1 Block (chat turn)
in the else block I get:
O argumento do tipo "slice[None, None, None]" não pode ser atribuído ao parâmetro "idx" do tipo "int" na função "__setitem__"
"slice[None, None, None]" não pode ser atribuído a "int"
PylancereportArgumentType
Note: Claimify considers previous and next raw sentences during Selection and Disambiguation.
- These are raw (pre-decomposition), split from a sliding window of sentences across turn boundaries.
So for each sentence s_i
, Claimify uses [s_{i-p}, s_i, s_{i+f}]
as context during early stages.
📥 Sentence-Level Chunks (post chunking, before Claimify)
in the else block I get: O argumento do tipo "slice[None, None, None]" não pode ser atribuído ao parâmetro "idx" do tipo "int" na função "__setitem__"
"slice[None, None, None]" não pode ser atribuído a "int" PylancereportArgumentType
🔍 Step 1: Selection
Both sentences are passed to the Selection stage. Assume Selection returns "verifiable"
for both.
🔧 Step 2: Disambiguation
We now rewrite sentences to remove ambiguity and add inferred subjects, where possible.
Sentence 1 → Disambiguated:
[The user] received a type error from Pylance when executing the __setitem__ method with a slice argument.
Sentence 2 → Disambiguated:
Pylance reported that a slice object cannot be assigned to an integer parameter.
Note: These may still have compound structure — that’s handled next.
✂️ Step 3: Decomposition
We now break these into standalone, atomic claims that meet the paper’s criteria:
(:Claim)
nodes:
✅ Final Claim Text | Passes Criteria? | Notes |
---|---|---|
[The user] received a type error from Pylance. |
✅ Yes | Verifiable, complete |
The error occurred while calling __setitem__ with a slice. |
❌ No | Ambiguous "the error" → dropped |
In Python, a slice cannot be assigned to a parameter of type int in __setitem__. |
✅ Yes | Clean, static fact |
Pylance reported that a slice object cannot be assigned to an integer parameter. |
✅ Yes | Self-contained + includes source (Pylance) |
(:Claim)
nodes:
✅ Final set of stored [The user] received a type error from Pylance.
In Python, a slice cannot be assigned to a parameter of type int in __setitem__.
Pylance reported that a slice object cannot be assigned to an integer parameter.
⚠️ Discarded Candidate:
The error occurred while calling __setitem__ with a slice.
❌ Not context-complete
This becomes a :Sentence node.
🧠 Summary
Step | Output Quality |
---|---|
Disambiguation | May still contain unresolved references |
Decomposition | Produces only self-contained, verifiable atomic claims |
Graph | Only claims that survive decomposition become (:Claim) nodes; others result in (:Sentence) only |