SlideShare a Scribd company logo
Semester Long Internship
Tata Motors .LTD GDC (Global Delivery Center)
Project Title: Chatbot & dashboard development
Under Guidance
of
Mr. Sidhant Chatterjee & Mr. Abhijeet Dalavi
TML GDC , Digital Transformation Tower
- Omkar Rane
Block-A ,BETA17, Exam Seat No. B197026,0120160172 B.TECH ENTC ,MIT-AOE
Vendor chatbot project.
Drishti dashboard for employees.
Sending automated mails and employee health monitoring dashboard (TML-Arogya Bot).
AWS EC2 & RDS instance creation (deployment).
Contract life cycle management (CLM) dashboard project .
Content
A chatbot is a computer program designed to interact with users replacing human. They
mimic human conversations and provide end to end support.
Chatbots are classified into two :
1.Scripted bots
2. AI based bots
Scripted bots: These bots are pre-defined with a conversational flow and so when a user
throws a query, the bot responds with a pre-defined script from the library.
e.g.- bots direct implemented using TelegramBot api.
AI bots: AI bots or intelligent bots use NLP to answer user queries. The intelligent bots act
smart and respond back with most appropriate answer possible. It actually gets trained to
user’s queries and makes a pattern to respond back to them with the most reliable answer
possible.
e.g. – chatbots developed with frameworks like Rasa and chatterbot.
What is a chatbot ?
What is NLP?
 NLP is a subset of AI, and it involves programming
computers to process massive volumes of language data.
 It involves numerous tasks that break down natural language
into smaller elements in order to understand the relationships
between those elements and how they work together.
 Common tasks include parsing, speech recognition, part-of-
speech tagging, and information extraction. NLP focuses
largely on converting text to structured data.
What is NLU?
 NLU is to teaches machines how to interpret and understand
language inputted by humans.
 NLU leverages AI algorithms to recognize attributes of
language such as sentiment, semantics, context, and intent,
entities.
 For example, the questions “what’s the weather in pune?” and
“how’s the weather in pune?” are both asking the same thing.
The question “what’s the weather in pune?” can be asked in
hundreds of ways. With NLU, computer applications can
recognize the many variations in which humans say the same
things.
NLP & NLU
About Rasa and Spacy
Rasa is an open source machine learning framework for building AI assistants and
chatbots. Mostly you don’t need any programming language experience to work in Rasa.
Although there is something called “Rasa Action Server” where you need to write code
in Python, that mainly used to trigger External actions like Calling Google API or REST
API etc.
Rasa has three main modules:
1.Rasa NLU for understanding user messages (we are making use of only this in
project).This is the place, where rasa tries to understand User messages to
detect Intent and Entity in your message. Rasa NLU has different components for
recognizing intents and entities, most of which have some additional dependencies
2.Rasa Core for holding conversations and deciding what to do next.
3. Rasa X is a tool that helps you build, improve, and deploy AI Assistants that are
powered by the Rasa framework.
spaCy is an open-source software library for advanced natural language processing,
written in the programming languages Python and Cython. The library is published under
the MIT license and its main developers are Matthew Honnibal and Ines Montani, the
founders of the software company Explosion.
Tata Motors GDC .LTD Internship
Key Features of Vendor chatbot project
 User has to get registered with vendor desk before using bot.
 Bot will send disclaimer and will ask user to accept it contact details will be shared and verified if it matches then
only he will be getting replies for his queries. This is authentication method for bot.
 It will initially ask invoice number then user has to enter invoice number if it matches the record then only it will
display record information related to invoices.
 It is displaying data from SAP excel file record. (for future use it could be a production database).
 If user does not knows his invoice number then it will show all paid and unpaid invoice details.
 User has to just click on respective invoice number to get details his of invoice.
 It can extract numbers from text with concept of python text regularization.
Telegram
(User)/vendor
Chat
Telegram Chatbot
(logic)
Replies based on
intent & Entities
RASA NLU
(A.I Engine)
Get Intent & Entities
Regex
Text Regularization
(Number Extraction)
Intent
Entities
Vendor chatbot project Block diagram
Userchat
•Intent: An intent represents the purpose of a user's input. You define an intent for each type of user request you want
your application to support.
•Entity: An entity represents a term or object that is relevant to your intents and that provides a specific context for
an intent. You list the possible values for each entity and synonyms that users might enter.
What is Intent & Entities?
Intent and entity extraction
Chatbot replies based on intent
and entities
Launching Rasa GUI NLU Trainer
With command: rasa-nlu-trainer
Rasa GUI based NLU trainer
Training of Rasa NLU model
Placing blank json file at
project location.
Generated training data in json file with intent and
entities
Training of model with command : rasa train or rasa train-nlu
Including trained model into project and pass user chat to model and extract intent and entities from it.
Writing function for extracting invoice number from string(chat as input for function)
Including it in actual project for extraction of invoice number from chat string and passing to other
function.
Concept of Regex( regular expression) in python.
It is basically used here to extract numbers from string data.
A RegEx, or Regular Expression, is a sequence of characters that
forms a search pattern.
RegEx can be used to check if a string contains the specified search
pattern.
‘d’ matches a single digit pattern.
‘+’ matches one or more of the preceding character (greedy match).
findall( ) : Returns a list containing all matches
Results: Vendor Chatbot
greeting Verifying invoice number If vendor is registered then it
can show invoices paid &
unpaid.
Ending a chat
By clicking on appropriate inline
keyboard of respective vendor can get
its details
If invoice number is valid then it will
show details related to that invoice
number.
Learning outcomes
Take away:
 Telegramchatbot api & telegram api key library used with python programming.
 Creation of telegram based chatbot.
 Natural language processing concept i.e. In particular Natural Language understanding
used for intent and entities extraction from user chat.
 Revisiting Python programming language concepts.
 Rasa A.I frame work for NLU training and processing data. (A.I Engine of chatbot).
 Regex in python for extracting numbers from string data.
System for adding new users to drishti dashboard.
Problem statement:
Previously there was manual process of adding users (new joiner’s/employee’s) from excel file received from H.R it was
done by python based script that converts excel data into nested dictionary in form of json file. That was done by technical
person. So now we have develop a database based system with functionality to view database entries into website and new
upload new data in specified file and format (json & excel csv file only). This online RDS database can be used any office
chatbot applications.
AWS
RDS
DATABASE
(online)
Employee Data
from .json file
Employee data
from excel .csv
format
Drishti Dashboard
(Website)
(any)
Chatbot
application
Upload data
(view data)
Send data
Get data
Upload and view button backend logic
Results
Uploading file and sending data to AWS RDS database Upload done successfully (for both excel and json files)
View button functionality
Tata Motors GDC .LTD Internship
If user tries to upload file with wrong format.
Dashboard for employee health monitoring System
Dashboard was made using HTML-CSS web technologies and python flask was web framework.
Rev 1 Rev 2
Results for Python based mailing server for automatically sending mails
.This system will automatically send mails to recipients in “To” and “CC”.
It is part of TML Arogya project and send employee sick details and his
data to respective authority.
Sending automated mails using python .
Deployment of projects on AWS..
RDS Instance
Ec2 Instance
Running and deploying project on EC2 via putty.
Learning outcomes
Take away:
HTML,CSS,BOOTSTRAP.
Python flask programming.
Python programming language.
AWS amazon webservices (RDS) and EC2 technology.
Database Management Systems. E.g. : MySQL software
TATA Motors Contract Lifecycle Management (TML CLM).
Contract Lifecycle Management (CLM) is the proactive, methodical management of a contract from initiation through
creation, compliance and renewal. Implementing CLM can lead to significant improvements in cost savings and
efficiency. Understanding and automating CLM can also limit organizational liability and increase compliance with legal
requirements.
Background of project and key technologies.
 Corporate legal and GDC working together to identify opportunities where digital technologies can augment contract
management
 Identify gaps in existing scenarios and bring changes in existing processes
 Identify opportunities in new contract formulation
 Identify opportunities to monitor existing contracts
 Contract Data loading:
Inserting Contract Type, Sections and Clauses which are manually added.
 Contract Creation:
We can use loaded contract data to create the dynamic contract template and render data on the template, after this we
can also download the data in a word file.
 Contract Suggestion:
Users can suggest the new clauses and the sections in particular contract type.
 Custom Authentication:
Users can now register successfully only after adding their emails in the invite screen.
 Email Invite:
We can Invite users to the portal by sending mail through the SMTP server.
Current features in the TML CLM:
Invite new user
Email based invitation
Registration page
Features of subscription page:
1) As per role of per only admin and super admin as right to access subscription page. User is only allowed to use
service.
2) On subscription page feature of three subscription gold, silver and platinum along with start date and end date of
subscription for contract life cycle management is shown.
3) On subscription page if user is registered then data in fields like email, name and phone section will be auto
filled from database table ‘users’ .we can also collect information like name, contact number from user. we will
provide an option for user to select product as per user need.
4) Only registered user is able to subscribe to CLM service.
5) User can be invited from email and can be registered to CLM service.
Developing Billing page generating invoices, Subscription pages and modification in database.
User management page
Super admin access to billing & subscription option.
Admin access to subscription page.
User has no access to billing & subscription option.
Tata Motors GDC .LTD Internship
Tata Motors GDC .LTD Internship
1) In billing page one can see user details start date and end date ,subscription data in tabular form.we can set basic price value
of product from backend of code.
2) We create an export of excel file.
3) We can select user name drop down list and generate its invoice using open source FPDF library.
4) Generated invoice can be saved in pdf format.
5) Super admin will be able to see summary of customer data in tabular form on website.
Tata Motors GDC .LTD Internship
select customer and then clicking on generate invoice button automatically pdf invoice will be generated.
Click on export to excel for downloading excel file and viewing data in excel file .
Tata Motors GDC .LTD Internship
a) password_hash() method:
Syntax:
password_hash ( string $password , mixed $algo [, array $options ] ) : string
password_hash() creates a new password hash using a strong one-way hashing algorithm. password_hash() is compatible with crypt(). Therefore, password
hashes created by crypt() can be used with password_hash().
The following algorithms are currently supported:
PASSWORD_DEFAULT - Note that this constant is designed to change over time as new and stronger algorithms are added to PHP. For that reason, the
length of the result from using this identifier can change over time. Therefore, it is recommended to store the result in a database column that can expand
beyond 60 characters (255 characters would be a good choice).
 PASSWORD_BCRYPT - Use the CRYPT_BLOWFISH algorithm to create the hash. This will produce a standard crypt() compatible hash using the "$2y$"
identifier. The result will always be a 60 character string, or FALSE on failure.
 PASSWORD_ARGON2I - Use the Argon2i hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2
support.
 PASSWORD_ARGON2ID - Use the Argon2id hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2
support.
 Supported options for PASSWORD_BCRYPT:
 salt (string) - to manually provide a salt to use when hashing the password. Note that this will override and prevent a salt from being automatically generated.
.
b) password_verify( ):
Syntax:
password_verify ( string $password , string $hash ) : bool
Verifies that the given hash matches the given password.
Note that password_hash() returns the algorithm, cost and salt as part of the returned hash. Therefore, all information that's
needed to verify the hash is included in it. This allows the verify function to verify the hash without needing separate storage
for the salt or algorithm information.
This function is safe against timing attacks.
Encrypted passwords in field
Tata Motors GDC .LTD Internship
Tata Motors GDC .LTD Internship
Tata Motors GDC .LTD Internship
Take away:
 Frontend:HTML,CSS,BOOTSTRAP,PHP.
 Backend:PHP programming.
 Codeignitor MVC framework .
 Creating invoice format using php FPDF library, making using of inbuilt php libraries for encryption & decryption of
passwords in php.
 Database Management Systems : MYSQL PHP admin, XAMP server.
References
[1] Official Documentation Rasa Framework
https://rasa.com/docs/
[2] Udemy Course on python flask:
https://www.udemy.com/certificate/UC-8913f109-3fb0-48af-b575-c9c5a528450f/
[3] MySQL official documentation and learnt on W3C schools.
https://www.w3schools.com/sql/
[4] AWS official documentation on website.
https://docs.aws.amazon.com/
[5] Telegrambot and telegram api documentation on website.
https://core.telegram.org/bots/api
[6] codeignitor framework
https://codeigniter.com/user_guide/index.html
Tata Motors .LTD GDC (Global Delivery Center)
ICC Devi Gaurav Technology Park
Turing Lab.
Tata Motors GDC .LTD Internship

More Related Content

PDF
IRJET- Review of Chatbot System in Marathi Language
PDF
IRJET - A Study on Building a Web based Chatbot from Scratch
PDF
IRJET- Review of Chatbot System in Hindi Language
PDF
IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
PDF
License Plate Recognition Using Python and OpenCV
PDF
IRJET- Voice based Billing System
PDF
IRJET- An Intelligent Behaviour Shown by Chatbot System for Banking in Ve...
PDF
IRJET- Voice to Code Editor using Speech Recognition
IRJET- Review of Chatbot System in Marathi Language
IRJET - A Study on Building a Web based Chatbot from Scratch
IRJET- Review of Chatbot System in Hindi Language
IRJET- Hosting NLP based Chatbot on AWS Cloud using Docker
License Plate Recognition Using Python and OpenCV
IRJET- Voice based Billing System
IRJET- An Intelligent Behaviour Shown by Chatbot System for Banking in Ve...
IRJET- Voice to Code Editor using Speech Recognition

What's hot (8)

PPTX
Top python interview question and answer
PDF
Grammarly AI-NLP Club #2 - Recent advances in applied chatbot technology - Jo...
PDF
IRJET - Chatbot for HR Department using AIML and LSA
PDF
PRIME OOPSLA12 paper
PDF
Introduction to Python
PPTX
Python Tutorial for Beginner
PDF
IRJET- Python: Simple though an Important Programming Language
PPTX
Python Programming
Top python interview question and answer
Grammarly AI-NLP Club #2 - Recent advances in applied chatbot technology - Jo...
IRJET - Chatbot for HR Department using AIML and LSA
PRIME OOPSLA12 paper
Introduction to Python
Python Tutorial for Beginner
IRJET- Python: Simple though an Important Programming Language
Python Programming
Ad

Similar to Tata Motors GDC .LTD Internship (20)

PPTX
Chatbot using Python, mini project presentation
PPTX
Accure chatbotsolutions
PDF
An Intelligent Chatbot for College Enquiry with Amazon Lex
PPTX
DynamicsPower! Melbourne AI for everyone: Virtual Agent & AI Builder
PDF
Neuron: A Learning Project and PoC implementing a private ChatGPT like (and...
PDF
Building API Powered Chatbot & Application using AI SDK (1).pdf
PDF
Building API Powered Chatbot & Application using AI SDK.pdf
PDF
AI and Web-Based Interactive College Enquiry Chatbot
PDF
IRJET- Artificial Intelligence Based Chat-Bot
PDF
A Research Paper on HUMAN MACHINE CONVERSATION USING CHATBOT
PPTX
Grey Matterz | Our Services | Our Solutions
PPTX
Governance di una Conversational AI
PDF
NEURAL NETWORK BOT
PPTX
Chatbot_Presentation
PDF
An Intelligent Career Counselling Bot A System for Counselling
PDF
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
PPTX
Generative AI and ChatGPT - Scope of AI and advance Generative AI
PPTX
Facebook Messenger Platform Framework
PDF
Online job portal management system..pdf
PDF
Bringing Machine Learning to Mobile Apps with TensorFlow
Chatbot using Python, mini project presentation
Accure chatbotsolutions
An Intelligent Chatbot for College Enquiry with Amazon Lex
DynamicsPower! Melbourne AI for everyone: Virtual Agent & AI Builder
Neuron: A Learning Project and PoC implementing a private ChatGPT like (and...
Building API Powered Chatbot & Application using AI SDK (1).pdf
Building API Powered Chatbot & Application using AI SDK.pdf
AI and Web-Based Interactive College Enquiry Chatbot
IRJET- Artificial Intelligence Based Chat-Bot
A Research Paper on HUMAN MACHINE CONVERSATION USING CHATBOT
Grey Matterz | Our Services | Our Solutions
Governance di una Conversational AI
NEURAL NETWORK BOT
Chatbot_Presentation
An Intelligent Career Counselling Bot A System for Counselling
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Generative AI and ChatGPT - Scope of AI and advance Generative AI
Facebook Messenger Platform Framework
Online job portal management system..pdf
Bringing Machine Learning to Mobile Apps with TensorFlow
Ad

More from Omkar Rane (20)

PDF
Enabling SSL Elasticsearch on server
PDF
Anti lock braking (ABS) Model based Design in MATLAB-Simulink
PPTX
Autosar fundamental
PPTX
Stress Management
PPTX
Bootloaders (U-Boot)
PPTX
Concept of Diversity & Fading (wireless communication)
PDF
Machine Learning Model for M.S admissions
PDF
Timer 0 programming on LPC 1768
PDF
ADC (Analog to Digital conversion) using LPC 1768
PDF
PWM based motor speed control using LPC 1768
PDF
UART interfacing on LPC1768 (Cortex M3 micro controller)
PDF
LED Blinking logic on LPC1768
PDF
CAN interfacing on LPC1768 (ARM Cortex M3 based Micro controller)
PPTX
Vlisi Course project presentation:Keypad Scanner
PDF
VlSI course project report : Keypad Scanner
PPTX
LPC 1768 A study on Real Time clock features
PDF
Nexys4ddr rm FPGA board Datasheet
PDF
Linear Regression (Machine Learning)
DOCX
transmission gate based design for 2:1 Multiplexer in micro-wind
DOCX
2:1 Multiplexer using NAND gate in Microwind
Enabling SSL Elasticsearch on server
Anti lock braking (ABS) Model based Design in MATLAB-Simulink
Autosar fundamental
Stress Management
Bootloaders (U-Boot)
Concept of Diversity & Fading (wireless communication)
Machine Learning Model for M.S admissions
Timer 0 programming on LPC 1768
ADC (Analog to Digital conversion) using LPC 1768
PWM based motor speed control using LPC 1768
UART interfacing on LPC1768 (Cortex M3 micro controller)
LED Blinking logic on LPC1768
CAN interfacing on LPC1768 (ARM Cortex M3 based Micro controller)
Vlisi Course project presentation:Keypad Scanner
VlSI course project report : Keypad Scanner
LPC 1768 A study on Real Time clock features
Nexys4ddr rm FPGA board Datasheet
Linear Regression (Machine Learning)
transmission gate based design for 2:1 Multiplexer in micro-wind
2:1 Multiplexer using NAND gate in Microwind

Recently uploaded (20)

PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Geodesy 1.pptx...............................................
PPT
Mechanical Engineering MATERIALS Selection
PPTX
Construction Project Organization Group 2.pptx
PDF
Digital Logic Computer Design lecture notes
PPTX
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Fluid Mechanics, Module 3: Basics of Fluid Mechanics
PDF
Well-logging-methods_new................
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Arduino robotics embedded978-1-4302-3184-4.pdf
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Lecture Notes Electrical Wiring System Components
Geodesy 1.pptx...............................................
Mechanical Engineering MATERIALS Selection
Construction Project Organization Group 2.pptx
Digital Logic Computer Design lecture notes
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
Lesson 3_Tessellation.pptx finite Mathematics
CYBER-CRIMES AND SECURITY A guide to understanding
Model Code of Practice - Construction Work - 21102022 .pdf
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Fluid Mechanics, Module 3: Basics of Fluid Mechanics
Well-logging-methods_new................
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Operating System & Kernel Study Guide-1 - converted.pdf

Tata Motors GDC .LTD Internship

  • 1. Semester Long Internship Tata Motors .LTD GDC (Global Delivery Center) Project Title: Chatbot & dashboard development Under Guidance of Mr. Sidhant Chatterjee & Mr. Abhijeet Dalavi TML GDC , Digital Transformation Tower - Omkar Rane Block-A ,BETA17, Exam Seat No. B197026,0120160172 B.TECH ENTC ,MIT-AOE
  • 2. Vendor chatbot project. Drishti dashboard for employees. Sending automated mails and employee health monitoring dashboard (TML-Arogya Bot). AWS EC2 & RDS instance creation (deployment). Contract life cycle management (CLM) dashboard project . Content
  • 3. A chatbot is a computer program designed to interact with users replacing human. They mimic human conversations and provide end to end support. Chatbots are classified into two : 1.Scripted bots 2. AI based bots Scripted bots: These bots are pre-defined with a conversational flow and so when a user throws a query, the bot responds with a pre-defined script from the library. e.g.- bots direct implemented using TelegramBot api. AI bots: AI bots or intelligent bots use NLP to answer user queries. The intelligent bots act smart and respond back with most appropriate answer possible. It actually gets trained to user’s queries and makes a pattern to respond back to them with the most reliable answer possible. e.g. – chatbots developed with frameworks like Rasa and chatterbot. What is a chatbot ?
  • 4. What is NLP?  NLP is a subset of AI, and it involves programming computers to process massive volumes of language data.  It involves numerous tasks that break down natural language into smaller elements in order to understand the relationships between those elements and how they work together.  Common tasks include parsing, speech recognition, part-of- speech tagging, and information extraction. NLP focuses largely on converting text to structured data. What is NLU?  NLU is to teaches machines how to interpret and understand language inputted by humans.  NLU leverages AI algorithms to recognize attributes of language such as sentiment, semantics, context, and intent, entities.  For example, the questions “what’s the weather in pune?” and “how’s the weather in pune?” are both asking the same thing. The question “what’s the weather in pune?” can be asked in hundreds of ways. With NLU, computer applications can recognize the many variations in which humans say the same things. NLP & NLU
  • 5. About Rasa and Spacy Rasa is an open source machine learning framework for building AI assistants and chatbots. Mostly you don’t need any programming language experience to work in Rasa. Although there is something called “Rasa Action Server” where you need to write code in Python, that mainly used to trigger External actions like Calling Google API or REST API etc. Rasa has three main modules: 1.Rasa NLU for understanding user messages (we are making use of only this in project).This is the place, where rasa tries to understand User messages to detect Intent and Entity in your message. Rasa NLU has different components for recognizing intents and entities, most of which have some additional dependencies 2.Rasa Core for holding conversations and deciding what to do next. 3. Rasa X is a tool that helps you build, improve, and deploy AI Assistants that are powered by the Rasa framework. spaCy is an open-source software library for advanced natural language processing, written in the programming languages Python and Cython. The library is published under the MIT license and its main developers are Matthew Honnibal and Ines Montani, the founders of the software company Explosion.
  • 7. Key Features of Vendor chatbot project  User has to get registered with vendor desk before using bot.  Bot will send disclaimer and will ask user to accept it contact details will be shared and verified if it matches then only he will be getting replies for his queries. This is authentication method for bot.  It will initially ask invoice number then user has to enter invoice number if it matches the record then only it will display record information related to invoices.  It is displaying data from SAP excel file record. (for future use it could be a production database).  If user does not knows his invoice number then it will show all paid and unpaid invoice details.  User has to just click on respective invoice number to get details his of invoice.  It can extract numbers from text with concept of python text regularization.
  • 8. Telegram (User)/vendor Chat Telegram Chatbot (logic) Replies based on intent & Entities RASA NLU (A.I Engine) Get Intent & Entities Regex Text Regularization (Number Extraction) Intent Entities Vendor chatbot project Block diagram Userchat
  • 9. •Intent: An intent represents the purpose of a user's input. You define an intent for each type of user request you want your application to support. •Entity: An entity represents a term or object that is relevant to your intents and that provides a specific context for an intent. You list the possible values for each entity and synonyms that users might enter. What is Intent & Entities? Intent and entity extraction Chatbot replies based on intent and entities
  • 10. Launching Rasa GUI NLU Trainer With command: rasa-nlu-trainer Rasa GUI based NLU trainer Training of Rasa NLU model Placing blank json file at project location.
  • 11. Generated training data in json file with intent and entities Training of model with command : rasa train or rasa train-nlu
  • 12. Including trained model into project and pass user chat to model and extract intent and entities from it.
  • 13. Writing function for extracting invoice number from string(chat as input for function) Including it in actual project for extraction of invoice number from chat string and passing to other function. Concept of Regex( regular expression) in python. It is basically used here to extract numbers from string data. A RegEx, or Regular Expression, is a sequence of characters that forms a search pattern. RegEx can be used to check if a string contains the specified search pattern. ‘d’ matches a single digit pattern. ‘+’ matches one or more of the preceding character (greedy match). findall( ) : Returns a list containing all matches
  • 14. Results: Vendor Chatbot greeting Verifying invoice number If vendor is registered then it can show invoices paid & unpaid. Ending a chat
  • 15. By clicking on appropriate inline keyboard of respective vendor can get its details If invoice number is valid then it will show details related to that invoice number.
  • 16. Learning outcomes Take away:  Telegramchatbot api & telegram api key library used with python programming.  Creation of telegram based chatbot.  Natural language processing concept i.e. In particular Natural Language understanding used for intent and entities extraction from user chat.  Revisiting Python programming language concepts.  Rasa A.I frame work for NLU training and processing data. (A.I Engine of chatbot).  Regex in python for extracting numbers from string data.
  • 17. System for adding new users to drishti dashboard. Problem statement: Previously there was manual process of adding users (new joiner’s/employee’s) from excel file received from H.R it was done by python based script that converts excel data into nested dictionary in form of json file. That was done by technical person. So now we have develop a database based system with functionality to view database entries into website and new upload new data in specified file and format (json & excel csv file only). This online RDS database can be used any office chatbot applications. AWS RDS DATABASE (online) Employee Data from .json file Employee data from excel .csv format Drishti Dashboard (Website) (any) Chatbot application Upload data (view data) Send data Get data
  • 18. Upload and view button backend logic Results
  • 19. Uploading file and sending data to AWS RDS database Upload done successfully (for both excel and json files) View button functionality
  • 21. If user tries to upload file with wrong format.
  • 22. Dashboard for employee health monitoring System Dashboard was made using HTML-CSS web technologies and python flask was web framework. Rev 1 Rev 2
  • 23. Results for Python based mailing server for automatically sending mails .This system will automatically send mails to recipients in “To” and “CC”. It is part of TML Arogya project and send employee sick details and his data to respective authority. Sending automated mails using python .
  • 26. Running and deploying project on EC2 via putty.
  • 27. Learning outcomes Take away: HTML,CSS,BOOTSTRAP. Python flask programming. Python programming language. AWS amazon webservices (RDS) and EC2 technology. Database Management Systems. E.g. : MySQL software
  • 28. TATA Motors Contract Lifecycle Management (TML CLM). Contract Lifecycle Management (CLM) is the proactive, methodical management of a contract from initiation through creation, compliance and renewal. Implementing CLM can lead to significant improvements in cost savings and efficiency. Understanding and automating CLM can also limit organizational liability and increase compliance with legal requirements. Background of project and key technologies.  Corporate legal and GDC working together to identify opportunities where digital technologies can augment contract management  Identify gaps in existing scenarios and bring changes in existing processes  Identify opportunities in new contract formulation  Identify opportunities to monitor existing contracts
  • 29.  Contract Data loading: Inserting Contract Type, Sections and Clauses which are manually added.  Contract Creation: We can use loaded contract data to create the dynamic contract template and render data on the template, after this we can also download the data in a word file.  Contract Suggestion: Users can suggest the new clauses and the sections in particular contract type.  Custom Authentication: Users can now register successfully only after adding their emails in the invite screen.  Email Invite: We can Invite users to the portal by sending mail through the SMTP server. Current features in the TML CLM:
  • 33. Features of subscription page: 1) As per role of per only admin and super admin as right to access subscription page. User is only allowed to use service. 2) On subscription page feature of three subscription gold, silver and platinum along with start date and end date of subscription for contract life cycle management is shown. 3) On subscription page if user is registered then data in fields like email, name and phone section will be auto filled from database table ‘users’ .we can also collect information like name, contact number from user. we will provide an option for user to select product as per user need. 4) Only registered user is able to subscribe to CLM service. 5) User can be invited from email and can be registered to CLM service. Developing Billing page generating invoices, Subscription pages and modification in database.
  • 35. Super admin access to billing & subscription option.
  • 36. Admin access to subscription page.
  • 37. User has no access to billing & subscription option.
  • 40. 1) In billing page one can see user details start date and end date ,subscription data in tabular form.we can set basic price value of product from backend of code. 2) We create an export of excel file. 3) We can select user name drop down list and generate its invoice using open source FPDF library. 4) Generated invoice can be saved in pdf format. 5) Super admin will be able to see summary of customer data in tabular form on website.
  • 42. select customer and then clicking on generate invoice button automatically pdf invoice will be generated.
  • 43. Click on export to excel for downloading excel file and viewing data in excel file .
  • 45. a) password_hash() method: Syntax: password_hash ( string $password , mixed $algo [, array $options ] ) : string password_hash() creates a new password hash using a strong one-way hashing algorithm. password_hash() is compatible with crypt(). Therefore, password hashes created by crypt() can be used with password_hash(). The following algorithms are currently supported: PASSWORD_DEFAULT - Note that this constant is designed to change over time as new and stronger algorithms are added to PHP. For that reason, the length of the result from using this identifier can change over time. Therefore, it is recommended to store the result in a database column that can expand beyond 60 characters (255 characters would be a good choice).  PASSWORD_BCRYPT - Use the CRYPT_BLOWFISH algorithm to create the hash. This will produce a standard crypt() compatible hash using the "$2y$" identifier. The result will always be a 60 character string, or FALSE on failure.  PASSWORD_ARGON2I - Use the Argon2i hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2 support.  PASSWORD_ARGON2ID - Use the Argon2id hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2 support.  Supported options for PASSWORD_BCRYPT:  salt (string) - to manually provide a salt to use when hashing the password. Note that this will override and prevent a salt from being automatically generated. .
  • 46. b) password_verify( ): Syntax: password_verify ( string $password , string $hash ) : bool Verifies that the given hash matches the given password. Note that password_hash() returns the algorithm, cost and salt as part of the returned hash. Therefore, all information that's needed to verify the hash is included in it. This allows the verify function to verify the hash without needing separate storage for the salt or algorithm information. This function is safe against timing attacks.
  • 51. Take away:  Frontend:HTML,CSS,BOOTSTRAP,PHP.  Backend:PHP programming.  Codeignitor MVC framework .  Creating invoice format using php FPDF library, making using of inbuilt php libraries for encryption & decryption of passwords in php.  Database Management Systems : MYSQL PHP admin, XAMP server.
  • 52. References [1] Official Documentation Rasa Framework https://rasa.com/docs/ [2] Udemy Course on python flask: https://www.udemy.com/certificate/UC-8913f109-3fb0-48af-b575-c9c5a528450f/ [3] MySQL official documentation and learnt on W3C schools. https://www.w3schools.com/sql/ [4] AWS official documentation on website. https://docs.aws.amazon.com/ [5] Telegrambot and telegram api documentation on website. https://core.telegram.org/bots/api [6] codeignitor framework https://codeigniter.com/user_guide/index.html
  • 53. Tata Motors .LTD GDC (Global Delivery Center) ICC Devi Gaurav Technology Park Turing Lab.