# スケジュール登録のための発話文解析

藤井良介
鳥取大学工学部
jcyhbb@gmail.com
}

徳久雅人
鳥取大学工学部
tokuhisa@tottori-u.ac.jp
}

木村周平
鳥取大学工学部
kimura@tottori-u.ac.jp

## 1 はじめに

自動車の中などキーボードが使用しにくい状況に おいて，スケジュールのメモをとるためには音声に よる入力が一つの手段である. 運転の直前に追加さ れた予定は運転に集中していると忘れやすいため， メモをとることができていれば行き忘れることを防止できる.

スケジュールという情報は，「日時（開始, 終了）,場所 (出発, 到着), 用件」という 5 つの項目の組の 系列である. スケジュールの登録のための発話文の 解析においては, 日時や場所の表現抽出，および，開始／終了等の下位分類の判定が必要となる. 本稿 では，これらの解析を行う手法を示す。

## 2 スケジュール登録の発話

## 2.1 例題

スケジュールを登録する発話の例を見ながら，処理目標を解説する.

## 例)

設定日時：2020 年 5 月 13 日 8:12

設定場所：自宅駐車場

入力文 $1: 10$ 時半から大学でゼミがあります

入力文 $2: 16$ 時に自宅に帰ります

スケジュール表：

 & *** & 帰ります \\
& 自宅 & \\

$※$ 日時列上行 $=$ 開始, 日時列下行 $=$ 終了場所列上行 $=$ 出発, 場所列下行 $=$ 到着 \# はレコード番号
まず，発話時の設定として，発話の日時および場所が与えられるものとする。 次に，発話文が $2 \supset$ つ 力される. 文 1 の解析の際，日付は設定日時と同一と仮定する．時刻を文中から取得する。「〜から」 なので開始の日時とみなす. 場所は「大学」である.用件は「ゼミ」である. ゼミの間，場所の変化はな いので，「出発, 到着」の区別がない. スケジュール 表のレコード\#1 が埋められる. このレコード\#1を 基準として, 文 2 の解析を行う. 次に, 文 2 の開始日時は不明である。終了日時は「16時」である. 文 2 から直接的に得られる場所は「自宅」であり，到着場所と解釈する. こうしてレコード\# 2 が生成さ れる。

## 2.2 分析用コーパス

発話文とスケジュールを収録したコーパスは構築済みである [1]. 発話文には，日時タグ<tmg>，場所 タグ<loc>，および助詞タグ<p>が付与されている。

## 3 解析手法

## 3.1 概要

本稿では以下の手順で発話文の解析を行う.

手順 1 . 意図解析

手順 2. スロットフィリング

手順 3. 開始/終了, 出発/到着の判定

手順 1 および手順 2 を [2] の手法で解析する. 以下に 実行例を示す.

入力文：

10 時半から大学でゼミがあります

意図：

serviceScheduler . comInformEvent (loc, tmg)

スロット：

loc="大学"=[6,7]

tmg="10 時半" $=[0,1,2,3]$

ここで，意図は事象の伝達という意味である. スケ ジュールサービス (serviceScheduler) はドメイン

である. 次に loc および tmg がスロット名である.数値は文字番目である.

手順 3 についてはルールベースによる解析を行う （詳細は次節で述べる）。

「locで十あり」というパターンの適用により， loc の示す場所が「出発, 到着」の場所と判定され る.「 tmg から十あり」というパターンの適用により 「開始」の日時として解析される。

## 3.2 開始／終了，出発／到着の判定

助詞の意味は係先の動詞に依存することに注意し $\tau$, 「開始/終了, 出発/到着」という日時や場所の 下位分類の判定を行う. しかし, 日本語の基本用言 が約 6,000 語存在するため「助詞と動詞のペア」を 準備することは効率が悪い. 助詞だけで判断が可能 な場合は「助詞と動詞のペア」での判定を避けてお きたい. そのため本稿では次の 2 種類のルールセッ トを作成する。

・助詞十動詞によるルールセット

・助詞によるルールセット

ここで，処理の起点が，スロット $\mathrm{tmg}$ の下位分類を 求める，もしくは， スロット loc の下位分類を求め る，ということであるため，助詞の意味が時間的か 場所的かという判断は不要である.

分析用コーパスにおいて出現した表現について分析を行った結果を次節以降で説明する。

## 3.2.1 助詞十動詞によるルールセットの作成

時間的表現について動詞の考慮が必要であった助詞は「に」であった。例を示す.

例文 $1: 10$ 時に出発します（開始）

例文 $2: 12$ 時に到着します（終了）

出発や到着という動詞は, 移動の事象における端点を指す. その端点の時間を「に」で示すため，事象の時間帯の「開始」と「終了」という解釈がされ やすいと，本稿ではまとめた。

分析用コーパスから対応する表現を列挙したもの を表 1 に示す。なお，次節で示すが，「に」の時間的下位分類を「開始」とするので，運用上は終了のパ ターンのみを使用する。

場所について動詞の考慮が必要な助詞は存在しな かった.表 1 助詞十動詞型の時間的下位分類ルールセットの作成

 \\

## 3.2.2 助詞によるルールセットの作成

時間的表現について，分析用コーパスでは次の助詞が用いられていた.

「は,の,に,まで,から,には」

各助詞の下位分類を定める基準を次のとおりと する。

・助詞だけを見て開始/終了が明確であればその 通りとする。

・不明確であれば明確な助詞に置き換えて例文を 参照し判断する.

上記の基準に従うと，まず，時間の流れを表す助詞 として「から」，「まで」に注目する。「から」を「開始」「まで」を「終了」とする．次に，不明確であっ た助詞のうち，例えば「は」については次の文を参照する。

例文：あさっては東京に出張です.

例文の「あさっては」を「あさってから」に置き 換えてもスケジュールの内容は変化しない。「あ さってまで」に置き換えると異なる内容になる。ゆ えに「は」の時間的下位分類を「開始」と判断した.時間的下位分類を判定する助詞の分類を表 2 にま とめる.

表 2 助詞型の時間的下位分類ルールセット

場所について，分析用コーパスでは次の助詞が用 いられていた。

「から，を，に，まで，で，へ」

各助詞の下位分類を定める基準は，上記の時間的表現の場合と同様である。すなわち，まず，「から」 と「まで」はそれぞれ出発と到着を明確に表す助詞 と判断する。次に，不明確であった助詞を例文を見 ながら判断する。
例文：あした東京を出発します

例文の「東京を」を「東京から」に置き換えても スケジュールの内容は変化しない。「東京まで」に 置き換えると異なる内容になる。ゆえに「を」の場所的下位分類は「出発」と判断した.

次に「で」について例文を見ながら判断する。

例文 1 : 東京で用事があります

例文 2 : 東京で観光します

例文 1 の「用事 $\lrcorner$ ，例文 2 の「観光」の間，場所の変化がない，または，一定の範囲内である。「出発」と 「到着」のどちらにも属するものであると判断した.

例文 3 : 新宿で高速バスに乗ります

例文 3 ではバスの移動をイメージすると「新宿」 が出発点と解釈することになるが，「乗る」という 瞬間的な事象に対する解釈を行うので，「出発」と 「到着」のどちらにも属するものであると判断した。場所的下位分類を判定する助詞の分類を表 3 にま とめる.

表 3 助詞型の場所的下位分類ルールセット

到着まで,へ,に

出発, 到着 で

## 4 前処理

発話文解析の背景にある処理および発話文へのク リーニング処理について述べる。

## 4.1 場所名

発話文解析において場所を表す表現の抽出が一 つの問題となる. 本稿においては，場所名（店名な ど）が辞書に登録済みの状態で議論を進めた。

場所名が既知であることを前提にできる根拠は，本稿の解析手法がユーザ適応型の車載器での利用を 想定しているためである. 車載器には, 駐車地点の 名称を収集する機能が備わる。 ユーザが話題にする 場所名は蓄積される。また，スケジュール登録時に 新規の場所を話題にする際に場所名の登録を行う対話を開始することが可能である。

## 4.2 発話文のクリーニング

入力される発話文に対して次の処理を行う.

・漢数字や全角数字を半角アラビア数字に変換

・時間表現「hh:mm」を「hh 時 $\mathrm{mm}$ 分」に変換
・句読点の除去

## 5 実験

## 5.1 実験方法

分析用コーパスからタグを外したものを用いた 実験，すなわちクローズドテストを行う．入力文は 331 文である. 1 文につき 1 つの 5 つ組を目標出力 とする． 3.1 節の 3 つの手順で処理した結果につい て正答率を確認する。

## 5.2 実験結果

正答率は $79 \%$ （正解文数 263 /大力文数 331）と なった。

解析例を示す.文 1 において「ご飯に行きます」と ある.もし「ご飯」(抽象)を場所として抽出すると 誤りであるが，本処理では正しく処理されていた。文 2 において，「明日」という表現から日付の算出 ができており，「映画館」を到着場所として解析で きていた.

## 例）

設定日時：2020 年 5 月 13 日 8:12

設定場所 : 自宅駐車場

入力文 $1:$ 午後 7 時から友達とご飯に行きます

入力文 $2:$ 明日の午前 10 時から映画館に行きま す

スケジュール表：

 &  &  \\

## 5.3 誤り分析

誤り事例を分析した結果を表 4 に示す. 各誤りパ ターンについて説明する。

誤り $e 1$ について，相対的な時間的表現とは例え ば「部会後」というものがある. 例を以下に示す.例)

設定日時：2020 年 5 月 13 日 9:00

設定場所：自宅

入力文 1 : 今日の夕方 6 時から部会があります

入力文 $2:$ 部会後に先輩の家で遊びます

スケジュール表（出力）

 & $* * *$ & 部会が \\
あ** & あります \\

スケジュール表（目標）

 &  &  \\

スケジュール表の出力と目標を比較すると，レ コード\#2 の開始時刻が誤っていた。部会にかかる 時間を推定する必要があるが，文外情報であるので 解くことができなかった.

誤り $e 2$ について幅のある時間的表現とは例えば 「昼に」というものがある. 例を以下に示す.

例)

設定日時：2020 年 5 月 13 日 10:00

設定場所：自宅

入力文 $1:$ 昼に友達と遊びます

スケジュール表（出力）

スケジュール表（目標）

スケジュール表の出力と目標を比較すると，開始時刻が誤っていた。「昼の 1 時」に対して「13 時」 という変換は可能だが「(単に) 昼」に対して「12 時」をデフォルト值として変換することができてい なかった。

誤り $e 3$ について場所のスロットフィリングに失敗が見られた。例を以下に示す

例)

入力文 1 :

29 時に別のバイト先に出勤します

意図（出力）：
serviceScheduler . comInformEvent (tmg)

スロット（出力）：

$\mathrm{tmg}=$ "29 時"

意図（目標）：

serviceScheduler . comInformEvent (loc, tmg)

スロット（目標）：

## $\mathrm{tmg=$ "29 時"}

## loc="別のバイト先"

「バイト先」は日本語語彙大系 [3] における意味属性で解析すると「抽象十場所」である．抽象を含む 名詞句を「場所」として解析できていなかったた め，スロットフィリングに失敗していた。

以上の誤り分析の結果，時間的表現から日時を特定する処理の不足，および，スロットフィリングに 用いる意味属性のカバー範囲の調整不足という問題 が確認された．しかし，時間的／場所的下位分類の 判定における誤りはみられなかった。

表 4 誤り事例の分類結果

## 6 おわりに

本稿では，スケジュール登録のための発話文解析 において，スケジュールを構成する情報の抽出を 試みた。クローズドテストにおいて正答率 $79 \%$ で 解析された. 誤り分析の結果，日時変換，および，場所のスロットフィリングに改良すべき点がみら れた. 時間的／場所的下位分類の判定においては， ルールセットが良好であることが確認できた.

## 謝辞

本研究 JSPS 科研費 JP19K12548 の助成を受けたも のです.

## 参考文献

[1] 石川玩己，徳久雅人，木村周平: スケジュール登録の ための発話文コーパスの設計，言語処理学会年次大会講演論文集，pp.213-216，2020.

[2] 徳久雅人，木村周平: 小型計算機におけるサービス 指向発話文解析，自然言語処理，26(3)，pp.545-578, 2019.

[3] 池原悟，宮崎正弘，白井諭，横尾昭男，中岩浩巳，小倉健太郎，大山芳史，林良彦：日本語語彙大系，岩波書店， 1997.
 藤井良介 鳥取大学工学部 jcyhbb@gmail.com }  徳久雅人 鳥取大学工学部 tokuhisa@tottori-u.ac.jp }  木村周平 鳥取大学工学部 kimura@tottori-u.ac.jp  