热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

转换生成语法自然语言处理_小说生成者的事后分析:具有自然语言某些特性的语法写作...

转换生成语法自然语言处理几年前,我写了一个演示显示黑客程序,生成了用于拼写的字母和词汇。对于NaNoGenMo2017,我对其进行了修改&

转换生成语法 自然语言处理

几年前,我写了一个演示/显示黑客程序 ,生成了用于拼写的字母和词汇。 对于NaNoGenMo 2017 , 我对其进行了修改,以使用PIL代替乌龟,使用markov链(而不是随机选择单词),并写入A1尺寸的页面图像 。

我想对这里发生的事情做一些说明。

首先,我生成一个字符集。

每个字符都是由角度变化分开的一系列笔画 。 最初,此逻辑用于pyturtle的笔式系统,这对于模拟手写很有用。 因此,笔划进入下一个笔划-除重音符号外,无需抬起笔就可以绘制每个字符。 (一个角色可以有一个或两个点或重/重音符-如果一个角色有两个点,则是变音符号,如果一个角色既有重音又有重音,则其克拉为克拉。)

字符中的每个元素(除重音符号之外)实际上都是注音的: 每种笔触类型都是辅音,每个角度变化都是元音 。 (这是由hangul启发的,在这里看起来像一个语标实际上是最多三个语音字符的簇。)在这种情况下,我们最多有五个笔触角对。 这些语音读数未使用,但在脚本的原始版本中,它们位于调试输出中。

笔触可以是全长,也可以是一半,并且可以是直线或半圆。 角度变化限制为45度间隔(即45、90、180,-45和-90)。 这些限制旨在模拟在手写语言中可能实际起作用的各种差异-不同字符之间必须有很大的界限,否则很容易造成误读。

字符集介于20到36个字符之间-与语音书写系统中一两个声音字符的实际范围大致相同。 由于我们的每个字符实际上最多有五个音节,因此我们确实应该有更多的音节,但这很痛苦。

然后,我通过组合随机字符来创建词汇表。 最初,我对短单词有偏见,并将这种偏见与词频联系在一起,但是我不再这样做了,因为我在输出方面遇到了问题。 该词汇大约有300个字,长度为1至5个字符。

掌握了词汇后,我会通过创建一堆句子的马尔可夫模型类似于真实语言的马尔可夫模型来制作类似于语法的东西。 基本上, 我创建了一个句子池,并在增长池的同时,将词汇表中随机选择的单词累积到池中随机选择的部分 。 结果是某些单词将具有明显更强的关联性,因此,一旦我们建立了马尔可夫模型,通过该模型链接产生的东西的分布将是zipf — 我认为 。 我实际上没有正确地计算出它,所以我可能完全错了。

我为词汇表中的每个单词创建一个图像,然后将结果链接并呈现到页面上。 我得到了很多单字行,因此我创建了一个过滤器,该过滤器可以在98%的时间内合并行,从而使页数减少到更合理的水平。

在我的第一个pdf文件中 ,由于基本笔划单元非常小(5像素),因此很难看到这些字符。 因此,我创建了第二个基本笔划长度为10像素的对象 。

由于正确地调整字距非常困难,因此我打开了草书模式并使用已连接的脚本创建了另一个版本 。

所有这些都具有50k或更多的“单词”。

翻译自: https://hackernoon.com/post-mortem-of-a-fiction-generator-asemic-writing-with-some-properties-of-natural-languages-2b008fbf8563

转换生成语法 自然语言处理



推荐阅读
  • OpenCV4.5.0+contrib编译流程及解决错误方法
    本文介绍了OpenCV4.5.0+contrib的编译流程,并提供了解决常见错误的方法,包括下载失败和路径修改等。同时提供了相关参考链接。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文讲述了如何通过代码在Android中更改Recycler视图项的背景颜色。通过在onBindViewHolder方法中设置条件判断,可以实现根据条件改变背景颜色的效果。同时,还介绍了如何修改底部边框颜色以及提供了RecyclerView Fragment layout.xml和项目布局文件的示例代码。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 解决文件名过长下载失败问题的jQuery方案
    本文介绍了使用jQuery解决文件名过长导致下载失败的问题。原方案中存在文件名部分丢失的问题,通过动态生成隐藏域表单并提交的方式来解决。详细的解决方案和代码示例在文章中给出。 ... [详细]
  • 1.官网下载了mysql-5.7.17-win64.zip包,配置遇到很多麻烦,记录一下;2.解压后放到指定的文件夹,修改mysql-5.7.17的配置文件my-default.i ... [详细]
  • Jmeter对RabbitMQ压力测试
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Jmeter对RabbitMQ压力测试相关的知识,希望对你有一定的参考价值。Jm ... [详细]
  • PRML读书会第十四章 Combining Models(committees,Boosting,AdaBoost,决策树,条件混合模型)...
    主讲人网神(新浪微博:豆角茄子麻酱凉面)网神(66707180)18:57:18大家好,今天我们讲一下第14章combiningmodel ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
author-avatar
噬灬魂鴒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有