语义分析相关应用的实作要点

郑昀@玩聚RT 20090703

舆情监测和口碑监测都属于一个路子。常有人问到自然语言处理技术在其中如何上手实用。下面简单说一下。

一、词典和算法

前期的主要问题是用于分词和分类的词典建立,根据你的应用不同,这一套词典(可能有很多词典,比如人名、地名、组织名、常用英文缩写)的侧重是不同的。还有停用词表,也就是“的”“啊”“哦”之类的词。

举例:

对于生活搜索,“鱼头王”和“鱼头”应不应该都在词典中出现呢?“大酒店”和“酒店”呢?取舍取决于你的分词算法,甚至取决于你的应用点,如果是正向最大匹配分词算法,如果是搜索应用,那么显然应该移除“大酒店”和“鱼头王”。

后期则是自动去重、提取标签和自动聚类的算法以及效率问题,提取实体词和标签也是词典问题。

分词算法用谁家的都无所谓,开源的、能拿到手的、靠谱的有不少。主要是一套专用词典。需要(自动地)与时俱进,而不是拿一个许多年前的不更新的旧词典就搞定的。

也就是说整个应用的主要问题是词典和算法。

二、明确需求

语义这东西,如果没有明确的需求,很有可能花一番气力做出来的东西,最后不要了。算法一旦去研究,就会耗费很多精力去做对比实验,词典们一旦要自己收集并认真整理,就会耗费很多人工。这些都是成本。

所以必须明确需求。
没有明确的需求,很多工作等于是白做。

三、较高级的挖掘

深层次文本挖掘,国内外的做法一般有:
1:描述性的特征提取,如能够知道人们对某一款汽车具体到操控性、耗油量、舒适性等的评价以及评分;
2:情感分析,即正负面判断,基本上是靠词典和模式匹配;
3:自动热点发现,即聚类的变种;
4:利用实体词、标签做统计做趋势;
5:传播途径分析;
6:特定领域的观点自动提炼,基本上是靠词典和模式匹配;

7:自动生成总结(Summary),注意不是“摘要”。 
剩下的就都是围绕着关键词的简单玩法了。

社交玩法

Read/Write Web的文章也提到了社交的几个点,不妨一看

  • 语义链接分享
  • 网络挖掘
  • 新闻分享
  • Tweet挖掘

至于它后面说的语义/语境广告投放,那都是巨头的玩法,一般人不要轻易介入。

垂直、垂直

如果客户追踪的是某一个垂直领域,而不是那种泛泛的内容监控,其实很多事情就有了可做、可控的余地。
口碑监测或舆情监控,最麻烦的就是不知道将要监控的内容是什么,有没有明确的语言特征;这样,词典不好积累,算法不好交叉验证和调整,不容易走捷径。

四、能做好的

在垂直领域,即像汽车、旅游、饭馆、酒店和股票等的口碑监控,技术可以有把握做到的:
1:准确分词、分类;
2:准确提取标签和实体词;
3:描述性的特征提取;
4:自动发现热点;

不需要垂直领域也可以做到的:
1:自动去重;
2:通过实体词和标签的关联建立;

五、词典

需要整理专有词典的:
1:分词、分类(严重取决于训练机器时的语料是否准确是否具有代表性);
2:实体词、提取标签;
3:情感分析;
4:描述性的特征提取;

不需要词典就可做的:
1:自动去重;
2:热点自动发现(说到底还是需要,但不那么严格需要);
3:高速传播事件监测(其实是自动去重的镜像应用)。

六、做应用的流程

1:确定监控的垂直领域;

2:收集整理好专有词典;
3:为分类准备足够多的语料,每一个分类需要至少三百到五百篇文本,以供训练;
4:做垂直,像CIC或爱搜车的做法,至少要收集足够多的独特性汉语词汇,比如产品昵称,就有黑莓、BB、本本儿、小黑、小捷等;

4:为描述性的特征提取,收集语料,建立各种词典。

5:为情感分析收集语料,建立词典。

6:分别试验各种算法,反复调整以达到商用的准确率。

7:将各种语义处理联起来,合成应用。

 

举例:

我们做 玩聚中文锐推榜 这个非常简单的语义应用的流程:

1:明确需求:近乎实时地获取 Twitter 和 饭否 的RT(锐推,或称“转发”)消息,将内容相似的合并为一条消息;如果该消息被转发次数足够多,就可以登上中文锐推榜,并通过我们的官方微博客帐号和RSS发布出去。

2:确定重点功能以及对应的自然语言处理能力:

A、合并相似的转发消息:基于分词;

B、上榜锐推的标签,标签关联,热门标签趋势:都是基于自动提取标签;

C、阻止内容大体相似的锐推重复上榜:基于标签;(

不那么典型的是这两个上榜锐推,应该有一个被阻止上榜的,但实际上很难,因为语言特征上很难做出判断,虽然人一眼就能看出是重复的:

RT: @jason5ng32: 这几天我看到的“门”:邯郸大学教室做爱门、慈溪职高摸奶门、北京顺义脱裤门、上海地铁洗手门、湖南幼师摸鸟门、图书馆飞机门、湖南某学校秋千门。

RT @yeluchow: 今天看了3个门事件 摸×门 电梯门 秋千门 结论是 现在脑残儿童真多。 /// 难不成这也是在给 “绿·坝” 造势???

。比较容易阻止的是下面这种:

RT @flypig: 贵国的 CCTV 终于在网站上 (页面地址:http://is.gd/16cfg ) 替秦刚老师承认了 GFW 的存在,请看截图:http://twitpic.com/7silp ,让我们为这种有责任心的媒体喝彩哟! (CCTV 'admitted)

#RT: @DavidFeng: 贵国的 CCTV 终于在网站上 http://is.gd/16cfg 替秦刚老师承认了 GFW 的存在,截图 http://twitpic.com/7silp

主要是因为文字长度太短,短的话也就十几个字,所以以往用于长文章的诸多常规手段都用不了,需要调整。

3:针对锐推的语言行为,整理并持续更新自己专有的停止词词典。

4:整理自己的标签专用词典s,这个倒可以用通用的词典s;

5:反复调整各项参数,使之达到人可以觉得丰富、最好是有趣的地步;

6:将各个计算串联起来,如前面语义算的,如从每一个转发消息中提炼参与转发的用户名,等等,成为 中文锐推榜 的应用,每5分钟刷新一次,7×24地侦测中文微博客世界在流行锐推什么新闻、段子和语录。



--------------------------
新闻:Google App Engine宕机6小时——云的安全在哪里?
网站导航: 博客园首页  新闻  .NET频道  社区  博问  闪存  找找看

Comments

Twitter与国际新闻的倒掉

当德黑兰在大选之后的骚乱消息像野火一样在Twitter上传播时,当这些消息被BBC和NPR这样的新闻网拾取并在全世界予以扩散时,数年前依靠中东报道一举成名的CNN却出现了异乎寻常的沉寂,以致于Twitter世界的流行风向标——一种叫做hashtag的标签——当中出现了“失败的CNN”(#CNNFail)的字样。

Twitter的神奇令人惊叹:由于德黑兰封锁了手机短信传送并屏蔽了若干网站,Twitter成为伊朗人满足信息渴望和对外发声的替代网络。对Twitter在伊朗抗议当中所起到的传播和组织功能的分析,业已成为社会性媒体研究者的最新热门。不过,数字化抗议活动的整体画面其实是更为复杂的。首先,在伊朗,使用互联网的多为家境富裕的年轻人及城市人,他们多支持反对派,这较易让外界产生“伊朗快要革命”的错觉,而忽略了乡郊大量保守民众的想法。Twitter创办人之一的Biz Stone就承认,使用Twitter的只是一小部分伊朗人,未必能反映主流意见。其次,YouTube和Twitter这样的工具更多被用来进行公民报道,抗议活动本身还主要是由反对派候选人在线下集中组织的。

尽管对Twitter在社会行动中的作用有高估的苗头,我们还是要承认,这一面世还不足四年的微博客服务在2009年迎来了自己的里程碑。在伊朗的抗议进行时中,美国国务院竟然向Twitter创办人发出了一个不寻常的电邮,请求其推迟固定的全球网络维修计划,因为维修期间,伊朗人将无法登入,德黑兰示威现场的讯息也无法及时传递到外部。而Twitter也听从了国务院的呼吁,将网络维修时间推迟至德黑兰的凌晨时分才进行,它承认,“我们现在成为了伊朗人的重要沟通媒介”。

这不免让人想起CNN当年的盛况:当世界上发生重大事件时,无数人守候在电视机前等待CNN的breaking news,目的是为了迅速获得从遥远的地方传来的第一手现场信息。现在,大家获取突发新闻的首选场所已经不是电视而是Twitter,不管这类新闻是“猪流感”这样的疫病,还是孟买的恐怖袭击,抑或是纽约哈德逊河上的迫降。尽管如此,众多的Twitter用户还是悲叹CNN的没落。知名的博客网站ReadWriteWeb写下了这样的标题:“亲爱的CNN,请向Twitter核实有关伊朗的消息。”它写道,“当伊朗警方与成千上万的市民在街上发生冲突几个小时之后,CNN.com的头条仍然是美国人如何困惑于电视信号从模拟向数字的转变。”

有一位Twitter用户讽刺说:“CNN需要时间谈论重要的事情,比如加州小姐的选美和帕丽斯·希尔顿和谁上床。”的确,CNN在伊朗报道中行动迟缓让人惊异,尤其是,它在Twitter上有大量的拥趸者。仅仅两个月之前,CNN的Twitter账户差一点就成为第一个追随者突破100万的账户。奥巴马在伊朗抗议活动如火如荼之际没有立刻作声,尚可给出一个很好的借口,即匆忙的表态会影响以后有关核问题的谈判,而CNN的借口在哪里呢?

CNN因1991年的海湾战争而大放异彩,但在将近20年之后,人们似乎已经形成了一种共识,即实时的、在线的、众包(crowdsourced)的媒介才是最好的跟踪时事的地方。我认识的一位英国名记者曾经怀疑历史是否能由像Twitter这样的社会性媒体书写草稿,但奇妙的是,现在是Twitter用户有胆量指责大的媒体机构在国际报道中的浅薄和漫不经心。CNN在这里是一个象征——它代表着今天被娱乐信息节目(infotainment)所占领的电视媒介的一切过错。

CNN可以不在乎Twitter用户的指责,因为关心希尔顿的私生活的观众远远超过那些关注伊朗的人。在这个意义上,说CNN失败了有些一厢情愿。而且,CNN也不是为了别的,只是为了让自己的收入最大化,在传统媒介面临惨淡前景的今天,这样做似乎也未可厚非。制作希尔顿的新闻毕竟比制作伊朗的新闻成本要低得多。

在更大的意义上,此种情形对CNN来说,非不为也,实不能也。20年前CNN对进入世界上某些地区享有专权,例如像中国和伊拉克,自由职业者进不去,本地报道出不来。现在那个时代是过去了。本地人已经获得了报道自身新闻的力量,不管是通过Twitter、Facebook、博客还是手机。CNN的专有进入权被极大瓦解了。

就进入权而言,CNN倒是在探访希尔顿的世界时占尽先机:事实上你无法相信公民记者可以胜任这一工作。没有一位怀着自尊的名人——除了那些业已绝望的名人——会愿意定期地和某位博客坐在一起聊聊自身的轶事和心情。这样,CNN力图最大限度地利用这个先入优势也就丝毫不奇怪了:有关希尔顿的电视节目更受观众欢迎,也可以被更便宜地制作出来。

只是这样,作为一项国际新闻事业的CNN的确死去了。我们现在应该关心的是谁来填补CNN留下的空白。一个选择是全球之声网站(Global Voices Online),有意思的是,它的创办者之一恰好是一位前CNN记者。

在Twitter和博客上看国际新闻是一件要求高强度投入的事情;你不仅需要知道有哪些Twitter用户是你可以追随和信赖的,你还需要一直挂在网上,关注所有的标签和讨论的线索。电视则要简单和容易接受得多;况且,视频的力量还是强过文字短讯。所以,除了网络媒体,人们还是需要呼唤一个政府资助的公共电视新闻频道来取代昔日的CNN。这是BBC在伊朗的表现胜过CNN的原因。

这样的一个频道应该是24×7运转;它应该找到融合社会性媒体的办法,并尝试公民报道。它的主要价值在于其品牌而不在于其分发内容的平台;如果形势要求它在互联网而不是在电视广播上提供更多内容,那也不妨这样做。互联网应该成为其中心。其实,这些想法哪怕只有部分的实现,受众所面对的国际新闻环境都会比今天有意思得多。


(供《中国企业家》专稿,原文刊发时有删节,此为完整版)

Comments

« Previous entries