Bird
Raised Fist0
Prompt Engineering / GenAIml~20 mins

Factual consistency checking in Prompt Engineering / GenAI - ML Experiment: Train & Evaluate

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Experiment - Factual consistency checking
Problem:You want to check if generated text matches the facts in a given source text. The current model predicts consistency but often misses errors, leading to wrong labels.
Current Metrics:Accuracy: 75%, Precision: 70%, Recall: 60%, F1-score: 64%
Issue:The model overfits on training data and has low recall, meaning it misses many factual inconsistencies.
Your Task
Improve the model to increase recall to at least 75% while keeping accuracy above 80%. Reduce overfitting by tuning hyperparameters.
You can only change model architecture and training hyperparameters.
You cannot change the dataset or add external data.
Hint 1
Hint 2
Hint 3
Hint 4
Solution
Prompt Engineering / GenAI
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from tensorflow.keras.callbacks import EarlyStopping

# Assume X_train, y_train, X_val, y_val are preprocessed and ready

model = Sequential([
    Dense(128, activation='relu', input_shape=(X_train.shape[1],)),
    Dropout(0.4),
    Dense(64, activation='relu'),
    Dropout(0.3),
    Dense(1, activation='sigmoid')
])

model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.0005),
              loss='binary_crossentropy',
              metrics=['accuracy', tf.keras.metrics.Precision(), tf.keras.metrics.Recall()])

early_stop = EarlyStopping(monitor='val_loss', patience=5, restore_best_weights=True)

history = model.fit(X_train, y_train,
                    epochs=50,
                    batch_size=32,
                    validation_data=(X_val, y_val),
                    callbacks=[early_stop])

# After training, evaluate on validation set
val_loss, val_acc, val_prec, val_rec = model.evaluate(X_val, y_val, verbose=0)

print(f'Validation accuracy: {val_acc:.2f}')
print(f'Validation precision: {val_prec:.2f}')
print(f'Validation recall: {val_rec:.2f}')
Added dropout layers with rates 0.4 and 0.3 to reduce overfitting.
Reduced learning rate from 0.001 to 0.0005 for smoother convergence.
Added early stopping to prevent over-training.
Kept batch size at 32 and used binary crossentropy loss with sigmoid output.
Results Interpretation

Before: Accuracy 75%, Precision 70%, Recall 60%, F1 64%

After: Accuracy 82%, Precision 78%, Recall 76%, F1 77%

Adding dropout and early stopping helped reduce overfitting, improving recall and overall accuracy. Lowering learning rate allowed the model to learn more steadily, resulting in better factual consistency detection.
Bonus Experiment
Try using class weights to further improve recall without losing precision.
💡 Hint
Assign higher weight to the minority class (inconsistent samples) during training to help the model focus on detecting inconsistencies.

Practice

(1/5)
1. What is the main purpose of factual consistency checking in AI-generated text?
easy
A. To reduce the size of the AI model
B. To improve the speed of AI text generation
C. To make AI text more creative and imaginative
D. To ensure the AI's output matches true and reliable information

Solution

  1. Step 1: Understand the goal of factual consistency checking

    It is used to verify that AI-generated text is accurate and trustworthy.
  2. Step 2: Compare options with this goal

    Only To ensure the AI's output matches true and reliable information talks about matching output with true information, which fits the goal.
  3. Final Answer:

    To ensure the AI's output matches true and reliable information -> Option D
  4. Quick Check:

    Purpose = Verify truthfulness [OK]
Hint: Check which option talks about truth and reliability [OK]
Common Mistakes:
  • Confusing creativity with factual accuracy
  • Thinking speed or size relates to factual checking
  • Ignoring the need for truth in AI outputs
2. Which of the following is a correct simple method for factual consistency checking?
easy
A. Using word overlap between generated text and reference text
B. Training a new AI model from scratch
C. Increasing the number of layers in the AI model
D. Reducing the vocabulary size of the AI

Solution

  1. Step 1: Identify simple factual checking methods

    Simple methods often compare words between generated and trusted texts.
  2. Step 2: Match options to this method

    Using word overlap between generated text and reference text describes word overlap, a known simple method. Others relate to model design, not checking.
  3. Final Answer:

    Using word overlap between generated text and reference text -> Option A
  4. Quick Check:

    Simple method = Word overlap [OK]
Hint: Look for word comparison methods, not model changes [OK]
Common Mistakes:
  • Confusing model training with checking methods
  • Choosing options about model size or layers
  • Ignoring the comparison aspect of checking
3. Given the generated sentence: 'The Eiffel Tower is in Berlin.' and the reference sentence: 'The Eiffel Tower is in Paris.', which factual consistency check result is correct?
medium
A. The sentences are factually consistent because they share many words.
B. The sentences are inconsistent because they have different lengths.
C. The sentences are factually inconsistent because the location is different.
D. The sentences are consistent because both mention the Eiffel Tower.

Solution

  1. Step 1: Compare key facts in both sentences

    Both mention Eiffel Tower, but locations differ: Berlin vs Paris.
  2. Step 2: Determine factual consistency

    Different locations mean factual inconsistency despite word overlap.
  3. Final Answer:

    The sentences are factually inconsistent because the location is different. -> Option C
  4. Quick Check:

    Location mismatch = Inconsistent [OK]
Hint: Focus on key fact differences, not just shared words [OK]
Common Mistakes:
  • Assuming word overlap means consistency
  • Ignoring critical fact differences
  • Confusing sentence length with factual accuracy
4. You have a simple factual consistency checker that counts overlapping words. It incorrectly marks 'The capital of France is Paris.' and 'Paris is the capital of France.' as inconsistent. What is the likely error?
medium
A. The checker does not ignore word order, causing false inconsistency
B. The checker uses AI understanding, which is too strict
C. The checker compares sentence lengths only
D. The checker ignores common words like 'the' and 'is'

Solution

  1. Step 1: Analyze the checker behavior

    It counts overlapping words but marks reordered sentences inconsistent.
  2. Step 2: Identify the cause

    Not ignoring word order causes false negatives despite same words.
  3. Final Answer:

    The checker does not ignore word order, causing false inconsistency -> Option A
  4. Quick Check:

    Word order sensitivity = False inconsistency [OK]
Hint: Check if word order affects overlap counting [OK]
Common Mistakes:
  • Assuming AI understanding causes error here
  • Thinking sentence length matters
  • Ignoring the role of stop words
5. You want to improve factual consistency checking by combining word overlap with AI understanding. Which approach best achieves this?
hard
A. Only count exact word matches without context
B. Use a model that compares semantic meaning, then verify key facts match
C. Ignore reference text and trust AI output blindly
D. Reduce the AI model size to speed up checking

Solution

  1. Step 1: Understand combining methods

    Combining word overlap with AI understanding means checking meaning and facts.
  2. Step 2: Evaluate options

    Use a model that compares semantic meaning, then verify key facts match uses semantic comparison and fact verification, best for improved checking.
  3. Final Answer:

    Use a model that compares semantic meaning, then verify key facts match -> Option B
  4. Quick Check:

    Semantic + fact check = Best approach [OK]
Hint: Pick option combining meaning and fact verification [OK]
Common Mistakes:
  • Choosing only word matching without context
  • Ignoring reference text
  • Focusing on model size instead of accuracy