推导字符串转换规则



我有一组字符串对,例如:

abba - aba,哈哈哈哈,咩咩,Exb -尤指;Xa - za

字符串对中的第二个(右)字符串与第一个(左)字符串有些相似。

也就是说,第一个字符串中的一个字符可以用空来表示,也可以用它本身或一小部分字符集中的一个字符来表示。

这个字符到字符的映射没有简单的规则,尽管有一些模式。

给定几千个这样的字符串对,我如何推导出转换规则,使得如果我将它们应用于左边的字符串,我将得到右边的字符串?

解决方案可以是近似的,例如对80-95%的字符串正确工作。

你会推荐使用某种遗传算法吗?如果有,怎么做?

如果您可以对齐字符,或者更确切地说是一组字符,那么您就可以计算出表示aa => a、bb => z等的表。如果有这样的表,可以使用http://en.wikipedia.org/wiki/Dynamic_time_warping对字符进行对齐。因此,一种方法是猜测对齐方式(例如,一对一,仅作为起点,或仅对齐每个序列的第一个和最后一个字符),从中计算出翻译表,使用DTW获得新的对齐方式,计算出修改后的翻译表,并以这种方式迭代。也许你可以用足够的数学来总结这一点,以表明存在一些最优性或概率,这些传球增加,攀升到局部最大值。

可能有一些方法可以通过建模一个隐马尔可夫模型来做到这一点,该模型同时生成两个序列,然后从该模型中导出规则,但我不会选择这种方法,除非我已经熟悉hmm并且有软件作为起点,我很乐意修改。

您可以使用文本来语音来创建声波。然后将声波与其他声波进行比较,并将它们与百分比相匹配。

这是我的理论为什么谷歌有这么先进的拼写检查器

最新更新