毕设做的这个方向,被推荐了这个文章,感觉会有参考,来看一看~

####Abstract####

这篇文章就是讲一个新词的生成算法的。这个新词会包含一些基于要起名字的service的类型或是属性的谐音双关(homophonic puns)或是隐喻(metaphors)。噢,好拗口,其实就是生成的新词要满足一定的含义要求。我们为这个新词的生成系统设计了很多语义学的方法,这篇文章就是介绍这些方法的。当然当然还有一些测试什么的。

第一次看这个领域的文章感觉好新鲜好神奇~看下去吧~

####1 Introduction####

一个让人印象深刻的、有创意的名字是一个公司成功的关键。因为一个好的名字可以给人们带来一个好的印象,而且能够代表一个公司提供的服务。╮(╯▽╰)╭翻译不下去了,大概就是好名字很重要。然而要找一个好名字,你得理解别人公司的service,还得擅长跟单词玩耍~你看这事儿又重要又难,多么需要科学家来解决啊。

有人说,起名字既是艺术又是科学(这话说得太对了!)。尽管最后的输出结果是一个简简单单的名字,但是这个名字背后的技术是十分复杂的。

接下来这个paper的结构如下。首先会介绍一下现在与naming task有关的最新工作。然后会介绍一下一个叫annotation task的工作。然后回讲一下是怎么起名字的。最后分析一下效果总结总结展望展望未来。

####2 Related Work####

在这个部分,我们会从三个方面分析最新的关于命名的工作:i)linguistic ii)computational iii)commercial

####2.1 Linguistic####

以下这段就是介绍一些别人在语言学命名方面的工作的,不想看可以直接跳过。感觉太难翻译了。。。

大概就是些分析相关性、含义、发音,发音和含义的关系之类的。反正还不涉及自动生成,只是单纯在讲怎么起名字。

  • B.V.Bergh(1987)的工作是一个包括了phonetic, orthographic, morphological和linguistic的four-fold linguistic topology用于商标的命名(这个工作好老,我还么得出生呢)。
  • Bao el al.(2008) investigat ed the effects of relevance, connotation, and pronunciation of brand names on preferences of consumers.
  • Klink(2000) based his research on the area of sound symbo lism (i.e. “the direct linkage between sound and meaning”(Leanne Hinton, 2006)) by investigating whether the sound of a brand name conveys an inherent mening and the findings showed that both vowels and iconsonants of brand names communicate information related to products when no marketing communications are avilable.
  • Kohli et al.(2005) analyzed consumer evaluations of meaningful and nonmeaningful brand names and results suggested that non-meaningful brand names are evaluated less favorably than meaningful ones even after repeated exposure.
  • Lastly, cog(2011) focused on the semantics of branding and based on the analysis of serveral international brand names, it was shown that cognitive operations such as domain reduction/expansion, mitigation, and strengthening might be used unconsciously while creating a new brand name.

####2.2 Computational####

据本文作者们所知只有一篇关于computational的工作(computational大概就是自动生成缩略词这个意思吧 )。

Stock和Strapparava(2006)提出了一种缩略词分析和生成(acronym ironic reanalyzer and generator)的工具叫HAHAcronym。这个系统make fun of已有的缩略词,也根据用户的输入生成一些有意思的缩略词。HAHAcronym主要基于词典替换(lexical substitution)。

还有一些更naive一些的做法就是直接开脑洞啦。www.bussiness-name-generators.com就是随机组合一些缩略词(abbreviations)、音节(syllables)还有一些来自不同领域的短词(short words)。www.namestation.com就是基于头韵(alliterations)、复合词(compound words)还有用户给出的单词表,随机生成一些单词和领域。用户可以决定生成名字的前缀和后缀。www.netsubstance.com给出的商标名称把一些关键词作为输入,用户可以选择有多少概率可以换掉关键词的单词。最后,www.naming.net基于普通单词、希腊语还有拉丁语前缀后缀词根的结合。

这些自动生成系统的缺点是随机的生成结果可能会非常差,用户需要有足够的耐心找到他们想要的。另外,这些生成的结果都是单词的直接组合,并没有把语义考虑进来。

####2.3 Commercial####

很多naming agencies和branding firms(例如www.eatmywords.com, www.designbridge.com, www.ahundredmonkeys.com)都提供起名服务。这些服务需要用户提供他们需要起名的公司的简要信息,填一个关于他们业务市场、竞争对手还有一些展望的调查问卷。最后这些服务会提供给用户一个名称候选列表。尽管最终的名字可以非常令人满意,然而这些服务非常昂贵,而且需要的时间也很长。

总之就是这个东西挺有市场的。

####3 Dataset and Annotation####

为了构建一个用语义生成名字的黄金标准,我们需要收集一些用于起名字的常规策略(common creativity devices),然后设计一个自动生成机制决定合适的名称。我们针对一个有1000个来自不同领域的商标和公司名称的数据集进行了注释分析(annotation task,猜一下,就是给这些名字打个标签,看这些名字都是怎么产生的)。这些名字来自一本书还有各种网页(类似adslogans.co.uk还有brandsandtags.com)。

这个列表中的名字包括了各种不同方法生成的名字。一些名字里的creativity与上下文无关,名字本身已经足够实现这些方法了,比如Peak PErformance这个名字用了头韵,vimeo这个名字更改了video这个名字的一个字母。对于另一些名字,与产品的形容和公司所属的领域有很大关系。例如,Thanks a Latte是一家咖啡店的名字,这里Latte与lot有谐音关系。在看Caterpillar这个名字,是一个运土机公司的名字,这里用到了隐喻的说法。因此,我们需要额外的信息。根据以上这些名字,我们从两个不同的分支对名字进行注释。一个是什么。。。。另一个是什么。。。尼玛看不懂。。不要紧继续看~

####4.1 Specifying the category and properties####

要求category是名词,properties是形容词。比如category是car,properties是comfortable。然后就可以使用一些技术来扩展这些category和properties(原文中叫扩展ingredient list),得到更多的名字。

####4.2 Adding common sense knowledge####

比如刚才定义了一个category是“shampoo”,那我们就要知道“它可以用来洗头发”或是“它一般放在浴室里”。为了做这件事情,有一个工具叫ConceptNet。这个工具把常识、文化、科普建成了一个语义网(semantic network)。对于每个单词,我们都可以用下表中的函数来查询一些含义。

ConceptNet relations

####4.3 Adding semantically related words####

为了继续扩展ingredient list。我们使用了WordNet。这是一个英文的语法数据库。WordNet把单词分为名词、动词、形容词和副词,并把相同词性的同义词连接成一个synset。

我们使用一个单词在WordNet中的直接上位词(direct hypernym)作为它的类别。我们认为WordNet中的上位词比ConceptNet中的IsA关系要更好,因为后者往往会得到更一般的单词。而且WordNet是纯语义学的,而ConceptNet来自网页,有很多噪声。

####4.4 Retrieving metaphors####

隐喻是一种中文中也有的修辞方法,应该很好了解,它是一种比喻,但是不用比喻词,把喻体直接当本体来用。既然是比喻,肯定本体和喻体之间要有某些共同点或是某种联系。这一节就是讲这种修辞的。

为了生成隐喻,我们从4.1节那些用户给出的properties开始,使用Veale在2011年给出的一个工作。(然后讲了些这个工作,我们就不关心了。)

我们方法中的一个组成是使用” as as “的模式,这是” like “的扩展,后者是明喻的一种重要结构。对于一个给定的property,我们把这种格式放到Google Suggest的API里面搜索。然而可能只能得到前10个(或者更少)的suggestion。我们把a-z中的每个字母依次加到提供的短语(provided phrase)中,得到更多的suggestion(这是什么原理?)。然后我们就得到了很多喻体,为了删除噪音,我们把多个单词组成的喻体删掉。然后(Afterwards),我们对剩下的候选词进行词性还原(lemmatization process),只考虑在WordNet中认为是名词的那些。尽管我们能找到很多正确的暗喻(比如对于属性bright,找到sun, diamond, star, neon),我们也会找到很多不相关的词(比如download, myspace, house)。因此,我们需要去掉这些不相关的词。

为了去掉这些词,我们需要借助ConceptNet的帮助。去ConceptNet用HasProperty(*, property)查一下是不是真的这个名词有这个属性。有人就要问了,一开始就用ConceptNet不就行了么?我们告诉大家,这是不行的,也会带来很多噪音,比如对于属性bright,可能会查出blouse, idea, color, home-schooler这些词。

####4.5 Generating neologisms####

当ingredient准备好了之后我们就需要来生成新词啦~首先phonetic(语音) module会分析所有的ingredient pairs看是否能产生谐音双关的新词。

为了分析这些ingredient的发音,我们使用了CMU Pronouncing Dictionary(Lenzo, 2007)。这个资源是一个机器可读的英语发音词典。然后就介绍了一下这个词典很厉害。把单词映射到了39种音位(phonemes)中。所谓音位就是语言中可以区别意思的语音最小单位。这里有个栗子解释得还是比较到位的。然后我们做了一件事情,把同一类(same category)的phoneme(例如辅音p-b, t-d, s-z,元音i-y, e-ø)组成一个group。

现在我们认为所有ingredient list中的单词的发音都已经搞定了。短单词的发音还要与长单词的子串比较(compare against)一下。然后我们需要计算两个pronunciation string之间的距离,看他们究竟有多么相似。这里我们使用了Levenshtein distance(Levenshtein, 1966)。这个距离可以用来衡量两个sequences有多么不同。是怎么衡量的呢?就是看两个sequences之间的最小编辑距离。举个栗子,比如”kitten”和”sitting”之间的最小编辑距离就是3,kitten->sitten->sittin->sitting。对于刚才定义的在同一个phoneme group里的字母,我们在算距离的时候要giving a smaller penalty(这里我的理解是认为p和b这种的就不要认为还要编辑了,即认为p和b的编辑距离是0,或者不到1)。然后我们用pronunciation string的长度标准化(normalize)这个距离,只有当这个标准化之后的距离小于0.5(我们凭经验得来的)的距离得分,我们允许这种组合(allow the combination of word pairs)。

既然letter和phoneme之间没有one-to-one relationship,我们就不知道刚才配成对的两个读音来自哪两个单词。为了解决这个问题,我们使用了Berkeley word aligner来排列letters和phonemes。Berkeley word aligner是一个静态的机器翻译工具,它能够自动对齐单词与sentence-aligned parallel corpus中的翻译。

插播一段解释:parallel corpus是一个由大量parallel text组成的语料库,所谓parallel text就是包括文本和它的翻译的一个组合。这样解释就清楚了,所以这个Berkeley word aligner是用来做自动的机器翻译的。

为了使这个工具适应我们的需求,我们需要把我们字典中的单词都拆成字母,然后把这些字母与他们的phonemes对应(mapping)一下,这样Berkeley word aligner就可以自动对齐单词及其发音了。

然后我们会把两个单词的读音相同的公共部分拿出来,再与不相同的部分拼在一起。举个栗子,如果有一个ingredient是bright,还有一个ingredient是light,我们可能会生成一个叫blight的名字。

####4.6 Checking phonetic likelihood####

为了检查替换过后新字符串的likelihood和well-formedness,我们学习了一个绝对平滑(absolute smoothing)的3-gram language model,为了学习这个language model,我们只考虑CMU发音词典和WordNet中共有的单词。进行这个过滤是为了去掉大量非英语的trigrams。我们删除了包含至少一个trigram的单词。

####5 Evaluation####

我们使用人造的注释(manual annotation翻译太烂,忽视掉)评估了我们系统的性能,这个manual annotation中有5个annotators从4个维度评估生成的新词(neologisms):

  1. appropriateness,比如有几个ingredients被用来生产这个新词了
  2. pleasantness,比如是不是符合英语的发音规则
  3. humor/wittiness,这个并没有解释
  4. success,比如是不是与目标分类或是属性有关

为了构造数据集,我们编辑了一个list,这个list里有50个分类,这个分类是根据WordNet中consumer goods这个synset(在WordNet中表示同一个概念的词)中选择了50个上位词得来的。

####6 Conclusion####

####7 一段话概括这篇文章在做什么####

这段就看图说话,我们看下面这张图,左边是输入,中间是一些比较成功的输出,右边是不太成功的输出。

比如对于输入的category,我们输入了一些properties用来形容bar,比如有irish, lively, wooden等等,根据这些properties,我们扩展了更多的ingredients,比如bartender, beer等,我们把这些ingredient两两比较,把读音有共同部分的组成一对,然后产生新名字,比如bartender和beer组成beertender。
A Computational Approach to the Automation of Creative Naming

好了这篇文章就算讲完了。有空再把evaluation和conclusion补全好了。