Skip to content

Latest commit

 

History

History
50 lines (46 loc) · 2.48 KB

README.md

File metadata and controls

50 lines (46 loc) · 2.48 KB

由于本人高三,今年高考之前无暇维护,敬请谅解。

噪句

Build Status Just for Fun

噪句 是一个多自然语言语句成分随机组合系统,简单点说,就是随机造句

使用姿势

  1. 设定生成规则;
  2. 补充随机词库;
  3. 然后你就可以轻松得到一句不严肃的话,或者一首所谓“现代诗”用来投给某个小刊物。

安装

还没到npm上,到时候吧。

使用

噪句API被包含在一个唯一命名空间对象Zaoju中。

如何在网页上运行

(最好在文档末)包含zaoju.js,然后只需要在页面上创建:

  • 一个文本元素,用以输出生成的文字;
  • 几个按钮,特定按钮的onclick调用zaoju.js中的特定API函数,并作适当的异常处理;
  • 几个文本框,用于接受输入以设定词库或生成规则。 示例网站戳此:http://www.med-studios.com/wapp/zaoju

概念与原理

词元

一个词元是一段文字,同时拥有一个或多个标签。 如:

  • 老王,标签有“人物”,“男性”
  • 教室,标签有“地点”,“在学校内”,“可燃”
  • 皮卡丘,标签有“带电”,“非人类”,“黄(颜)色”,“可吸”

词元是一个概念,用代码实现时,一个词元可能并不被某个对象映射。

词库

词库是唯一的,它包含若干个标签数组,每个标签数组里的元素均是拥有该标签的词元的文字内容(字符串)。 如:

  > dict["person"]   < (3) ["老王", "班主任", "你"]   > dict["can-fly"];   < (5) ["飞机", "天鹅", "猪", "心情", "灰尘"]   > dict["brilliant"];   < (Infinity) ["我", "我", "我", ...]

最后两句是插科打诨啦~

生成规则

生成规则是一个数组,其元素按照顺序表示了随机生成的文字应有怎样的规律。 其元素均为至少含有typevalue属性的对象:

  • type,只可能有两个值:"text""tag"
  • value,一个非空字符串 生成文字时,生成函数会依次检查生成规则,若type"text",则直接输出value;若为"tag",则从词库中对应的标签数组里随机选择一个词元输出。

许可

MIT License 版权所有 © 2014-2018 谭视怀 Tan Shihuai