intra-mart Accel Platform IM-LogicDesigner仕様書 第15版 2020-04-01

5.2.1.1.9. 日時文字列の解析

文章中から日時と思われる文字列を抽出し、実際の日時を解析するタスクです。
与えられた文字列の中から日時と思われる部分のみを取り出し、実際の日時に変換してIM-LogicDesigner上で簡単に使用できるようにします。
例えば、文字列「お世話になります。8月1日10時30分から打ち合わせをお願いいたします。」を入力値として指定した場合、「8月1日10時30分」のような日付や時刻、それら複数の組み合わせの文字列を認識し、実際の日時に変換して返却します。
認識する対象の文字列パターンや認識精度は、使用されるアナライザエンジンによって異なります。

5.2.1.1.9.1. 入力値

im_analyzeDateTime <object>
  ├─ baseDateTime <imdatetime>
  ├─ baseLocale <locale>
  └─ text <string> *
項目名 必須/任意 配列/リスト 説明
im_analyzeDateTime 任意 object なし  
baseDateTime 任意 imdatetime なし
基準となる日時を指定してください。
抽出された日時の文字列に不足する情報がある場合、この基準日時から情報を補足します。
例えば、基準日時が「2017-08-01T10:30:00+0900」で与えられた文字列が「3日午後2時」の場合、不足情報(年・月)が補足され「2017-08-03T14:00:00+0900」と認識されます。
指定しない場合は、アカウントコンテキストのタイムゾーンで、現在日時が使用されます。
baseLocale 任意 locale なし
基準となるロケールを指定してください。
日時文字列の抽出や変換を行う際、判断の基準となる日時の書き方を明示的に指定することで、解析精度を向上させます。
基準ロケールを実際に使用するかどうかは、アナライザの実装によります。
指定しない場合は、解析対象の文字列から言語を判断します。
text 必須 string なし 解析対象の文字列を指定してください。

5.2.1.1.9.2. 出力値

im_analyzeDateTime <object>
  ├─ existsGroup <boolean>
  └─ groups <object[]>
        ├─ matched <object>
        │    ├─ endIndex <integer>
        │    ├─ startIndex <integer>
        │    └─ text <string>
        └─ parsed <object>
              ├─ confidence <bigdecimal>
              ├─ endDateTime <imdatetime>
              ├─ range <boolean>
              ├─ startDateTime <imdatetime>
              ├─ validDate <boolean>
              └─ validTime <boolean>
項目名 配列/リスト 説明
im_analyzeDateTime object なし  
existsGroup boolean なし
日時と認識した文字列のグループが存在する場合は true
存在しない場合は false
groups object リスト 日時と認識した文字列のグループ一覧
matched object なし 日時と認識した文字列の情報
endIndex integer なし 入力された解析対象の文字列のうち、日時と認識した文字列の終了インデックス+1
startIndex integer なし 入力された解析対象の文字列のうち、日時と認識した文字列の開始インデックス
text string なし 入力された解析対象の文字列のうち、日時と認識した文字列の部分
parsed object なし 日時と認識した文字列の解析結果
confidence bigdecimal なし 信頼度(0~1)
endDateTime imdatetime なし 終了日時(range が true の場合のみ有効)
range boolean なし
開始日時(startDateTime)から終了日時(endDateTime)の期間を示す場合は true
開始日時(startDateTime)のみの単体日時を示す場合は false
startDateTime imdatetime なし 開始日時
validDate boolean なし
開始日時(startDateTime)の日付部分が有効である場合は true
日付部分が無効であり、入力の基準日時から補完されている場合は false (特定の日を示さない)
validTime boolean なし
開始日時(startDateTime)の時刻部分が有効である場合は true
時刻部分が無効であり、入力の基準日時から補完されている場合は false (終日を示す)