我想把这个词分成音节。我正在尝试建立一个语音转文本系统,但专注于转录医学术语。
考虑一下一位医生/药剂师,他不需要输入药物剂量,只需对着麦克风说话,就会自动生成数字处方。我希望避免基于ML/DL的方法,因为我希望系统能够实时工作。因此,我想通过基于字典的方法来解决这个问题。我已经抓取了rxlist.com
以获得所有可能的药物名称。目前,我正在使用webpeech API(https://www.google.com/intl/en/chrome/demos/speech.html)。这种方法效果很好,但经常会把药名弄乱。
- Panadol每天两次,持续三天,将成为每天两次、持续三天的面板
它有时工作(超级不稳定(。此外,重要的是要考虑巴拿马是一个相对简单的术语。考虑维柯定(改为为什么不能(、硫酸阿巴卡韦等
以下是我认为可能奏效的方法。
- 维护一本所有药物的字典
- 一旦检测到了(我将所有检测结果相加,而不是只使用最后一个输出(,比较与每种药物的字符串距离(可能很大,因此排序在这里很重要(,并用最小的错误替换单词
- 如果没有匹配(在步骤2中保持错误阈值(,则检查预测的音节和药品名称的音节,并替换错误最低的音节
所以我现在有了这个列表,我希望如果我能找到一个图书馆/词典API,它可以给我药品名称的音节。在谷歌上输入How to pronounce vicodin
会得到"学会发音"面板,面板上有:vai·kuh·dn。我想要类似的东西,现在我可以从谷歌上抓取,但我没有得到所有药物名称的结果。
如有任何帮助,我们将不胜感激。
谢谢。
您可以使用名为pyphen的库。它很容易使用。要安装它,请在您的终端中运行以下命令:
pip install pyphen
之后,找出字符串中的音节:
import pyphen
a = pyphen.Pyphen(lang='en')
print(a.inserted('vicodin'))
我希望你能找到这个有用的