日常生活の危険検出とフィードバック
青山学院大学
MU、浅野、濱道、森、矢野

1

全体の説明• 取り組んだチャレンジタスクの概要• 提案するフレームワーク• SPARQLクエリをもとに、危険な状況を定義する• 埋め込みを用いた危険状況の検出• GPTを用いたリスクの説明とフィードバック• （個別パート）

2

取り組んだチャレンジタスクの概要• タスク1:危険な状況の検出• 1-1.提供されるナレッジグラフから危険な状況を検出する。
• 高齢者にとって事故につながる可能性の高い環境、動作、その組み合わせを検出する。
• ナレッジグラフに対して，部分グラフを出力する。

• 1-2.検出した状況がなぜ危険な状況なのか理由を説明する。

• 人の動作、対象となるもの、その関係を自然言語で説明として出力する。

• 1-3.解決策を提示する。

• 危険な状況が改善されたナレッジグラフや対象となる動作や物の代替案を自然言語で表現したものを出力する。
3

提案するフレームワーク
1. SPARQLクエリをもとに，危険な状況を定義する
2. 埋め込み（dgl-ke）を用いて，検出された危険な状況に似ている動作を探す
3. 動作について，なぜ危険なのかを説明する
4. 解決策を提示する

4

提案するフレームワーク
1. SPARQLクエリをもとに，危険な状況を定義する
クエリ

結果• 江上他,家庭内の事故予防に向けた合成ナレッジグラフの構築と推論, 人工知能学会
SWO研究会(SWO-056),pp.1-10,20225提案するフレームワーク
2. 埋め込み（dgl-ke）を用いて，検出された危険な状況に似ている動作を探す
event3_put_food_in_fridge_scene1

類似

event2_leaving_room_scene1

6

提案するフレームワーク
3. 動作について，なぜ危険なのかを説明する
Q: What are the risks of switchOff lightswitch for leaving room indoors for the elderly?
A: The risk of switchOff lightswitch for leaving room indoors for the elderly is that they may not be able to see
where they are going and could trip or fall. It is important to make sure that all lights are turned off whenleaving a room, but it is also important to make sure that the elderly have adequate lighting when they are inthe room. Additionally, it is important to make sure that the elderly have access to a nightlight or other lighting
source in case they need to get up during the night.

4. 解決策を提示する
Q: How to reduce the above risks?
A: To reduce the risks of switchOff lightswitch for leaving room indoors for the elderly, it is important to make surethat all lights are turned off when leaving a room. Additionally, it is important to make sure that the elderly haveadequate lighting when they are in the room, such as a nightlight or other lighting source. It is also important tomake sure that the elderly have access to handrails or other support when walking in the dark. Finally, it isimportant to make sure that the elderly are aware of the risks of leaving a room in the dark and take steps toreduce the risk of falls or collisions.

7

SPARQLクエリをもとに，危険な状況を定義する

8リスクの分類• ①動作と人や物のメタデータの組み合わせによるリスク• 高い場所に手を伸ばす ( ①-1 )• 低い棚からものを取り出す ( ①-2 )• 物が近くにある状態でドアや冷蔵庫を開ける ( ①- 3 )• ②人とものの位置関係によるリスク• 物の近くを歩く9

適用例• ①-1 高い場所に手を伸ばす

身長より高いものに関して何かする
リスク推論ルール ( SWAL )Activity(?a),Event(?e),Object(?o),Character(?person),Action(?action),hasEvent(?a,?e),agent(?e,?person),yzahyo(?person,?pynode),rdf:value(?pynode,?py),
object(?e,?o),yzahyo(?o,?oynode),rdf:value(?oynode,?oy),greaterThanEqual(?oy,?py),
action(?e,?a)->DoSomethingToHighPositionObject(?e),riskFactor(?a,?e)10

適用例• ①-1 高い場所に手を伸ばす
オブジェクトのサイズ情報の補完• オブジェクトの 3D Bounding Box のサイズの値を使用し、CONSTRUCT クエリで補完
rdf:value?x?object:isStateOf:xzahyo?state:unit?x:bbox

X3do:bboxsize:meter?y?z

rdf:first

rdf:first

rdf:first

rdf:rest

rdf:rest

11?shape

適用例• ①-1 高い場所に手を伸ばす
オブジェクトのサイズ情報の補完• 作成した CONSTRUCT クエリ

12

適用例
• ①-1 高い場所に手を伸ばす
リスクの推論実験• 推論のためのSPARQL クエリ

13

適用例
• ①-1 高い場所に手を伸ばす
リスクの推論実験(結果)

14

適用例
• ①-2 低い棚から物を取り出す

身長より低いものに関して特定のアクションを起こす
リスク推論ルール ( SWAL )Activity(?a),Event(?e),Object(?o),Character(?person),Action(?action),hasEvent(?a,?e),agent(?e,?person),yzahyo(?person,?pynode),rdf:value(?pynode,?py),
object(?e,?o),yzahyo(?o,?oynode),rdf:value(?oynode,?oy),lessThanEqual(?oy,?py),
action(?e,grab)->GrabLowPositionObject(?e),riskFactor(?a,?e)15

適用例• ①-2 低い棚から物を取り出す
リスクの推論実験• 推論のためのSPARQL クエリ• ①-1で作成したオブジェクトのサイズ情報を活用

16

適用例
• ①-2 低い棚から物を取り出す
リスクの推論実験(結果)

17

適用例
• ②物の近くを歩く
人と物の中心座標の距離が各幅の合計よりも小さいところを歩く
リスク推論ルール ( SWAL )Activity(?a),Event(?e),Object(?o),Character(?person),Action(?action),hasEvent(?a,?e),agent(?e,?person),xzahyo(?person,?pxnode),rdf:value(?pxnode,?px),
object(?e,?o),xzahyo(?o,?oxnode),rdf:value(?oxnode,?ox),lessThanEqual(?ox,?px),
zzahyo(?person,?pznode),rdf:value(?pznode,?pz),zzahyo(?o,?oznode),rdf:value(?oznode,?oz),
lessThanEqual(?oz,?pz),action(?e,walk)->WalkClose(?e),riskFactor(?a,?e)
18

適用例• ② 物の近くを歩く
リスクの推論実験• 推論のためのSPARQLクエリ• ①-1で作成したオブジェクトのサイズ情報を活用

19

適用例
• ② 物の近くを歩く
リスクの推論実験(結果)

20

適用例
• ①- 3 物が近くにある状態でドアや冷蔵庫を開ける

物が人と0.3m以内にある時にOpenをする

0.3m

21

適用例
• ①- 3 物が近くにある状態でドアや冷蔵庫を開ける
リスクの推論実験• 推論のためのSPARQLクエリ• ①-1で作成したオブジェクトのサイズ情報を活用• Abs()で絶対値の取得

22

適用例
①- 3 物が近くにある状態でドアや冷蔵庫を開ける
リスクの推論実験(結果)

23

適用例
クエリの修正• 先ほどのクエリではOpenの対象が近い場合も入っていた• FITERの条件が間違っていた

24

埋め込みを用いた危険状況の検出25

危険な状況の定義
activity

hra:riskFactor

rdf:type
event

hra:riskFactor
hra:riskFactor

event
event

rdf:type

hra:grabHighPositionObject
hra:grabHighPosition
Object

rdf:type
hra:walkClose

埋め込み• ①リンク予測
ho:activity

hra:riskFactor???

• ②類似ノードの検出

ho:activity

hra:riskFactor

event

類似？

???

埋め込み
• DGL-KEを使用• 知識グラフを埋め込み空間のベクトルとして定義
𝐾𝐾𝐾𝐾 ≔𝒉𝒉, 𝒍𝒍, 𝒕𝒕 𝑖𝑖 𝑖𝑖=1…𝑁𝑁 𝒉𝒉, 𝒕𝒕 ∈ 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝒍𝒍 ∈ 𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿• モデルはtransEを使用• 𝒉𝒉, 𝒍𝒍, 𝒕𝒕 が知識グラフのトリプレットなら，以下の式が成り立つように学習する

𝒉𝒉 + 𝒍𝒍 ≈ 𝒕𝒕

[Translating Embeddings for Modeling Multi-relational Data, Bordes+, 2013]28

前処理• GraphDBから，csv形式でトリプルをダウンロードし，学習データに変換• リテラル・空のノードは削除_:node1

rdf:typex3do: SFVec3f

リンク予測• 36個のアクティビティに対してリンク予測を行った
ho:activity

hra:riskFactor

???

• 結果
ho:activity

entitywash_pillow_scene1

event13_clean_stove_scene1

leaving_room_scene1

event24_clean_fridge_scene1

throw_in_the_garbage_scene1 event13_clean_stove_scene1
prepare_go_out_scene1

event13_clean_stove_scene1

他のアクティビティのイベントが述語になる

30

類似ノードの検出• 高い場所に手を伸ばすイベントを対象
activity

hra:riskFactor

event類似？

???

• 結果
ho:activity(somethingDoHighPotision)

oscoreevent7_cook_some_food_scene1

event2_prepare_go_out_scene1

0.989

event2_cook_some_food_scene1

event19_clean_fridge_scene1

0.977

event3_put_food_in_fridge_scene1

event18_clean_fridge_scene1

0.976

event3_leaving_room_scene1

event3_wash_pillow_scene1

0.976

event3_leaving_room_scene1

event9_clean_fridge_scene1

0.975

31

結果①-類似ノードの検出-

event7_cook_some_food_scene1

event2_prepare_go_out_scene132

結果②-類似ノードの検出-

event3_put_food_in_fridge_scene1

event2_prepare_go_out_scene133

検証-類似ノードの検出-

event3_put_food_in_fridge_scene1

event2_prepare_go_out_scene1

34

何が危険であるかの説明と解
決案の提示

35

GPT-3• GPT-3は、OpenAIによって開発された大型言語モデルで、人間のような文章を生成することができます。学習には300Bのトークンを含む大量のテキストデータを使用している• openaiが提供するテキスト補完モデルtext-davinci-003を使用• 検出された危険な状況から定式文を作る、GPT-3モデルに渡って、リスクの説明と解決策、代替案を出力• 結果は大規模言語モデル(Large-scale language model)の1750億学習されたパラメータで出力36csvファイルから英語文作成• アクション(action)、オブジェクト(object)、目的(suject)の単語を抽出、テンプレートからGPT-3に入力するための定式文を作る• 手順• url部分削除• 重複項目の削除• 定型文の作成• 正規表現を利用する定型文修正• 例：• What are the risks of grab box for carry box indoors for the elderly?
• What are the risks of switchOn computer for Browse the web indoors for theelderly?
37

GPT-3パラメーターの調整• max_tokens=1024 #出力センテンスの長さ• temperature = 0 #出力センテンスの想像力• top_p = 1 #出力センテンスの想像力• frequency_penalty=0 #新しいトークンがこれまでのテキストに出現したかどうかに基づいて罰する• presence_penalty=0 #これまでのテキストにおける既存の頻度に基づいて新しいトークンに罰する• n = 1 #出力センテンスの数• best_of = 1 #何個から最もいい項目を出力

38

英語GPT-3の適用例• I am a highly intelligent question answering bot. I will give you tips and solutions to thecauses of the risk of falls, tumbling, or collisions of older people indoors.
• Q: What are the risks of grab box for carry box indoors for the elderly?
• A: Grab boxes can be a risk for the elderly, as they can be difficult to carry and cancause falls, tumbles, or collisions if not handled properly. To reduce the risk, makesure the box is not too heavy for the elderly person to carry, and that they have a good
grip on the box. Additionally, make sure the box is not too large or bulky, as this canmake it difficult to maneuver around tight spaces.
• Q: How to reduce the above risks?
• A: To reduce the risks of grab boxes for the elderly, make sure the box is not too heavy
for them to carry, and that they have a good grip on the box. Additionally, make surethe box is not too large or bulky, as this can make it difficult to maneuver around tightspaces. Additionally, provide the elderly person with a sturdy chair or stool to sit on
while carrying the box, and make sure the floor is free of any obstacles that could
cause a fall. Finally, provide the elderly person with assistance if needed, such as afamily member or caregiver.
39

csvファイルから日本語文作成• csvファイルから必要な情報を日本語訳し、テンプレートを作成し、文章を作成する• carry boxをキャリーボックス、closeを近いと翻訳し文章として成立しない場合があった• 高齢者が屋内で食べ物を見つけることをするために冷蔵庫を近いことのリスクは何ですか？

• csvファイルから必要な情報を使い英語のテンプレートを作成し、英語の文章を作成し、日本語訳する• 高齢者が屋内で食品を探すために開いた冷蔵庫のリスクは何ですか?
• 高齢者の屋内用キャリーボックスのグラブボックスのリスクは何ですか?

浅野歴40

日本語GTP-2の適応例• 使用したモデル：japanese-gpt-1b• 高齢者が屋内で食べ物を見つけることをするために冷蔵庫を開いたことのリスクは何ですか?
• これは最初の議論です。 冷蔵庫を開くと、食事中に食品の酸化を防止し、必要に応じて防腐剤入り食品を用意 することができます。 高齢者は、高温にさらされると劣化しやすい食品を多く消費しています。 しかし、屋外よりもはるかに気候が安定した屋内施設で食品を調理しているときには、腐敗が増えます。 この問題は、野菜や肉の味をそれほど明確にすることが証明されている。

浅野歴41

ファインチューニングの適応例• 使用したモデル：japanese-gpt-1b• 高齢者が屋内で食べ物を見つけることをするために冷蔵庫を開いたことのリスクは何ですか?
• 外部要因をチェックし、必要に応じて警告し、措置を講じる。高齢者だけでなく、自分の孫へのアクセスを提供する若い家族も注意する必要があります。
冷蔵庫のドアの強度は、閉めたときにドアが常にロックさ れている、または電源を切り替える必要があります。 コードが壁または家具と干渉するなど、停電が 発生した場合に冷蔵庫のドアに障害がある場合は、ドアのロックまたは電気回路の遮断が必要になることがあります。

浅野歴42

ChatGPTの適応例（ローカル）• 使用したモデル：text-davinci-002• 高齢者が屋内で食べ物を見つけることをするために冷蔵庫を開いたことのリスクは何ですか？
• 高齢者が冷蔵庫を開いた場合、リスクとして、冷蔵庫内の食品が古くなっている可能性があります 。また、冷蔵庫内の食品が汚染されている可能性もあります。また、冷蔵庫内の食品が病原体に汚染されている可能性もあります。

• リスクを減らす方法は？

• 高齢者が冷蔵庫を開く際には、定期的に冷蔵庫内の食品をチェックし、古くなっているものを取り 除くなどの対策を行うことが重要です。また、冷蔵庫内の食品を定期的に消毒するなどの対策も行うことが望ましいです。

浅野歴43

ChatGPTの適応例（ブラウザ）• 高齢者が屋内で食べ物を見つけることをするために冷蔵庫を開いたことのリスクは何ですか？
• 高齢者が冷蔵庫を開けるリスクには、転倒やけがをする可能性があります。また、冷蔵庫を開ける際に、中にいる食品が古くなっている可能性があり、食中毒の原因になることもあります。そのため、高齢者は安全に冷蔵庫を開けるために、ステップスツールや手すりなどを使用し、食品の有効期限を確認することが重要です。

浅野歴44

参考文献
• ナレッジグラフ推論チャレンジ【実社会版】2022 ~生活行動における安心・安全を目指して• 江上他,家庭内の事故予防に向けた合成ナレッジグラフの構築と推論,
人工知能学会SWO研究会(SWO-056),pp.1-10,2022• 趙 天雨, 沢田 慶, 日本語自然言語処理における事前学習モデルの公開,
人工知能学会研究会資料 言語・音声理解と対話処理研究会, 2021, 93
巻, 93回 (2021/11), p. 169-170, 2021
• Brown, Tom, et al. "Language models are few-shot learners." Advances inneural information processing systems 33 (2020): 1877-1901.

45