近年来,随着人工智能的迅速发展,自然语言处理(Natural Language Processing,NLP)的水平达到了前所未有的高度。在大数据和深度学习的支持下,阅读理解、文本分类、机器翻译、情感分析、自动问答等多项自然语言处理任务都有了长足的进步。这些任务共同特点是能够在大数据下挖掘出问题与答案的相关性,可以使用端到端(end-to-end)的深度学习模型进行计算。相比之下,需要理解因果关系的常识推理(commonsense reasoning)至今仍是巨大挑战。亲属关系推理是常识推理常见问题之一,属于社会关系的推理。 亲属关系推理是涉及人类学、语言学和人工智能等多学科的问题。亲属关系是最基本的社会关系,其背后是复杂的血缘关系。就语言系统而言,汉语的亲属称谓系统在世界各种语言中是比较复杂的,亲属称谓词之间的语义关系也错综复杂。对于常识推理来说,亲属关系知识在文本中占比不大,且推理步骤较多,故难以从大数据中直接习得推理的答案。这些使得亲属关系推理看起来简单,做起来难。另一方面,亲属关系知识又是一个领域封闭的轻量级知识,边界清晰,辨识度高,是研究常识推理的良好的切入点,可以作为其他社会关系推理研究的范本。正确的亲属关系推理能够提高自然语言理解的精度,为阅读理解、自动问答、机器翻译等任务提供帮助。 现有的亲属关系推理研究大多是从计算机工程的角度构建的应用系统,它们虽然能够完成简单的亲属关系推理任务,但是遇到稍微复杂的亲属关系推理就很容易出错。对于复杂的汉语称谓系统,现有的研究甚至没有方法穷尽地列举出汉语亲属称谓词的种类,更无法对系统的推理能力和推理完备性进行定量描述。至于系统可用性,主要依靠不断的系统测试和修改,无法从理论上保证推理系统可用。归根结底是缺少多学科角度的思考,缺乏对亲属关系语义及推理机制的理论探讨。 本文拟在分析现有亲属关系推理系统研究的基础上,揭示亲属关系推理复杂性的成因,明确亲属关系推理系统应有的推理能力和推理边界;构建完备的亲属关系推理系统,为人工智能中的常识推理问题探索新的研究思路。 一、亲属关系推理系统研究现状 汉语亲属关系的推理系统研究已有不少成果。例如,靳小龙等基于亲属词的常识构建的亲属关系推理模型,王树西等针对《红楼梦》做的人物关系问答系统,陈振宇等基于亲属关系知识库的推理模型,陈振宇等基于亲属基元构建的推理模型,以及陈振宇等基于语义特征分析的亲属关系推理模型,等等。 这些亲属关系推理系统主要包括两个部分:亲属关系的知识表示;亲属关系的推理规则。以下从这两个方面介绍和分析现有推理系统研究情况。 (一)亲属关系知识表示研究 前人的工作中,亲属关系知识表示大概可以分为三种思路。 第一种思路是以其他亲属词来刻画两个亲属之间的亲属关系。靳小龙等将两个亲属关系分为对应关系(如“丈夫”对应于“妻子”)和半等价关系(如“儿子”半等价于“(父亲/母亲的)孙子/外孙”),关系的两端亲属称谓词(简称“亲属词”)需加上亲属的性别、辈分、长幼等常识来表示该亲属,如“父亲(a)”具有这样的常识:“a的性别是男性,而且对某个人来说有身份为a的亲属一般只有一个,再者,每个人的a的辈分要高于自己”。①陈振宇等将这一思想推向极致,他把每对亲属关系的称呼人与被称呼人都通过中介人联系起来,并穷举这种联系的所有可能路径,例如,“父亲”既是“母亲”的“丈夫”,也是“祖父”的“儿子”,还是“外祖父”的“女婿”,等等。这样,每个亲属词就跟其他亲属词连接起来了。通过穷举每个亲属词与所有其他亲属词的关系,就构成一个庞大的亲属关系知识库,作为推理的基础。②但是,该方法存在理论缺陷,就是知识量过于庞大,甚至可以说无边无际。随着两个亲属关系越远,相互表达就会越复杂,且可能路径越多,事实上无法穷尽所有的任意两两亲属所有可能的路径。 第二种思路是用固定的若干核心亲属词来刻画其他亲属词。这些核心的亲属词称为“亲属基元”。陈振宇等将亲属基元分为三类,“自己,母,夫”是核心基元,“父,妻,女,子”是次核心的基元。“兄,弟,姐,妹”是再次核心的基元。其他亲属词都用这些亲属基元来表示。③相比第一种知识表示方法,这种思路大大减少了知识库规模。同时增加了“自己”这种零阶关系,以区别“我父亲的儿子”是“我”还是“哥哥/弟弟”。在亲属关系知识表示上又前进了一步。 第三种思路是从亲属关系中抽象出核心的语义特征作为基本描述单位,所有的亲属关系均用这些核心语义特征来定义。这是第二种思路的发展。王树西等较早采用了这种思路,但仅简单举例说明,没有系统地阐述。④陈振宇等则详细列出了各个亲属词的知识表达,并贯彻到整个推理系统中,并通过7个核心语义特征,列举了46个亲属关系,是所有亲属关系推理系统中,列举最详细,展示最透彻的。⑤该系统的核心语义特征如下表: