作为世界上最大的同性交友网站,真的是越来越好了。弱弱的,欠抽样的问一句:你们看到标题《厉害了,我的同性交友网站》,是不是以为我开发了一个同性交友的网站呢同性恋交友?哈哈……上当的请举手。举手干啥?还能干啥,当然是揍我了,没看到我上面说的是欠抽样嘛!啊,哈哈哈……
好了同性恋交友,不逗大家了,今天登上 GitHub 一看,又变样了,怎么感觉 GitHub 不像是聚集着世界上最多的男性交友网站了,感觉跟个姑娘似的,天天穿新衣服,打扮自己。
今天我先说的是同性恋交友,今天浏览 GitHub ,看到一篇文章,Github 竟然正在测试语义搜索,匹配的依据不再是关键字,而是搜索的语义。
什么意思呢?以前搜索就是输入关键字,然后根据关键字出来搜索结果,现在是跟你输入的语句的意思,出来搜索结果。比如:
假设你搜索“字符串分割”,就跟搜出来跟字符串分割相关的具体代码。再比如:你搜索“如何拼接两个数组”,那就会搜出拼接两个数组相关的代码。
是不是很智能啊?
文章中介绍的例子是:
比如,我们在 GitHub 上搜索查询 “ping REST api “,那么它就会返回跟 REST api 相关的代码。请注意:**即使搜索查询的内容与文本之间没有共同的关键字,所展示的语义搜索也会返回合理的结果(找到的代码和注释不包含单词 “Ping”,“REST” 或 “api”)!使用语义搜索来增强关键字搜索的意义是非常深远的。例如,这种能力将加速新软件工程师加入项目的过程,并加强一般代码的可发现性。
当然,想这样的语义搜索,肯定是用到了深度学习之类的算法,GitHub 也正在研究跟机器学习相关的东西,比如根据 repos(仓库), code(代码), issues(问题), profiles(跟人中心) 和 users(用户信息)等信息,通过学习共享公共向量空间作为文本的代码表示,实现语义搜索,并取得了重大进展。
当然,具体的算法和机器学习方面,大家可以参看原文文章,英文的,具体介绍了是如何使用机器学习算法来实现语义搜索的,我就不具体介绍了,毕竟我的英文水平有限,以免误导大家。
文章地址:://githubengineering.com/towards-natural-language-semantic-code-search/
其实,作为工程师和程序员来讲,我个人真的是非常喜欢 GitHub ,作为程序员我最喜欢的两个东西,一个就是 Google ,一个就是 GitHub 。
不知道 GitHub 这样的变化你喜欢吗?