首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用朴素贝叶斯的文本旋转器

使用朴素贝叶斯的文本旋转器
EN

Stack Overflow用户
提问于 2017-03-21 23:04:56
回答 2查看 1.9K关注 0票数 3

我正在写一个文本旋转器,它的工作正常,因为它应该。但由于使用的是从数据库中获取的字典,所以可读句子的准确率很低。它像这样返回spintax

代码语言:javascript
复制
{Your} {home| house| residence| property} {is} {your} {castle| mansion| fortress| palace}

并被传递到基于用户的原始输入随机选择同义词和输出句子的函数。例如,对于输入:

代码语言:javascript
复制
Your home is your castle.

将会返回

代码语言:javascript
复制
Your property is your mansion.

现在我想包括人工智能,因为它将使我的输出句子更具可读性。我想知道如何使用朴素贝叶斯进行更好的选择。我知道我可能需要训练才能得到更好的结果。

这是我目前选择单词的方法,现在非常简单。

代码语言:javascript
复制
def spin(spintax):
    while True:
        word, n = re.subn('{([^{}]*)}',lambda m: random.choice(m.group(1).split("|")),spintax)
        if n == 0: break
return word.strip()

提前感谢你们,如果你们需要我发布更多代码,请让我知道

EN

回答 2

Stack Overflow用户

发布于 2017-03-21 23:15:09

这可能会被关闭,因为你的问题没有简洁的答案,但你可能想看看nltk wordnet:

https://pythonprogramming.net/wordnet-nltk-tutorial/

票数 1
EN

Stack Overflow用户

发布于 2017-03-21 23:15:43

也许你可以下载谷歌从所有英语书籍中收集的数据集,并使用ngram?https://books.google.com/ngrams生成随机句子。

实现是使用Markov chain,其中下载的数据为您提供选择下一个单词的概率。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42930865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档