# JavaScript (ES6), 266 bytes

_Saved 6 bytes thanks to @tsh_

Expects an array of characters. Returns **0** for _unambiguous_, **1** for _ambiguous_, or **3** for _impossible_.

<!-- language-all: lang-javascript -->

 s=>s.reduce((p,c,i)=>p|=1/c||b?b=0:/[bcfhiknopsuvwy]/.test(c)-~(b=/([ace][rsu]|[cgn][ade]|[iz][nr]|a[cglmt]|b[aehikr]|c[fl-o]|d[bsy]|f[elmr]|h[efgos]|kr|l[airuv]|m[cdgnot]|n[bhiop]|o[gs]|p[abdmortu]|r[abe-hnu]|s[bcegimnr]|t[abcehilms]|xe|yb)$/.test(c+s[i+1]))^2,b=0)

[Try it online!](https://tio.run/##lY/NTsMwEITvPEVVcUhEm7RFAoSU8iArI9mbTWLqeKM4KS2yePWy/FTiUEHr02j0eWb2RW91wN52w9xzSYeqOIRiHbKeyhEpSboZzmxarLtYLHOM0TyZYvGYg8GqsRvPXRi3r3uVZwOFIcF0/p6YIk9AIynow6giYO0V6JJE2jcFvldRi@naQUUDmiRHLITKzVnFEkzYq1gBuVbsBqiqOai46aMDbftxq2ILWNae5b8H01juVGSoBepAm7LlfpDeXjTNGy8yyFyqbftZPYiN0ula4XcU9ya9Pq6/CWBvlipNn1czOTM9IPvAjjLHdVIlkGXZFHk6kSfQJM8nujW2HnkMVyfQVfNwy3fTH3T0f8LO/s79D/5ij7BtOw7BGkenWPxOPmcwLhfNPZ85eEcXDN4RTc8dzHhBMPLuZPDhAw "JavaScript (Node.js) – Try It Online")