如何计算语言?
当我要建立对某个概念的理解/输出对某个概念的理解时,首先要收集碎片。但是我并不善于结构化这些碎片,当多于20个碎片🧩出现的时候。第一,我不擅长去找寻他们之间的关系。第二,我无法准确的定义他们的关系。
我在想人工标记、打标签这件事。我发现了两点:
1.仅仅一周积累的块,我都无法给他标记清楚,而且随着块的增加——不同时间点我想给一个块打的标签都不同。但有一点,这些 标签词 会取自此段文本。
2.我不擅长结构化这些脆片,定义关系(包含、因果、相关不相关),这些关系也是随着信息输入保持动态。注意力的最自然基本的动作是文本对齐(parallel)、词对齐。因为我发现非常多的文字块里面的「词」非常接近,甚至多的可以实现一个段落中匹配3-4组词,但各自归属不同的context之中。
举个例子,如上图,我读了三篇文章,每篇里面留下来若干块。当我把他们放在一起的时候,可以发现一些可以对齐的块。比如section A的部分,先不管各自的语境,可以直接看到共同的部分:
从低维向高维空间...低维向高维空间...计算...
这几篇文章的语境不一样:第一篇是在讲「词嵌入」这个的自然语言处理技术,第二篇是在讲大脑认知,从神经生物学角度去解释计算。当然这两个语境之间会有联系,不管是(生物)神经表征启发计算机语言设计,还是反向影响等等。
如果我把这几个块放到一起(他们显然属于两篇文章)组成一个新文章,或用来解释一个问题,就可能是:如何计算语言(文本)
如何计算语言
我在想机器能做的是什么?文字作为人理解事物的一种基本表征,人用词进行表述,人收集词借他人之口进行表述,以块状陈列(In sequence) ;机器去做词的对齐,不用理解上下文,直接做词的相似计算。
上下文的作用可能被过度强调了,“没有上下文,缺失语境”是肯定的,这对于阅读理解来说很重要,但并不是所有阅读都是为了完全理解作者要说什么(咱不是品李白杜甫的诗)。
问题导向的阅读是为了“缝合“,「词」的作用是串联或者cross-reference关联语境,为认知提供更宽阔的视野。而且,上下文很可能已经包含在用词中了。如果我们以块来看待媒介的话,词就是那个诱饵,通过「词」把「块」串链起来,并可随时查阅块所链接的原始语境。
神经科学家安妮·丘奇兰德(Anne Churchland)丘奇兰德和阿博特明确地指出了个中的含义:“当我们建立起对脑的全面理解时,这种理解可能会很像一幅拼贴出的作品,由高度多样化的‘布片’松散地 ‘缝合’ 而成。”
上面「如何计算语言?」这个问题显然是残缺的,还不能被很好的描述出来所以显得非常泛。当更多的块被串联在这个问题下面时,这个问题会被塑造的更具体。
比如我先是有一个想法:一直以来,对文本的兴趣让我觉得应该有一套优雅的程式(符号)语言去描述语言本身,而计算的目的是汇集最贴合的原始语境以解释和定义问题。
That which renders Logic possible, is the existence in our minds of general notions, our ability to conceive of a class, and to designate its individual members by a common name. The theory of logic is thus intimately connected with that of language.
这个想法几乎涉猎可以想到的所有知识领域,我甚至没有一个领域可以standing On(meaning every field is a fresh to me, dont mention finance!),没有任意一种科学的系统知识体系,#计算机、#神经科学、#语言学、#物理、#心理学 etc。所以了解概念(定义问题)的时候,我只能通过collect碎片来做知识对齐。
word2vec
举个例子,形成对word2vec的认识,是在我向不同的朋友发出奇怪提问的过程中:
语境1: 当我解释完文字块的想法
Thom: 可以建立一個 word2vec 把 block 轉換成一個高維空間的矢量,矢量矢量之間的距離 量化了 block 和 block 之間的語意距離。
语境2: 我想知道怎么量化词和词之间的联系
我😬:QH,如果有一些核心#概念(roamresearch中的[[page]]) ,一些我觉着重要的词(可能大多是专有名词),反映了我的focus。有什么方法可以为这些“词”建立一个关联... 就好像有没有一个基本的语义词库以及关系定义网,然后我这些“词”就落到那个网里。哪怕按学科落也行..
QH:词和词之间的联系,方法之一是利用word2vector这样的词向量方法,可以搜索近义词,这样可以设定一个0~1之间阈值,来实现词之间的关联
语境3: 看到文本分析中的「词嵌入」概念
我😬:DD老师,我的兴趣是tools for thoughts with the blockchain. 然后我想去设计一种tools for thoughts可以让人自由生成带有context的文字块(word block),然后写作时进行(交叉)引用。人们可以引用自己的,也可以引用其他人的,这些块都存在一个公共的database里面。当涉及「引用别人」时会需要推荐和匹配的功能,所以我会觉得文本分析里面 词向量 的计算会很相关...
DD:...word2vec 是用于训练词向量模型的算法(the primitive atomic unit we are embedding is a word)...
和大家聊出的知识点为我提供了诸多答案,但我需要找到更精确的问题
名词
通过一种熟悉的语言去学另一种语言的时候,我的情况是,一开始时候是记忆名词(noun),然后是动词(verb),做「词」的平行匹配。当然语法、时态等会影响语境。但理解一个句子在说什么,名词就已经可以勾勒出空间。基础语境中,电影院(cinema)、朋友(mes amis),就算没有动词preféré(喜欢)avec(一起)也能猜出来个大概。
最近在看Steven Pinker的《The stuff of thoughts》 ,人的思维可以通过不同属性的词及其关系来表现,
what we consciously think about are the actually entities that live in space and time and impinge on one another. and the most basic entities in our thoughts are the ones named by nouns.Nouns are the easiest words to identify across languages, are usually the first words learned by babies, and are the labels of the most stable and best-understood human concepts.
我们有意识地思考的实际上是生活在空间和时间中并相互影响的实体。而我们思想中最基本的实体是由名词命名的实体。名词是不同语言中最容易识别的词,通常是婴儿学习的第一个词,也是最稳定和最容易理解的人类概念的标签——Gentner,1981
a basic sentence, perhaps a basic thought--refer to something in the subject and says something about its properties in the predicate
一个基本的句子,也许是一个基本的想法--指的是主语中的东西,并在谓语中说了一些关于其属性的东西
写在最后
有朋友说读我写的东西有一种缝缝补补的感觉,是因为我就是这样思考的。我想知道在一个不断进化的问题之下,有多少“块”与之是相关的,更相关,这些块又链接着各自的语境(context)。
「如何计算语言?」
如果你见到与之相关的碎片🧩,请别吝啬给我留言。let's see what it becomes in one year 🍺
微信扫码关注该文公众号作者