gpt4 book ai didi

c# - 如何使函数像 IsWordPronounceable(SomeWord :String): boolean;

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:03:52 25 4
gpt4 key购买 nike

我想做一个函数IsWordPronounceable(SomeWord:String): boolean; “英语”我正在使用 SAPI 语音识别,我需要这个功能。我使用 delphi 编译器,C/C#/C++ 或任何语言都可以。请帮忙。我不知道如何开始...

一开始,我认为添加语法规则可以解决问题。该方案是突出显示对用户说的文本。但引擎无法识别不发音的单词。

最佳答案

这并不容易做到。我的方法是通过一些简单的统计分析。

首先下载一本英语单词词典(或任何语言,真的 - 您只需要一本“可发音”的单词词典)。然后,将字典中的每个单词分成 3 个字母的 block 。所以给定“字典”这个词,你会把它分解成“dic”、“ict”、“cti”、“tio”、“ion”、“ona”、“nar”和“ary”。然后将字典中所有单词的每个三个字母 block 添加到一个集合中,该集合将三个字母 block 映射到它出现的次数。像这样:

"dic" -> 36365
"ict" -> 2721
"cti" -> 532

等等... 接下来,通过将每个数字除以字典中的单词总数来规范化数字。这样,您就可以将三个字母组合映射到字典中包含该三个字母组合的单词的百分比。

最后,像这样实现您的 IsWordPronounceable 方法:

bool IsWordPronounceable(string word)
{
string[] threeLetterBlocks = BreakIntoThreeLetterBlocks(word);
foreach(string block in threeLetterBlocks)
{
if (blockFrequency[block] < THRESHOLD)
return false;
}
return true;
}

显然,您需要“调整”一些参数。 THRESHOLD 参数是一个, block 的大小也可能最好是 2 或 3 或 4 等。我认为需要一些修改才能使其正确。

关于c# - 如何使函数像 IsWordPronounceable(SomeWord :String): boolean;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2919002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com