コンテンツにスキップ

TIMEX3タグ

TIMEX3タグは、TimeMLで提唱されたタグ仕様です。日本語におけるTIMEX3タグの仕様は小西ら[1]や成澤[2]により定義されており、ja-timexにおいてもそれらの枠組みを元に実装しています。

ja-timexにおけるTIMEX3タグ

TIMEX3タグは、下記の属性を持ちます。

属性名 内容 条件
@tid 入力文中に一意に付与される識別子 t1 必須
@type 表現の分類。DATE, TIME, DURATION, SETの値を取る。 DATE 必須
@value 時間情報表現が含意する値 2021-07-18 必須
@freq 頻度集合表現における頻度が起こる回数 2X 頻度集合表現のみ
@quant 頻度集合表現における頻度の性質 EACH 頻度集合表現のみ
@mod 時間情報表現の補足情報としてのモダリティ APPROX 任意
@rangeStart 範囲表現の起点を表すタグ True 任意
@rangeEnd 範囲表現の終点を表すタグ True 任意

@tid

@tidは、入力テキストの中で各TIMEX3タグに対して一意に付与される識別子です。t0から始まり、1ずつ値が増えていきます。

@type

@typeは、以下の4つの値のうちのどれかを持ちます。

type 名称 説明
DATE 日付表現 時間軸上での時点や時区間のうち、日単位以上の粒度で表現される位置
TIME 時刻表現 時間軸上での時点や時区間のうち、日単位より小さな粒度で表現される位置
DURATION 持続時間表現 任意の時区間幅を表現する量
SET 頻度集合表現 時間軸上のある時区間の中で繰り返される事象を表す、量および位置や回数

temporal expression

各表現の概念図

@value

@valueは対象となる時間表現の値です。抽出した時間表現に対しては、あくまでその表現単体から予測可能な値を入力するものとし、文脈を用いて補完しません。

日付や時刻表現に対しては、下記のような値の型を取ります。

単位 記号 表現例 @value
年月日 XXXX-XX-XX 1980年7月7日 1980-07-07
曜日 XXXX-WXX-X 水曜日 XXXX-WXX-3
季節 XXXX-{SP, SU, FA, WI} XXXX-WI
四半期 XXXX-QX 第1四半期 XXXX-Q1
年度 FYXXXX 1998年度 FY1998
世紀 XXXX 11世紀 10XX
紀元前 BCXXXX 紀元前202年 BC0202
時刻 XXXX-XX-XXTXX:XX:XX 2006年8月8日午前8時45分30秒 2006-08-08T08:45:30
時刻 TXX:XX:XX 午前8時45分30秒 T08:45:30

また、持続時間表現に対しては下記のような値の型を取ります。

単位 記号 表現例 @value
PnY 3年間 P3Y
PnM 2ヶ月 P2M
PnD 5日 P5D
PnW 1週間 P1W
時間 PTnH 3時間 PT3H
PTnM 30分 PT30M
PTnS 9秒80 PT9.80S

これらを組み合わせることで、任意の持続時間を表現することができます。日付表現の接頭辞Pと時刻表現の接頭辞PTは重複せず、P1Y2MPT1H30Mといったように降順で表現します。

@freq

@freqは頻度集合表現において頻度が起こる回数を表す属性で、@value属性と同様の型の値が入ります。なお、回数表現としてのnXn回であることを表し、Xは回数を表す記号です。値が不明なときに用いられる不定表現ではありません。

@quant

@quantは頻度集合表現において頻度の性質を表す属性で、判定が不可能な場合にはNoneが、可能な場合には下記の2つのうちのどちらかの値を取ります。

@quant 定義
EACH 間隔を空けずに実行される表現 毎日, 毎月
EVERY 間隔を空けて定期的に実行される表現 3日おき, 6ヶ月ごと

@mod

@modは時間情報表現のモダリティを表す属性で、日付表現および時刻表現において、判定が不可能な場合にはNoneが、可能な場合には下記の中のどれか1つの値を取ります。

@mod 定義
START 日付/時刻表現の初期 始め、初期
MID 日付/時刻表現の中期 半ば、中ごろ
END 日付/時刻表現の後期 末、暮れ
BEFORE 日付/時刻表現より前
AFTER 日付/時刻表現より後 過ぎ
ON_OR_BEFORE 日付/時刻表現以前 以前
ON_OR_AFTER 日付/時刻表現以後 以降、以来
APPROX 近似表現 ごろ

また、持続時間表現における@modは、下記の中のどれか1つの値を取ります。

@mod 定義
BEFORE ある時点を基準としたときの前 1年前
AFTER ある時点を基準としたときの後 1年後
NOW ある時点を基準としたときの前後 今年

@rangeStart@rangeEnd

@rangeStart, @rangeEndは範囲表現の起点を表すタグであり、通常はNoneの値を取り、範囲表現と認められるTIMEXの対においてのみbool型のTrueの値を取ります。@rangeStart@rangeEndは必ず対になり、どちらかだけが存在する場合はありません。

ja-timexのTIMEXタグではPEP8の命名規則に則り、TIMEX.range_startおよびTIMEX.range_endというクラス変数名に対応します。

小西らおよび成澤の定義との差異

属性の削除

ja-timexでは人間によるアノテーションの情報を表現する必要がなく、またルールベース単体での十分な文脈情報を利用した補完が不可能なため、TIMEXクラスではアノテーションに関する以下の属性を削除しています。

  • @valueFromSurface: 文脈情報を考慮した正規化をしない@value
  • @temporalFunction: 文脈情報より曖昧性解消可能かどうかを表す真偽値

そのかわり、TIMEXクラスを継承したAnnotatedTIMEXクラスにて、上記の4つの属性を付与できるようにしています。

「今月6日」といった表現を分割する

今月6日今月,6日に分割してタグ付けを行います。成澤[2]では1つのまとまりとして扱うように定義されていましたが、ja-timexでは分割します。

その理由として、TIMEX3タグの定義上は日付表現として「いずれかの月」か「そもそも月の情報が不明」かを区別することができません。XXXX-XX-06という表記しかできず、今回の場合は今月6日のうちの今月の情報が表層表現から欠落してしまうため、情報の欠損を防ぐために分割しています。

今月は、表層表現からではどの月かを推定することが不可能なため、日付表現とは扱わず持続時間表現として扱います。

「XあたりY」を頻度集合表現としない

小西ら[1]では「1ヶ月あたり1時間」という事例を頻度表現として取得するとしていましたが、ja-timexでは取得しません。

ja-timexでは頻度集合を 時間軸上のある時区間の中で繰り返される事象を表す と定義しました。「1ヶ月あたり1時間」といった「において」を用いる表現では、時区間内での繰り返しを表すのではなく、任意の単位における平均した時間や回数を表現する意味合いが強いと判断しました。例えば、以下のような用例が存在します。

同じ調査で、インターネット閲覧者ひとりあたりの閲覧時間も発表されており、世界平均が31.3時間(1日あたり1時間1分)だった。

世界のインターネット人口、6億9,426万人に - ウィキニュース

これは1日の中で閲覧する行為を1時間1分行うことを繰り返すというわけではなく、平均して1日に1時間1分費やすという意味です。

日刊スポーツによると撮影は2007年12月10日から3日間、同局より委託された制作会社が行っていた。赤ちゃんのひまわりをいつも一緒にいる母親のリリカから引き離し、1日あたり3-4時間ほど撮影したが数日後に親子は原因不明で相次いで急死し、撮影によるストレスが原因ではないかとの見方もでた。

ドラマ撮影中のキリン親子急死で放送中止—NHK - ウィキニュース

この場合は、文脈上からは3日間の間で繰り返し撮影が行われていることがわかりますが、「3-4時間ほど」という表現はある一定の時区間幅を表現する持続時間表現の意味合いが強く、定期的に3-4時間費やされる行為が繰り返されるわけではないと言えます。

こうした理由により、ja-timexでは「あたり」を用いた表現を頻度集合表現とは扱いません。