先までは、"愛記"についての記載で、どのようにブロックチェーンSNSに組み込んで実装していけばよいのか、概念的なところからアプローチ方法を記載していった。大まかな概念としてはひとまず終えた。次は、ブロックチェーンの概念設計といえるところまで、基本設計書に着手できるようなところまで、概念を具体化していきたい。
愛記システムのシステム評価について
システム評価とは、つまりは、このシステムを導入して成功だったか失敗だったかという効果検証という意味だ。概念設計をする上で必ず抑えておくべきポイントということだ。それには各項目があり、それぞれの項目を見ていくことで、その結果が得られる。そのシステム評価項目を1つずつ見ていきたい。
システム構築の品質評価のポイント1:理解可能性(Understandability)
システム構築の品質評価のポイント2:完全性(Completeness)
システム構築の品質評価のポイント3:簡潔性(Conciseness)
システム構築の品質評価のポイント4:移植性(Portability)
システム構築の品質評価のポイント5:一貫性(Consistency)と構造化の度合い
システム構築の品質評価のポイント6:保守性(Maintainability)
システム構築の品質評価のポイント7:試験性(Testability)
システム構築の品質評価のポイント8:ユーザビリティ(Usability)
システム構築の品質評価のポイント9:効率性(Efficiency)
システム構築の品質評価のポイント10:セキュリティ(Security)
◆システム構築の品質評価のポイント3:簡潔性(Conciseness)
システム構築の品質評価に繋がる大きなポイントが、いかに簡単に使いこなすことができるシステムになっているかどうかである。高性能なソフトは簡潔性から遠のいていることが多いので、ユーザーの使いやすさを開発者側がどれだけ理解して実現しているのかが重要になる。熟練したエンジニアほどその技量は一般ユーザー離れするので、落とし穴にもなりやすい部分である。
愛記システムで最も簡潔性が要求されるのが、愛の行動の仕訳であろう。これを自動仕訳で処理するにしても、科目、次元、相手、波動レベル、行動内容、などを設定しないと自動仕訳できない。これを1つ1つユーザーに操作してもらってはじめて仕訳が完了するというのでは、工数がかかりすぎるのだ。これではシステムとして成立しない。できれば1ステップで、どうしても難しいならば最悪2ステップで仕訳を完了させねばならない。ここが簡潔性の最大のポイントであろう。
そこで、ブロックチェーンSNSを立ち上げ、①科目選択、②次元選択、③行動内容、さらに相手を特定してから④投稿という作業を、何とか1つの作業で終わらせることができないか?と考えるのだ。そのためには、生成AIと連携するのが早いのであろう。音声入力モードで、上記のようなことを網羅して話しかければ良いのかもしれない。すると、AIが自動処理してくれるということになるのだろう。例えば、
「”愛記システム”を立ち上げ、科目は、Lv7:”瞑想し無意識になる”を選択し、次元は、”8次元”を選択し、内容は、”心が安らぐ”と記載し、”NFT化”して!」
と頼めば良いのかもしれない。このNFT化された行動がQRコードやURLになってくれば、これで1ステップの作業となる。目の前に相手が居るのなら、このQRコードを相手にかざして相手が読み込んでくれるかどうかだ。目の前に相手が居ないのであれば、URLを相手に渡して相手が読み込んでくれるかどうかだ。読み込んでくれれば、NFTを受け取ったことになるような仕組みにすればよい。
音声入力処理について
では、この音声入力による処理はどのようになるのだろうか?
①科目選択、②次元選択、③行動内容、④”ゆらぎ”かどうかを認識、さらに⑤相手を特定してから⑥投稿という作業を、どうやって認識するのかだ。流れは下記のとおりであろう。
-
音声認識とテキスト変換:
- ユーザーの音声を録音し、音声認識技術を使用してテキストに変換する。
-
自然言語処理 (NLP):
- テキストをNLP処理して、重要な情報を抽出する。
- 各ステップに対応するキーワードやフレーズを定義し、それをテキストから抽出する。
-
”ゆらぎ”の認識:
- NLPによって抽出された情報から、「ゆらぎ」の有無を判断するための条件を定義する。
- 例えば、「行動内容」が特定のキーワードやフレーズを含む場合にゆらぎと認識するなど。
-
相手の特定:
- テキストから相手を特定するための情報を抽出する。
- 相手の特定には、名前や識別子、コンテキストなどが使用される可能性がある。
-
認識結果の確認:
- ユーザーに対して認識結果を提示し、確認を求める。
- 例えば、「科目はLv7の瞑想、次元は8次元、行動内容は心が安らぐ、相手は〇〇さんで合っていますか?」といった形で確認。
-
投稿:
- ユーザーが確認を行った場合、認識した情報を元に投稿を行う。
- 投稿内容は、ブロックチェーンなどに永続化することで、不変性や透明性を確保できる。
これらのステップを実現するには、適切なNLPモデルの選定、トークン分類やエンティティ抽出などのテキスト解析手法、または機械学習アルゴリズムのトレーニングが必要であろう。設計においては、具体的なタスクやユーザーのニーズに基づいてこれらの技術を組み合わせ、柔軟に対応できるようにすることが重要である。
この種の処理は非常に高度であり、完全な実装は複雑である。まずは、簡単な例を示す。ここでは、ChatGPTのAPIを使用して対話型でユーザーの発話を処理し、それに応じて作業を進める方法について考える。以下に、仮説を基にした対話的なプロセスの例を示す。
import openai
import re
def chat_with_gpt3(user_input):
openai.api_key = "YOUR_API_KEY"
response = openai.Completion.create(
engine="text-davinci-003",
prompt=user_input,
max_tokens=150
)
return response['choices'][0]['text']
def extract_information_from_gpt_output(gpt_output):
# ChatGPTの出力からキーワードを抽出する例
match = re.search(r'科目: (.+?), 次元: (.+?), 内容: (.+?)', gpt_output)
if match:
subject = match.group(1)
dimension = match.group(2)
action_content = match.group(3)
return {"subject": subject, "dimension": dimension, "action_content": action_content}
else:
return None
if __name__ == "__main__":
user_input = "科目選択、次元選択、行動内容"
# ChatGPTとの対話
gpt_output = chat_with_gpt3(user_input)
# ChatGPTの出力から情報を抽出
extracted_info = extract_information_from_gpt_output(gpt_output)
if extracted_info:
print("抽出された情報:", extracted_info)
else:
print("情報が抽出できませんでした")
この例では、ChatGPTにユーザーの発話を送信し、ChatGPTの応答から情報を抽出する流れを示している。ChatGPTの応答から必要な情報を適切に抽出するためには、ChatGPTの出力に応じた処理や情報抽出のロジックを追加する必要があるのだろう。また、対話の途中でChatGPTに対してユーザーからのフォローアップの質問を送るなど、より対話的なシステムを構築することも考えられる。
ChatGPTを使用して上記の手順を認識し、それに基づいてNFTを生成するためには、以下のようなステップが必要である。
-
音声認識: 音声からテキストへの変換が必要である。これにはGoogle Cloud Speech-to-TextやMicrosoft Azure Speech Serviceなどの音声認識APIを利用できる。
-
ChatGPTとの対話: 音声から取得したテキストをChatGPTに送り、対話的にやりとりして必要な情報を抽出する。
-
NFT生成: ChatGPTからの情報を元に、NFTを生成するための手法やツールを利用する。NFT生成には、分散台帳技術上でスマートコントラクトを使用する。
以下は、上記のプロセスの一部を示した簡単な例である。
# 音声からテキストへの変換(例: Google Cloud Speech-to-Text)
def convert_audio_to_text(audio_file):
# 実際のコードはAPIキーなどの認証情報を含む
# Google Cloud Speech-to-Text APIを利用する場合の例
text_result = perform_speech_to_text_conversion(audio_file)
return text_result
# ChatGPTとの対話。ここに上記のChatGPTの応答から必要な情報を適切に抽出するプロセスが入る。
# NFT生成。先にも記載したので、ここでは簡略化して記載する。
def generate_nft(chatgpt_output):
# 実際のコードは愛記スマートコントラクトをデプロイする手法を含む
Love_contract = deploy_Love_contract(chatgpt_output)
return Love_contract
if __name__ == "__main__":
# 音声からテキストへの変換
audio_file_path = "path/to/audio/file.wav"
text_result = convert_audio_to_text(audio_file_path)
# ChatGPTとの対話
chatgpt_output = chat_with_gpt3(text_result)
# NFT生成
nft_contract = generate_nft(chatgpt_output)
print("NFTが生成されました:", nft_contract)
この例では、Google Cloud Speech-to-Text API(音声認識)とOpenAI GPT-3(テキスト生成)が使用され、NFT生成に関してはダミーの generate_nft 関数が示されている。これは実際の利用に合わせて変更する必要がある。これで音声入力によるNFT化が完了する。このようにNFT化は売買目的から、実用化へと、自身の履歴管理へと、進化している。このような仕組みが愛記ととても相性が良い。愛記はまさに、愛の行動の履歴管理システムなのだから。
いかがであろうか、システム評価の簡潔性について記載した。最悪でも2ステップで自動仕訳がなされないと、システムとしては機能しないだろう。それを実現させるためにNFT化という手法は欠かせない。これを如何に愛貨と結びつけることが出来るか?が最大のポイントになるだろう。