Alliユーザーガイド
  • 入門
    • 初めて使用する(On-boardingガイド)
    • サポートしているブラウザ
    • Alliメインメニューの機能概要
    • プロジェクトの管理
    • マイアカウント
    • 用語集
    • Alli メンテナンス/障害情報
    • What’s New(機能アップデート情報)
  • 会話
    • 会話回答提案を検索
    • ライブチャット時に役立つ機能
    • 会話履歴
    • 会話カテゴリーを分類する
  • スキル
    • キャンペーン(スキル) Dashboard
    • スキルポップアップURL
    • スキルのユーザーターゲティング
    • チャット編集
      • ノード
        • データ連携ノード(ベーシック)
        • エージェント応答ノード
        • 変数の値を設定ノードで計算式を使用する
        • トークンを使用して会話を再開する
        • 変数の値を設定ノード
        • メール送信ノード
        • データ連携ノード(アドバンスド)
        • 条件応答ノード
        • Q&Aから回答ノード
        • 会話・質問応答ノード
        • キャンペーンに移動ノードと移動ポイントノード
        • 入力フォームノード
        • 変数をダウンロードノード
      • スキルの例
        • Zapierを利用してアンケート調査結果を自動生成する
        • (TIPS)チャット編集の便利な機能
        • データ連携ノードでSlackと連携する
        • Zapier 連携
  • ナレッジベース
    • ナレッジベース
    • FAQ
      • Q&A自動生成
      • Q&Aに複数質問を登録する
      • Q&Aへの評価(エンドユーザー画面)
      • Q&A設定
      • 変数を使用したQ&A回答のカスタマイズ
      • Q&Aのアップロード
      • Q&Aの準備
      • Q&Aの編集/閲覧権限を設定する(Q&Aごとの設定、フォルダの活用)
    • ドキュメント
      • アップロードされたドキュメントからの直接回答
      • ドキュメント検索のモデルのトレーニング
      • ドキュメント
      • ドキュメントの自動タグ付け
      • ドキュメントの編集/閲覧権限を設定する(ドキュメントごとの設定、フォルダの活用)
    • Q&A登録候補
      • 類似質問
      • 未回答の質問
    • 検索結果にフィードバックを行う
    • 類語・対義語登録
    • 履歴のダウンロード
    • 自動タグ付け
    • ユーザーフィードバックを検索結果に影響させる
    • ソース
      • HTMLドキュメントに接続する
      • Microsoft OneDrive に接続する
      • Confluenceと連携する
      • Googleドライブに接続する
      • SharePointを接続する
  • ドキュメント(11/5 リリース)
    • ドキュメントを管理する
  • その他
    • 分析
      • 顧客の反応の分析結果
      • 分析
    • 顧客
      • 顧客リスト
    • Alliと雑談会話
  • 設定
    • iOS SDK 連携
    • Android SDK 連携
    • Alli SDKV1実装(JavaScript)
    • Alli SDK V2実装(JavaScript)
    • セキュリティ
      • 2FA(2段階認証)
    • エージェント管理
    • メッセージ設定
    • チャットデザイン設定V1
    • チャットデザイン設定V2
    • サードパーティー連携
      • Azure 認証
      • Slack連携
      • LINE Messenger連携
      • Microsoft Active Directory 連携
      • Facebook Messenger連携
      • LINE WORKS連携
      • Microsoft Teams連携
      • BambooHRとの連携
    • 全般
      • 設定 >全般
      • 自然言語の入力設定
    • 変数
      • ターゲティング設定(ブラックリスト登録)
      • 変数の値を設定ノードで変数を使用する
      • 変数
      • SDK変数(システム変数)
      • 文字列検証機能
      • リスト変数・ファイル変数
  • Alli メンテナンス/障害情報
GitBook提供
LogoLogo
このページ内
  • 基本的な計算
  • 関数
  • アドバンスド関数
  • dict
  • dict_set
  • dict_del
  • dict_update
  • json_loads
  • json_dumps
  • list
  • list_append
  • list_reverse
  • get_by_json_path
  • storage_set / storage_get
  • contains
  • append
  • unique
  • urlencode
  • urldecode
  • regex_sub, regex_isub
  • date_format
  • to_date
  • date_add
  • today
  • first_day_of_month
  • last_day_of_month
  • find_all, find_iall
  • substr
PDFとしてエクスポート
  1. スキル
  2. チャット編集
  3. ノード

変数の値を設定ノードで計算式を使用する

前へエージェント応答ノード次へトークンを使用して会話を再開する

最終更新 2 年前

で変数の値に計算式を指定することができます。 簡単な数式だけでなく、様々な関数も利用することができます。

この機能を使用するには、まず、を作成します。「変数を追加」をクリックし、対象の変数を指定して「数式」の形式を選択します。「割り当てられる数式」フィールドに計算式を入力します。 –

上記の例の様に、数式に変数を含めることもできます。 使用できる演算と関数は以下の通りです。

基本的な計算

  • +, -, *, /, ( )

  • % (係数) 例: 100%2 = 0, 100%8 = 4.

  • ** (乗数) 例: 100**2 = 10,000.

関数

すべての関数は、関数名()の形式で使用します。 例えばabs(-5)などです。

  • to_number: 値を数値形式に変換します。 例: to_number(‘4’) = 4

  • to_string: 値を文字列形式に変換します 例: to_string(7) = ‘7’

  • to_boolean: 値をブール形式に変換します。 例: to_boolean(1) = True

  • length: 値の長さを返します。 例: length(‘abcde’) = 5

  • abs: 値の絶対値を返します。 例: abs(-5) = 5

  • sin, cos, tan: sin、cos、tanの値を返します。 例: tan(90) = 1

  • ceil, floor, round: 切り上げ、切り下げ、または切り上げ値を返します。 例: floor(2.1) = 2

  • random, random_int: raandom()は、0から1までの乱数値を返します。 random_int(min、max)は、最小値と最大値の間のランダムな整数値を返します。 例: random_int(-1, 2) = -1, 0, 1, or 2

  • unix_timestamp: unix時間を返します。 例: unix_timestamp() = 1601672447

アドバンスド関数

以下の関数は、JSONまたは文字列リスト型の変数を編集するために使用されます。 関数に入る値はすべて同じ形式の変数に置き換えられます。 関数で文字列値を使用する場合は、引用符を使用することを忘れないでください。(例:’Allganize’)

dict

  • 形式: dict(key1, value1, key2, value2, …)

  • キーと値のペアを使用して、JSON型変数の構造を作成します。 キーが存在する場合、関数は値を上書きします。

  • 変数のタイプ : JSON

  • 例: @NAMEが ‘Allganize’ という値を持ち、JSON型の変数を作成したい場合、下記となります。 dict(‘Name’,@NAME,’Email’,’test@allganize.ai’) = {‘Name’:’Allganize’, ‘Email’:’test@allganize.ai’}

dict_set

  • 形式: dict_set(@JSON_variable, key1, value1, key2, value2…)

  • キーと値をJSON変数に追加します。 キーが存在する場合、関数は値を上書きします。

  • 変数のタイプ : JSON

  • 例: @JSON_VAR が {‘Name’:’Allganize’} を値として持ち、@JSON_VARに’Email’をキー、’test@allganize.ai’を値として追加したい場合、下記となります。 dict_set(@JSON_VAR,’Email’,’test@allganize.ai’) = {‘Name’:’Allganize’, ‘Email’:’test@allganize.ai’}

dict_del

  • 形式: dict_del(@JSON_variable, key)

  • JSON変数からキーを削除します。

  • 変数のタイプ : JSON

  • 例: @JSON_VAR が{‘Name’:’Allganize’, ‘Email’:’test@allganize.ai’} を値として持ち、Emailのキーを削除する場合、下記となります。 dict_del(@JSON_VAR,’Email’) = {‘Name’:’Allganize’}

dict_update

  • 形式: dict_update(JSON_variable_1, JSON_variable_2)

  • 2つのJSON変数をマージします。 2つのJSON変数に同じキーがある場合、後者の値が優先されます。

  • 変数のタイプ : JSON

  • 例: @JSON_VAR が {‘Name’:’Allganize’, ‘Email’:’test@allganize.ai’}を値として持ち、@JSON_VAR2 が {‘Name’:’Alli’, ‘Type’:’AnswerBot’}を値として持ち、この2つのJSON変数をマージする場合、下記となります。 dict_update(@JSON_VAR, @JSON_VAR2) = {‘Name’:’Alli’, ‘Email’:’test@allganize.ai’, ‘Type’:’AnswerBot’}

json_loads

  • 形式: json_loads(‘JSON_form’)

  • JSON形式をJSON変数として保存します。

  • 変数のタイプ : JSON

  • 例: json_loads(‘{“Name”:”Alli”, “Email”:”test@allganize.ai”}’)

json_dumps

  • 形式: json_dumps(@JSON_variable)

  • JSON変数の値を文字列に変換します。

  • 変数のタイプ: 文字列

  • 例: json_dumps(@JSON_VAR)

list

  • 形式: list(string1, string2, …)

  • 文字列を使用して文字列リスト型の変数を作成します。

  • 変数のタイプ:文字列リスト

  • 例: list(‘Allganize’, ‘Test’) = [‘Allganize’, ‘Test’]

list_append

  • 形式: list_append(@string_list_variable, string1, string2, …)

  • 文字列リストに任意の文字列に追加します。

  • 変数のタイプ:文字列リスト

  • 例: @STR_LIST が 値として[‘Allganize’, ‘Test’]を持ち、’Alli’という文字列を追加する場合、下記となります。list_append(@STR_LIST,”Alli”) = [‘Allganize’, ‘Test’, ‘Alli’]

list_reverse

  • 形式: list_reverse(@string_list_variable)

  • リストの要素の並び順を逆にします。

  • 変数のタイプ:文字列リスト

  • 例: When @STR_LIST has [‘Allganize’, ‘Test’] as the variable value, list_reverse(@STR_LIST) = [‘Test’, ‘Allganize’]

get_by_json_path

  • 形式: get_by_json_path(@JSON_variable, JSON_path)

  • JSON変数からJSONパスを指定することで指定した値を返します。

  • 変数のタイプ: 文字列

  • 例: @JSON_VAR が 値として {‘Name’:’Allganize’, ‘Email’:’test@allganize.ai’} を持ち、Emailの値を返す場合は下記となります。 get_by_json_path(@JSON_VAR, ‘$.Email’) = ‘test@allganize.ai’

storage_set / storage_get

  • 形式: storage_set(‘key’, @variable) / storage_get(‘key’)

  • storage_setは、変数値をプロジェクトレベルのキーに保存します。 キーは任意のテキストにすることができます。 保存された値は、storge_getを使用して取得できます。 値を割り当てる変数は、保存された変数と同じタイプである限り、任意のタイプにすることができます。

  • 変数のタイプ:保存された変数と同じタイプ

  • 例: 文字列の変数の値がstorage_set( ‘string’,@string_variable)を使用して保存されている場合、storage_get( ‘string’)を使用してプロジェクト内のスキルまたは顧客の値を取得し、それを文字列変数に割り当てることができます。

contains

  • 形式: contains(@string_list_variable, string)

  • 文字列リストにある文字列が含まれているがどうかを確認し、含まれているかをTrue/Falseで返します。

  • 変数のタイプ: True/False, string

  • 例: @STR_LIST が [‘Allganize’, ‘Test’] を値として持ち、Allganizeという文字列がリストに含まれているかを確認する場合、下記となります。contains(@STR_LIST, ‘Allganize’) = ‘True’

append

  • 形式: append(@string_list_variable, string)

  • 文字列リストに文字列の要素を追加します。

  • 変数のタイプ:文字列リスト

  • 例: @STR_LIST が [‘Allganize’, ‘Test’]を要素として持ち、リストにVariableという値を追加したい場合、下記となります。contains(@STR_LIST, ‘Variable’) = [‘Allganize’, ‘Test’, ‘Variable’]

unique

  • 形式: unique(@string_list_variable)

  • 文字列リストから重複する値を削除します。

  • 変数のタイプ:文字列リスト

  • 例: @STR_LIST が [‘Allganize’, ‘Test’, ‘Test’] を要素として持ち、重複する値を削除したい場合、下記となります。 unique(@STR_LIST) = [‘Allganize’, ‘Test’]

urlencode

  • 形式: urlencode(@JSON_variable)

  • JSONの変数をURLにエンコードされた形式に変換します。

  • 変数のタイプ: 文字列

  • 例: @JSON_VARの中身が {‘key’:’hello world!’}であり、URLにエンコードしたい場合、下記となります。 urlencode(@JSON_VAR) = ‘key=hello+world%21’

urldecode

  • 形式: urldecode(string)

  • urlにエンコードされたstring型の変数をJSON形式に変換します。

  • 変数のタイプ: 文字列とJSON

  • 例: @STRの中身が ‘key=hello+world%21’ であり、JSON形式にエンコードしたい場合、下記となります。urldecode(@STR) = {‘key’:’hello world!’}

regex_sub, regex_isub

  • 形式: regex_sub(regex_pattern, string1, string2) or regex_isub(regex_pattern, string1, string2)

  • ある文字列にある正規表現パターンを別の文字列に置き換えます。 regex_subでは大文字と小文字が区別されますが、regex_isubでは区別されません。

  • 変数のタイプ: 文字列

  • 例: @STRの文字列の値が ‘ooAoO’であり、’o’を大文字・小文字関係なく、Aに置き換えたい場合、下記となります。regex_isub(r’o{2}’, ‘A’, @STR) = ‘AAA’

date_format

  • 形式: date_format(regex_date_format, date)

  • 日付を正規表現の日付形式に変換します。

  • 変数のタイプ: 文字列

  • 例: Data型かString型の@DATE が’2020-01-11’を値として持ち、正規表現を用いて特定の日付形式(年-月)に変換したい場合、下記となります。 date_format(r’%Y-%m’, @DATE) = ‘2020-01’

to_date

  • 形式: to_date(date_format, YMD_form(optional))

  • 日付を日付形式に変換します。 変換元の日付のフォーマットは下記となります。 YYYYMMDD, YYYY/MM/DD, YYYY-MM-DD, YYYY MM DD, YYYY M D YYYY-M-D, YYYY/M/D, YYMMDD, YY/M/D, YY-M-DD, YY M DD

  • オプションのYMDフォームにMDYを入力して、入力した日付形式で年/月/日の順序を変更できます。 たとえば、MMDDYY、MM / DD / YYYYなどを使用できます。 下記の例2を参照してください。

  • 0から始まる日付形式は入力できません。

  • 変数のタイプ:文字列または日付形式

  • 例1 : String型か数値である@DATEが’20210602’を値として持っており、日付のフォーマットを揃えたい場合、下記となります。 to_date(@DATE) = ‘2021-06-02’.

  • 例2 :String型か数値である@DATEが’060221’を値として持っており、日付のフォーマットを揃えたい場合、下記となります。 to_date(@DATE, “MDY”) = ‘2021-06-02’.

date_add

  • 形式: date_add(date, number)

  • 日付に日数を追加します。

  • 変数のタイプ: 日付

  • 例: Data型かString型の@DATE が’2020-01-11’を値として持ち、2日分日付を進めたい場合、下記となります。 date_add(@DATE, 2) = ‘2020-01-13’

today

  • 形式: today()

  • 本日の日付を返します。

  • 変数のタイプ: 日付、または、文字列

  • 例:本日の日付が2021年4月15日の場合、下記となります。 today() = ‘2021-04-15’

first_day_of_month

  • 形式: first_day_of_month()

  • 今月の最初の日付を返します。

  • 変数のタイプ: 日付、または、文字列

  • 例: 本日の日付が2021年4月15日の場合、下記となります first_day_of_month() = ‘2021-04-01’

last_day_of_month

  • 形式: last_day_of_month()

  • 今月の最後の日付を返します。

  • 変数のタイプ: 日付、または、文字列

  • 例: 本日の日付が2021年4月15日の場合、下記となります。 last_day_of_month() = ‘2021-04-30’

find_all, find_iall

  • 形式: find_all(regex_pattern, string) or find_iall(regex_pattern, string)

  • 文字列から正規表現パターンと一致する最初の結果を見つけて結果を返します。 find_allでは大文字と小文字が区別されますが、find_iallでは区別されません。

  • 変数のタイプ: 文字列

  • 例: @STR が ‘Type of the OS: Windows’ を値として持ち、OS名のみを抽出したい場合、下記となります。 find_iall(r'(windows|mac|linux)’, @STR) = ‘Windows’

substr

  • 形式: substr(string, number)

  • 文字列の最初の[number][数値]文字を返します。

  • 変数のタイプ: 文字列

  • 例: @STR が ‘3months’ を値として持ち、2文字抽出したい場合、下記となります。 substr(@STR, 2) = ‘3m’

変数の値を設定ノード
変数の値を設定ノード