Design of a Robo-Tutor for AI Financial Systems
Chao-Yih Hsia ( 夏肇毅 )
CubicPower Smart Center
Taipei,Taiwan
ABSTRACT
智慧金融教學機器人設計: 我們在這裡規劃了一個智慧金融的教學機器人。先根據每個人的學習目標選定學習路徑,在為每個人分析知識斷點後,產生客製化的教學藍圖。然後利用循環地演示,練習,小考,評量流程來執行自動教學工作。我們定義了在JSON下的結構化知識格式及不同的知識陳述型態。同時並以AI類神經網路進行了要學習多少內容才有辦法進行推論的實驗。最後並提出如何由結構化知識庫中不同的陳述型態來做測驗的方法。
關鍵字:教學機器人,智慧金融,理財機器人,類神經網路, 人工智慧
This is a design of robo-tutors to do the training online for the institutes to promote AI financial technology without hiring new professional tutors.
We've planned a Robo-Tutor for AI Financial Systems. First we draw study paths based on each one’s study goals. Then we’ll generate a study roadmap after we tested the points of disruption of the study paths. Our robo-tutor does the presentation, practice, quiz and exam tasks based on this roadmap. We define the JSON structure knowledge format and different knowledge statement types for this robo-tutor. We use an RNN Bidirectional LSTM model to test how much data we need before we can infer other contents we’ve never learned. Finally we present how to do tests with different statement types.
Keywords: Robo-tutor, Robo-Advisor, Artificial Intelligence, Neural Network, AI Financial Systems
Introduction
In recent years, financial institutes adopt the digital transformation to increase the performance and cut costs. Like robo-advisors[5] help people invest their money to get more profits and reduce risks, we can also design a robo-tutor to do the training jobs online for the institutes to promote financial technology without hiring new professional tutors. AI financial systems use AI algorithms in daily financial processes. Therefore its robo-tutor should be able to deliver knowledge of the financial markets and AI domains.
The goals of our Robo-Tutor design should be:
-To train users to handle real world financial markets with AI algorithms.
-To provide knowledge, data and AI algorithms.
-To build up experimental APIs for practice.
We plan to build up the knowledge about artificial intelligence in financial markets in this robo-tutor. Let people learn AI and financial courses[8] and review results immediately.
Typical processes of machine learning are: prepare, train, verify and infer data. And the ways of a human classroom are presentation, practice, quiz and exam. Practice is a process of memorizing, just like training. Some theories say human brains need to repeat 21 times before bearing in mind. Therefore our robo-tutor needs to repeat a unit several times within a certain time to help people to bear in mind easily.
A robo-tutor can build a personal study plan for each person based on how much you’ve learned. During the exam process, it can track the areas you are not familiar with. Then dig into their underlying components to find points of disruption of the lowest level. These are the start points of study in your personal study roadmap.
Previous Works
In our earlier works[4], we planned a blueprint of building a robo-advisor based on a structured knowledge processing network. The idea comes from the conceptual model of human brain operations. The hierarchical arrangement of knowledge stickers allows human experiences to be executed to manage the portfolios of clients properly. And in later works[1,2,3], we planned to use a robot tool to help teachers in the classroom. These tools allow students to practice financial formulas of investment and cryptography online[7].
Structured Knowledge Base
We use a JSON data structure to keep all knowledge on our robo-tutor. A JSON data format supports the dictionary {} and the array [] data type. We can keep the whole knowledge within a big structured knowledge tree there.
Definition 1: Knowledge Tree (KT)
A Knowledge Tree is a piece of JSON data to represent the structure of the knowledge.
Example:
KT={
“f(A,B)”:{
“A”: [A1,
{“A2”: [A21,A22,A23]},
A3,..],
“B”: [B1,B2,B3,..]},
“f(C,D,E)”:{
“C”: [C1,C2,..] ,
“D”: [D1,D2,..],
“E”: [E1,E2,..]},
“f(F,G)”:{
“F”: [F1,F2,..],
“G”: [G1,G2,..]},…
}
Under this KT we can understand principles, derive results and solve problems. Here we need to define what the words “principle”, “understand”, ”derive”, ”solve” mean.
Definition 2: Principles
A principle is a knowledge subtree(KST).
Examples:
Principle of Investment
Investment={
“Instruments”: [Stock,Bond,Cash,..],
"Compound":{
“CF(r,n)”: (1+r)^n,
”r”:rate,
”n”:period},
"Discount":{
“CP(r,n)”: 1/(1+r)^n,
”r”:rate,
”n”:period},...
}
Principle of Cryptography
Cryptography=[Hash,Encrypt,Decrypt,Sign,Verify]
Principle of blockchains
blockchain=[{“block”:..,”hash”:..}]
Principle of Neural Networks
Neural Network={
Learn:{
“Gradient Descent”: New weight=weight *Learning Rate * -Gradient(Error),
”Learning Rate”:Constant
},
“Error”: Answer - Prediction,
”Prediction”: f|weights(Inputs),
“Gradient Descent”: -Gradient(Error), “Backpropagation”: Propagate Gradient with Chain Rule (Error)
}
Definition 3: Understand
All nodes of a knowledge subtree have been studied.
Definition 4: Derive
Extend to a complete knowledge subtree (KST) from some leaf nodes. Also need to fill the gap if missing nodes in this KST exist.
Definition 5: Computible Principle
If we know the values of all leaf nodes of a subtree then we can say this is a computable principle. To get the value of this principle, we do the problem solving procedure.
Definition 6: Problem Solving
Compute values of leaf nodes first, then the upstream nodes. Finally,compute the root node value of the knowledge subtree.
Example:
KST={
“f(A,B)”={
“A”: fa(A1,A2),
“B”: fb(B1)}
}
Question:
if A1=1,A2=2,B1=3,
then f(A,B)=?
Answer:
B=f(B1),
A=f(A1,A2),
f(A,B)=f(fb(B1), fa(A1,A2))
=f(fb(3),fa(1,2))
Knowledge Statement Types
When we deliver knowledge, we describe different principles with statements. Typical statements are “A is B”, “A consists of B,C,D”, “if A, then B.”,.. etc. Here we list some statement types used in our design:
A=B
Examples:
{“A”:B}
A is B.
A equals to B.
A=[B,C,D,...]
Examples:
{“A”:[B,C,D,...]}
A consists of B,C,D.
B,C,D belong to A.
if..then(direct)
Examples:
if A=B,then f(A)=f(B)
{“if..then(direct)”: if_then(“A=B”, ”f(A)=f(B)”) }
if..then(indirect)
Examples:
if A=B, B=C,then A=C
{“if..then(indirect)”:
if_then(“A=B,B=C”,”A=C”)}
Statement=True
Examples:
{“Statement”:True}
Statement A is correct.
Statement A is true.
Statement=False
Examples:
{“Statement”:False}
Statement A is incorrect.
Statement A is not true.
Statement: Formula
Examples:
{“Statement ”:Formula}
Statement: B=f(C,D)=C/(1+D)^2
{“B”:f(C,D),
“f(C,D)”:C/(1+D)^2}
Getting value of a function
Examples:
{“B”:f(C,D),“f(C,D)”:C/(1+D)^2}
If C=1,D=2, then B=?
B=f(1,2)=1/(1+2)^2
Tasks of a robo-tutor
5.1 Train different principles
A robo-tutor trains users by showing topic nodes of the selected principles periodically. Each topic node should include the definition, description and examples attributes for people to study. It will be difficult to learn a topic unless we know all its underlying knowledge. Therefore, it’s better to teach a principle with a bottom up method.
After a presentation, we should practice some examples and then test. Once a topic has been teached, we need to review it randomly. Try to meet the 21 times target.
5.2 Problem Solving
If the question is a direct “if..then” statement then we simply compute the result with its formula directly. But if the question is an indirect “if..then” statement, then we need to compute values of leaf nodes first and then upstream step by step to get the root node value at last.
5.3 Derive principles
Extend to a complete knowledge subtree from partial leaf nodes of the subtree. Also need to fill the gap by guessing if missing nodes in this KST exist.
5.4 Evaluate performance
Quizzes and exams are the way to understand how much users have learned. If users fail the test, digging down to find lower level points of disruption is the key to keep on studying.
Minimum Knowledge for Inferring
In order to know how much content we need to study before getting an inferring ability, we did an experiment with an AI Movie Reviews Sentiment Analysis model. This task is like training people to learn how to identify the sentiment of the contents by our robo-tutor. Two class sentiment analysis is similar to the true or false test therefore it could be used as a reference of our robo-tutor exams result.
We used two different datasets: IMDB (Internet Movie Database) and SST (Stanford Sentiment Treebank) in this experiment. The IMDB dataset consists of 50000 records with 128.5 words each record on average and the SST dataset consists of 8544 records with 11.67 words each record on average. The datasets contain two classes of results: positive or negative. Therefore the correct random guess result would be 50%.
We built a Bidirectional LSTM RNN model to train these data by changing training data percentage and get the following result. Each time we trained the model up to reach more than 99% of accuracy with different percentages of the training data. We then calculate the scores with a formula of :
score=percentage*accuracy +
(1-percentage)*val_accuracy.
Here we set the accuracy value as 0.99.
We train the model with different percentages of data to see the score changes and get the result in figure 1.
We found when we train the model with a small amount of data, the val_accuracy is around 0.5. It means purely by guessing. Then we increase the amount of training data. The output curve starts rising from an inflection point like a hinge shape.
Table 1: IMDB/SST Sentiment Analysis scores of different percentages of the training data.
We think that contents with more words each could produce data leak problems. Therefore it could be used to infer other contents.
From the result we see we can get a SST score of 0.56 if we study 10% of the SST content and get a score of 0.968 if we study 90% of the content.
On the contract, we will get a IMDB score of 0.8 if we study 10% of the IMDB content and get a score of 0.987 if we study 90% of the content.
To check when we can exceed the score of 0.8, we can see above 60% in SST and 10% in IMDB will do.
Exam Styles
Different types of tests can be done for different statement styles:
7.1 True or False
Statement types of “A=B” and “A=[B,C,D,...]” are easy to do the true or false test. We just replace “A” with other items. For the “Get value of a function” statements, we can compute the correct answer first then replace it with incorrect answers randomly.
7.2 Multiple Choices
We combine multiple true or false questions into a single multiple choices test. A simple example is to select the correct and incorrect result values of the computation as answers of the question. And more complex examples are to put multiple statements together to identify correct ones.
7.3 Compute Value
Use “if..then(direct)” and “if..then(indirect)” statements to do the computation test. Topics for the test should include attributes of a computable formula.
Conclusion
A robo-tutors can do the training online for the institutes to promote AI financial technology. It draws study paths based on each user’s study goals and generates the study roadmaps after testing the points of disruption of the study paths. Each robo-tutor can do the presentation, practice, quiz and exam tasks based on this roadmap. We also defined the JSON structure knowledge format and different knowledge statement types for this robo-tutor. We tested how much content we need to study before we can infer other contents which we’ve never learned. We also presented how to do tests with different statement types. Therefore, we believe a robo-tutor could be built with all these designs.
References:
Chao-Yih Hsia(夏肇毅),”運用區塊鏈與教學機器人於智慧金融之體驗式教程規劃”,TANET 2020 臺灣網際網路研討會,P1434 - 1439
Chao-Yih Hsia(夏肇毅),”運用理財機器人輔助之金融科技實驗教程規劃”,ICIM 2019 第三十屆國際資訊管理學術研討會.
Chao-Yih Hsia(夏肇毅),”具認知能力的理財機器人知識處理器規劃”,TANET 2018 臺灣網際網路研討會,P1891 - 1895
Chao-Yih Hsia(夏肇毅),”Blueprint of Building Robo-Advisors with a Structured Knowledge Processing Network”, NCS 2017 National Computer Symposium, P534 - 537
Investopedia,”Robo Advisor” http://www.investopedia.com/terms/r/roboadvisor-roboadviser.asp
夏肇毅,“夏肇毅觀點:複製小抄大腦,讓金融科技搭起人工智慧塔”,2017 風傳媒 http://www.storm.mg/article/289062
Chao-Yih Hsia,”CubicPower Money Management”. http://www.cubicpower.idv.tw
Zvi Bodie ,Alex Kane and Alan Marcus, ”Essentials of Investments”
沒有留言:
張貼留言