Given two strings `word1` and `word2`, return the **minimum number of operations** required to convert `word1` to `word2`.
You have the following three operations permitted on a word:
- Insert a character
- Delete a character
- Replace a character
**Example 1:**
```
Input: word1 = "horse", word2 = "ros"
Output: 3
Explanation:
horse → rorse (replace h→r)
rorse → rose (remove r)
rose → ros (remove e)
```
**Example 2:**
```
Input: word1 = "intention", word2 = "execution"
Output: 5
```