KR20210095126A - 로봇 프로세스 자동화 설계를 위한 콘텍스트 기반 추천 기법 - Google Patents

로봇 프로세스 자동화 설계를 위한 콘텍스트 기반 추천 기법 Download PDF

Info

Publication number
KR20210095126A
KR20210095126A KR1020217012691A KR20217012691A KR20210095126A KR 20210095126 A KR20210095126 A KR 20210095126A KR 1020217012691 A KR1020217012691 A KR 1020217012691A KR 20217012691 A KR20217012691 A KR 20217012691A KR 20210095126 A KR20210095126 A KR 20210095126A
Authority
KR
South Korea
Prior art keywords
recommendation
current state
module
task
software
Prior art date
Application number
KR1020217012691A
Other languages
English (en)
Other versions
KR102594389B1 (ko
Inventor
마리-클로드 코테
알렉세이 노르델-마르코비츠
안드레이 토도식
Original Assignee
엘레먼트 에이아이 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘레먼트 에이아이 인크. filed Critical 엘레먼트 에이아이 인크.
Publication of KR20210095126A publication Critical patent/KR20210095126A/ko
Application granted granted Critical
Publication of KR102594389B1 publication Critical patent/KR102594389B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • G06F8/355Round-trip engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)

Abstract

로봇 소프트웨어 프로세스의 설계에 프로세스 작업을 추가하기 위한 시스템 및 방법이 제공된다. 콘텍스트 인식 모듈은 설계중인 프로세스의 현재 상태를 인식하고 해당 현재 상태에 대한 정보를 추천 모듈로 전달한다. 추천 모듈은 현재 상태를 평가하고 현재 상태에 대한 응답으로 추천할 적어도 하나의 적절한 프로세스 작업을 식별한다. 그런 다음 추천 모듈은 사람 설계자에게 적어도 하나의 프로세스 작업을 추천한다. 설계자가 추천을 수락하면 설계 모듈이 프로세스 작업을 프로세스 설계에 추가한다. 추천 모듈은 또한 적절한 프로세스 작업을 식별할 때 프로세스 및 다른 프로세스의 이전 작업에 대한 정보를 사용할 수도 있다. 콘텍스트 인식 모듈 및 추천 모듈은 각각 신경망 기반일 수도 있고 아닐 수도 있는 적어도 하나의 기계 학습 모듈을 포함할 수 있다.

Description

로봇 프로세스 자동화 설계를 위한 콘텍스트 기반 추천 기법
본 발명은 로봇 프로세스 자동화(robotic process automation)에 관한 것이다. 보다 구체적으로, 본 발명은 로봇 프로세스 자동화의 설계를 단순화하는 것에 관한 것이다.
일상적인 비즈니스 태스크를 자동화하기 위한 로봇 프로세스 자동화 또는 "RPA"의 사용이 급속도로 널리 보급되고 있다. 소프트웨어 '로봇'(한 프로세스에 대해 구성된 소프트웨어 모듈)은 데이터를 조작하고, 이메일 응답을 생성하며, 기타 여러 태스크를 수행할 수 있다. 예를 들어, 한 시스템에서 다른 시스템으로 많은 양의 데이터를 복사하여 붙여 넣는 것 등의 이러한 태스크 중 상당수는 사람에게 지루하고 오류를 일으키기 쉽다. RPA 로봇('봇(bots)'또는 '로봇 에이전트'라고도 함)을 사용하면 사람 작업자와 감독자가 더 중요한 태스크에 집중할 수 있다.
그러나, 소프트웨어 로봇은 여전히 사람에 의해 설계되고 있다. 설계자는 자동화에 포함될 일련의 프로세스 단계를 정확하게 지정해야 하므로 이를 설계하는 것은 어렵고 시간이 많이 소요되는 태스크일 수 있다. 무엇보다도 자동화된 로봇 에이전트를 설계할 때, 사람 설계자는 가장 효율적인 단계의 시퀀스를 결정하는 것을 목표로 한다. 그러나 이 가장 효율적인 시퀀스가 항상 전통적인 방법은 아니다. 또한, 현재의 설계 방법은 매우 세분화되어 있다. 예를 들어, '데이터 K를 시스템 Y로 복사'라고 말하는 RPA 워크플로 경로를 설계하는 대신, 사람은 흔히 다음과 같이 설계해야 한다: '시스템 X를 오픈; 시스템 X에서 K를 검색; 발견되면 K를 장치 저장소에 복사; 시스템 Y를 오픈; 시스템 Y의 데이터 K에 대한 필드를 결정; 장치 저장소에서 시스템 Y의 해당 필드로 K를 복사'. 이해할 있는 바와 같이, 단순 반복 프로세스를 자동화하는 것 조차도 실수할 가능성이 높은 섬세하고 지루한 작업일 수 있다.
따라서, RPA 봇 또는 로봇 에이전트의 설계와 관련된 태스크를 단순화하는 시스템 및 방법이 분명히 필요하다. 바람직하게는, 이러한 시스템 및 방법은 설계자에게 콘텍스트 기반 설계 추천을 제공할 수 있다.
본 발명은 로봇 소프트웨어 프로세스의 설계에 프로세스 작업(process action)을 추가하기 위한 시스템 및 방법을 제공한다. 콘텍스트 인식 모듈은 설계중인 프로세스의 현재 상태를 인식하고 해당 현재 상태에 대한 정보를 추천 모듈로 전달한다. 추천 모듈은 현재 상태를 평가하고 그러한 현재 상태에 대한 응답으로 추천할 적어도 하나의 적절한 프로세스 작업을 식별한다. 그런 다음 추천 모듈은 사람 설계자에게 적어도 하나의 프로세스 작업을 추천한다. 설계자가 추천을 수락하면 설계 모듈이 프로세스 작업을 프로세스 설계에 추가한다. 추천 모듈은 또한, 적절한 프로세스 작업을 식별할 때 프로세스 및 다른 프로세스의 이전 작업에 대한 정보를 사용할 수도 있다. 콘텍스트 인식 모듈 및 추천 모듈은 각각 신경망 기반일 수도 있고 아닐 수도 있는, 적어도 하나의 기계 학습 모듈을 포함할 수 있다.
제 1 측면에서, 본 발명은 소프트웨어 프로세스의 설계에 적어도 하나의 프로세스 작업을 추가하는 방법을 제공하며, 방법은 다음을 포함한다:
(a) 상기 소프트웨어 프로세스에서 현재 상태를 인식하는 단계;
(b) 상기 현재 상태에 기초하여, 상기 소프트웨어 프로세스의 설계자에게 상기 적어도 하나의 프로세스 작업을 추천하는 단계;
(c) 상기 설계자로부터 상기 추천에 대한 응답을 수신하는 단계; 및
(d) 상기 응답이 상기 적어도 하나의 프로세스 작업의 수락일 때 상기 적어도 하나의 프로세스 작업을 상기 설계에 추가하는 단계,
단계(b)에서 기계 학습 기술이 상기 추천을 하는 데 사용된다.
제 2 측면에서, 본 발명은 소프트웨어 프로세스의 설계에 적어도 하나의 프로세스 작업을 추가하기 위한 시스템을 제공하며, 시스템은 다음을 포함한다:
- 상기 소프트웨어 프로세스의 현재 상태를 인식하기 위한 콘텍스트 인식 모듈;
- 추천 모듈 - 상기 추천 모듈은,
- 상기 현재 상태를 평가하고,
- 상기 평가에 기초하여 추천할 상기 적어도 하나의 프로세스 작업을 결정하며,
- 상기 소프트웨어 프로세스의 설계자에게 상기 적어도 하나의 프로세스 작업을 추천하고,
- 상기 설계자로부터 상기 추천에 대한 응답을 수신함 - ; 및
- 상기 응답이 상기 프로세스 작업의 수락일 때 상기 설계에 상기 적어도 하나의 프로세스 작업을 추가하기 위한 설계 모듈.
제 3 측면에서, 본 발명은 컴퓨터 판독 가능 및 컴퓨터 실행 가능 명령어가 인코딩된 비 일시적 컴퓨터 판독 가능 매체를 제공하며, 명령어는 실행될 때 적어도 하나의 프로세스 작업을 소프트웨어 프로세스의 설계에 추가하는 방법을 구현하고, 이 방법은,
(a) 상기 소프트웨어 프로세스에서 현재 상태를 인식하는 단계;
(b) 상기 현재 상태에 기초하여, 상기 소프트웨어 프로세스의 설계자에게 상기 적어도 하나의 프로세스 작업을 추천하는 단계;
(c) 상기 설계자로부터 상기 추천에 대한 응답 수신하는 단계; 및
(d) 상기 응답이 상기 적어도 하나의 프로세스 작업의 수락일 때 상기 적어도 하나의 프로세스 작업을 상기 설계에 추가하는 단계를 포함하고,
단계(b)에서 기계 학습 기술이 상기 추천을 하는 데 사용된다.
본 발명은 이제 다음 도면을 참조하여 설명될 것이며, 도면에서 동일한 참조 번호는 동일한 요소를 나타낸다.
도 1은 본 발명의 일 측면에 따른 시스템의 블록도이다.
도 2는 도 1의 시스템의 다른 실시예의 블록도이다.
도 3은 본 발명의 일 측면에 따른 방법을 상세히 설명하는 흐름도이다.
본 발명은 로봇 프로세스 자동화의 설계에 추가될 프로세스 작업을 추천한다. 추천은 콘텍스트에 따라 다르며 설계 중인 프로세스의 현재 상태에 따라 다르다. 즉, 프로세스 시작 시 추천되는 작업은 해당 프로세스의 마지막에 가까운 추천 작업과 반드시 동일하지는 않을 것이다. (물론 일부 작업은 지속적으로 추천될 수 있고, 예를 들어 '저장(Save)' 작업이 지속적으로 제안될 수 있다.) 그러나 일반적으로 추천 작업은 각 프로세스 및 완료된 각 프로세스 단계에 따라 달라질 것이다.
예를 들어, 설계자는 이메일을 열고, 이메일에 첨부된 문서를 열고, 문서의 일부 필드를 스프레드 시트에 복사하고, 문서를 닫고, 두 번째 문서를 저장할 프로세스 자동화 로봇을 구축하고자 할 수 있다. 이러한 프로세스 자동화 로봇을 설계하는 동안, 본 발명은 ('이메일 열기' 단계 이후) 이메일에 첨부 파일이 있음을 인식하고 프로세스의 다음 단계가 '첨부된 문서의 열기 및 저장'이어야 함을 자동으로 제안할 수 있다. 다음으로, 본 발명은 사용자가 데이터를 선택할 수 있는 관련 필드의 목록을 제안할 수 있다. (아래에서 더 상세히 논의되는 바와 같이) 바람직한 구현에서, 본 발명은 이러한 추천을 할 때 기계 학습 기술을 사용한다. 특히, 이 경우 시스템은, 시스템의 기계 학습 모듈이 과거 프로세스 데이터를 사용하여 첨부 파일이 있는 이메일 수신 후 다른 곳에 복사될 콘텐츠의 추출이 뒤따르는 경우가 많다는 것을 '학습'했기 때문에 이러한 필드를 제안할 것이다.
이제 도 1을 참조하면, 블록도는 본 발명의 일 측면에 따른 시스템을 예시한다. 시스템(10)에서, 콘텍스트 인식 모듈(20)은 설계 중인 프로세스의 현재 상태를 인식하고 그 현재 상태의 세부 사항을 추천 모듈(30)로 전송한다. 추천 모듈(30)은 그 다음 프로세스의 현재 상태를 평가한다. 그 평가에 기초하여, 추천 모듈(30)은 (존재하는 경우) 어떤 프로세스 작업이 제시되어야 하는지를 결정하고, 그러한 프로세스 작업(들)을 설계자에게 추천한다. 설계자는 추천을 수락하거나 거부하여 추천에 응답한다. 설계자가 추천을 수락하면, 설계 모듈(40)은 추천된 프로세스 작업(들)을 프로세스 설계에 추가한다. 한편, 설계자가 추천된 프로세스 작업(들)을 거부하는 경우, 추천 모듈(30)은 다른 프로세스 작업을 추천하거나 새로운 상태 정보를 기다릴 수 있다. 아래에서 자세히 설명하겠지만, 시스템은 현재 상태 및 추천되는 프로세스 작업과 관련된 정보를 수집하고 저장할 수 있을 뿐만 아니라 이러한 작업이 설계자에 의해 수락 또는 거부되었는지에 대한 정보를 수집하고 저장할 수 있다. 이러한 데이터는 추천 모듈(30)에 의해 생성된 추천을 지속적으로 개선하는 데 사용될 수 있다.
예로서, 하나의 프로세스는 이메일 애플리케이션을 여는 것을 포함할 수 있다. 프로세스의 '현재 상태'는 '현재 해당 이메일 애플리케이션이 열려 있다'가 된다. 콘텍스트 인식 모듈(context-recognition module)(20)은 그 상태를 식별하고 상태와 관련된 정보를 추천 모듈(30)에 전달할 것이다. 추천 모듈(30)은 상태를 평가하고 추천 가능한 프로세스 작업을 결정할 것이다. 이러한 프로세스 작업 중 하나는 '새 이메일 창 열기'일 수 있다. 또 다른 작업은 '특정 이메일 템플릿 열기'일 수 있다. 또 다른 작업은 '특정 발신자가 보낸 모든 이메일을 "높은 우선 순위"로 표시하기(flag)'일 수 있다. 아래에서 논의되는 바와 같이, 이러한 작업은 현재 상태 정보 또는 추가 정보에 기초하여서만 결정될 수 있다. 추천 모듈(30)은 추천된 프로세스 작업을 설계자에게 제시할 것이다. 설계자가 추천을 수락하면, 관련 프로세스 작업이 프로세스 설계에 추가될 것이다.
'프로세스의 설계'는 여러 가지 방식으로 (예를 들어, 설계자가 RPA 설계 환경에서 구축하는 흐름도로서) 표현될 수 있다는 점에 유의한다. 그러나 일반적으로 어떠한 피상적인 표현이 사용되든 각 프로세스는 설계자가 더 많은 단계를 추가함에 따라 확장되는 소프트웨어 파일에 대응할 것이다. 각 프로세스 동작은 마찬가지로 소프트웨어 코드의 섹션에 대응할 것이다. 설계자가 추천을 수락하면, 소프트웨어 코드의 관련 섹션이 적절한 위치에 있는 프로세스의 소프트웨어 파일에 추가될 것이다.
명백히 해야 할 것은, 프로세스의 임의의 주어진 상태에 대해 다수의 프로세스 작업이 추천될 수 있다는 점이다. 즉, 여러 다른 프로세스 작업이 프로세스의 특정 포인트를 합리적으로 따를 수 있다. 추천은 동시에 또는 순차적으로 제시될 수 있다. 즉, 일부 구현에서 설계자에게 여러 추천 프로세스 작업의 동시 목록에서 선택하는 것이 허가될 수 있으며, 이들 추천 프로세스 작업 각각은 프로세스의 동일한 특정 상태를 따를 수 있다. 다른 구현에서, 단일 특정 상태와 관련된 다수의 추천이 차례로 제시될 수 있다. 이러한 추천은 설계자가 하나의 작업을 선택할 때까지 또는 설계자가 제시된 모든 작업을 거부할 때까지 제공될 것이다. 불만감(frustration)을 최소화하기 위해 초기에 설계자에게 '모두 거부' 옵션을 제시하는 것이 바람직하다. 이는 추천이 설계자의 장치의 정상적인 작동을 방해하도록 구성된 경우 특히 바람직하다. 그러한 경우에도 현재 프로세스에 대한 적합성 순으로 프로세스 작업의 순위를 매기는 것이 바람직하다. 순위가 지정되면 추천이 설계자에게 제시되어 '가장 추천되는' 작업이 먼저 제시된 다음 '두 번째로 추천되는' 작업이 제시되는 식으로 진행될 수 있다.
추천 모듈(30)이 추천할 프로세스 작업을 결정할 수 없거나 임의의 프로세스 작업이 추천되어야 한다고 결정할 수 없는 시나리오도 존재할 수 있다. 그러한 시나리오에서, 추천 모듈(30)은 새로운 현재 상태가 수신될 때까지 대기하도록 구성될 수 있다. 대안적으로, 추천 모듈(30)은 디폴트 작업의 목록을 제시할 수 있다. 이러한 디폴트 작업에는 '저장' 또는 '새 창 열기'와 같이 주어진 콘텍스트(context)에서 예측 가능한 작업이 포함될 수 있다.
프로세스 작업은 "저장소에서 현재 값 삭제"와 같은 독립적인 간단한 작업일 수 있다. 그러나 대안적으로, 프로세스 작업이 복잡할 수 있다. 단일 프로세스 작업에는 여러 개의 작은 프로세스 작업이 포함될 수 있다. 예를 들어, 위에서 설명한 다단계 복사 시퀀스("시스템 X 열기" 등) 대신, 본 발명은 사용자가 "K를 시스템 Y로 복사"를 선택하도록 추천할 수 있다. 이러한 단일한 '상위 수준(higher-level)' 프로세스 작업은 일반적으로 필요한 다단계 프로세스보다 사람 사용자가 더 이해하기 쉬우며 인적 오류에 덜 취약하다.
추가로, 단일 추천은 다수의 '상위 수준' 프로세스 작업을 포함할 수 있다. 예를 들어, 프로세스의 일부 포인트에서, 추천 모듈(30)은 특정 파일이 '저장'되도록 추천할 수 있다. 해당 추천이 수락되면, 다음 추천은 '파일 닫기'일 수 있다. 다음 추천은 '새 파일 열기'가 될 수 있다. 다른 시나리오에서는 이러한 모든 프로세스 작업이 한 번에 추천될 수 있는데, 즉, 설계자에게 '파일 저장-파일 닫기-새 파일 열기'에 대한 추천이 제시될 것이다.
당업자에게 명백한 바와 같이, RPA 설계자는 GUI 기반 환경 또는 텍스트 기반 환경을 포함하지만 이에 제한되지 않는 임의의 종류의 설계 환경을 사용할 수 있다. 더욱이, 일부 구현에서, 설계자는 자동화될 프로세스를 수행하는 자신 또는 다른 이들을 "기록"할 수 있다. 이러한 구현에서, RPA 프로세스의 설계는 특정 환경에서 발생하지 않을 것이다. 따라서, 본 발명은 주어진 환경에 적합한 임의의 형태로 추천을 제시하도록 구성될 수 있다. 예를 들어 GUI 기반 설계 환경에서, 추천 프로세스 작업은 드롭 다운 메뉴 또는 끌어서 놓기(drag-and-drop) 아이콘으로 표시될 수 있다. 반면에, 텍스트 기반 설계 환경에서는, 추천 프로세스 작업이 반자 단어(half-typed word)를 '완성'하는 '그림자 텍스트'로 표시될 수 있다. (물론 텍스트 기반 환경은 다시 구현에 따라 드롭 다운을 사용할 수도 있고 그 반대도 가능하다.) 또 다른 예로, 추천되는 프로세스 작업은 설계자의 디스플레이 장치에 '팝업' 또는 알림으로 표시될 수 있다.
추천 모듈(30)에 의해 추천된 프로세스 작업은 임의의 종류의 적절한 작업일 수 있다. 여기에는 복사, 붙여 넣기 및 삭제와 같은 데이터 조작 작업; 한 애플리케이션에서 다른 애플리케이션으로의 데이터 이동과 같이 시스템 간의 상호 작용과 관련된 작업; 이메일 보내기 또는 '챗봇' 타입 프로세스의 경우 개별화된 응답 전달과 같은 커뮤니케이션 관련 작업; 및 파일 저장과 같은 저장소 관련 작업이 포함되지만 이에 한정되지는 않는다.
일부 구현에서, 콘텍스트 인식 모듈(20) 및 추천 모듈(30)은 규칙 기반 모듈을 포함한다. 그러나 이러한 모듈은 수신할 수 있는 데이터의 양과 그러한 데이터를 수신할 수 있는 다양한 시나리오로 인해, 각 상황(situation)을 다루는 규칙을 발전시키기 어려울 수 있다. 따라서, 이들 모듈 각각은 신경망 기반일 수도 있고 아닐 수도 있는 훈련된 기계 학습 서브 모듈을 포함하는 것이 바람직하다. 콘텍스트 인식 모듈(20)의 경우, 기계 학습 서브 모듈은 시스템 정보에 기초하여 가능한 많은 프로세스 상태를 식별하도록 훈련될 수 있다.
추천 모듈(30)의 경우, 기계 학습 서브 모듈은 현재 프로세스 상태를 평가하고 이에 대응하여 적절한 프로세스 작업을 식별하도록 훈련될 수 있다. 구현에 따라, 추가로, 그리고 설계되는 프로세스에 따라, 추천 모듈(30)은 다수의 신경망을 포함할 수 있다. 예를 들어, 하나의 신경망은 콘텍스트 정보를 단일 숫자 표현으로 인코딩하는 것을 담당할 수 있고, 다른 기계 학습 서브 모듈은 해당 표현을 사용하여 인코딩된 콘텍스트를 기반으로 작업을 추천할 수 있다. 관련 신경망 애플리케이션의 예는 잘 알려진 자연어 처리 기술을 사용하여 언어 기반(커뮤니케이션 관련) 작업을 식별하는 것이다. 추천 모듈(30)은 임의의 주어진 프로세스 상태에 대한 주어진 작업의 적합성을 평가하는 신경망을 포함할 수 있다. (적합성은 '추천 강도' 또는 설계자가 추천된 작업을 수락할 확률이라고도 할 수 있다.) 일단 훈련되면, 기계 학습 기반 추천 모듈(30)은 현재 상태, 즉 표준 표현 형식으로 인코딩되고 언어 기반 정보 또는 시각적 정보일 수 있는 프로세스 상태와 관련된 콘텍스트(context) 정보를 입력으로 수신할 것이다. 기계 학습 기반 추천 모듈(30)은 잠재적인 프로세스 작업의 목록과 각 작업이 설계자에 의해 수락될 확률을 결정할 수 있다. 그러나 당업자에게 명백한 바와 같이, 콘텍스트 인식 모듈(20) 및 추천 모듈(30)은 규칙 기반 및 신경망 기반 요소의 임의의 조합을 포함할 수 있다.
도 2는 도 1의 시스템의 또 다른 실시예를 보여주는 블록도이다. 도 2에 도시된 시스템은 도 1의 시스템과 매우 유사한데, 즉 콘텍스트 인식 모듈(20)은 프로세스의 현재 상태에 대한 정보를 추천 모듈(30)로 송신한다. 추천 모듈(30)은 적절한 프로세스 작업을 식별하고 이러한 프로세스 작업을 설계자에게 추천한다. 설계자가 추천(들)을 수락하면, 설계 모듈(40)은 소프트웨어 프로세스의 전체 설계에 그 프로세스 작업을 추가한다. 그러나, 이러한 실시예에서, 추천 모듈(30)은 또한 히스토리 모듈(50)로부터 정보를 수신한다.
히스토리 모듈(50)은 현재 설계중인 프로세스와 관련된 정보를 저장한다. 또한, 히스토리 모듈(50)은 현재 설계자가 이전에 설계한 프로세스 및/또는 타인이 설계한 프로세스와 관련된 정보를 저장할 수 있다. 추천 모듈(30)은 주어진 프로세스 상태에 대한 적절한 응답을 결정할 때 그러한 정보를 사용할 수 있다. 히스토리 모듈(50)은 또한 프로세스의 각 상태와 관련된 콘텍스트 정보뿐만 아니라 해당 상태에 응답하여 추천된 프로세스 작업과 관련된 정보 및 설계자가 수락한 추천 프로세스 작업과 관련된 정보를 저장할 수 있다. 유사하게, 히스토리 모듈(50)은 어느 추천된 프로세스 작업이 설계자에 의해 수락되지 않았는지에 관한 데이터를 저장할 수 있다. 이 정보는 기계 학습 기반 추천 모듈(30)에 대한 다음 단계의 훈련에서 사용될 수 있다. 대안적으로, 주로 규칙 기반 모듈이 사용된다면, 이 정보는 나중에 새로운 규칙을 설정하는 데 사용될 수 있다. 따라서 이 정보를 사용하여 향후 추천을 개선(refine)하고 이러한 향후 추천을 설계자가 수락할 가능성을 높일 수 있다. 예를 들어, 추천 모듈(30)은 히스토리 모듈(50)로부터의 정보를 이용하여 '현재 상태 X'에서 취해진 가장 일반적인 작업이 '작업 A'라고 결정할 수 있다. 추천 모듈(30)은 그 후 작업 A가 설계자에게 추천되어야 한다고 결정할 수 있다. 다른 예로서, 추천 모듈(30)은 주로 히스토리 모듈(50)로부터의 정보에 의존할 수 있다. 예를 들어, '현재 상태 X'는 눈에 띄지 않거나 구별되지 않을 수 있고, 예를 들어, 현재 상태는 프로세스의 전환 포인트(changeover point)를 반영할 수 있는데 여기서는 어떠한 소프트웨어 애플리케이션도 활성화되지 않는다. 그러한 포인트에서, 추천 모듈(30)은 수많은 가능한 프로세스 작업을 식별할 수 있을 것이지만 그러한 작업들을 구별할 방법은 거의 없을 것이다. 이러한 경우 프로세스의 이전 작업이 지침을 제공할 수 있다. 즉, 추천 모듈(30)은 다음 단계를 추천하기 위해 현재 프로세스의 이전 작업에 대한 히스토리 모듈(50)로부터의 정보를 사용할 수 있다. 마찬가지로, 다른 유사한 프로세스와 관련된 정보가 추천 모듈(30)에 의해 어떤 프로세스 작업이 추천되어야 하는지를 결정하는 데 사용될 수 있다.
도 3은 본 발명의 일 측면에 따른 방법을 상세히 설명하는 흐름도이다. 단계 100에서 프로세스 설계는 새로운 현재 상태에 도달한다. 이에는 메시지 수신, 애플리케이션 열기 또는 기타 이벤트 또는 변경이 포함될 수 있다. 단계 110에서, 새로운 현재 상태가 인식된다. 그 다음, 단계 120에서, 현재 상태에 응답하는 적어도 하나의 적절한 프로세스 작업이 식별된다. 이러한 적어도 하나의 프로세스 작업은 다음으로 단계 130에서 설계자에게 추천된다.
결정 단계(140)에서, 방법은 설계자가 추천을 수락했는지 또는 거부했는지를 결정한다. 설계자가 추천을 수락하면 적어도 하나의 프로세스 작업이 단계 150에서 프로세스 설계에 추가된다. 이 시점에서, 방법은 새로운 현재 상태로 종료되거나 반복될 수 있다(즉, 방법이 종료되거나 단계 100으로 돌아갈 수 있다).
반면에, 설계자가 추천을 거부하면, 결정 단계(160)에서는 프로세스의 현재 상태에 대해 임의의 다른 프로세스 작업이 추천될 수 있는지 여부를 묻는다. 추천될 수 있다면, 방법은 단계 130으로 돌아가고 그러한 다른 프로세스 작업이 설계자에게 추천된다. 그러나 다른 프로세스 작업을 추천할 수 없는 경우에 본 방법은 설계가 새로운 현재 상태에 도달할 때까지 대기한다(즉, 단계 100으로 돌아간다). 분명히 알 수 있는 바와 같이, 결정 단계(160)로부터 그러한 새로운 현재 상태에 도달하는 설계에서, 설계자는 도움없이 설계를 계속할 것인데 이는 해당 상태에 대해 더 이상 추천이 이루어지지 않기 때문이다.
본 발명의 다양한 측면은 전반적으로 소프트웨어인 시스템에서 소프트웨어 모듈로 구현될 수 있음이 분명하다. 따라서, 본 발명은, 실행 시 미리 정의된 기능을 갖는 다양한 소프트웨어 모듈을 구현하는 컴퓨터 실행가능 명령어의 형태를 취할 수 있다. 
추가적으로, 달리 명시되지 않는 한, 본 명세서에서 '이미지' 또는 '이미지들'에 대한 언급은 픽셀 또는 픽처 셀을 포함하는 디지털 이미지 또는 디지털 이미지들을 지칭하는 것이 분명하다.  마찬가지로 '오디오 파일' 또는 '오디오 파일들'에 대한 모든 언급은 달리 명시되지 않는 한 디지털 오디오 파일을 의미한다. '비디오', '비디오 파일', '데이터 객체', '데이터 파일' 및 기타 그러한 모든 용어는 달리 명시되지 않는 한 디지털 파일 및/또는 데이터 객체를 의미하는 것으로 간주되어야 한다.
본 발명의 실시예는 방법 단계의 방식으로 프로그래밍된 데이터 프로세서 또는 유사한 장치에 의해 실행될 수도 있고, 이러한 스텝을 실행하기 위한 수단이 제공되는 전자 시스템에 의해 실행될 수도 있다.  마찬가지로, 컴퓨터 디스켓, CD-ROM, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM) 또는 당업계에 알려진 유사한 컴퓨터 소프트웨어 저장 매체와 같은 전자 메모리 수단이, 이러한 방법 스텝을 실행하도록 프로그래밍될 수 있다.  또한, 이러한 방법 스텝을 나타내는 전자 신호가 통신 네트워크를 통해 전달될 수도 있다.
본 발명의 실시예는 어떠한 종래의 컴퓨터 프로그래밍 언어로도 구현될 수 있다.  예를 들어, 바람직한 실시예는 절차적 프로그래밍 언어(예컨대, "C" 또는 "Go") 또는 객체 지향 언어(이를테면, "C++", "java", "PHP", "PYTHON" 또는 "C #")으로 구현될 수 있다.  본 발명의 다른 실시예는 사전 프로그래밍된 하드웨어 구성요소, 다른 관련 컴포넌트 또는 하드웨어와 소프트웨어 컴포넌트의 조합으로 구현될 수 있다.
실시예는 컴퓨터 시스템과 함께 사용하기 위한 컴퓨터 프로그램 제품으로 구현될 수도 있다. 이러한 구현은, 컴퓨터 판독가능 매체(예를 들어, 디스켓, CD-ROM, ROM 또는 고정 디스크)와 같은 유형의(tangible) 매체에 고정될 수도 있고, 모뎀 또는 매체를 통해 네트워크로 접속되는 통신 어댑터와 같은 기타 인터페이스장치를 컴퓨터 시스템으로 전송될 수도 있는, 일련의 컴퓨터 명령어를 포함할 수 있다. 매체는 유형의 매체(예를 들어, 광학 또는 전기 통신 라인) 또는 무선 기술(예를 들어, 마이크로파, 적외선 또는 기타 전송 기술)로 구현된 매체일 수 있다.  일련의 컴퓨터 명령어는 여기에서 이전에 설명한 기능의 전부 또는 일부를 구현한다.  당업자는 이러한 컴퓨터 명령어가 많은 컴퓨터 아키텍처 또는 운영 체제와 함께 사용하기 위한 다수의 프로그래밍 언어로 작성될 수 있음을 인식해야 한다.  더욱이, 그러한 명령어는 반도체, 자기, 광학 또는 기타 메모리 장치와 같은 임의의 메모리 장치에 저장될 수도 있고, 광학, 적외선, 마이크로파 또는 기타 전송 기술과 같은 임의의 통신 기술을 사용하여 전송될 수도 있다. 이러한 컴퓨터 프로그램 제품은 인쇄 문서 또는 전자 문서(이를테면, 수축 포장된(shrink-wrapped) 소프트웨어)와 함께 이동식 매체로서 배포되거나, 컴퓨터 시스템(예컨대, 시스템 ROM 또는 고정 디스크)에 사전 로딩되거나, 네트워크(예를 들어, 인터넷 또는 월드 와이드 웹)를 통해 서버로부터 배포될 수 있다. 물론, 본 발명의 일부 실시예는 소프트웨어(예를 들어, 컴퓨터 프로그램 제품) 및 하드웨어의 조합으로서 구현될 수도 있다. 본 발명의 또 다른 실시예는 전체적으로 하드웨어 또는 전체적으로 소프트웨어(예를 들어, 컴퓨터 프로그램 제품)로서 구현될 수도 있다.
이제 본 발명을 이해하는 사람은 후속하는 청구 범위에 정의된 바와 같이 본 발명의 범위 내에 속하도록 의도된, 전술한 모든 사항의 대안적인 구조 및 실시예 또는 변형을 생각할 수 있을 것이다.

Claims (21)

  1. 소프트웨어 프로세스의 설계에 적어도 하나의 프로세스 작업을 추가하는 방법으로서,
    (a) 상기 소프트웨어 프로세스에서 현재 상태를 인식하는 단계와,
    (b) 상기 현재 상태에 기초하여, 상기 소프트웨어 프로세스의 설계자에게 상기 적어도 하나의 프로세스 작업을 추천하는 단계와,
    (c) 상기 설계자로부터 상기 추천에 대한 응답을 수신하는 단계와,
    (d) 상기 응답이 상기 적어도 하나의 프로세스 작업의 수락일 때 상기 적어도 하나의 프로세스 작업을 상기 설계에 추가하는 단계
    를 포함하고,
    상기 단계(b)에서 상기 추천을 하는 데 기계 학습이 사용되는
    방법.
  2. 제 1 항에 있어서,
    상기 현재 상태는 외부 소프트웨어 애플리케이션과 관련되는
    방법.
  3. 제 1 항에 있어서,
    복수의 프로세스 작업을 더 포함하고,
    상기 복수의 프로세스 작업 모두는 사용자에게 동시에 추천되는
    방법.
  4. 제 1 항에 있어서,
    복수의 프로세스 작업을 더 포함하고,
    상기 복수의 프로세스 작업 각각은 사용자에게 순차적으로 추천되는
    방법.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 프로세스 작업은 다수의 하위 작업을 포함하는
    방법.
  6. 제 1 항에 있어서,
    상기 현재 상태는 상기 소프트웨어 프로세스의 현재 작업과 관련되는
    방법.
  7. 제 1 항에 있어서,
    상기 단계(b)에서의 추천은 상기 소프트웨어 프로세스에서 적어도 하나의 이전 작업에 더 기초하는
    방법.
  8. 제 1 항에 있어서,
    상기 단계(b)에서의 추천은 다른 소프트웨어 프로세스에 더 기초하는
    방법.
  9. 제 1 항에 있어서,
    상기 적어도 하나의 프로세스 작업은
    데이터 조작 작업,
    시스템 간의 상호 작용과 관련된 작업,
    커뮤니케이션 관련 작업, 및
    저장소 관련 작업
    중 적어도 하나인
    방법.
  10. 제 1 항에 있어서,
    (e) 상기 현재 상태, 상기 적어도 하나의 프로세스 작업, 및 상기 응답과 관련된 데이터를 수집하는 단계와,
    (f) 향후 추천을 개선(refine)하기 위해 상기 데이터와 함께 기계 학습을 사용하는 단계를 더 포함하는
    방법.
  11. 소프트웨어 프로세스의 설계에 적어도 하나의 프로세스 작업을 추가하기 위한 시스템으로서,
    상기 소프트웨어 프로세스의 현재 상태를 인식하는 콘텍스트 인식 모듈과,
    기계 학습 가능 추천 모듈 - 상기 기계 학습 가능 추천 모듈은,
    상기 현재 상태를 평가하고,
    상기 평가에 기초하여 추천할 상기 적어도 하나의 프로세스 작업을 결정하며,
    상기 소프트웨어 프로세스의 설계자에게 상기 적어도 하나의 프로세스 작업을 추천하고,
    상기 설계자로부터 상기 추천에 대한 응답을 수신하기 위한 것임 - 과,
    상기 응답이 상기 프로세스 작업의 수락일 때 상기 설계에 상기 적어도 하나의 프로세스 작업을 추가하기 위한 설계 모듈
    을 포함하는
    시스템.
  12. 제 11 항에 있어서,
    상기 현재 상태는 외부 소프트웨어 애플리케이션과 관련되는
    시스템.
  13. 제 11 항에 있어서,
    복수의 프로세스 작업을 더 포함하고,
    상기 복수의 프로세스 작업 모두는 사용자에게 동시에 추천되는
    시스템.
  14. 제 11 항에 있어서,
    복수의 프로세스 작업을 더 포함하고,
    상기 복수의 프로세스 작업 각각은 사용자에게 순차적으로 추천되는
    시스템.
  15. 제 11 항에 있어서,
    상기 적어도 하나의 프로세스 작업은 다중(multiple) 프로세스 작업을 포함하는
    시스템.
  16. 제 11 항에 있어서,
    상기 현재 상태는 상기 소프트웨어 프로세스의 현재 작업과 관련되는
    시스템.
  17. 제 11 항에 있어서,
    상기 소프트웨어 프로세스의 이전 작업과 관련된 정보를 저장하기 위한 히스토리 모듈을 더 포함하고,
    상기 추천 모듈은 추천할 상기 적어도 하나의 프로세스 작업을 결정하는 데 상기 정보를 사용하는
    시스템.
  18. 제 17 항에 있어서,
    상기 히스토리 모듈은 다른 소프트웨어 프로세스와 관련된 다른 정보를 추가로 저장하고,
    상기 다른 정보는 또한 상기 추천할 상기 적어도 하나의 프로세스 작업을 결정할 때 상기 추천 모듈에 의해 사용되는
    시스템.
  19. 제 11 항에 있어서,
    상기 적어도 하나의 프로세스 작업은,
    데이터 조작 작업,
    시스템 간의 상호 작용과 관련된 작업,
    커뮤니케이션 관련 작업, 및
    저장소 관련 작업 중 적어도 하나인
    시스템.
  20. 제 17 항에 있어서,
    상기 히스토리 모듈은, 상기 현재 상태, 상기 적어도 하나의 프로세스 작업, 및 상기 응답과 관련된 데이터를 더 저장하고,
    상기 추천 모듈은 향후 추천을 개선하기 위해 상기 데이터를 사용하는
    시스템.
  21. 실행될 때 소프트웨어 프로세스의 설계에 적어도 하나의 프로세스 작업을 추가하는 방법을 구현하는 컴퓨터 판독 가능 및 컴퓨터 실행 가능 명령어가 인코딩된 비 일시적 컴퓨터 판독 가능 매체로서,
    상기 방법은,
    (a) 상기 소프트웨어 프로세스에서 현재 상태를 인식하는 단계와,
    (b) 상기 현재 상태에 기초하여, 상기 소프트웨어 프로세스의 설계자에게 상기 적어도 하나의 프로세스 작업을 추천하는 단계와,
    (c) 상기 설계자로부터 상기 추천에 대한 응답을 수신하는 단계와,
    (d) 상기 응답이 상기 적어도 하나의 프로세스 작업의 수락일 때 상기 적어도 하나의 프로세스 작업을 상기 설계에 추가하는 단계를 포함하고,
    상기 단계(b)에서 상기 추천을 하는 데 기계 학습 기술이 사용되는
    비 일시적 컴퓨터 판독 가능 매체.
KR1020217012691A 2018-09-28 2019-09-26 로봇 프로세스 자동화 설계를 위한 콘텍스트 기반 추천 기법 KR102594389B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862738044P 2018-09-28 2018-09-28
US62/738,044 2018-09-28
PCT/CA2019/051373 WO2020061697A1 (en) 2018-09-28 2019-09-26 Context-based recommendations for robotic process automation design

Publications (2)

Publication Number Publication Date
KR20210095126A true KR20210095126A (ko) 2021-07-30
KR102594389B1 KR102594389B1 (ko) 2023-10-26

Family

ID=69949461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217012691A KR102594389B1 (ko) 2018-09-28 2019-09-26 로봇 프로세스 자동화 설계를 위한 콘텍스트 기반 추천 기법

Country Status (8)

Country Link
US (1) US20210342124A1 (ko)
EP (1) EP3857354A4 (ko)
JP (1) JP7257528B2 (ko)
KR (1) KR102594389B1 (ko)
CN (1) CN113227964A (ko)
AU (1) AU2019348060B2 (ko)
CA (1) CA3114419A1 (ko)
WO (1) WO2020061697A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10970064B1 (en) 2020-07-28 2021-04-06 Bank Of America Corporation Dynamically updating a software program to resolve errors
US11592804B2 (en) * 2020-10-14 2023-02-28 UiPath, Inc. Task automation by support robots for robotic process automation (RPA)
US11682293B2 (en) * 2021-09-13 2023-06-20 Motorola Solutions, Inc. Security ecosystem
CN114488879B (zh) * 2021-12-30 2024-05-31 深圳鹏行智能研究有限公司 一种机器人控制方法以及机器人

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140026113A1 (en) * 2012-07-19 2014-01-23 Arshad Farooqi Mobile Application Creation System
JP2018088242A (ja) * 2016-10-21 2018-06-07 富士通株式会社 データ処理装置、方法およびプログラム
US20180165590A1 (en) * 2016-12-09 2018-06-14 Adobe Systems Incorporated Techniques for providing sequential recommendations to users

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5084665B2 (ja) * 2008-08-20 2012-11-28 日本電信電話株式会社 コンポーネント連携シナリオ統合開発環境提供システム、シナリオ作成支援方法、及び、プログラム
US8396815B2 (en) * 2010-04-29 2013-03-12 International Business Machines Corporation Adaptive business process automation
US9092211B2 (en) * 2012-12-13 2015-07-28 Microsoft Technology Licensing, Llc Social-based information recommendation system
US10607165B2 (en) * 2013-11-14 2020-03-31 Salesforce.Com, Inc. Systems and methods for automatic suggestions in a relationship management system
CN106462399B (zh) * 2014-06-30 2019-10-18 微软技术许可有限责任公司 代码推荐
US20160299977A1 (en) * 2015-04-13 2016-10-13 Quixey, Inc. Action-Based App Recommendation Engine
EP3112965A1 (en) * 2015-07-02 2017-01-04 Accenture Global Services Limited Robotic process automation
IN2015CH04995A (ko) * 2015-09-18 2015-10-09 Wipro Ltd
EP3206170A1 (en) * 2016-02-09 2017-08-16 Wipro Limited System and methods for creating on-demand robotic process automation
IL281000B2 (en) * 2016-05-29 2023-12-01 Wix Com Ltd A system and method for creating and updating hierarchical websites based on the collection of business information
US11886957B2 (en) * 2016-06-10 2024-01-30 Apple Inc. Artificial intelligence controller that procedurally tailors itself to an application
US11157855B2 (en) * 2017-01-09 2021-10-26 Sutherland Global Services Inc. Robotics process automation platform
US9817967B1 (en) * 2017-01-13 2017-11-14 Accenture Global Solutions Limited Integrated robotics and access management for target systems
US11138539B2 (en) * 2017-08-25 2021-10-05 Target Brands, Inc. Robtic business process automation system utilizing reusable task-based microbots
US10766136B1 (en) * 2017-11-03 2020-09-08 Amazon Technologies, Inc. Artificial intelligence system for modeling and evaluating robotic success at task performance
US11967422B2 (en) * 2018-03-05 2024-04-23 Medtech S.A. Robotically-assisted surgical procedure feedback techniques

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140026113A1 (en) * 2012-07-19 2014-01-23 Arshad Farooqi Mobile Application Creation System
JP2018088242A (ja) * 2016-10-21 2018-06-07 富士通株式会社 データ処理装置、方法およびプログラム
US20180165590A1 (en) * 2016-12-09 2018-06-14 Adobe Systems Incorporated Techniques for providing sequential recommendations to users

Also Published As

Publication number Publication date
US20210342124A1 (en) 2021-11-04
AU2019348060B2 (en) 2023-03-02
EP3857354A1 (en) 2021-08-04
WO2020061697A1 (en) 2020-04-02
CN113227964A (zh) 2021-08-06
CA3114419A1 (en) 2020-04-02
AU2019348060A1 (en) 2021-05-27
JP7257528B2 (ja) 2023-04-13
KR102594389B1 (ko) 2023-10-26
EP3857354A4 (en) 2021-11-24
JP2022508527A (ja) 2022-01-19

Similar Documents

Publication Publication Date Title
KR102594389B1 (ko) 로봇 프로세스 자동화 설계를 위한 콘텍스트 기반 추천 기법
US11372657B2 (en) Systems and methods for adaptive user interfaces
US11394667B2 (en) Chatbot skills systems and methods
US10725827B2 (en) Artificial intelligence based virtual automated assistance
CA3017121C (en) Systems and methods for dynamic prediction of workflows
US9251466B2 (en) Driving an interactive decision service from a forward-chaining rule engine
US11163617B2 (en) Proactive notification of relevant feature suggestions based on contextual analysis
US11423235B2 (en) Cognitive orchestration of multi-task dialogue system
JP7488871B2 (ja) 対話推薦方法、装置、電子機器、記憶媒体ならびにコンピュータプログラム
US20170061770A1 (en) System and Method to Indicate Lack of Usage for Personal Items
US11477286B2 (en) Combined local and server context menus
US11604563B1 (en) Predictive answers based on context modeling
US20190279080A1 (en) Neural network systems and methods for application navigation
EP3762821B1 (en) Neural network systems and methods for application navigation
US11803358B1 (en) Adaptive issue type identification platform
EP4187452A1 (en) Machine learning based entity recognition
US20220223141A1 (en) Electronic apparatus and method for controlling thereof
CN105653267B (zh) 电子设备及数据处理方法
KR20230146320A (ko) 레이블링 시스템 및 그 방법
KR20200063603A (ko) 조합형 의사 표현 이미지 아이템을 제공하는 메시지 처리 방법 및 그 장치
KR20200030748A (ko) 조합형 의사 표현 이미지 아이템을 제공하는 메시지 처리 방법 및 그 장치
CN112884166A (zh) 机器学习流程图的生成方法及装置、设备
CN113360624A (zh) 训练方法、应答方法、装置、电子设备以及存储介质

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant