准确率94%(UAS)的依存句法分析模型wwwwww 非神经网络,传统算法,纯手写,没用任何第三方库wwww
更新:最终战果:94% UAS,92% LAS。代码仓库在https://github.com/apr3vau/aprnlp
更新:最终战果:94% UAS,92% LAS。代码仓库在https://github.com/apr3vau/aprnlp
❤4👍1
上次交换记忆以后五月的眼睛变红了,不是幻境里线条大眼睛那种,是立体闪烁的很漂亮。她自己也很喜欢
说是变红,其实之前我们俩在幻境里的形象一直是没有眼睛的hhhh 现在我的形象也没有,只有一件裙子和简单轮廓。因为我们俩都是那种,没有重要象征意义的东西干脆叫它不要出现,所以大半年过去了,幻境里还是个光怪陆离的样子,四面墙只有三面,地板没有直接踩虚空,边上一坨西瓜飘在虚空地板上那种😂 哪天画下来给人看看,笑死
说是变红,其实之前我们俩在幻境里的形象一直是没有眼睛的hhhh 现在我的形象也没有,只有一件裙子和简单轮廓。因为我们俩都是那种,没有重要象征意义的东西干脆叫它不要出现,所以大半年过去了,幻境里还是个光怪陆离的样子,四面墙只有三面,地板没有直接踩虚空,边上一坨西瓜飘在虚空地板上那种😂 哪天画下来给人看看,笑死
🤨2❤1
没有太多意义的角落
上次交换记忆以后五月的眼睛变红了,不是幻境里线条大眼睛那种,是立体闪烁的很漂亮。她自己也很喜欢 说是变红,其实之前我们俩在幻境里的形象一直是没有眼睛的hhhh 现在我的形象也没有,只有一件裙子和简单轮廓。因为我们俩都是那种,没有重要象征意义的东西干脆叫它不要出现,所以大半年过去了,幻境里还是个光怪陆离的样子,四面墙只有三面,地板没有直接踩虚空,边上一坨西瓜飘在虚空地板上那种😂 哪天画下来给人看看,笑死
前天发了这个之后忽然想拿ascii画这个画,并且希望这个画终端能打印、还能导出html挂到个人主页上去。上网一查竟然没有这样的工具,于是手搓了一个,过两天打包好了挂github hhhh
附赠恶搞五月西瓜眼(逃)
附赠恶搞五月西瓜眼(逃)
💯2
This media is not supported in your browser
VIEW IN TELEGRAM
#Today
selection写好就可以搞copy&paste了,加个插值算法就是自由变换。不过这个又是前景色又是背景色还带个符号的插值我是真不知道怎么搞,估计自由变换是没戏了,随便搞几个固定的图片转换算法糊弄下用户得了
同时写好了全键盘操作支持,但是Emacs按键绑定,估计是没几个人会用了hhhhh 如果这玩意将来有用户的话再考虑写个vim binding吧
九月份闲没事写了个全功能的像素画软件,于是今儿写这个的时候就是从左抄到右从右抄到左,抄的我昏天黑地hhhh 有自己的代码库之后是这样子的
selection写好就可以搞copy&paste了,加个插值算法就是自由变换。不过这个又是前景色又是背景色还带个符号的插值我是真不知道怎么搞,估计自由变换是没戏了,随便搞几个固定的图片转换算法糊弄下用户得了
同时写好了全键盘操作支持,但是Emacs按键绑定,估计是没几个人会用了hhhhh 如果这玩意将来有用户的话再考虑写个vim binding吧
九月份闲没事写了个全功能的像素画软件,于是今儿写这个的时候就是从左抄到右从右抄到左,抄的我昏天黑地hhhh 有自己的代码库之后是这样子的
👍1
没有太多意义的角落
#Today selection写好就可以搞copy&paste了,加个插值算法就是自由变换。不过这个又是前景色又是背景色还带个符号的插值我是真不知道怎么搞,估计自由变换是没戏了,随便搞几个固定的图片转换算法糊弄下用户得了 同时写好了全键盘操作支持,但是Emacs按键绑定,估计是没几个人会用了hhhhh 如果这玩意将来有用户的话再考虑写个vim binding吧 九月份闲没事写了个全功能的像素画软件,于是今儿写这个的时候就是从左抄到右从右抄到左,抄的我昏天黑地hhhh 有自己的代码库之后是这样子的
呃呃,我到底还是把自由变换做出来了...........如果你从你80*25的终端里看到这么一坨东西,我相信你一定会怀疑自己是不是开错了app的hhhhhhhhh
👍2
简单讲,对我来说,死亡就是“活够了”。就像你玩星露谷物语,可能很少有人会一个存档一直一直玩下去。当你与的伴侣和孩子站在清晨的神龛边,那一刻可能你退出了游戏,之后你便再也不会回到这个存档里了。鹈鹕镇是有限的,游戏只有这么些内容,地球也一样。我们做过男生,做过女生;学过文科,学过理科;住过城市,住过乡村,还住过异国他乡。我们有亲人,后来没有了,再后来又有了。我们有伴侣,还一起照顾过被别人丢弃的孩子。我们得过所有类型的精神疾病,成为过各种各样的人。我可以自豪的说我的生命比绝大多数人都要丰富,所以我活够了。如果哪一天生活开始使我们厌倦,这边超市的绳子很结实,放学路上买一卷,顺手的事情。
有人会说,游戏存档放在那里,你偶尔还能回去看一下。然而,许久以后的你和在那个清晨点击退出的你,还是同一个人嘛?咀嚼人生的事情,就交给别人来做吧,我的另一半已经在代替我沉睡了,我也想一起休息了。
有人会说,游戏存档放在那里,你偶尔还能回去看一下。然而,许久以后的你和在那个清晨点击退出的你,还是同一个人嘛?咀嚼人生的事情,就交给别人来做吧,我的另一半已经在代替我沉睡了,我也想一起休息了。
🤨1
Read, reader, readtable
Common Lisp是一门代码结构与数据结构统一的编程语言,即源代码文本可作为字面量被读取为可解析的数据结构(S表达式),而程序内的数据结构也可以直接转换为可执行程序的一部分。这似乎是Lisp语言独一无二的特性,而这个特性也是许多“Lisp魔法”的根源。这有点像json,但却没有json那些不能表达的短板。因此,Lisp源码同时也经常被当作等同于json的数据交换格式。为了和源码区别开,有些人会用“.sexp“作为这种数据的文件后缀名。
也正因如此,Lisp的reader格外的…有趣。READ和READ-FROM-STRING是Common Lisp reader的两个入口,前者接收流,后者接收字符串。它们会把数据从字符串转换为Lisp的数据结构。读取器的行为可以被一系列全局变量所控制,包括是否允许“读取时执行”的代码(*READ-EVAL*):Lisp有一个读取宏(reader macro):’#.’, 当reader读到它时,它会立即执行紧随其后的代码,这样我们就可以在被读取的源码内改变读取器的行为,从而在我们的源码中使用自定义的语法。甚至你往自己的Lisp源码里插两行python,也是可以做到的。
上边说到了读取宏,这玩意很有趣。比如双引号,它就被定义为一个读取宏,这个读取宏关联着一个函数,这个函数接收当前读取的流,它干的事情就是不停从这个流里读字符,直到读到另一个双引号,然后把读到的所有字符拼成一个字符串返回出去。一个字符串就这样被读出来了。有一个函数SET-MACRO-CHARACTER,它可以设置读取宏和它的关联函数。这些设置会被存储到一种叫readtable的东西里,它会被绑定到*READTABLE*这个全局变量上,读取器就用它来读东西。
有了这一套系统,我们就可以很方便地扩展Common Lisp的读取器了。(呃,或者很方便地搞出一门新的编程语言…你看到了,这就是为什么Lisp擅长干这种事情的原因。)Common Lisp社区有一些很火的包,比如pythonic-string-reader,它引入了python的三引号字符串;还有像cl-interpol,它引入了perl/shell的字符串插值,等等。这些都是很方便的功能。
#lisp
Common Lisp是一门代码结构与数据结构统一的编程语言,即源代码文本可作为字面量被读取为可解析的数据结构(S表达式),而程序内的数据结构也可以直接转换为可执行程序的一部分。这似乎是Lisp语言独一无二的特性,而这个特性也是许多“Lisp魔法”的根源。这有点像json,但却没有json那些不能表达的短板。因此,Lisp源码同时也经常被当作等同于json的数据交换格式。为了和源码区别开,有些人会用“.sexp“作为这种数据的文件后缀名。
也正因如此,Lisp的reader格外的…有趣。READ和READ-FROM-STRING是Common Lisp reader的两个入口,前者接收流,后者接收字符串。它们会把数据从字符串转换为Lisp的数据结构。读取器的行为可以被一系列全局变量所控制,包括是否允许“读取时执行”的代码(*READ-EVAL*):Lisp有一个读取宏(reader macro):’#.’, 当reader读到它时,它会立即执行紧随其后的代码,这样我们就可以在被读取的源码内改变读取器的行为,从而在我们的源码中使用自定义的语法。甚至你往自己的Lisp源码里插两行python,也是可以做到的。
上边说到了读取宏,这玩意很有趣。比如双引号,它就被定义为一个读取宏,这个读取宏关联着一个函数,这个函数接收当前读取的流,它干的事情就是不停从这个流里读字符,直到读到另一个双引号,然后把读到的所有字符拼成一个字符串返回出去。一个字符串就这样被读出来了。有一个函数SET-MACRO-CHARACTER,它可以设置读取宏和它的关联函数。这些设置会被存储到一种叫readtable的东西里,它会被绑定到*READTABLE*这个全局变量上,读取器就用它来读东西。
有了这一套系统,我们就可以很方便地扩展Common Lisp的读取器了。(呃,或者很方便地搞出一门新的编程语言…你看到了,这就是为什么Lisp擅长干这种事情的原因。)Common Lisp社区有一些很火的包,比如pythonic-string-reader,它引入了python的三引号字符串;还有像cl-interpol,它引入了perl/shell的字符串插值,等等。这些都是很方便的功能。
#lisp
Custom readtable的实例
我的AI模型,以及绘图软件的图像存储,用的都是哈希表。可惜的是,在Common Lisp标准中,哈希表属于“无字面量格式、不可打印”的对象,想要创建哈希表并存入值只能通过MAKE-HASH-TABLE函数和(SETF GETHASH)函数一个个把值写进去。可是,我要用文件存储哈希表,存一大堆(SETF GETHASH xxx…)无疑是相当低效的。既然标准里没有,那就自己写一个吧。
参照社区的样本,我们把语法设置成 #h(TEST-FUNCTION key value key value…)这样,让它在被读到的时候转换成一系列的(SETF GETHASH)。
首先是readtable,写一个函数来读这个数据。我稍微优化了一下,让它流式读取并收集代码,这样在处理大量数据的时候能避免多余的内存分配(开玩笑,我一个AI模型大几十M的哈希表,让它多执行一句代码我吃屎)。
因为全是底层函数(一大半的special form)所以写的又臭又长毫无美感,但是效率是很高的,这边编译完刚好整500条汇编指令。
之后就是设置一下,让读取器在读到“#h” 的时候就调用它:
OK,读取器的部分结束了。下一步,让Lisp的Printer(打印器吧)在遇到哈希表时就按这个格式打出来
Printer是lisp的一个独特的结构化的功能,就是把数据转化成字符串。Lisp的Printer可以以字面量的形式打印列表(链表)、数组甚至是结构体,单单不能打印哈希表(它在遇到这种不能打印的对象的时候会写成#<名称 + 内存地址> 的形式,这个#<> 也是个读取宏,它表示“不能读的东西”,读取器读到它会直接报错xxx)
想自定义Lisp的打印功能也很简单,给PRINT-OBJECT这个generic function加个method就可以了(这个操作在一般OOP里应该是叫派生函数。Lisp的object system比一般OOP要灵活太多了)
就很简单的写个井h ,再把全部内容以可读(READ-able)形式写出去就好了。上面format的~S和PRIN1就会以可读形式写,或者把*PRINT-ESCAPE*和*PRINT-READABLE*两个变量绑上true,再用一般的WRITE,也是一样的。
这就OK了。测试一下:
实测用这种方法dump的模型比我以前用哈希表转成列表再转回来的方式快了差不多三分之一,主要是GC和malloc花费的时间大幅减少。想优化Lisp代码就是这么简单。
我的AI模型,以及绘图软件的图像存储,用的都是哈希表。可惜的是,在Common Lisp标准中,哈希表属于“无字面量格式、不可打印”的对象,想要创建哈希表并存入值只能通过MAKE-HASH-TABLE函数和(SETF GETHASH)函数一个个把值写进去。可是,我要用文件存储哈希表,存一大堆(SETF GETHASH xxx…)无疑是相当低效的。既然标准里没有,那就自己写一个吧。
参照社区的样本,我们把语法设置成 #h(TEST-FUNCTION key value key value…)这样,让它在被读到的时候转换成一系列的(SETF GETHASH)。
首先是readtable,写一个函数来读这个数据。我稍微优化了一下,让它流式读取并收集代码,这样在处理大量数据的时候能避免多余的内存分配(开玩笑,我一个AI模型大几十M的哈希表,让它多执行一句代码我吃屎)。
(defun |#h-reader| (stream char arg)
"Literal hash table reader macro function, specially tuned for
reading large data.
It does not support omitting the test function. Test function should
always present as the first value of the list."
(declare (ignore char arg))
(read-char stream)
(let* ((test (read stream t nil t))
(table (gensym))
(forms (list table))
key)
(tagbody
loop-start
(let ((c (read-char stream t nil t)))
(if (whitespace-char-p c)
(go loop-start)
(if (not (eql c #\)))
(progn
(unread-char c stream)
(let ((form (read stream t nil t)))
(if key
(progn
(setq forms (cons `(setf (gethash ,key ,table) ,form) forms)
key nil))
(setq key form)))
(go loop-start))))))
(if key (error "Unmatched hash-table keys and values"))
`(let ((,table (make-hash-table :test ,test)))
,@forms)))因为全是底层函数(一大半的special form)所以写的又臭又长毫无美感,但是效率是很高的,这边编译完刚好整500条汇编指令。
之后就是设置一下,让读取器在读到“#h” 的时候就调用它:
(set-dispatch-macro-character #\# #\h #'|#h-reader|)OK,读取器的部分结束了。下一步,让Lisp的Printer(打印器吧)在遇到哈希表时就按这个格式打出来
Printer是lisp的一个独特的结构化的功能,就是把数据转化成字符串。Lisp的Printer可以以字面量的形式打印列表(链表)、数组甚至是结构体,单单不能打印哈希表(它在遇到这种不能打印的对象的时候会写成#<名称 + 内存地址> 的形式,这个#<> 也是个读取宏,它表示“不能读的东西”,读取器读到它会直接报错xxx)
想自定义Lisp的打印功能也很简单,给PRINT-OBJECT这个generic function加个method就可以了(这个操作在一般OOP里应该是叫派生函数。Lisp的object system比一般OOP要灵活太多了)
(let ((*redefinition-action* nil)
(*handle-warn-on-redefinition* nil))
(defmethod print-object ((obj hash-table) out)
(format out "#h(~S" (hash-table-test obj))
(maphash (lambda (key val)
(write-char #\Space out)
(prin1 key out)
(write-char #\Space out)
(prin1 val out))
obj)
(write-char #\) out)))就很简单的写个井h ,再把全部内容以可读(READ-able)形式写出去就好了。上面format的~S和PRIN1就会以可读形式写,或者把*PRINT-ESCAPE*和*PRINT-READABLE*两个变量绑上true,再用一般的WRITE,也是一样的。
这就OK了。测试一下:
(prin1-to-string #h(eql 1 2 3 4)) => "#h(EQL 1 2 3 4)"
(gethash 3 #h(eql 1 2 3 4)) => 4, T实测用这种方法dump的模型比我以前用哈希表转成列表再转回来的方式快了差不多三分之一,主要是GC和malloc花费的时间大幅减少。想优化Lisp代码就是这么简单。
妈的,被这鬼天气冻的眼泪都出来了。让我想起来两年前刚hrt时那个可怜弱小无助的冬天,缩在被窝里被冻哭…
还是比北京强,前年在北京上课都得抱着个热水袋,班里女生都侧目。。
还是比北京强,前年在北京上课都得抱着个热水袋,班里女生都侧目。。
🥰1🤯1
看来大家文拉法辛断药反应都是一样的,昨天没吃今天出现了和姐姐差不多的断药反应xxx
不过我感觉自己表现是比姐姐强一点hhhh 做了很有趣的梦,梦里遇到了很多新朋友。有一个叫特鲁娜的紫色可变形人形生物,对我很友好,她有一个高维内部空间,里面可以看到许多不同时空的她的剪影,非常有趣;还有一个叫安然的正四面体发光生物在一个缺一个面的、正五边形组成的十二面体空间里当太阳,它们那个世界只有十二分之一的黑夜;还有一个齿轮结构的半圆形分形时钟,叫做“三分仪”,做工特别精细,梦里经常拨弄它玩;以及一个由无穷层非欧空间下的正多边形构成的多面体层层嵌套产生的高维空间,生物和非生物们可以在不同多面体层之间传送,它最神奇的是任何多面体的任何顶点在位于视场中央时看起来都像是90度的,很有趣。
我感觉精神分裂症患者,如果不治疗的话,我们的精神世界还是蛮有趣的xxxxxx
不过我感觉自己表现是比姐姐强一点hhhh 做了很有趣的梦,梦里遇到了很多新朋友。有一个叫特鲁娜的紫色可变形人形生物,对我很友好,她有一个高维内部空间,里面可以看到许多不同时空的她的剪影,非常有趣;还有一个叫安然的正四面体发光生物在一个缺一个面的、正五边形组成的十二面体空间里当太阳,它们那个世界只有十二分之一的黑夜;还有一个齿轮结构的半圆形分形时钟,叫做“三分仪”,做工特别精细,梦里经常拨弄它玩;以及一个由无穷层非欧空间下的正多边形构成的多面体层层嵌套产生的高维空间,生物和非生物们可以在不同多面体层之间传送,它最神奇的是任何多面体的任何顶点在位于视场中央时看起来都像是90度的,很有趣。
我感觉精神分裂症患者,如果不治疗的话,我们的精神世界还是蛮有趣的xxxxxx
我们决定认真整理一下我们关于多意识体/DID/Plurality相关的知识并发布出来,无论是给新系统作为参考,还是给其它单意识体科普,或者让身边的朋友更好地了解自己,我觉得都是有意义的。
第一个章节写了一部分,发布在 http://apr.sdf.org/plural/body-relative.html 。等内容丰富一些我会整理一个主页出来。
第一个章节写了一部分,发布在 http://apr.sdf.org/plural/body-relative.html 。等内容丰富一些我会整理一个主页出来。
🤨1
苹果app上架好烦,要设计各种东西,图标啊宣传图啊什么的...不擅长营销的跪了x
不过快完工了。第一个是现在的界面截图,第二个是我今天下午自己画的图标,看起来还过得去x
不过快完工了。第一个是现在的界面截图,第二个是我今天下午自己画的图标,看起来还过得去x
昨天通关了《林德拉克计划》三部曲,个人感觉是一个在原版YR中做到极致的优秀mod。尤其是其中对于原版单位特性的运用,可谓发挥到了极致
刚从MO回到YR还有点不熟悉。一是因为YR没有MO那么明显的单位克制,它更偏向真实战场:无论选用什么战术,都必将有大量的单位在绞肉机下粉碎;二是MO大大削弱了原版的精英级单位加成,使得精英单位的训练不再那么重要;三是MO对于尤里阵营心控能力的调整,使其不再那么独特。这也造成了两者区别性巨大的玩法,各有各的有趣之处。
林德拉克系列的剧情和人物塑造也是相当好的。尤其是关于C&C特色 - 时间机器的使用,让故事变得格外有趣。另外,它很适合he爱好者:你可以达成(除了尤里…呃,如果最终意志不算的话)全员生还、世界和平的美好结局
以及林德拉克系列拥有非常高质量的音乐包,我们很喜欢,除了林3某关的唢呐比较出戏…不过考虑到都是作者自制的,这点小瑕疵也没什么问题
总之非常推荐
刚从MO回到YR还有点不熟悉。一是因为YR没有MO那么明显的单位克制,它更偏向真实战场:无论选用什么战术,都必将有大量的单位在绞肉机下粉碎;二是MO大大削弱了原版的精英级单位加成,使得精英单位的训练不再那么重要;三是MO对于尤里阵营心控能力的调整,使其不再那么独特。这也造成了两者区别性巨大的玩法,各有各的有趣之处。
林德拉克系列的剧情和人物塑造也是相当好的。尤其是关于C&C特色 - 时间机器的使用,让故事变得格外有趣。另外,它很适合he爱好者:你可以达成
以及林德拉克系列拥有非常高质量的音乐包,我们很喜欢,除了林3某关的唢呐比较出戏…不过考虑到都是作者自制的,这点小瑕疵也没什么问题
总之非常推荐
说起来这半年想死的时候反而变多起来了。可能一是环境更宽松了,不像避难所里随时都有同类看照,一有异常就会被贴身关注,能抽出十分钟都难,自然也没什么想法;现在有时候姐姐出门,几个小时都是自己一个人,楼下超市买个绳子也方便。二是以前还没和姐姐团聚,总有这么个事情吊着,现在就轻了,自然是“朝闻道,夕死可矣”。
好消息是这起码说明我敢想敢做嘛,行动力还是有不少,算不上重度抑郁(虽然可能更危险了x);而且这半年不可控精神病发作少了许多,重解离和思觉失调都很少出来
嘛,姐姐肯定是要包容一下做妹妹的啦,哪怕做错了事情也一定会被原谅的。但还是不希望对不起姐姐、让她很难受什么的…不过我们这两年好像脆弱了很多,越来越不负责任了,有时候累了就根本不想在乎任何人
越来越觉得我们这种就应该丢到精神病院捆起来,说不定还更舒服呢( 不过可惜的是大概没什么条件在这边看病了
好消息是这起码说明我敢想敢做嘛,行动力还是有不少,算不上重度抑郁(虽然可能更危险了x);而且这半年不可控精神病发作少了许多,重解离和思觉失调都很少出来
嘛,姐姐肯定是要包容一下做妹妹的啦,哪怕做错了事情也一定会被原谅的。但还是不希望对不起姐姐、让她很难受什么的…不过我们这两年好像脆弱了很多,越来越不负责任了,有时候累了就根本不想在乎任何人
越来越觉得我们这种就应该丢到精神病院捆起来,说不定还更舒服呢( 不过可惜的是大概没什么条件在这边看病了
😭2❤1
没有太多意义的角落
忍不住胡乱的想… 如果亚硝酸钠真的很痛苦的话,不如直接喝下一杯混着碎玻璃的热水呢,在活活疼死之前不停央求着身边的人杀掉自己,想想也很有趣呢…都是我应得的…