当前位置:  开发笔记 > 编程语言 > 正文

如何确定随机字符串是否听起来像英语?

如何解决《如何确定随机字符串是否听起来像英语?》经验,为你挑选了2个好方法。

我有一个基于输入单词列表生成字符串的算法.如何仅将听起来像英语单词的字符串分开?即.在保留LORD的同时丢弃RDLO.

编辑:澄清一下,他们不需要是字典中的实际单词.他们只需要听起来像英语.例如,KEAL将被接受.



1> Nils Pipenbr..:

你可以建立一个巨大的英文文本的马尔可夫链.

之后,您可以将单词输入马尔可夫链,并检查单词是英语的概率有多高.

见这里:http://en.wikipedia.org/wiki/Markov_chain

在页面底部,您可以看到markov文本生成器.你想要的恰恰相反.

简而言之:马尔可夫链为每个角色存储下一个角色将遵循的概率.如果你有足够的内存,你可以将这个想法扩展到两个或三个字符.



2> e-satis..:

使用贝叶斯过滤器的简单方法(来自http://sebsauvage.net/python/snyppets/#bayesian的 Python示例)

from reverend.thomas import Bayes
guesser = Bayes()
guesser.train('french','La souris est rentrée dans son trou.')
guesser.train('english','my tailor is rich.')
guesser.train('french','Je ne sais pas si je viendrai demain.')
guesser.train('english','I do not plan to update my website soon.')

>>> print guesser.guess('Jumping out of cliffs it not a good idea.')
[('english', 0.99990000000000001), ('french', 9.9999999999988987e-005)]

>>> print guesser.guess('Demain il fera très probablement chaud.')
[('french', 0.99990000000000001), ('english', 9.9999999999988987e-005)]

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有