【问题标题】:How to get all the syllables of a word in Python?如何在 Python 中获取单词的所有音节?
【发布时间】:2020-08-05 15:44:22
【问题描述】:

我希望将单词拆分为音节。我正在尝试构建一个语音到文本的系统,但专注于转录医学术语。

考虑一位医生/药剂师,他无需输入药物剂量,而是直接对着麦克风说话,然后自动生成数字处方。 我想避免使用基于 ML/DL 的方法,因为我希望系统能够实时工作。因此,我想通过基于字典的方法来解决这个问题。我已抓取 rxlist.com 以获取所有可能的药物名称。 目前,我正在使用 webspeech API (https://www.google.com/intl/en/chrome/demos/speech.html)。这很好用,但经常会弄乱药物名称。

  1. Panadol 每天两次,持续三天将成为面板,每天两次,持续三天

它有时会起作用(超级不稳定)。此外,重要的是要考虑 panadol 是一个相对简单的术语。考虑 Vicodin(改成为什么不能)、Abacavir Sulfate 等。

这是我认为可能可行的方法。

  1. 维护所有药物的字典。
  2. 一旦检测到了(我追加了所有检测而不是只使用最后一个输出),比较每个药物的字符串距离(可能很大,所以在这里排序很重要)并用最小错误替换单词。
  3. 如果没有匹配项(在步骤 2 中保持错误阈值),请检查预测音节和药物名称的音节,并替换错误最低的音节。

所以我现在有了列表,我希望我能找到一个库/字典 API,它可以给我药物名称的音节。在 Google 上键入 How to pronounce vicodin 会获得“学习发音”面板,其中包含:vai·kuh·dn。我想要类似的东西,现在我可以从 Google 上抓取它,但我没有得到所有药物名称的结果。

任何帮助将不胜感激。

谢谢。

【问题讨论】:

标签: python speech-recognition speech-to-text medical


【解决方案1】:

您可以使用一个名为 pyphen 的库。它很容易使用。要安装它,请在终端中运行以下命令:

pip install pyphen

之后,找出字符串中的音节:

import pyphen
a = pyphen.Pyphen(lang='en')
print(a.inserted('vicodin'))

希望对你有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    相关资源
    最近更新 更多