自然言語生成
表示
自然言語生成(しぜんげんごせいせい、英: Natural language generation)とは、自然言語処理の一種で知識ベースや論理形式などの機械表現系から自然言語を生成することを言う。
自然言語理解の逆と言われることもある。自然言語理解が入力文を明確化して機械表現言語を生成するのに対して、自然言語生成は概念を如何にして言葉で表すかについて判断を必要とする。
概要
[編集]テキスト生成プロセスには、たとえば決まり文句の一覧から選ばれた言葉を接続用テキストで繋げるといった単純な処理もある。これは例えば、占い機械やパーソナライズされたビジネスレターのような領域では十分な文章を生成する。しかし洗練された自然言語生成システムでは、決まり文句の繰り返しに見えない自然な文章を生成するため、情報の統合と計画のフェーズを必要とする。典型的なフェーズは次の通りである。
- コンテンツ決定
- 言及する価値がある特徴・属性を決定する。この段階で使う技法はデータマイニングと関係する。
- 論述計画
- 情報提示を全体として構成する。
- 文の統合
- 類似の文を統合して、可読性と自然らしさを改善する。例えば、「次の列車はカレドニア急行です」と「次の列車は午前10時にアバディーンを発ちます」という文を統合して「午前10時発の次の列車はカレドニア急行です」とする。
- 語彙化
- 概念を単語に置き換える。
- 参照表現の生成
- 代名詞などの参照を意味する表現を導入して文の中の単語同士をリンクする。
- 統語的/形態素的処理
- 構文解析の逆を行う。これまでのフェーズで集めた全ての情報を使って、統語論規則と形態論規則を適用し、実際の文を表す文字列を生成する。
- 正書法処理
- 大文字小文字や約物の使い分け、フォーマットなどを行う。
関連項目
[編集]応用
[編集]自然言語生成の応用の最たる例は、数値などの言語的でないデータをテキスト化された概要に変換するシステムであり、自然言語生成とデータ解析を統合したものである。例えば、数値予報データから自動的に天気予報の文章を生成するシステムなどがある。
また、変わったところでは、ジョークを自動生成するシステムもある。
参考文献
[編集]- E Reiter and R Dale (2000). Building Natural Language Generation Systems. Cambridge University Press.
外部リンク
[編集]- 進化を続ける NLG (自然言語生成)について概観
- Bateman and Zock's list of NLG systems[リンク切れ]
- SIGGEN[リンク切れ] - ACL Special Interest Group on Generation
- HALogen[リンク切れ] - 汎用自然言語生成システム