由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 再晒个我的开源NoSQL项目
相关主题
NLP是使用什么技术或框架实现的?free C++ lib/code for XML parser on Linux?
好东西传送门周报汇总 2015-03-08C++ 屏幕输入问题
wwzz来讲讲cassandra吧关于C++中 extern "C"的问题。
谁用过Playorm 连nosql数据库如何动态定义类和方法
12306这个能做成一个轮子吗?玩具语言其实很容易实现的
yacc/bison的调试和分析工具?FP的教材是怎么误导人的
i +++ jdba和程序员,哪个是青春饭? (转载)
any lexer/parser enthusiasts here?[技术问题] 修改一个php + mysql, 想换成其他的。
相关话题的讨论汇总
话题: nosql话题: 代码话题: 开源话题: reflection话题: parser
进入Programming版参与讨论
1 (共1页)
w***g
发帖数: 5958
1
读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
https://github.com/aaalgo/donkey
功能:
一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
基于内容的搜索。可以看成是一个value-key store。传统的key-value
store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
那么输进去一个value,我可以找出来数据库里最相似的那些value
对应的key。因为最近NoSQL很火,所以我这个系统也做成了NoSQL的形式。
应用1: 以图搜图
用到类似技术的网站
http://image.google.com
http://tineye.com
http://pixolution.de/
还有无穷多类似的鸡毛网站
应用2: 音频搜索
http://www.shazam.com/
http://soundhound.com/
还有无穷多类似的鸡毛网站
别的任何对象,只要可以计算相似度,都可以用来做相似性搜索。比如人脸,
相似网页,各种基因数据,推荐系统里的商品/节目模型等等。Donkey提供的是
所有类似的系统都需要用到的存储/索引框架,每一种类型的数据,只要plugin
一个特征提取算法和一个相似性计算算法,就可以很容易地产生一个搜索引擎。
Donkey的规模定位在单机千万特征向量量级,目标不是规模大,
而是易用。我们肯定做不了google规模的,但是可以做单机一百万到一千万量级
图片,十万到一百万量级的mp3的规模。(按应用不同,一个对象可以提取出
1到几千个特征向量.)
更多的背景知识可以参考这个
http://www.cs.princeton.edu/cass/
目前的状态:
- 已有基本的C++核心代码(暂没有索引算法,用我的另一个非开源项目kgraph顶着。
计划有时间重新写一个开源的更牛的版本。)
- 目前kgraph的算法已经可以秒杀别的类似的库或者算法。这东西做出来技术上
绝对是杠杠的。
- 支持thrift, grpc和http rest接口。
- 有另外一个开源的图像搜索引擎代码可供参考。
- 虽然各种特例网站很多,但是类似功能的NoSQL数据库市面上是个空白。
需要的contribution:
只要你有兴趣,不管编程水平高低都可以贡献。
- 数据库内核开发,需要精通C++,数据结构和Linux API。这个有我自己顶着。
- 算法开发。如果做出来牛B算法,我们可以往VLDB灌水。
- Javascript库开发。作为整个toolkit的一部分,我希望可以有一个javascript
的库用来包装核心的ajax/rest接口,以便用户可以快速开发网页应用。这一块
内容比较简单(参考http://code.google.com/p/nise/),但是作为一个库,接口
必须设计得很漂亮。我的javascript功底只够做网站,写不了库。
- Demo/app开发。可以做成网页,也可以做成手机app。用啥语言做网页还没定,
我啥语言啥框架都能接受。看能拉到的人而定。
- 提供应用和测试数据。
- Plugin开发。这个能做的范围非常大。NLP, 图像音频视频处理,机器学习啥的
都有用武之地。
- 编译,测试,打包。
- 写爬虫抓数据。爬虫的话我试过python的scrapy不错。
- 图标设计,页面美化。文档编写。我挺想要一个ascii logo,在服务器启动的时候
打印出来。无奈自己美工太差。
- 帮忙牵线搭桥,提供商业化机会。
如果能拉到几个比较固定的同学干活,我可以架一台服务器用于开发和demo。
我有midtower,但是托管的话1U的机器更便宜。我在考虑从ebay买一台二手机。
如果有同学愿意捐赠旧服务器或者AWS机时的话也大大地欢迎。
l*********s
发帖数: 5409
2
mark,向大牛学习!
d******e
发帖数: 2265
3
赞。献上 star一枚。大牛什么时候需要打下手的,小弟可以帮忙。

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

ET
发帖数: 10701
4
攒。

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

w***g
发帖数: 5958
5
有很多事情可以做,你再看眼我的帖子,看有啥感兴趣或者力所能及的方向。
最好可以定义一个相对比较独立的code project做。如果只是帮忙做几个页面
写一些文档,其实对你没有多大的帮助。

【在 d******e 的大作中提到】
: 赞。献上 star一枚。大牛什么时候需要打下手的,小弟可以帮忙。
w***g
发帖数: 5958
6
这个版上牛人无数,希望Goodbug和魏老师两边都能帮忙指导一下。

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

N*****m
发帖数: 42603
7
不错,我当年也做过这方面的课题

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

c*******0
发帖数: 5247
8
帮顶,很有意思,可惜语言不是我的菜
p*u
发帖数: 2454
9
so u r mostly in need of Javascript lib dev?

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

w***g
发帖数: 5958
10
javascript lib是目标比较确定的一块。应该没多少代码。
主要是refactor和generalize一个已有的页面。

【在 p*u 的大作中提到】
: so u r mostly in need of Javascript lib dev?
相关主题
yacc/bison的调试和分析工具?free C++ lib/code for XML parser on Linux?
i +++ jC++ 屏幕输入问题
any lexer/parser enthusiasts here?关于C++中 extern "C"的问题。
进入Programming版参与讨论
w**z
发帖数: 8232
11
为什么只想提供js client lib? 要想人用, Java, python 最好都要有。 直接用
thrift 太蛋疼。rest 太慢。

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

w***g
发帖数: 5958
12
可以在thrift/grpc外面再包一层特定语言的库。C++我就是这么做的。Java, python如
果有人愿意做binding那最然最好。目前只想到做js lib是因为做demo要用。

【在 w**z 的大作中提到】
: 为什么只想提供js client lib? 要想人用, Java, python 最好都要有。 直接用
: thrift 太蛋疼。rest 太慢。

ET
发帖数: 10701
13
goodbug在班上的主要任务是吵架。

【在 w***g 的大作中提到】
: 这个版上牛人无数,希望Goodbug和魏老师两边都能帮忙指导一下。
g*****g
发帖数: 34805
14
这些年来我老不知道给解答了多少问题,问题是那种帖子顶不起来,你记不住。
还有就是本版充斥装逼的半桶水。上次有人问个设计的问题,我给了个几行经
典的factory+reflection的解决方案。偏偏有半路出家的生物男嘲笑是垃圾代码,非要
写个parser还坚持自己的方案最好。

【在 ET 的大作中提到】
: goodbug在班上的主要任务是吵架。
d****i
发帖数: 4809
15
Java, Python不是都有native interface来bind C/C++ lib吗? JavaScript也有啊,如
果你不想ajax的话。

【在 w***g 的大作中提到】
: 可以在thrift/grpc外面再包一层特定语言的库。C++我就是这么做的。Java, python如
: 果有人愿意做binding那最然最好。目前只想到做js lib是因为做demo要用。

w***g
发帖数: 5958
16
这个是client/server的。以还会做成client - proxy - server cluster, proxy可以
做load balancing, redundancy, sharding. 所以中间要走网络。

【在 d****i 的大作中提到】
: Java, Python不是都有native interface来bind C/C++ lib吗? JavaScript也有啊,如
: 果你不想ajax的话。

g*****g
发帖数: 34805
17
我建议你还是跟 ES 学,给个rest JSON api. 这样不用花很多精力去写各种 client.

【在 w***g 的大作中提到】
: 这个是client/server的。以还会做成client - proxy - server cluster, proxy可以
: 做load balancing, redundancy, sharding. 所以中间要走网络。

ET
发帖数: 10701
18
come on. this is just for fun.

【在 g*****g 的大作中提到】
: 这些年来我老不知道给解答了多少问题,问题是那种帖子顶不起来,你记不住。
: 还有就是本版充斥装逼的半桶水。上次有人问个设计的问题,我给了个几行经
: 典的factory+reflection的解决方案。偏偏有半路出家的生物男嘲笑是垃圾代码,非要
: 写个parser还坚持自己的方案最好。

w***g
发帖数: 5958
19
首先写thrift和gRPC比做http容易,加起来花了我一天时间已经做出来了。http因为要
做成嵌入式的,还要支持上传文件,代码还没port过来。rest JSON API最后肯定会有
,而且server在HTTP模式下还会支持直接serve静态文件,这样demo只需要server和
html+js就可以,中间不用再夹一层别的东西。
为什么要嵌入式http? mongo, redis啥的不会带一个独立的http server。我也一样,
部署的时候就一个binary。

【在 g*****g 的大作中提到】
: 我建议你还是跟 ES 学,给个rest JSON api. 这样不用花很多精力去写各种 client.
w**z
发帖数: 8232
20
走rest 会不会太慢?

【在 g*****g 的大作中提到】
: 我建议你还是跟 ES 学,给个rest JSON api. 这样不用花很多精力去写各种 client.
相关主题
如何动态定义类和方法dba和程序员,哪个是青春饭? (转载)
玩具语言其实很容易实现的[技术问题] 修改一个php + mysql, 想换成其他的。
FP的教材是怎么误导人的web development难不难学?
进入Programming版参与讨论
w***g
发帖数: 5958
21
这个是standard,就是慢也不能没有。我这种系统的瓶颈在计算,
protocol那点overhead可以忽略。

【在 w**z 的大作中提到】
: 走rest 会不会太慢?
g*****g
发帖数: 34805
22
图像搜索,http overhead比例很低,parsing会增加一点latency但也问题不大,主要
latency在搜索上。开源的东西牛逼了再优化很容易,一开始要注重的是易用性。

【在 w**z 的大作中提到】
: 走rest 会不会太慢?
w**z
发帖数: 8232
23
OK. If that is the case, you don't even need thrift which is pita

【在 w***g 的大作中提到】
: 这个是standard,就是慢也不能没有。我这种系统的瓶颈在计算,
: protocol那点overhead可以忽略。

w**z
发帖数: 8232
24
有道理。

【在 g*****g 的大作中提到】
: 图像搜索,http overhead比例很低,parsing会增加一点latency但也问题不大,主要
: latency在搜索上。开源的东西牛逼了再优化很容易,一开始要注重的是易用性。

e*******o
发帖数: 4654
25
goodbug 骂人不少,料还是有的。
大家骂归骂,扯淡之余,学点东西知足吧。
不过lz 确实牛逼,有助于纠正版面风气。

【在 ET 的大作中提到】
: goodbug在班上的主要任务是吵架。
g*****g
发帖数: 34805
26
要不是我老人家见装逼的就骂,这个版风气更差。10年前这个版基本上都是专业出身,
吵架不多,因为没人觉得我懂个啥语言我就很牛逼。

【在 e*******o 的大作中提到】
: goodbug 骂人不少,料还是有的。
: 大家骂归骂,扯淡之余,学点东西知足吧。
: 不过lz 确实牛逼,有助于纠正版面风气。

z****e
发帖数: 54598
27
那个呆瓜还都没看出来是reflection
一层最低级的包装就让丫歇菜了

【在 g*****g 的大作中提到】
: 这些年来我老不知道给解答了多少问题,问题是那种帖子顶不起来,你记不住。
: 还有就是本版充斥装逼的半桶水。上次有人问个设计的问题,我给了个几行经
: 典的factory+reflection的解决方案。偏偏有半路出家的生物男嘲笑是垃圾代码,非要
: 写个parser还坚持自己的方案最好。

z****e
发帖数: 54598
28
关键是wdong的机器本身也弱
对每一个images parse过去,那要弄到猴年马月去
还不如专注做sounds,没准还能有点戏
image太麻烦了,google的sounds的应用已经在youtube上用得很广泛了

【在 g*****g 的大作中提到】
: 图像搜索,http overhead比例很低,parsing会增加一点latency但也问题不大,主要
: latency在搜索上。开源的东西牛逼了再优化很容易,一开始要注重的是易用性。

d*******r
发帖数: 3299
29
请问为什么大家不用 protocol buffer, 用 thrift.
看着好像 protocol buffer 更流行呢.
是因为 thrift 自带功能更丰富吗?

【在 w***g 的大作中提到】
: 首先写thrift和gRPC比做http容易,加起来花了我一天时间已经做出来了。http因为要
: 做成嵌入式的,还要支持上传文件,代码还没port过来。rest JSON API最后肯定会有
: ,而且server在HTTP模式下还会支持直接serve静态文件,这样demo只需要server和
: html+js就可以,中间不用再夹一层别的东西。
: 为什么要嵌入式http? mongo, redis啥的不会带一个独立的http server。我也一样,
: 部署的时候就一个binary。

w***g
发帖数: 5958
30
gRPC就是用的protocol buffer。gRPC + protobuf用起来更舒服点。
thrift只能serialize到它自己的接口,似乎不能serialize到字符串。

【在 d*******r 的大作中提到】
: 请问为什么大家不用 protocol buffer, 用 thrift.
: 看着好像 protocol buffer 更流行呢.
: 是因为 thrift 自带功能更丰富吗?

相关主题
到底谁赢了????????????好东西传送门周报汇总 2015-03-08
还是别争了,从旁观者角度看,两个方案没准都能工作wwzz来讲讲cassandra吧
NLP是使用什么技术或框架实现的?谁用过Playorm 连nosql数据库
进入Programming版参与讨论
d*******r
发帖数: 3299
31
回头看看 gRPC + protobuf, 多谢提点

【在 w***g 的大作中提到】
: gRPC就是用的protocol buffer。gRPC + protobuf用起来更舒服点。
: thrift只能serialize到它自己的接口,似乎不能serialize到字符串。

n******n
发帖数: 12088
32
哪个帖子?

【在 g*****g 的大作中提到】
: 这些年来我老不知道给解答了多少问题,问题是那种帖子顶不起来,你记不住。
: 还有就是本版充斥装逼的半桶水。上次有人问个设计的问题,我给了个几行经
: 典的factory+reflection的解决方案。偏偏有半路出家的生物男嘲笑是垃圾代码,非要
: 写个parser还坚持自己的方案最好。

g*****g
发帖数: 34805
33
http://www.mitbbs.com/article_t1/Programming/31397269_31397281_
一分钟写完的东西,非要写个parser。不认识factory pattern,称其垃圾代码。

【在 n******n 的大作中提到】
: 哪个帖子?
l*******m
发帖数: 1096
34
声音比图像难做多了

【在 z****e 的大作中提到】
: 关键是wdong的机器本身也弱
: 对每一个images parse过去,那要弄到猴年马月去
: 还不如专注做sounds,没准还能有点戏
: image太麻烦了,google的sounds的应用已经在youtube上用得很广泛了

j******g
发帖数: 2689
35
不错啊,高大上.
n*****3
发帖数: 1584
36
nb
顶一个

【在 w***g 的大作中提到】
: gRPC就是用的protocol buffer。gRPC + protobuf用起来更舒服点。
: thrift只能serialize到它自己的接口,似乎不能serialize到字符串。

l******n
发帖数: 9344
37
支持

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

h*i
发帖数: 3446
38
我正需要一个能作快速KNN的NoSQL数据库。有几个技术问题:
1. 你说这个是NoSQL,但大家一般想象中的NoSQL数据库都不是单机的,而是
distributed,这样可以横向scale,你这个也是这么打算的么?
2. 你这个技术是基于LSH的,对么?
3. 你对下面这片文章提到,简单的用K-means来实现LSH的办法怎么看?
L. Paulev ́e, H. J ́egou, and L. Amsaleg. Locality sensitive
hashing: a comparison of hash function types and querying
mechanisms. PR Letters, 2010
和这个比起来,你的技术有什么优势?

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

w***g
发帖数: 5958
39
目前这个不是基于LSH的,而是用的KGraph。LSH和KGraph各有优缺。KGraph精度较高,
但是难以用精度换速度。LSH可以做得超快,但是精度较低。我已经找到一个愿意实现L
SH的同学了。计划把LSH也加进去,然后把索引做成可配置。我自己也研究过LSH,LSHK
IT就是我写的,有一些现成的LSH代码可以用,实现上应该没啥问题。刚才还收到
另一个对集群感兴趣的,不知道是不是你。K-NN搜索计算量太大,用集群来提高吞吐
量还可以,如果数据量大到要用机群来提高单个查询的速度,那吞吐量势必会非常低,
并由此导致各种稳定性问题。除非你每个查询能卖一笔钱,不然成本太大,可能会得不
尝失。
你那篇paper我认为很经典。L2 distance的话kmeans就是比以前那些基于random proje
ction的LSH要强(也就等于在很大程度上否认了之前LSH相关的研究)。这就是随机算法
和基于训练的算法的本质差异。
我这里有个Benchmark你可以看眼。KGraph比kmeans还快。KGraph目前没有开源,当初
想卖钱的,所以代码也按不开源的方式写了,为此还有一些速度上的损失。如果donkey
、这个项目能有几个商业应用(我自己手里的不算),我会写一个开源的更牛的版本。
http://www.kgraph.org/index.php?n=Main.Benchmark
https://twitter.com/radimrehurek/status/458188394976518144
ANNOY是spotify的人实现的K-NN库,不但慢10倍,而且空间开销大几十倍。
他们号称在hadoop机群上跑ANNOY,实在太业余了。
你能把做KNN的数据作为benchmark贡献一点出来吗?你可能对performance
number也会感兴趣。

【在 h*i 的大作中提到】
: 我正需要一个能作快速KNN的NoSQL数据库。有几个技术问题:
: 1. 你说这个是NoSQL,但大家一般想象中的NoSQL数据库都不是单机的,而是
: distributed,这样可以横向scale,你这个也是这么打算的么?
: 2. 你这个技术是基于LSH的,对么?
: 3. 你对下面这片文章提到,简单的用K-means来实现LSH的办法怎么看?
: L. Paulev ́e, H. J ́egou, and L. Amsaleg. Locality sensitive
: hashing: a comparison of hash function types and querying
: mechanisms. PR Letters, 2010
: 和这个比起来,你的技术有什么优势?

b*******s
发帖数: 5216
40
赞实干

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

相关主题
谁用过Playorm 连nosql数据库i +++ j
12306这个能做成一个轮子吗?any lexer/parser enthusiasts here?
yacc/bison的调试和分析工具?free C++ lib/code for XML parser on Linux?
进入Programming版参与讨论
b*******s
发帖数: 5216
41
你就是最终准备调用我的方案来解决的牛人咯

【在 g*****g 的大作中提到】
: http://www.mitbbs.com/article_t1/Programming/31397269_31397281_
: 一分钟写完的东西,非要写个parser。不认识factory pattern,称其垃圾代码。

h*i
发帖数: 3446
42
你这个benchmark的确很吸引人哦。让我研究研究你的文章,看看有什么更多问题来问
你。

现L
LSHK
proje
算法

【在 w***g 的大作中提到】
: 目前这个不是基于LSH的,而是用的KGraph。LSH和KGraph各有优缺。KGraph精度较高,
: 但是难以用精度换速度。LSH可以做得超快,但是精度较低。我已经找到一个愿意实现L
: SH的同学了。计划把LSH也加进去,然后把索引做成可配置。我自己也研究过LSH,LSHK
: IT就是我写的,有一些现成的LSH代码可以用,实现上应该没啥问题。刚才还收到
: 另一个对集群感兴趣的,不知道是不是你。K-NN搜索计算量太大,用集群来提高吞吐
: 量还可以,如果数据量大到要用机群来提高单个查询的速度,那吞吐量势必会非常低,
: 并由此导致各种稳定性问题。除非你每个查询能卖一笔钱,不然成本太大,可能会得不
: 尝失。
: 你那篇paper我认为很经典。L2 distance的话kmeans就是比以前那些基于random proje
: ction的LSH要强(也就等于在很大程度上否认了之前LSH相关的研究)。这就是随机算法

c***d
发帖数: 996
43
很有前途。 赞你。

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

z****e
发帖数: 54598
44
反了吧
图像我用的方法跟你们不一样

【在 l*******m 的大作中提到】
: 声音比图像难做多了
g*****g
发帖数: 34805
45
我显示了一个框架为啥有灵活性。几行代码就能解决楼主的问题。你丫为了自圆其说生
造个傻逼问题,跟楼主要的相去万里,我的框架仍然可以调用你的傻逼方案解决。
两行代码能解决的东西,傻逼才写个 parser.

【在 b*******s 的大作中提到】
: 你就是最终准备调用我的方案来解决的牛人咯
l*****a
发帖数: 111
46
好厉害

读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,干脆整理了
一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,但挡不住mitbbs巨大
的影响力,还是希望........

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

A*******e
发帖数: 2419
47
赞开源。看了代码,有一些意见/疑问。
1. 文档偏少。
2. C++11很多功能可以用上,化简代码,比如:
virtual ~Index() = default;
再比如用std::unique_ptr取代DB*,就无需考虑delete db。
3. 函数有点长。比如recover(),将近50行。放在class里等于在inline。

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

a******e
发帖数: 82
48
mark,跟大牛

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

s*****t
发帖数: 89
49
大牛能把link改了吗?就是src下的

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

N*****m
发帖数: 42603
50
你如果走redis/mongo那个方向,那应该有个shell接口

【在 w***g 的大作中提到】
: 首先写thrift和gRPC比做http容易,加起来花了我一天时间已经做出来了。http因为要
: 做成嵌入式的,还要支持上传文件,代码还没port过来。rest JSON API最后肯定会有
: ,而且server在HTTP模式下还会支持直接serve静态文件,这样demo只需要server和
: html+js就可以,中间不用再夹一层别的东西。
: 为什么要嵌入式http? mongo, redis啥的不会带一个独立的http server。我也一样,
: 部署的时候就一个binary。

相关主题
C++ 屏幕输入问题玩具语言其实很容易实现的
关于C++中 extern "C"的问题。FP的教材是怎么误导人的
如何动态定义类和方法dba和程序员,哪个是青春饭? (转载)
进入Programming版参与讨论
c*********e
发帖数: 16335
51
同问。要学习goodbug的reflection.

【在 n******n 的大作中提到】
: 哪个帖子?
b*******s
发帖数: 5216
52
you still have to implement 10k getArea() for 10 k shapes
even if you have reflection
but it is good to pick sth you can understand. at least you can have some
progress in 10k steps

【在 c*********e 的大作中提到】
: 同问。要学习goodbug的reflection.
g*****g
发帖数: 34805
53
LZ asked for 3 shapes and you want to use a parser. Maybe you should learn
Chinese first? Worry about 10k shapes when there are 10k to worry about?

【在 b*******s 的大作中提到】
: you still have to implement 10k getArea() for 10 k shapes
: even if you have reflection
: but it is good to pick sth you can understand. at least you can have some
: progress in 10k steps

b*******s
发帖数: 5216
54
so why did you use reflection if there are only 3 shapes?

【在 g*****g 的大作中提到】
: LZ asked for 3 shapes and you want to use a parser. Maybe you should learn
: Chinese first? Worry about 10k shapes when there are 10k to worry about?

h**********c
发帖数: 4120
55
How much fund you have already got?
k-graph
eigenspace
...
g*****g
发帖数: 34805
56
Because its simple, concise and extendable.

【在 b*******s 的大作中提到】
: so why did you use reflection if there are only 3 shapes?
b*******s
发帖数: 5216
57
仔细想想你的方案,每次加东西都要码农来做,重新编译,测试,部署。不能通过简单
修改配置文件实现,真的像你说得那么好?

【在 g*****g 的大作中提到】
: Because its simple, concise and extendable.
g*****g
发帖数: 34805
58
你丫是不是脑残呀,多一个 shape就加一个类。原来的类连重新编译都不用。第三方的
类库可以很容易 plugin. 你写个
parser才需要每加个 shape就改写。

【在 b*******s 的大作中提到】
: 仔细想想你的方案,每次加东西都要码农来做,重新编译,测试,部署。不能通过简单
: 修改配置文件实现,真的像你说得那么好?

b*******s
发帖数: 5216
59
save some time for both of us. you just dont understand

【在 g*****g 的大作中提到】
: 你丫是不是脑残呀,多一个 shape就加一个类。原来的类连重新编译都不用。第三方的
: 类库可以很容易 plugin. 你写个
: parser才需要每加个 shape就改写。

g*****g
发帖数: 34805
60
你需要理解啥?我两行程序把问题解决了,你丫屁 parser还没影呢。

【在 b*******s 的大作中提到】
: save some time for both of us. you just dont understand
相关主题
[技术问题] 修改一个php + mysql, 想换成其他的。还是别争了,从旁观者角度看,两个方案没准都能工作
web development难不难学?NLP是使用什么技术或框架实现的?
到底谁赢了????????????好东西传送门周报汇总 2015-03-08
进入Programming版参与讨论
b*******s
发帖数: 5216
61
一般来说,技术讨论都是希望看到些新奇有趣的解法,你那些简单粗糙的解决,你认为
大家都想不到只有你知道?整个帖子的有趣程度都被你拉低了

【在 g*****g 的大作中提到】
: 你需要理解啥?我两行程序把问题解决了,你丫屁 parser还没影呢。
g*****g
发帖数: 34805
62
新奇的解法?连factory pattern都不知道的应该觉得 factory很新奇才是。

【在 b*******s 的大作中提到】
: 一般来说,技术讨论都是希望看到些新奇有趣的解法,你那些简单粗糙的解决,你认为
: 大家都想不到只有你知道?整个帖子的有趣程度都被你拉低了

b*******s
发帖数: 5216
63
just wasting my time...
good luck and wish you have peace in your life

【在 g*****g 的大作中提到】
: 新奇的解法?连factory pattern都不知道的应该觉得 factory很新奇才是。
g*****g
发帖数: 34805
64
不懂没啥的,丢人了就别死撑,越死撑越丢人,我说过多少次了。

【在 b*******s 的大作中提到】
: just wasting my time...
: good luck and wish you have peace in your life

n*w
发帖数: 3393
65
同意。这个可以用algebraic type来试试,应该不用太多的代码。
用reflection的问题,1)performance,速度会慢很多,如果输入文件多,行数多的话
。2)如果输入中的类名来个typo、、、
要改进代码行数又会增加。

【在 b*******s 的大作中提到】
: 一般来说,技术讨论都是希望看到些新奇有趣的解法,你那些简单粗糙的解决,你认为
: 大家都想不到只有你知道?整个帖子的有趣程度都被你拉低了

g*****g
发帖数: 34805
66
尼玛俩文科生还凑一块了。reflection慢整个 parser读 config快?config不会有
typo, I服了你们。

【在 n*w 的大作中提到】
: 同意。这个可以用algebraic type来试试,应该不用太多的代码。
: 用reflection的问题,1)performance,速度会慢很多,如果输入文件多,行数多的话
: 。2)如果输入中的类名来个typo、、、
: 要改进代码行数又会增加。

n*w
发帖数: 3393
67
句句攻击别人的话都及精确描叙你自己。我没有回你的贴。你怎么又跳起来?
我没看到你说的parser的具体实现。假设一下,无数多行输入,一次性读入config后处
理无数的输入。和无数次创建instance。那个快?
回你的贴没有什么意思,解释这个为其他看客。

【在 g*****g 的大作中提到】
: 尼玛俩文科生还凑一块了。reflection慢整个 parser读 config快?config不会有
: typo, I服了你们。

g*****g
发帖数: 34805
68
傻逼你丫还一次性读入 config, 你要支持第三方,还一次性读入个屁呀,就不说总共
三个
类,你 IO的时间100个 类reflection也做完了。你丫没看到
parser怎么实现的你就来支持了,你丫是不是脑子长屁眼里了。

【在 n*w 的大作中提到】
: 句句攻击别人的话都及精确描叙你自己。我没有回你的贴。你怎么又跳起来?
: 我没看到你说的parser的具体实现。假设一下,无数多行输入,一次性读入config后处
: 理无数的输入。和无数次创建instance。那个快?
: 回你的贴没有什么意思,解释这个为其他看客。

n*w
发帖数: 3393
69
什么“第三方”?几百个million的输入呢?我只是说出了reflection的问题。你为什
么这么恼怒?
我支持的是能有更新奇有趣的解法,你干嘛这样骂你自己。

【在 g*****g 的大作中提到】
: 傻逼你丫还一次性读入 config, 你要支持第三方,还一次性读入个屁呀,就不说总共
: 三个
: 类,你 IO的时间100个 类reflection也做完了。你丫没看到
: parser怎么实现的你就来支持了,你丫是不是脑子长屁眼里了。

z****e
发帖数: 54598
70
是,应该造个skynet来写代码,人应该去喝啤酒,不应该写这种低级的代码

:同意。这个可以用algebraic type来试试,应该不用太多的代码。
:用reflection的问题,1)performance,速度会慢很多,如果输入文件多,行数多的
话。2)如果输入中的类名来个typo、、、
相关主题
好东西传送门周报汇总 2015-03-0812306这个能做成一个轮子吗?
wwzz来讲讲cassandra吧yacc/bison的调试和分析工具?
谁用过Playorm 连nosql数据库i +++ j
进入Programming版参与讨论
z****e
发帖数: 54598
71
你自己想的吧,反射效率问题早就搞定了,不信你自己试着把虫子代码跑十万遍试试,
看用多久

:什么“第三方”?几百个million的输入呢?我只是说出了reflection的问题。你为什
:么这么恼怒?
g*****g
发帖数: 34805
72
你俩傻逼都是一个德行,几亿输入读config parse就更快?智商实在太低我就提示一下
,reflection本身就是个最简单直接的parser,从string转换为类,后面的计算面积方
法是编译过的代码,相比之下你把计算方法写进config就是个解释执行。
得多傻逼才能相信解释执行比编译执行更快?至于你丫什么typo就是纯粹装逼满嘴跑火
车。

【在 n*w 的大作中提到】
: 什么“第三方”?几百个million的输入呢?我只是说出了reflection的问题。你为什
: 么这么恼怒?
: 我支持的是能有更新奇有趣的解法,你干嘛这样骂你自己。

n*w
发帖数: 3393
73
不知道你头脑里搞了什么个的 parser。
解释执行都来了。继续扯又不知道会被带到哪里了。各个看客应该自己能有个判断。你
的粉丝会无条件支持你的。

【在 g*****g 的大作中提到】
: 你俩傻逼都是一个德行,几亿输入读config parse就更快?智商实在太低我就提示一下
: ,reflection本身就是个最简单直接的parser,从string转换为类,后面的计算面积方
: 法是编译过的代码,相比之下你把计算方法写进config就是个解释执行。
: 得多傻逼才能相信解释执行比编译执行更快?至于你丫什么typo就是纯粹装逼满嘴跑火
: 车。

z****e
发帖数: 54598
74
lol,这明显就是做引擎的节奏,继续下去就离脚本引擎很近了

:不知道你头脑里搞了什么个的 parser。
:解释执行都来了。继续扯又不知道会被带到哪里了。各个看客应该自己能有个判断。
你的粉丝会无条件支持你的。
w***g
发帖数: 5958
75
大家积积德,另外起个thread吵架吧。

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

p*******8
发帖数: 344
76
挺感兴趣的,可惜只会Java...

【在 w***g 的大作中提到】
: 大家积积德,另外起个thread吵架吧。
c**0
发帖数: 535
77
人家都自称brainless了,你还自贬为脑残去和别人掐!被狗咬了一口,你还想去咬回
狗一口。别太容易上火了!你自己都知道这个坛子是光说不练的。。。

【在 g*****g 的大作中提到】
: http://www.mitbbs.com/article_t1/Programming/31397269_31397281_
: 一分钟写完的东西,非要写个parser。不认识factory pattern,称其垃圾代码。

j******g
发帖数: 2689
78
REST是标准了,自己带个服务器不明智,毕竟你这个系统要嵌在别的网页中,标准支持
肯定Apache之类的厉害。
a*********a
发帖数: 3656
79
您老自己点名把吵架的人招来的啊*_^。只来了一个,另一个还没来咧。

【在 w***g 的大作中提到】
: 大家积积德,另外起个thread吵架吧。
A********i
发帖数: 97
80
mark
相关主题
any lexer/parser enthusiasts here?关于C++中 extern "C"的问题。
free C++ lib/code for XML parser on Linux?如何动态定义类和方法
C++ 屏幕输入问题玩具语言其实很容易实现的
进入Programming版参与讨论
j********x
发帖数: 2330
81
您这种不是马公的就不要讨论马公的活儿行不行。。。
。。。
您估计是高大上的做管理的吗你这吧。。。

【在 b*******s 的大作中提到】
: 仔细想想你的方案,每次加东西都要码农来做,重新编译,测试,部署。不能通过简单
: 修改配置文件实现,真的像你说得那么好?

j********x
发帖数: 2330
82
lz好贴给人毁了
我建议看到烂贴统一不回复就行了
L****8
发帖数: 3938
83
KGraph 是啥idea 能透露一点么?

现L
LSHK
proje
算法

【在 w***g 的大作中提到】
: 目前这个不是基于LSH的,而是用的KGraph。LSH和KGraph各有优缺。KGraph精度较高,
: 但是难以用精度换速度。LSH可以做得超快,但是精度较低。我已经找到一个愿意实现L
: SH的同学了。计划把LSH也加进去,然后把索引做成可配置。我自己也研究过LSH,LSHK
: IT就是我写的,有一些现成的LSH代码可以用,实现上应该没啥问题。刚才还收到
: 另一个对集群感兴趣的,不知道是不是你。K-NN搜索计算量太大,用集群来提高吞吐
: 量还可以,如果数据量大到要用机群来提高单个查询的速度,那吞吐量势必会非常低,
: 并由此导致各种稳定性问题。除非你每个查询能卖一笔钱,不然成本太大,可能会得不
: 尝失。
: 你那篇paper我认为很经典。L2 distance的话kmeans就是比以前那些基于random proje
: ction的LSH要强(也就等于在很大程度上否认了之前LSH相关的研究)。这就是随机算法

w***g
发帖数: 5958
84
就是在图结构上找最近点。这个闭源的实在没赚到钱,打算开源算了。
过两天会放到github上。

【在 L****8 的大作中提到】
: KGraph 是啥idea 能透露一点么?
:
: 现L
: LSHK
: proje
: 算法

L****8
发帖数: 3938
85
给定 KNN-graph后 怎么找
在KNN-graph随机找一个点A 然后在A的KNN内找最近的 比如B 然后循环 ?

【在 w***g 的大作中提到】
: 就是在图结构上找最近点。这个闭源的实在没赚到钱,打算开源算了。
: 过两天会放到github上。

w***g
发帖数: 5958
86
基本上就是这样。

【在 L****8 的大作中提到】
: 给定 KNN-graph后 怎么找
: 在KNN-graph随机找一个点A 然后在A的KNN内找最近的 比如B 然后循环 ?

L****8
发帖数: 3938
87
如果有好多个 离得很远的cluster 怎么办?
第一个点蒙错了 就全错了

【在 w***g 的大作中提到】
: 基本上就是这样。
w***g
发帖数: 5958
88
具体实现的时候有一些engineering来提高准确率。蒙错还是有的,但是比别的方法少。

【在 L****8 的大作中提到】
: 如果有好多个 离得很远的cluster 怎么办?
: 第一个点蒙错了 就全错了

x**h
发帖数: 11
89
赞,能找到合适的开源项目不容易

【在 w***g 的大作中提到】
: 读书的时候写了一堆代码一直没整理出来,最近国内东家要用类似的功能,
: 干脆整理了一下起了个开源项目。我知道这个版的风气是匿名骂人光说不练,
: 但挡不住mitbbs巨大的影响力,还是希望召到感兴趣的人一起contribute。
: 按惯例,开源项目本身不来钱,只能抱着兴趣/学习的目的来做。
: https://github.com/aaalgo/donkey
: 功能:
: 一个做非文本对象相似性搜索的框架,可以用来做以图搜图,以音频搜音频等
: 基于内容的搜索。可以看成是一个value-key store。传统的key-value
: store是按key存取value。我这个正好反过来。如果在value上定义一个相似度,
: 那么输进去一个value,我可以找出来数据库里最相似的那些value

1 (共1页)
进入Programming版参与讨论
相关主题
[技术问题] 修改一个php + mysql, 想换成其他的。12306这个能做成一个轮子吗?
web development难不难学?yacc/bison的调试和分析工具?
到底谁赢了????????????i +++ j
还是别争了,从旁观者角度看,两个方案没准都能工作any lexer/parser enthusiasts here?
NLP是使用什么技术或框架实现的?free C++ lib/code for XML parser on Linux?
好东西传送门周报汇总 2015-03-08C++ 屏幕输入问题
wwzz来讲讲cassandra吧关于C++中 extern "C"的问题。
谁用过Playorm 连nosql数据库如何动态定义类和方法
相关话题的讨论汇总
话题: nosql话题: 代码话题: 开源话题: reflection话题: parser