Handwriting recognition for IDEs with Unicode support

Similar documents
Detection of lost status of mobile devices

Direct Handwriting Editing

Summarizing Existing Conversation For Newly Added Participants In Online Communication

Voice activated spell-check

Providing link suggestions based on recent user activity

VOICE AND TOUCH BASED INPUT

Selecting native ad units using gestures

Synchronizing Media Content In A Shared Virtual Reality Environment

Automatic information protection when device camera is operated by secondary user

Polite mode for a virtual assistant

Disabling facial unlocking using facial expression

Seamless transfer of ambient media from environment to mobile device

Intelligent Generation of Physical Products

Control of jitter buffer size using machine learning

Intelligent ranking for photo galleries using sharing intent

Conversion of a 3D scene into video

Technical Disclosure Commons

REDUCING GRANULARITY OF BROWSER FINGERPRINTING TECHNIQUES

BUFFERING AND INSERTING TEXT INPUTS

Displaying web pages within a software keyboard

Ranking trip search results based on user travel history

MULTIPLE TIER LOW OVERHEAD MEMORY LEAK DETECTOR

On-Device troubleshooting for conferencing and enterprise equipment

Notification Features For Digital Content In A Mobile-Optimized Format

SMART LIVE CHAT LIMITER

Navigation of blogs related by a tag

Pipeline To Generate Training Data For Image Recognition

Automatic event scheduling based on weather conditions

TIME DILATION CONTROLS FOR CAMERAS

An Eye Tracking System For Smart Devices

Context based automatic responses

Smart-Voice Invocation of Scenes in Home- Automation Systems

Reporting road hazards using in-vehicle camera

Competitor Identification Based On Organic Impressions

Secure web proxy resistant to probing attacks

Automatically Generating and Rendering Native Advertisements

Prediction and Selection of Sequence of Actions Related to Voice Activated Computing Systems

DYNAMICALLY CACHING VIDEO CONTENT BASED ON USER LIKELIHOOD OF INTERACTING WITH CONTENT ELEMENT

Method Of Password Entering And Storing

INTERPOLATED GRADIENT FOR DATA MAPS

ADAPTIVE USER INTERFACE BASED ON EYE TRACKING

Artificial Intelligence Powered Brand Identification and Attribution for On Screen Content

Input And Output Method Of Personalized Answers With Chatbot

Technical Disclosure Commons

SOCIAL NETWORK BASED AUTHENTICATION FOR SECURE ACCESS

IMAGE ACQUISTION AND PROCESSING FOR FINANCIAL ANALYSIS

TIMING-BASED ASSISTANT CONTROLS

PARTIAL CLICK PROTECTIONS FOR ADS

APPLICATIONS ON TOP OF DNA CENTER: TOPOLOGY EVOLUTION BASED ON CUSTOMER NETWORK DYNAMICS

IMAGE ACQUISTION AND PROCESSING FOR FINANCIAL DUE DILIGENCE

Analysis of cells within a spreadsheet

A semi-incremental recognition method for on-line handwritten Japanese text

SYSTEM AND METHOD FOR SPEECH RECOGNITION

Preferential Resource Delivery Via Web Proxy or Web Browser

Technical Disclosure Commons

Actions on Landing Pages

Replay Real World Network Conditions To Test Cellular Switching

PLT: Inception (cuz there are so many layers)

SECURITY SOLUTION FOR KUBERNETES USING CLOUD-NATIVE VIRTUAL NETWORK FUNCTIONS

Robocall and fake caller-id detection

Trial decision. Appeal No Kyoto, Japan. Tokyo, Japan

APPLICATIONS ON TOP OF DNA CENTER: NETWORK SECURITY SCORE BY NETWORK APPLICATION SEGMENTS

EFFICIENT TRAINING FOR MACHINE LEARNING MODELS ON EMBEDDED AND/OR LOW-POWER DEVICES

SSD Admission Control for Content Delivery Networks

Behavior-Triggered Answer Reconfirmation for Spam Detection in Online Surveys

Geo-Restricted In-Video Annotations

SERVICE LEVEL AGREEMENT ENFORCEMENT AND MEASUREMENT OF NETWORK SLICES

ALTERNATIVE CHARGE CONTROL SYSTEM FOR MERCHANDISE DISPLAY SECURITY SYSTEM

Pen- and Touch-Based Computing

EZWrite 5.0 User Manual

Recognition of online captured, handwritten Tamil words on Android

LANGUAGE RUNTIME NON-VOLATILE RAM AWARE SWAPPING

Creative Digital Spaces Technology Encourages Inspired Human Communication

Group Targeting for Video Ads Based on Location Context

Full Issue: vol. 45, no. 4

PRE-ARRIVAL DESTINATION PREPARATION

Hashing technique to optimally balance load within switching networks

Advanced Intrusion Detection

Handwritten Text Recognition

TEMPORAL/SPATIAL CALENDAR EVENTS AND TRIGGERS

Vehicle To Android Communication Mode

COLLABORATE INTERFACE QUICK START GUIDE

Artificial Intelligence Introduction Handwriting Recognition Kadir Eren Unal ( ), Jakob Heyder ( )

DETECTION OF POSITION FIXED CONTENT ITEM SLOTS AND CONTROL OF CONTENT DISPLAYED THEREIN

Image Moderation Using Machine Learning

An efficient method to avoid path lookup in file access auditing in IO path to improve file system IO performance

"METHOD FOR IMPROVED BANDWIDTH UTILIZATION IN DATA DOWNLOADING SYSTEMS USING INTELLIGENT DYNAMIC CONNECTION LIMIT STEPPING"

Support for word-by-word, non-cursive handwriting

Learning-Based Candidate Segmentation Scoring for Real-Time Recognition of Online Overlaid Chinese Handwriting

The Hitchhiker s Guide to TensorFlow:

REMOVABLE COMPUTER DATA STORAGE MEDIUM WITH VISIBLE MUTABLEBULK- PROPERTY INDICATION

Effect of Text/Non-text Classification for Ink Search employing String Recognition

LSTM: An Image Classification Model Based on Fashion-MNIST Dataset

ABSTRACT I. INTRODUCTION. Dr. J P Patra 1, Ajay Singh Thakur 2, Amit Jain 2. Professor, Department of CSE SSIPMT, CSVTU, Raipur, Chhattisgarh, India

Page 1. Interface Input Modalities. Lecture 5a: Advanced Input. Keyboard input. Keyboard input

Configurable data import of multiple Excel

IJESRT. Scientific Journal Impact Factor: (ISRA), Impact Factor: 1.852

Neural Network Exchange Format

Accelerated Mobile Pages Advertisement and Cascading Style Sheet Merging

ALLOCATING RF SPECTRUM PARTITIONS IN A CBRS NETWORK

Transcription:

Technical Disclosure Commons Defensive Publications Series December 11, 2017 Handwriting recognition for IDEs with Unicode support Michal Luszczyk Sandro Feuz Follow this and additional works at: http://www.tdcommons.org/dpubs_series Recommended Citation Luszczyk, Michal and Feuz, Sandro, "Handwriting recognition for IDEs with Unicode support", Technical Disclosure Commons, (December 11, 2017) http://www.tdcommons.org/dpubs_series/925 This work is licensed under a Creative Commons Attribution 4.0 License. This Article is brought to you for free and open access by Technical Disclosure Commons. It has been accepted for inclusion in Defensive Publications Series by an authorized administrator of Technical Disclosure Commons.

Luszczyk and Feuz: Handwriting recognition for IDEs with Unicode support Handwriting recognition for IDEs with Unicode support ABSTRACT This disclosure describes techniques for handwriting recognition for Unicode text entered via touch or other input. For example, Unicode text may be part of program source code in some programming languages. The handwritten code is provided as an input to a trained machine learning model. The model produces possible matches for the user entered text along with a score for each match. The user, e.g., a programmer, can select the appropriate match which is then added to the source code. The model is trained with sample handwritten text for known programs, and can also utilize additional factors such as program context and handwriting stroke information. The techniques can be implemented in IDE software, operating systems, and in devices that enable such input, e.g., electronic whiteboards. KEYWORDS Handwriting recognition IDE Integrated development environment Input method Unicode Programming environment Electronic whiteboard BACKGROUND Computer programmers commonly utilize Integrated Development Environments (IDE) to write and review software code. Current IDEs are mostly designed for traditional desktop computers and laptops. With increased use of devices such as tablets, electronic whiteboards, etc. Published by Technical Disclosure Commons, 2017 2

Defensive Publications Series, Art. 925 [2017] that include capabilities for handwriting, stylus, and gesture-based inputs, enabling programming environments on these devices can enhance user experience. Support for entering Unicode symbols in programming and development environments is useful for users of programming languages that support Unicode symbols, such as Haskell, Python, and Java. DESCRIPTION This disclosure describes an Integrated Development Environment (IDE) that incorporates handwriting recognition for entering program source code. A machine learning model is deployed for the handwriting recognition. The model is trained to interpret Unicode characters, e.g., that are used in source code. Fig. 1 illustrates the use of the handwriting recognition within a programming environment or IDE (110). A text box (120) is provided, where a programmer can input code using touch or stylus input, e.g., using a touchscreen or other touch-sensitive surface. In the example shown in Fig. 1, the programmer has provided four lines of handwritten text (122-128) for a Haskell program. Once the user provides the input, a trained machine learning model is used to evaluate the partial or complete line of program code. The recognition model returns interpreted text (130) that includes multiple interpreted matches. In the example shown in Fig.1, two matches (132, 134) for the second line of text (124) are shown, along with respective probability scores that indicate a confidence level for each match. The first match (132) is associated with a score of 95%. The second match (134) includes an alternate interpretation of the user entered program code and is associated with a lower score of 25%. Fig. 1 shows matches for a single line as an example, the techniques are also applicable to blocks of code that include multiple lines. http://www.tdcommons.org/dpubs_series/925 3

Luszczyk and Feuz: Handwriting recognition for IDEs with Unicode support Fig. 1: Handwriting recognition and probability scores The user can then select the correct match from the candidate matches, which is then added (142) to the user program (140) in the IDE. In a collaborative environment, multiple users Published by Technical Disclosure Commons, 2017 4

Defensive Publications Series, Art. 925 [2017] can enter program code via touch simultaneously. Each user entry is interpreted separately with the handwriting recognition model. Fig. 2: Training a machine learning model for Unicode handwriting recognition Fig. 2 illustrates an example training process for the machine learning model for the handwritten source code. A training set is obtained (210) by using a set of programs in different programming languages supporting Unicode characters, e.g., Haskell, Python, Java, etc. This set of programs is filtered (220) to create a subset of programs that each include at least a certain threshold of Unicode characters. Handwritten samples of these programs from different authors are obtained, with user permission (230). Additional signals such as local and global variables, syntax rules of the respective programming language, declared functions, and methods of the respective language, http://www.tdcommons.org/dpubs_series/925 5

Luszczyk and Feuz: Handwriting recognition for IDEs with Unicode support etc., are inferred (240) from the context of the program. A machine learning model, e.g., a feature-based model or a recurrent neural network such as long short-term memory (LSTM) or gated recurrent units (GRU) model, etc., can be trained (250) using the training data. Stroke information of the handwritten source code, syntactical information about the programming language (i.e. language model) and the additionally collected signals from the program context are provided as inputs to the machine learning model. While the foregoing discussion describes a trained machine learning model, heuristics can also be used to recognize the Unicode text. The techniques described herein can be incorporated into IDE software, and can also be offered as part of operating systems, e.g., mobile operating systems. For example, the techniques can be implemented via a system level application programming interface (API) that application developers can access. Electronic whiteboards that enable collaboration and include touch capability, can also include Unicode source code recognition. CONCLUSION This disclosure describes techniques for handwriting recognition for Unicode text entered via touch or other input. For example, Unicode text may be part of program source code in some programming languages. The handwritten code is provided as an input to a trained machine learning model. The model produces possible matches for the user entered text along with a score for each match. The user, e.g., a programmer, can select the appropriate match which is then added to the source code. The model is trained with sample handwritten text for known programs, and can also utilize additional factors such as program context and handwriting stroke information. The techniques can be implemented in IDE software, operating systems, and in devices that enable such input, e.g., electronic whiteboards. Published by Technical Disclosure Commons, 2017 6