最近在公司的博客发了一篇技术文章,关于我们组在2015~2016年期间完成的一个自然语言生成的项目,生成的内容是地区的描述(Location Description),要覆盖美国大概十万个城市(City)、小区(Neighborhood)和邮政编码(Zip Code)。博客本身更多是公关与宣传,而不是学术交流,所以细节不多,仅仅粗略地说了说。
原文地址:Natural Language Generation in Real Estate - Trulia's Blog
以下为部分补充感想,具体项目细节参考以上原文。
Why NLG?
我一直致力于探索如何把已经相对成熟的机器学习算法应用到不同的领域中,因为工作在 Trulia,核心的关注也是在房地产领域。之前探索过图像识别算法的应用,开发了若干应用,也上线了一些,比如 What Makes a Photo Click: Selecting Hero Images with Deep Learning - Trulia's Blog。之后慢慢转向了文本的理解与生成,恰逢产品上有一些需求,于是开始主导探索搭建一个自然语言生成(Natural Language Generation)的系统。
NLG 系统的需求正越来越强烈。一方面随着数据时代的发展,我们积累了大量结构化的数据,这些可以被转化为文本,使得人类更好理解。另一方面,在个性化算法的大潮下,每一个人都期待着一种个性化的交互,这背后也需要一个好的自然语言生成系统来支撑。
但是,一个通用的 NLG 系统框架现在还是不存在的,每一个领域的应用都需要结合这个领域的特点来探索和搭建。但也正因为如此,这样的项目才足够让人 Excited!
First Application: Location Description
我们的第一个应用是探索如何生成地区的描述。
项目的背景不复杂,美国有十万个左右的地区,如果要请专家,为每一个地区写一个描述,是不可能的。我们可以请有经验的人来完成数十个核心城市的简介,但是对于其他的城市,人类在这样的数据量下无能为力。因此我们自然而然的要探索如何自动生成数万个地区简介,来作为补充。
最后的系统框架如下,我们结合了机器学习、数据挖掘、众包等各种技术,完成了这个项目。
我们系统生成的小区介绍的部分结果作为例子:
South Beach is a neighborhood located in San Francisco, California.
If you have cravings for foods such as salad, sandwiches and creperies, then you’ll love South Beach which features many delicious restaurants. With many nightlife options to choose from, there is something in this neighborhood to suit practically every taste. Enjoy the wide diversity of arts and entertainment spots such as museums, performing arts spots and music halls that are conveniently located near this neighborhood; there really is something to suit everyone. Some people love working out at sports clubs, boating and going to summer camps, others prefer taking in nature during a leisurely drive, but whatever your preference, South Beach is full of options to keep you active. Safety is one of the most important factors to consider when discussing any place, and it’s something you’ll never have to worry about here. A lot of people here choose to commute by bike, so why not join them and save on gas in the process?
What is Next?
下一步我们正探索将自动生成的内容应用到更多的领域之中,无论是更多的物品介绍,还是聊天机器人,一旦我们已经搭起了一个框架,这些应用的开发难度都降低不少。
另一方面,正如这个答案中所说 可否详细介绍一下CMU的MCDS? - 知乎 ,我们正与 CMU 的 MCDS 项目的一组学生一起探索应用更好的模型来完善系统。
自然语言生成是一个并不最火热,但是潜力无限的方向。它的应用覆盖面极其广泛,几乎只要有文字出现的地方,都是可能的应用场景,但缺乏统一框架,也使得进步不如其他领域快速。对于机器学习应用的未来积极探索的同学可以多多关注这个领域。
by @陈然