BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

明略数据技术合伙人徐安华:利用图挖掘与文本分析算法构建特定领域知识图谱
录制于:

| 受访者 徐安华 关注 0 他的粉丝 作者 InfoQ 关注 13 他的粉丝 发布于 2016年7月11日 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。
11:21

个人简介 徐安华:现为明略数据技术合伙人、SCOPA产品搜索及自然语言处理组技术经理。2004级北大计算机本科,2008级北大计算机系统结构方向硕士,曾经在Intel、爱奇艺工作4年时间,Linux kernel代码贡献者,显卡虚拟化项目XenGT早期主要开发人员,拥有多篇专利。2014年底加入明略数据,致力于在Hive、Impala、SparkSQL上实现行列级别权限,目前专注于自然语言处理与文本挖掘。

   

1. 各位InfoQ的网友,大家下午好,我们今天来到了明略数据北京办公室,将与明略数据技术合伙人及技术经理徐安华先生一起,来聊一聊有关大数据领域中的自然语言处理与文本挖掘的相关话题。徐先生请您先做一下自我介绍吧。包括现在所属的部门,以及目前正在从事的工作,之后还想了解一下您之前的一些工作经历。

徐安华:各位好,我是明略数据技术合伙人徐安华,现在是SCOPA产品组搜索及自然语言处理方面的技术经理。在加入明略之前,先后在因特尔以及爱奇异工作过四年,在这段时间里主要做了一些关于包括Linux内核以及线下虚拟化这样的一些跟底层计算机基础技术比较相关的开发工作。另外在爱奇异期间也做了很多网络协议站以及这个网络性能检测相关的工作。

   

2. 您之前从事过多年的开发工作,对代码也非常熟悉,那么能否分享一下在之前从事开发工作时候的印象最深刻的一件事呢?

徐安华:我感觉做开发是一件非常有激情的事。在这个过程中,你每解决一个问题,每解决一个Bug,都能从中体会到非常大的成就感,更重要的是我们从之前解决问题的过程中,会学到更多的知识。

举例来说,我曾经在底层相关的领域做过很多年的工作,这让我在之后不太会惧怕再看到这种新的算法库,包括新的底层架构的代码。我之前向Linux内核转到我们现在大数据平台上之后,我就能够非常快的上手,很多大数据平台组建相关的一些代码的开发、维护以及提交就都变得非常轻松,这个就是我多年代码开发的过程中所积累,以及积攒下来的非常宝贵的经验。

   

3. 明略数据在企业技术文化上有很多创新的举措,比如技术合伙人制度以及大数据科学家团队的概念,那么您在这家公司的企业技术文化方面感受最深的是什么呢?

徐安华:我选择加入明略数据,很重要的一部分原因,就是被这里非常好的技术文化氛围所吸引。在这里作为一个开发人员来说,它不只是一个纯粹的写代码、编代码、测试代码的工作。而是你需要跟更多的人去交流,这里更多的人不是指传统意义上的产品经理,而是我们的技术人员与销售人员会和我们的客户一起进行非常深入的交流,然后收集到来自一线客户的非常关键的需求点。

从这方面来看,明略相比于传统软件厂商其实是有非常大的不同的。我们的开发人员除了把自己本质的工作做好之外,其实还非常清楚自己所做的事情的意义,甚至还能藉此了解整个行业的发展方向,这对于技术人员自己来说,也是进一步发展自身各方面能力的一种推动,除了技术能力之外,还能锻炼包括沟通能力、组织能力、分析能力,以及对行业的把控能力等等。

   

4. 我们知道明略数据目前最新的数据关系挖掘产品是SCOPA,所以想请您谈一谈SCOPA在处理非结构化数据的时候是怎样做的。

徐安华:其实在处理非结构化数据这方面,包括百度、谷歌这样的公司都是以文本数据作为基础来进行后续的处理。而明略则希望在这个领域中能走得更远一些,我们也一直在关注着像Facebook、谷歌这样的公司在这个领域中的一些动向,以便学习到一些新的方法或者知识。

明略是专门处理特定领域的自然语言的,所以在这方面会有一些独特的优势。举例来说,之前我们看到了很多在自然语言处理中表示时间的方法,比如星期三的几点几分,或者昨天的几点几分,今天的几点几分,以这样的一些非结构化数据的形式来表示出来,其实这是能够精确地把它表示成计算机能够识别的日期数据格式的。

受到这件事的启发,我们认为在公安领域内也有很多规范化的文本,可以做更多类似的事。比如某一件物品的价值,它到底值多少钱,另外还可以找到某一个人的包里面,到底有哪些具体的物品。这种方式推而广之,就能做到把非结构化数据转化成结构化数据,在这个特定的领域中实现结构化数据与非结构化数据之间更好的连通。

   

5. 还想请您谈谈SCOPA在进行自然语言处理以及文本挖掘时的具体过程是怎样的?以及SCOPA是如何通过对文本分析来实现数据关系挖掘的?

徐安华:在文本挖掘领域,最重要的工作就是做分词处理,分词是所有后续工作的基础。这方面我们其实想过很多办法,也试图用过现在已有的一些成熟的工具,包括外部公布出来的一些从事相关研究的各个大学,以及其他开源的分词工具。

但是最后我们却发现,其实这种方式在公安、新闻、互联网等特定的用语环境领域下所产生的这些分词模型,最后的处理效果都不是特别好。因此,我们在参考了国外的一些比较权威的分词标准的基础上,再根据特定用语环境,做出了特定的分词模型,基本上解决掉了这个问题。

在这个基础之上,我们会做实体的识别,因为实体才是文本的核心价值所在。之后我们会再去做实体与实体之间的关联分析。而另外一件很重要的事情,是做关健词的识别,因为关健词能体现出来一个事件或者一类事件以及事件的重点、热点等。

这样做的最终的目的主要在于两大方面,第一方面是我们希望把结构化数据里面的内容能够用到非结构化数据里,以进一步的提升非结构化数据的识别准确率,改善文本挖掘的效果。

第二方面,就是可以反过来,我们将这个文本里提取出来的数据,补充到结构化数据中,甚至是补充到我们的知识图谱里去,进一步的完善、增强知识图谱现有的功能。

   

6. 您刚才提到了知识图谱,听说您现在也正在从事知识图谱方面的研究,那么对于明略数据以及SCOPA来说,知识图谱的应用意义以及价值在于哪些方面呢?另外还想了解一下在明略数据内部,知识图谱在哪些方面有所应用?

徐安华:知识图谱其实是一个提出时间很久的概念,各大公司都有比较好的应用。而其中最突出的应用,可能就是利用知识图谱来进行实体的识别。简单来说就是当搜索某个字符串的时候,搜索引擎知道这可能是在搜索某个人,因此它会尽量会按照人的特征去提供更多的相关信息,比如家庭信息、地址,或者是跟这个人有关系的人。

明略做得事情会跟上面所说的有些类似,也是希望能识别出比如公安领域内一个案件里面,涉及到的具体的人、车辆、电话号码,甚至其他更多的相关信息,将这些不同的实体进行关联分析,然后把重名的或者其他不相关的信息准确地去除掉。

在这种意义下,因为一直是在针对特定领域来做这个事情,所以我们除了需要外部的公开数据,包括维基百科、百度百科等等之外,还需要有更多的这个特定领域之内的相关知识,去做知识图谱构建的基础。

从具体的实践上来说的话,明略在构建公开的数据库或者是知识图谱的做法,跟其他企业的做法基本上是大同小异的,都是首先从现在已有的公开数据源,先获取它的核心或者是主要的数据,然后再根据自身情况做整理加工,最后让它能够符合我们自己的应用,形成第一个知识图谱以作为基础。而特定领域的知识图谱,它其实是运用了明略自己的图挖掘技术,包括很多业务的规则以及特定领域之内的数据挖掘算法,来找到实体跟与实体之间的关联,最终形成一个特定领域之内的一个非常大的知识图谱,那把这两个知识图谱合在一起才能够非常好的支持我们现在SCOPA的应用。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT