自然语言生成
自然语言生成(NLG)是自然语言处理的一部分,从知识库或逻辑形式等等机器表述系统去生成自然语言。这种形式表述当作心理表述的模型时,心理语言学家会选用语言产出这个术语。
自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。NLG出现已久,但是商业NLG技术直到最近才变得普及。
自然语言生成可以视为自然语言理解的反向: 自然语言理解系统须要厘清输入句的意涵,从而产生机器表述语言;自然语言生成系统须要决定如何把概念转化成语言。
一个简单的例子是套用信函的生成系统。这种系统通常没有运用文法的知识,但是可以生成信函给消费者,例如告诉消费者信用卡的额度已达。换言之,简单的系统运用版型,跟Word文件的邮件合并程式没什么差别,但是更复杂的NLG系统会灵活地产生文本。
正如自然语言处理的其它领域,自然语言生成可以使用明确的语言模型(例如文法)或者运用根据真人所写的文本分析而成的统计模型[1]。
示例
[编辑]“苏格兰花粉预报系统”[2]就是一个基于版型的简单自然语言生成系统。该系统利用苏格兰几个区域花粉预报的六个输入数目,生成简短的花粉等级文本作为输出。
例如使用2005年7月1日的历史资料,该软件的输出:
星期五花粉等级已从昨天的中级到今天的高级,全国大部分地区的数值在6到7。不过北部是中级,数值为4。
对比实际的预报(气象员手拟)如下:
苏格兰大部分地区花粉量还是很高,为6级,东南部更是7级。只有北方岛屿及苏格兰东北角情况舒缓,花粉量中等。
步骤
[编辑]生成文本的过程可以简单到取用已准备好的章句,再用连结的文字组合起来。在简单的领域如占星机器或个人化商业信件,成果可能令人满意。不过复杂的自然语言生成系统必须经过规划以及合并资讯的步骤,从而生成看似自然并且避免重复的文本。自然语言生成典型的步骤,例如戴尔与瑞特[3]所提出的如下:
决定内容:决定在文本里置入哪些资讯。用上一节花粉预报软件为例,是否要明确提到东南部花粉级数为7。
架构文件:所传达资讯的整体组织。例如决定先描述高花粉量地区,再提及低花粉量地区。
聚集语句:合并类似的句子,让文本更可读、更自然。例如合并下两个句子“星期五花粉等级已从昨天的中级到今天的高级”和“全国大部分地区的花粉等级在6到7”成为“星期五花粉等级已从昨天的中级到今天的高级,全国大部分地区的数值在6到7。”
选择字词:选用表达概念的文字。例如决定要用“中等”还是“中级”。
指涉语生成:产生能辨认物体或地区的指涉语。例如用“北方岛屿和苏格兰东北角”指涉苏格兰的某个地区。这个任务也包括决定代名词以及其它的照应语。
应用
[编辑]大众媒体向来以报导会说笑话的NLG系统为重点(参见“计算幽默”),不过从商业的角度,最成功的NLG应用是从数据库或资料集产生文字摘要的“资料转文本”系统,这些系统通常除了文字生成外,也进行资料分析,特别是几个已经建成的从气象资料产生气象报告文的系统。此类系统最早是加拿大的FoG[4],于1990年代开始制作英、法语的气象报告,其成功引领了其它研究和商业系统。近年的一个研究显示,使用者有时候偏好电脑产生的气象报告,因为使用的术语比较一致[5]。另一个研究显示统计的技巧可以用来生成高品质的气象报告[6]。
1990年代自然语言生成开始用于财金和商业摘要。例如AC尼尔森研发的SPOTLIGHT系统,分析大量零售资料然后自动产生可读的英文[7]。
更近的NLG也用于摘要电子医疗记录,已有商业应用问世[8],研究人员已显示NLG摘要的医疗资料可以有效辅助医疗专业人员做决定[9]。
内容生成系统可以辅助真人作者,让写作过程更有效率。例如利用搜索引擎应用界面,基于网络探勘建立的内容生成工具[10],模拟作者根据各种搜寻结果形成内容,有如剪贴的写作场景。相关度的验证,对于过滤不相关的搜寻结果至为重要,方法基于匹配问题与可能答案的语法树[11]。另一种方法利用真人写的文本建立高层次结构的版型,然后自动写成维基百科新的条目[12]。
评量
[编辑]自然语言生成的研究人员需要测试他们的系统、模组、算法,一如其它的科学领域。这叫做“评量”。评量NLG系统的基本技巧有三种:
- “任务型(外部)评量”:把生成的文本给一个人,评估其帮助此人完成任务的效用。例如评量医疗资料摘要系统,可以评估医生使用摘要后,是否能做出更佳的决定。
- “人为评价”:把文本给人,让他们自行评估其品质与效用。
- “测量指标”:根据同样的输入资料,比较生成的文本与真人写成的文本,使用例如BLEU之类的自动测量指标。
“任务型评量”虽然较接近NLG系统助人的终极目标,但是费时耗财,而且可能实行困难(尤其涉及医生之类的专家对象),因此(一如自然语言处理的其它领域)“任务型评量”是例外而非主流。
参考文献
[编辑]- ^ Perera R, Nand P. Recent Advances in Natural Language Generation: A Survey and Classification of the Empirical Literature. Computing and Informatics. 2017, 36 (1): 1–32 [2017-12-04]. (原始内容存档于2021-02-25).
- ^ R Turner, S Sripada, E Reiter, I Davy (2006). Generating Spatio-Temporal Descriptions in Pollen Forecasts. (页面存档备份,存于互联网档案馆) Proceedings of EACL06
- ^ Dale, Robert; Reiter, Ehud. Building natural language generation systems. Cambridge, U.K.: Cambridge University Press. 2000. ISBN 0-521-02451-X.
- ^ Goldberg E, Driedger N, Kittredge R. Using Natural-Language Processing to Produce Weather Forecasts. IEEE Expert. 1994, 9 (2): 45–53. doi:10.1109/64.294135.
- ^ Reiter E, Sripada S, Hunter J, Yu J, Davy I. Choosing Words in Computer-Generated Weather Forecasts. Artificial Intelligence. 2005, 167: 137–69. doi:10.1016/j.artint.2005.06.006.
- ^ Belz A. Automatic Generation of Weather Forecast Texts Using Comprehensive Probabilistic Generation-Space Models. Natural Language Engineering. 2008, 14: 431–55. doi:10.1017/s1351324907004664.
- ^ Anand, Tej; Kahn, Gary. Making Sense of Gigabytes: A System for Knowledge-Based Market Analysis (PDF). Klahr, Philip; Scott, A. F. (编). Innovative applications of artificial intelligence 4: proceedings of the IAAI-92 Conference. Menlo Park, Calif: AAAI Press. 1992: 57–70 [2017-12-10]. ISBN 0-262-69155-8. (原始内容 (PDF)存档于2016-08-01).
- ^ Harris MD. Building a Large-Scale Commercial NLG System for an EMR (PDF). Proceedings of the Fifth International Natural Language Generation Conference: 157–60. 2008 [2017-12-10]. (原始内容 (PDF)存档于2019-11-05).
- ^ Portet F, Reiter E, Gatt A, Hunter J, Sripada S, Freer Y, Sykes C. Automatic Generation of Textual Summaries from Neonatal Intensive Care Data. Artificial Intelligence. 2009, 173 (7–8): 789–816. doi:10.1016/j.artint.2008.12.002.
- ^ Galitsky, Boris. A Web Mining Tool for Assistance with Creative Writing. Advances in Information Retrieval. Lecture Notes in Computer Science. 2013, 7814: 828–831 [2017-12-10]. doi:10.1007/978-3-642-36973-5_95. (原始内容存档于2019-12-02).
- ^ Galitsky B, de la Rosa JL, Dobrocsi G. Inferring the semantic properties of sentences by mining syntactic parse trees. Data & Knowledge Engineering. 2012, 81–82: 21–45. doi:10.1016/j.datak.2012.07.003.
- ^ Sauper, Christina & Barzilay, Regina. Automatically Generating Wikipedia Articles: A Structure-Aware Approach. Proceedings of ACL. 2009.
- Yuko Sakai (2017). Sentence Generation: Syntax Tree Diagram in English, Spanish, Chinese, Japanese, Ainu. ISBN 978-1545429006
其它文献
[编辑]- Dale, Robert; Reiter, Ehud. Building natural language generation systems. Cambridge, UK: Cambridge University Press. 2000. ISBN 0-521-02451-X.
- Evans, Roger; Piwek, Paul; Cahill, Lynne. What is NLG?. New York, US. 2002.
|conference=
被忽略 (帮助)
参见
[编辑]外部链接
[编辑]- SIGGEN part of ACL Anthology (NLG研究论文)
- ACL NLG Portal (页面存档备份,存于互联网档案馆) (NLG资源列表)
- Bateman and Zock“几乎完整”的NLG系统列表 (页面存档备份,存于互联网档案馆)
- Ehud Reiter NLG 部落格 (页面存档备份,存于互联网档案馆)
- Introduction (页面存档备份,存于互联网档案馆) An open-ended review of the state of the art including many references (Last update: September 2002)
- SimpleNLG (页面存档备份,存于互联网档案馆) — Open source Java library to assist in NLG