avatar
HQ
1
1.停止ipo
2.专门严查股价操纵行为,尤其是在创业版
3.制定鼓励长线持股的政策。
4.调整股指期货的设计
5.提高股指期货的保证金比例
6.成立专门应对危机的专项基金
7.降低印花税其实是意义大于实际作用的。
avatar
f*e
2
想看一看application status,一login进取,就是oracel peoplesoft "an error has
occured"。已经试了好几次了。都是这样。
avatar
b*e
3
真么样?
avatar
f*k
4
一个公司信息的数据库,想检查其中是否有同一公司的多条记录,因为同一公司名可能
存在多种记法。比如ABC Tech, ABC Technology, ABC Technology, Inc, ABC, Inc等等
。尽管这些表达有可能其实是不同公司,但更有可能是同一公司。因此想把它们找出来
并返回给相关人员核查。这种核查不是针对某一家公司,而是数据库中所有公司。因此
XYZ公司可能也存在这种问题。同时仅从字符串编辑距离上看,ABC vs XYZ比与ABC Tec
hnology还小,但ABC和XYZ不太可能是同一条记录,而和ABC Technology反而更可能是同
一个公司。
当然,也存在记录输入错误,将ABC Tech输成了ABC Teck从而存在两条记录,但实际是
同一个公司。这种也希望能检查出来。
所以有什么更好的办法使聚类的结果更准确么?谢谢
avatar
h*s
5
刚查了下老板h-index 31, 做分析化学,电化学,化学计量,59岁。
这个是什么档次啊?
轻拍!
avatar
p*n
6
挺好,有hot deal?
avatar
S*A
7
这个设计自然语言的理解,不是简单的问题,大概是
需要一些智能的。
我的思路大概如下。
应该有不同的属性提供一个 scoring system。
例如 Levenshtein distance 是一个 score.
然后 A 是否是 B 的子集合也是一个 score.
复杂一点的可以试图把词归类,在里面提取行业的相似程度。
例如 food 和厨房比较接近。
然后 Inc, company 之类的区分意义不大的词可以去。
总之,可以用已有的数据库里已知公司不同的别名
来帮助开发这样的多属性 scoring system,寻找容易区分
公司是否相似的属性。
然后就是对这个系列的属性 score 试图去 fit 一个总体
是否同公司的输出。简单可以自己定些规则,例如某个 score
> 临界就认为相似。复杂点的可以套用 machine learning
的框架实现,可以用已知的数据 set 去训练这个是否的输出。
这样比较精确微调提高匹配程度。

等等
Tec
是同

【在 f******k 的大作中提到】
: 一个公司信息的数据库,想检查其中是否有同一公司的多条记录,因为同一公司名可能
: 存在多种记法。比如ABC Tech, ABC Technology, ABC Technology, Inc, ABC, Inc等等
: 。尽管这些表达有可能其实是不同公司,但更有可能是同一公司。因此想把它们找出来
: 并返回给相关人员核查。这种核查不是针对某一家公司,而是数据库中所有公司。因此
: XYZ公司可能也存在这种问题。同时仅从字符串编辑距离上看,ABC vs XYZ比与ABC Tec
: hnology还小,但ABC和XYZ不太可能是同一条记录,而和ABC Technology反而更可能是同
: 一个公司。
: 当然,也存在记录输入错误,将ABC Tech输成了ABC Teck从而存在两条记录,但实际是
: 同一个公司。这种也希望能检查出来。
: 所以有什么更好的办法使聚类的结果更准确么?谢谢

avatar
k*o
8
怎么查啊?
avatar
n*l
9
我用过三块,很好
avatar
z*e
10
你这么说人家能看懂么?
我也看得一知半解的,统计的水还是太深了
不过我说一个相对容易点的哈
建立tdm
然后normalize下
最后点乘计算cos夹角
因为cos是递减函数
所以值越大,夹角越小,越接近
这个很容易算,不过有模型可以优化,需要人工介入比较好撒

【在 S*A 的大作中提到】
: 这个设计自然语言的理解,不是简单的问题,大概是
: 需要一些智能的。
: 我的思路大概如下。
: 应该有不同的属性提供一个 scoring system。
: 例如 Levenshtein distance 是一个 score.
: 然后 A 是否是 B 的子集合也是一个 score.
: 复杂一点的可以试图把词归类,在里面提取行业的相似程度。
: 例如 food 和厨房比较接近。
: 然后 Inc, company 之类的区分意义不大的词可以去。
: 总之,可以用已有的数据库里已知公司不同的别名

avatar
b*g
11
如果不是做nano的
应该就是top 50 full professor level

【在 h*****s 的大作中提到】
: 刚查了下老板h-index 31, 做分析化学,电化学,化学计量,59岁。
: 这个是什么档次啊?
: 轻拍!

avatar
c*7
12
I am using it, very good.

【在 b****e 的大作中提到】
: 真么样?
avatar
g*g
13
都是没实践过的瞎出主义,上个 Lucene,Tokenized fuzzy search就搞定了。
avatar
z*e
14
相似要找出来
不难
text clustering就可以搞定了
先建tdm
然后按照上面的方法去做clustering
bottom up比较好
就是慢一点
avatar
z*e
15
对哦,忘记用轮子了,看来还是对轮子不够熟悉

【在 g*****g 的大作中提到】
: 都是没实践过的瞎出主义,上个 Lucene,Tokenized fuzzy search就搞定了。
avatar
i*i
16
哪里用那么麻烦。
parse:
1. 提取公司类型 llc,s corp etc.
2. 缩写-> 全称。 tech -> technology
3. 剩下的是公司的名字。对于英文名字可以把单词按字典排序.
做一个函数算单词的距离。
然后跟库比对。肯定八九不离十。
avatar
i*i
17
full text search 在这种情况下效果不一定好。
lucene的stemmers在这里没有道理

【在 g*****g 的大作中提到】
: 都是没实践过的瞎出主义,上个 Lucene,Tokenized fuzzy search就搞定了。
avatar
g*g
18
我们用来搜电影 title, 人名,跟这个 use case一模一样, 效果好不好你比我清楚?

【在 i**i 的大作中提到】
: full text search 在这种情况下效果不一定好。
: lucene的stemmers在这里没有道理

avatar
b*s
19
http://flamingo.ics.uci.edu/
is this what u want?

等等
Tec
是同

【在 f******k 的大作中提到】
: 一个公司信息的数据库,想检查其中是否有同一公司的多条记录,因为同一公司名可能
: 存在多种记法。比如ABC Tech, ABC Technology, ABC Technology, Inc, ABC, Inc等等
: 。尽管这些表达有可能其实是不同公司,但更有可能是同一公司。因此想把它们找出来
: 并返回给相关人员核查。这种核查不是针对某一家公司,而是数据库中所有公司。因此
: XYZ公司可能也存在这种问题。同时仅从字符串编辑距离上看,ABC vs XYZ比与ABC Tec
: hnology还小,但ABC和XYZ不太可能是同一条记录,而和ABC Technology反而更可能是同
: 一个公司。
: 当然,也存在记录输入错误,将ABC Tech输成了ABC Teck从而存在两条记录,但实际是
: 同一个公司。这种也希望能检查出来。
: 所以有什么更好的办法使聚类的结果更准确么?谢谢

avatar
i*i
20
好吧。那你能不能给科普一下netflix选的(或者自己做的)suggestion算法是什么?

【在 g*****g 的大作中提到】
: 我们用来搜电影 title, 人名,跟这个 use case一模一样, 效果好不好你比我清楚?
avatar
b*s
21
人家讲的是模式识别,扯什么统计

【在 z****e 的大作中提到】
: 你这么说人家能看懂么?
: 我也看得一知半解的,统计的水还是太深了
: 不过我说一个相对容易点的哈
: 建立tdm
: 然后normalize下
: 最后点乘计算cos夹角
: 因为cos是递减函数
: 所以值越大,夹角越小,越接近
: 这个很容易算,不过有模型可以优化,需要人工介入比较好撒

avatar
g*g
22
consumer faced的那个不是我做的,不敢说。我们内部有一些内容管理需要搜索,我老
写的 API, 就是
Elastic search 缺省的 tokenized term search效果就很好。楼主说的所有 case我都
试过。想优化还有一堆的权制可以调。这是Apache的顶级轮子,让你写一年也赶不上。

【在 i**i 的大作中提到】
: 好吧。那你能不能给科普一下netflix选的(或者自己做的)suggestion算法是什么?
avatar
z*e
23
装逼犯,我说的压根不是统计,是线性代数

【在 b*******s 的大作中提到】
: 人家讲的是模式识别,扯什么统计
avatar
z*e
24
不知道古德霸那个api怎么用,没怎么用过
你这里面abc都是首词,所以可以加大第一个单词的权重
找最相似的,比如第一个单词权重都是50%,如果第一个单词一样,剩下单词都不一样
那么有50%相似度,你可以建立一个score或者weight来判断
这样就不会导致abc和xy和abc和abc technology有所不同了
找完了第一个之后再找类似的,abc不小心打成adc这样就接近了

等等
Tec
是同

【在 f******k 的大作中提到】
: 一个公司信息的数据库,想检查其中是否有同一公司的多条记录,因为同一公司名可能
: 存在多种记法。比如ABC Tech, ABC Technology, ABC Technology, Inc, ABC, Inc等等
: 。尽管这些表达有可能其实是不同公司,但更有可能是同一公司。因此想把它们找出来
: 并返回给相关人员核查。这种核查不是针对某一家公司,而是数据库中所有公司。因此
: XYZ公司可能也存在这种问题。同时仅从字符串编辑距离上看,ABC vs XYZ比与ABC Tec
: hnology还小,但ABC和XYZ不太可能是同一条记录,而和ABC Technology反而更可能是同
: 一个公司。
: 当然,也存在记录输入错误,将ABC Tech输成了ABC Teck从而存在两条记录,但实际是
: 同一个公司。这种也希望能检查出来。
: 所以有什么更好的办法使聚类的结果更准确么?谢谢

avatar
g*g
25
Lucene的fuzzy search是基于Levenshtein distance的。加上tokenize调一下权重足以。
avatar
z*e
26
Levenshtein distance是string matrices
他这里面貌似还有terms matrices的东西

【在 g*****g 的大作中提到】
: Lucene的fuzzy search是基于Levenshtein distance的。加上tokenize调一下权重足以。
avatar
z*e
27
还有一个就是过滤掉频繁出现的关键字
比如technolog, company, co.jp, com这些
直接全部无视都没啥问题,不管怎样,这些频繁出现的字眼权重一定要降低
不过如果能有轮子搞定,那还是直接上轮子了
avatar
d*r
28
大牛能否比较下 Lucene&Solr VS ElasticSearch 分别的优缺点和适用范围?

【在 g*****g 的大作中提到】
: consumer faced的那个不是我做的,不敢说。我们内部有一些内容管理需要搜索,我老
: 写的 API, 就是
: Elastic search 缺省的 tokenized term search效果就很好。楼主说的所有 case我都
: 试过。想优化还有一堆的权制可以调。这是Apache的顶级轮子,让你写一年也赶不上。

avatar
z*e
29
ElasticSearch不是基于lucence的吗?

【在 d*******r 的大作中提到】
: 大牛能否比较下 Lucene&Solr VS ElasticSearch 分别的优缺点和适用范围?
avatar
g*g
30
Solr/ES都是基于Lucene的,Lucene是一个搜索的库,Solr/ES是之上提供了应用级的支
持。
个人觉得ES比较先进,flexible schema, good scalability.

【在 d*******r 的大作中提到】
: 大牛能否比较下 Lucene&Solr VS ElasticSearch 分别的优缺点和适用范围?
avatar
z*e
31
酱紫啊,先试试用看了
thx

【在 g*****g 的大作中提到】
: Solr/ES都是基于Lucene的,Lucene是一个搜索的库,Solr/ES是之上提供了应用级的支
: 持。
: 个人觉得ES比较先进,flexible schema, good scalability.

avatar
i*i
32
如虫子所说,这种情况下用轮子是最简单的。 这种要求不高的情况一般的算法都足够
了。
我以前用过n-gram也不错。
用lunrjs做了一个demo.
http://plnkr.co/edit/9btihuQDQNGL8Fci9dx8?p=preview
{name:"Oak Hill Capital Partners"},
{name:"Oaktree Capital Management"},
{name:"Oberto Sausage Company"},
{name:"Oberweis Dairy"},
{name:"Occidental Petroleum"},
{name:"Oceaneering International"},
{name:"Ocean Spray"},
{name:"OCZ Technology"},
{name:"Odwalla Inc."},
{name:"O.F. Mossberg & Sons"},
{name:"Office Depot"},
{name:"OfficeMax"},
{name:"Olan Mills"},
{name:"Old Dominion Freight Line"},
{name:"Olin Corporation"},
{name:"Olympic Steel"},
{name:"Omaha Steaks"},
{name:"Omni Air International"},
{name:"The Omni Group"},
{name:"Omnicare"},
{name:"Omnicom Group"},
{name:"ON Semiconductor"},
{name:"ONEOK"},
{name:"Onvia"},
{name:"Open Interface North America"},
{name:"OpenTable"},
{name:"Opower"},
{name:"Oracle Corporation"},
{name:"Oracle Financial Services Software"},
{name:"Orbital Sciences Corporation"},
{name:"Oreck Corporation"},
{name:"O'Reilly Auto Parts"},
{name:"O'Reilly Media"},
{name:"Oshkosh Corporation"},
{name:"OSI Restaurant Partners"},
{name:"Overcast Media"},
{name:"Overstock.com, Inc."},
{name:"Owens Corning"},
{name:"Owens-Illinois"},
{name:"ABC Technology, LLC"}
avatar
S*A
33
虽然例子里面用 sub string Levenshtein distance 就可以匹配上了。
但是 LZ 都说了,Levenshtein distance 不一定够用。
所以 Lucene的fuzzy search 不见得一定够用。
我可以举个例子,因为我对花花草草比较熟悉:
John Deere Landscapes 和 Lesco, Inc 没有相同的 sub string,
但是这是同一个公司。因为 branding 的需要,这种情况很常见的。
保洁,飘柔等等。
我就是提些思路如何引入 Levenshtein distance 以外的衡量指标,
说的不清楚还请包含。
当然如果可以简化成用 Sub String Levenshtein distance 那
就简单多了,上轮子也可以。
avatar
d*r
34
多谢多谢!过来人一句话,省很多自己研究的时间。

【在 g*****g 的大作中提到】
: Solr/ES都是基于Lucene的,Lucene是一个搜索的库,Solr/ES是之上提供了应用级的支
: 持。
: 个人觉得ES比较先进,flexible schema, good scalability.

avatar
w*w
35
Mark!
avatar
x*6
36
有木大牛比较下es和solr?我现在用solr的理由就是solr admin console好用,貌似es
没有现成的admin console?另外spring-data-solr是一个mainproject,可以用
repository什么的比较方便。
avatar
g*g
37
有 3rd party plugin, 开源的。

es

【在 x*******6 的大作中提到】
: 有木大牛比较下es和solr?我现在用solr的理由就是solr admin console好用,貌似es
: 没有现成的admin console?另外spring-data-solr是一个mainproject,可以用
: repository什么的比较方便。

avatar
g*g
38
不是说你说的是错的,而是说你指点的不 practical. 需要写轮子的人必然很熟悉轮子
。剩余的人不需要写轮子。先看够不够用,再补充。Lucene fuzzy search给你返回一
个 score,要加权其他算法,要 plugin同义词都很容易。同义词的支持都是内建的。

【在 S*A 的大作中提到】
: 虽然例子里面用 sub string Levenshtein distance 就可以匹配上了。
: 但是 LZ 都说了,Levenshtein distance 不一定够用。
: 所以 Lucene的fuzzy search 不见得一定够用。
: 我可以举个例子,因为我对花花草草比较熟悉:
: John Deere Landscapes 和 Lesco, Inc 没有相同的 sub string,
: 但是这是同一个公司。因为 branding 的需要,这种情况很常见的。
: 保洁,飘柔等等。
: 我就是提些思路如何引入 Levenshtein distance 以外的衡量指标,
: 说的不清楚还请包含。
: 当然如果可以简化成用 Sub String Levenshtein distance 那

avatar
G*Y
39
你这个问题的定义,太vague
等你把问题定义清楚,solution,就显然了。

等等
Tec
是同

【在 f******k 的大作中提到】
: 一个公司信息的数据库,想检查其中是否有同一公司的多条记录,因为同一公司名可能
: 存在多种记法。比如ABC Tech, ABC Technology, ABC Technology, Inc, ABC, Inc等等
: 。尽管这些表达有可能其实是不同公司,但更有可能是同一公司。因此想把它们找出来
: 并返回给相关人员核查。这种核查不是针对某一家公司,而是数据库中所有公司。因此
: XYZ公司可能也存在这种问题。同时仅从字符串编辑距离上看,ABC vs XYZ比与ABC Tec
: hnology还小,但ABC和XYZ不太可能是同一条记录,而和ABC Technology反而更可能是同
: 一个公司。
: 当然,也存在记录输入错误,将ABC Tech输成了ABC Teck从而存在两条记录,但实际是
: 同一个公司。这种也希望能检查出来。
: 所以有什么更好的办法使聚类的结果更准确么?谢谢

avatar
B*i
40
建议楼主看一下local alignment ( smith-waterman algorith) 吧,
avatar
N*K
41
你这猴子搬弄工具 只曾笑料

【在 z****e 的大作中提到】
: 你这么说人家能看懂么?
: 我也看得一知半解的,统计的水还是太深了
: 不过我说一个相对容易点的哈
: 建立tdm
: 然后normalize下
: 最后点乘计算cos夹角
: 因为cos是递减函数
: 所以值越大,夹角越小,越接近
: 这个很容易算,不过有模型可以优化,需要人工介入比较好撒

avatar
N*K
42
这就好比文科傻妞 分不清工科和理科一样

【在 b*******s 的大作中提到】
: 人家讲的是模式识别,扯什么统计
avatar
H*S
43
Lucene 基本上是吧document看作bag of words,所以如果希望abc是在document的最前
面,best bet是用Term payload.
关于第二个问题,可以去看看Lucene提供的Porter stemmer
avatar
f*k
44
多谢各位的热烈,专业的建议。后来用的办法是用两套打分规则,取高的。第一套是先
将The,Inc,Ltd这种无意义的词删除,将Technology,Management这种常见词替成1,
2个字母的缩写。然后计算编辑距离,距离越短,分数越高,认为相似度越高;第二套
是原始公司名全按单词拆开,所有公司名的组成单词汇总,计算出现次数;包含仅出现
一次单词的公司名,被认为很有可能是unique的,给0分;包含只出现过两次单词的公
司名被认为很有可能是一对duplicates,给一个高分,其他次数给分递减。
先用1万多的数据跑了一下,发现编辑距离的准确度高些,第二个方法基本不太准;由
于客户多是金融公司,大家起名都非常相似,比如ABC capital,ABC Capital
Management这种差异大部分情况其实是不同公司;个别的甚至仅ltd和lnc的差异就是两
家公司。所以false positive比较大。由于我们的数据是从专业的第三方买来了,所以
拼写错误的情况极为罕见,1万多里目前就发现1,2个。
而真正的重复对绝大部分集中在处理过的公司名的编辑距离是0或1上。这些重复对在原
始名上的差异主要是一个是全称,一个少了llc,inc,group这种后缀。也有同一家公
司的不同分支,比如ABC Private Equity,ABC ventures也被以很低的编辑距离找出来
了。
我不是学和专门做这方面的,只是公司想清理下客户数据,提高数据质量。大家提到的
好多专业内容不太懂,我会再去研究下,改进目前方法的质量。
avatar
S*A
45
嗯,这个和我的预想比较接近,就是不能简单依赖通用的
text search, 需要加入 domain specific 的 knowledge。
关键在于,你需要塞选过数据之后,得出你现在公司重复的
不同原因。你现在的总结是,有些是简单拼写错误,(其少数)。
有些是漏掉些不关键的字,还有是公司不同的不同叫法。
所以比较常见的做法是针对不同的原因给不同的评分标准,
然后把这些不同的评分结果通过算法和数据训练合并起来。
公司的不同叫法和子公司这个必须要利用一些名字以外的
信息区分开来。你的例子里面有矛盾的两个方面,例如多
个 management 是个不同公司,差个 ventures 是同一个
公司等等。这些最好有外部信息来帮助判别。例如你如果
可以找出一个公司所有的分公司的信息就会有帮助。
avatar
m*n
46
赞。我们组正在用ES

【在 g*****g 的大作中提到】
: Solr/ES都是基于Lucene的,Lucene是一个搜索的库,Solr/ES是之上提供了应用级的支
: 持。
: 个人觉得ES比较先进,flexible schema, good scalability.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。