KR20100038378A - 지능적인 텍스트 주석을 위한 방법, 시스템 및 컴퓨터 프로그램 - Google Patents

지능적인 텍스트 주석을 위한 방법, 시스템 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20100038378A
KR20100038378A KR1020107001152A KR20107001152A KR20100038378A KR 20100038378 A KR20100038378 A KR 20100038378A KR 1020107001152 A KR1020107001152 A KR 1020107001152A KR 20107001152 A KR20107001152 A KR 20107001152A KR 20100038378 A KR20100038378 A KR 20100038378A
Authority
KR
South Korea
Prior art keywords
topic
text
user
developer
computer
Prior art date
Application number
KR1020107001152A
Other languages
English (en)
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 KR20100038378A publication Critical patent/KR20100038378A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Abstract

본 발명은 사용자를 위해 텍스트에 주석을 달기 위한 방법, 시스템 및 컴퓨터 프로그램에 관한 것으로서, 사용자의 관심 대상 토픽들을 요약하는 토픽 맵을 생성하기 위해 개발자에 의해 실행되는 단계를 포함하고; 상기 개발자는 추가로 각각의 토픽에 대한 토픽 클래스, 및 데이터 구조를 생성하며; 컴퓨터 상에서 실행되는 주석기 프로그램이 자동으로 토픽 맵을 사용하여 두 개의 링크된 사용자 사전(토픽 이름을 반영하는 토픽 사전 및 토픽의 지식 구조를 반영하고 바람직하게는 FSA-기반 사전인 트래버설 사전)을 생성하고; 상기 개발자는 선택적으로 동작을 토픽 타입에 링크시키며; 상기 주석기는 사전들 및 이전에 토픽 타입에 링크된 동작들을 사용하여 텍스트에서 발견된 토픽의 토픽 데이터 구조를 자동으로 인스턴스화하고; 상기 주석기는 인스턴스화된 토픽 데이터 구조를 텍스트에 자동으로 붙이며; 상기 개발자는 GUI를 생성하여 사용자로 하여금 텍스트 주석에 액세스하고 텍스트 주석과 상호작용할 수 있도록 해준다.

Description

지능적인 텍스트 주석을 위한 방법, 시스템 및 컴퓨터 프로그램{A METHOD, SYSTEM AND COMPUTER PROGRAM FOR INTELLIGENT TEXT ANNOTATION}
본 발명은 일반적으로 워드 프로세싱 분야에 관한 것이고, 보다 구체적으로, 본 발명은 텍스트 문서에 주석을 달기(annotating) 위한 방법에 적용된다.
워드 프로세서를 이용하여 사용자는 텍스트의 부분에 밑줄을 긋거나 그를 강조함으로써, 문서의 임의의 위치의 여백 또는 텍스트 박스에 텍스트를 기록함으로써 텍스트에 주석을 달 수 있다. 이는 텍스트 해석을 용이하게 하고 빠르게 할 수 있다. 더 나아가, 텍스트 주석 기능이 의미론적(semantic) 모델에 관련된다면, 사용자가 텍스트를 한층 더 잘 해석하도록 돕는 유용한 지식을 제공하고, 사용자가 신속한 동작을 취하는 것을 용이하게 할 수 있다. 이것은 또한 많은 텍스트 관련 애플리케이션(예컨대, 텍스트 분류화, 토픽 검출 및 문서 탐색)의 정확성을 크게 향상시킬 수 있다. 마이크로소프트 워드의 스마트 태그와 같은 일부 애플리케이션은, 인에이블 되었을 때, 데이터의 타입(예컨대, 이름, 날짜 또는 전화번호)을 식별하고, 각각의 데이터 타입에 대한 하나 이상의 동작을 제공하는데 필요한 로직을 포함한다. 취할 수 있는 동작은 워드가 인식하고 스마트 태그로 라벨링한 데이터 타입에 따라 달라진다. 예를 들어, "사람 이름"이 텍스트에서 인식되었다면, 연락처 열기(Open Contact), 모임 예약(Schedule a Meeting), 연락처에 추가(Add to Contact) 또는 주소록 삽입(Insert Address)과 같은 동작을 취할 수 있다. 만약 사용자가, 예를 들어 '연락처에 추가'를 선택하면, 연락처 목록을 갱신하기 위한 대응하는 아웃룩 기능이 시작되고, 사용자는 그 정보를 자신의 주소록에 매우 신속히 추가할 수 있다.
그러나, 텍스트에 대한 더 많은 지식을 제공하고 수행될 최상의 동작을 결정함으로써 텍스트 해석을 개선하는 것이 바람직하다. 오늘날에는 텍스트에 추가되는 지식이 없거나, 매우 한정된 지식만이 텍스트에 추가된다.
본 발명의 목적은 텍스트 해석을 개선하기 위해 지능적으로 텍스트에 주석을 다는 것이다.
본 발명의 목적은 청구항 제1항에 따라, 사용자에 의해 판독되는 텍스트에 개발자가 주석을 달기 위해 컴퓨터 상에서 실행되는 방법에 의해 달성되는데, 이 방법은,
상기 개발자가 상기 사용자와 연관된 관심 토픽들을 포함하는 토픽 맵(Topic Map)을 생성하는 단계;
상기 개발자가 상기 사용자에 대한 토픽 모델에 대응하는 데이터 구조를 생성하는 단계;
상기 컴퓨터가 자동으로 상기 토픽 맵을 판독하고, 각각의 토픽에 대해 토픽 이름 및 지식 구조를 포함하는 토픽 정보를 저장하는 단계;
상기 컴퓨터가 자동으로 상기 텍스트를 판독하고, 상기 텍스트에서 발견되는 각각의 토픽에 대해 상기 저장된 토픽 정보를 검색하고 토픽 데이터 구조를 채우는 단계; 및
상기 컴퓨터가 자동으로 상기 채워진 토픽 데이터 구조를 상기 텍스트에서 발견되는 대응하는 토픽들에 주석들로서 붙이는 단계
를 포함한다.
본 발명의 목적은 또한 종속항들의 방법으로 달성된다.
본 발명의 목적은 또한 청구항 제10항에 따라, 컴퓨터 상에서 실행되는 경우 청구항 제1항 내지 제9항 중 어느 한 항에 따른 방법의 단계들을 실행하기 위한 프로그래밍 코드 명령어들을 포함하는 컴퓨터 프로그램 제품으로 달성된다.
본 발명의 목적은 또한 청구항 제11항에 따라, 방법 청구항들 중 어느 한 항에 따른 방법을 실행하도록 구성되는 수단을 포함하는 시스템으로 달성된다.
본 해결책의 원리는 텍스트에 포함된 정보를 유용한 지식으로 변환하기 위해 텍스트를 의미론적으로 구조화하기 위한 의미론적 모델을 제공하는 것이다.
본 발명의 방법으로 생성된 텍스트 주석은 사용자가 텍스트를 더 잘 이해하고, 그와 연관된 지식을 탐색하며(navigate), 그 내용을 자신의 지식체계(body of knowledge)와 관련시키고, 일부 관련된 신속한 동작을 취하는 것을 용이하게 하는 것을 도울 것이다.
본 해결책은 다음의 추가적인 장점을 제공한다.
1. 어떤 사용자의 관심 대상인 토픽 맵(Topic Map)에 의해 나타나는 지식체계를 텍스트에 포함시켜 텍스트를 적절하게 해석하는 것을 돕고, 사용자의 텍스트에 대한 이해를 향상시키는 것을 도우며, 사용자가 그와 관련된 올바른 신속한 동작을 취하는 것을 돕는다.
2. 의미론적 모델에 기초한 텍스트의 지능적 탐색을 지원한다.
3. 텍스트의 문맥에서의 지식 탐색을 허용하여, 올바른 시점에 올바른 문맥으로 올바른 정보를 전달한다.
4. 리소스 상에 메타 레이어를 덮을 뿐 아니라, (텍스트에 관련된) 메타 레이어 내에서 리소스들을 연결한다.
5. 텍스트의 의미론적 구조에 기초하여 텍스트 분류화를 지원할 수 있다.
6. 토픽 맵 및 토픽 맵으로부터 생성된 사전과 같은, 저장되고 재사용될 수 있는 다른 출처로부터의 표준화된 지식 구조를 사용할 수 있다.
7. FSA-기반 사전을 사용하여 주석을 생성하기 위한 방법의 성능이 개선된다.
8. 텍스트 주석에 의해 제공되는 지식은 주석이 달린 텍스트의 부분과 관련된 동작들을 포함하고, 텍스트를 읽는 사람은 텍스트 인터페이스로부터 이 동작들을 작동시킬 수 있다.
도 1은 본 발명의 바람직한 실시예에 따라 텍스트 주석을 생성하기 위한 방법에 따른 컨텍스트 및 논리 블록을 도시하는 도면.
도 2는 바람직한 실시예에 따른 사용자 컨텍스트 준비와 관련하여 설계자에 의해 만들어진 토픽 맵의 일례를 도시하는 도면.
도 3은 사용자 컨텍스트 준비의 일부인, 바람직한 실시예에 따른 FSA-기반 토픽 사전(Topic Dictionary)의 샘플을 도시하는 도면.
도 4는 바람직한 실시예에 따른 토픽 사전 및 그와 연관된 트래버설 사전(Traversal Dictionary)에서의 엔트리들을 도시하는 도면.
도 5는 본 발명의 바람직한 실시예에 따른 UML로 기술된 토픽 주석 클래스를 도시하는 도면.
도 6은 동작 데이터베이스 및 사전의 내용을 사용하여 인스턴스화된 토픽 주석 클래스를 도시하는 도면.
도 7은 바람직한 실시예에 따라 생성된, 사용자가 볼 수 있는 텍스트 주석을 도시하는 도면.
도 8은 바람직한 실시예에 따른 본 방법의 일반적인 흐름도를 도시하는 도면.
도 9는 바람직한 실시예에 따른 토픽 주석 클래스의 인스턴스화를 설명하는 도 8의 흐름도의 일 단계를 설명하는 흐름도.
도 10은 사용자가 바람직한 실시예의 방법에 따라 생성된 텍스트 주석에 액세스하는 컨텍스트 및 이와 관련된 논리 블록을 도시하는 도면.
도 1은 본 발명의 바람직한 실시예에 따라 주석이 달린 텍스트를 생성하기 위한 방법의 특징을 나타내는 컨텍스트 및 논리 블록을 도시한다. 사용자들을 위해 텍스트 주석을 준비하는 사람(100)은 컴퓨터(110) 상에서 작업하는 설계자 또는 프로그램 개발자일 것이다. 개발자는 우선 그래픽 사용자 인터페이스를 통하여 토픽 맵을 준비하는데, 여기에 개발자는 특정 사용자의 관심을 나타내는 상호-관련된 정보를 입력한다. 이 토픽 맵은 사용자에게 그 사용자를 위한 텍스트 주석에 사용될, 지식의 구조 및 내용을 관심 토픽별로 소개해 준다. 토픽 맵의 원리는 본 문서의 이후에 도 2의 설명을 참조하여 설명된다. 토픽 맵 데이터베이스(130)는 사용자들의 관심을 나타내는 이미 생성된 토픽 맵을 저장하도록 유지된다. 프로그램 또는 일련의 프로그램(주석기(Annotator; 150))은 컴퓨터 상에서 실행되어 설계자가 텍스트에 주석을 달기 위한 방법의 일부 단계를 자동으로 실행하는 것을 돕는다. 개발자는 먼저 프로그램이 하나의 토픽 맵을 읽도록 요청하고, 대응되는 사용자와 연관된 두 개의 사전(토픽 사전(170) 및 트래버설 사전(160))을 생성하기 위해 필요한 모든 정보를 추출한다. 사전들의 설명은 본 문서의 이후에 도 3 및 4의 설명을 참조하여 설명된다. 본 발명의 바람직한 실시예에서, 텍스트 주석은 텍스트의 토픽에 연관된 동작들을 포함한다. 이 경우, 개발자는 토픽 맵의 토픽들과 연관된 동작들을 생성하고 이들을 데이터베이스(동작 데이터베이스(135))에 저장한다. 생성시의 동작 데이터베이스 및 사전들은 또한 자신의 텍스트 주석을 생성하기 위한 사용자의 컨텍스트의 일부이다. 컨텍스트는 하나의 사용자 또는 동일한 프로필을 갖는 사람들로 이루어진 하나의 집단(예컨대, 회사의 한 부서 등)에 연관된다. 주어진 텍스트(예를 들어, 데이터베이스(180)로부터 가져옴)에 대해 주석의 생성을 진행하기 위해, 개발자는 지식 구조의 데이터 구조를 생성한다. 이 데이터 구조는 UML 언어 또는 임의의 기타 모델링 언어로 생성된 데이터베이스(140)에 저장되는 주석 토픽 클래스일 수 있다. 개발자는 텍스트 주석을 생성하기 위해 동작들이 고려되는 경우 '동작' 오브젝트를 포함하는 클래스를 생성하도록 결정할 수 있다. 이어서, 개발자는 주석기(150)를 실행하는데, 이는 텍스트의 토픽을 식별하고, 각각의 식별된 토픽에 대해 사전으로부터의 정보를 취해 토픽 클래스의 인스턴스화(instanciation)를 자동으로 생성한다. 동작 데이터베이스(135)가 사용되는 경우, 주석기는 인스턴스화된 토픽 클래스의 동작들에 처리기들을 링크시킨다. 주석기는 이어서 인스턴스화된 클래스들을 텍스트에서 발견된 대응하는 토픽에 붙임으로써 텍스트에 주석을 생성한다. 이어서, 개발자는 주석이 붙은 텍스트를 읽는 사용자가 논리적인 방법으로(예를 들어, 메뉴를 통해) 주석에 액세스할 수 있도록 할 GUI(사용자 GUI(190))를 생성한다.
토픽 맵의 표준 구조를 고려하여, 범용 사용자 GUI가 모든 사용자의 모든 텍스트를 위해 개발될 수 있다. 그러나, 개발자는 사용자 GUI를 하나의 사용자를 위해 또는 하나의 사용자의 하나의 특정 텍스트를 위해 커스텀화할 수 있다.
주석기는 임의의 사용자 또는 동일한 프로필을 갖는 사람들로 이루어진 임의의 집단에 연관된 텍스트에 대한 주석을 생성하는 것을 돕는 프로그램이다. 사실, 주석기는 임의의 ISO 표준 토픽 맵 및 임의의 모델링 언어로 기록된 임의의 토픽 오브젝트 클래스를 판독할 수 있다.
개발자가 토픽 클래스를 기술하기 위한 모델링 언어를 변경한다고 해도, 클래스가 정의되고 나면 동일한 주석기 프로그램이 클래스를 인스턴스화하고 텍스트에 주석을 포함시키기 위해 사용될 수 있다.
도 2는 바람직한 실시예에 따른 사용자 컨텍스트 준비와 관련하여 설계자에 의해 만들어진 토픽 맵의 일례이다. 토픽 맵은 지식 구조를 기술하고 이를 정보 리소스와 연관시켜 비구조화 정보의 구조화를 가능하게 하기 위한 신규 ISO 표준이다(http://www.topicmaps.org/xtm/1.0/). 토픽 맵은 지식체계를 포함하고, 토픽들의 모음으로 구성되는데, 토픽들의 각각은 어떤 개념을 나타낸다. 토픽들은 연관(associations)에 의해 서로 관련되는데, 이들은 토픽들의 분류된 n-진 조합(typed n-ary combinations)이다. 토픽은 또한 그 어커런스(occurrences)에 의해 임의 개수의 리소스에 관련될 수 있다. 토픽 맵은 지식 의미론적 구조화를 위한 양호한 모델을 정의하기 때문에, 토픽 맵을 사용함으로써 상기 언급된 목적을 달성하기 위해 지능적으로 텍스트에 주석을 달 수 있게 된다.
도 2의 토픽 맵은 마이크로소프트 및 인텔과 같은 다른 회사와 작업하고 어떤 특정 기술 영역의 특별한 관심 그룹에 참여하는 인터네셔널 비지네스 머신즈 코포레이션의 직원의 관심 및 관계를 도시한다. 도 2의 토픽 맵은 회사 내에서의 그 직원의 계급과 관련된 토픽 및 그의 회사 밖의 직업상 관계와 관련된 토픽을 포함한다.
도 3은 바람직한 실시예에 따른 FSA-기반 토픽 사전의 샘플인데, 이는 사용자 컨텍스트 준비의 부분이다. 텍스트 내의 토픽을 발견하기 위해 토픽 사전이 사용된다. 주석기는 사용자의 토픽 사전을 그 사용자와 연관된 토픽 맵을 입력으로 사용하여 자동으로 만든다. 도 3은 다음을 포함하는 토픽 사전의 하나의 엔트리를 도시한다.
키. 이 키는 문자들의 시퀀스(a sequence of characters)이다.
키와 연관된 일련의 속성. 이 속성들은 논리 그룹으로 분리된다. 각각의 속성 그룹("글로스(Gloss)"라고 함)은 특정 유형의 정보를 포함한다.
바람직한 실시예의 사전은 FSA-기반인데, 여기서 키들은 유한 상태 오토마타(Finite State Automaton)를 사용하여 사전 내에 표현되고 글로스들은 FSA의 터미널 노드들에 붙여진다. 이러한 방식으로, 사전 룩업이 주석기에 의해 매우 빠르게 이루어질 수 있다. 사용자의의 관심을 끄는 지식체계를 나타내는, 사용자에 의해 선택된(또는 그에 의해 구성되거나 특히 그를 위한) 토픽 맵이 주어지면, 두 개의 연관된 사전이 텍스트 문서에서 엔티티(토픽)를 검출하고 그 토픽에 관련된 토픽 맵에 나타난 지식 구조를 검색하기 위해 생성된다.
도 4는 바람직한 실시예에 따른 트래버설 사전 및 토픽 사전 내의 엔트리들을 도시한다.
토픽 사전의 키들은 토픽 이름들이다. 키와 연관된 값(글로스)은 그 키(토픽 이름)와 연관된 토픽 식별자이다. 예를 들어, 도 4의 제1 엔트리(400)를 포함하는 사전으로, 단어 "IBM"을 포함하는 텍스트를 처리하는 경우 사전은 이 단어를 검출할 것이고 그 이름을 가진 토픽에 대한 식별자를 반환할 것이다.
트래버설 사전은 주어진 토픽에 관련된 지식 구조를 검색하는데 사용된다. 이 사전을 만들 때, 토픽 맵의 특성이 고려되었는데, 이 각각의 토픽 맵 구성체(예를 들어, 토픽, 토픽 이름, 어커런스, 연관 등)가 맵에 걸쳐 고유한 식별자를 가져야 한다는 것을 말한다. 그 사전 내의 키는 구성체에 대한 식별자이다. 그리고 키와 연관된 글로스는 그 구성체에 대한 정보를 포함한다. 토픽 맵에 관련된 정보를 보유하기 위해 다수의 글로스 타입이 트래버설 사전을 위해 정의된다:
토픽 글로스: 토픽 글로스(410)는 다음을 포함한다:
토픽 이름 식별자: 그 토픽에 대한 이름을 검색하는데 사용됨.
타입 식별자: 그 토픽에 대한 타입(클래스)을 검색하기 위해 사용됨.
어커런스 식별자: 그 토픽에 대한 어커런스를 검색하는데 사용됨.
수행 역할 식별자(Roles Played Identifiers): 토픽이 자신의 역할과 함께 참여하는 연관을 검색하는데 사용됨.
토픽 이름 글로스: 토픽 이름 글로스(420)는 다음을 포함한다:
토픽 이름: 토픽 이름의 값.
타입 식별자: 그 토픽 이름에 대한 타입(클래스)을 검색하는데 사용됨.
변형 식별자(Variants Identifiers): 그 토픽 이름에 대한 변형 형태를 검색하는데 사용됨.
변형 글로스: 변형 글로스(430)는 다음을 포함한다:
토픽 이름 식별자: 이 변형을 갖는 토픽 이름을 나타냄.
변형 값: 그 토픽 이름에 대한 이 변형 형태의 값.
어커런스 글로스: 발생 글로스(440)는 다음을 포함한다:
어커런스 값: 어커런스의 값. 이는 단순한 특성에 대한 스트링 또는 URI일 수 있다.
타입 식별자: 그 어커런스에 대한 타입(클래스)을 검색하는데 사용됨.
연관 역할 글로스: 연관 역할 글로스(450)는 다음을 포함한다:
타입 식별자: 그 역할에 대한 타입(클래스)을 검색하는데 사용됨.
플레이어 식별자: 그 역할을 수행한 토픽을 나타냄.
연관 식별자: 플레이어 토픽이 참여하는 연관을 검색하는데 사용됨.
연관 글로스: 연관 글로스(460)는 다음을 포함한다:
타입 식별자: 그 연관에 대한 타입(클래스)을 검색하는데 사용됨.
연관 역할 식별자: 이 연관 내의 참여자들을 그 역할과 함께 검색하는데 사용됨.
도 4에 도시되지 않은 동작 데이터베이스(135)의 엔트리는 토픽 타입에 연관된 동작 이름으로 구성되는데, 토픽 타입은 토픽 클래스의 토픽 오브젝트의 속성이다.
도 5는 본 발명의 바람직한 실시예에 따른 UML로 기술된 토픽 주석 클래스이다. 토픽이 "연관"을 통하여 다른 토픽들과 관련될 수 있도록 하는 토픽 맵 구조의 본질을 담아내기 위해, 토픽 맵 지식 아이템으로 반복적으로 채워지는 동적 확장을 허용하는 데이터 구조가 개발자에 의해 생성된다. 이 확장은 원래의 토픽과 함께 다른 토픽에 관련된 다른 토픽 지식 아이템을 수용할 수 있도록 한다.
도 5의 예에서, 하나의 토픽 오브젝트가 하나의 동작 오브젝트에 관련됨에 따라 동작이 고려되는데, 여기서 이 관련은 일대다 관계(one to many)이다.
도 6은 동작 데이터베이스(135) 및 사전의 내용을 사용하여 인스턴스화된 토픽 주석 클래스를 도시한다. 주석기는 그 엔트리가 도 4의 설명과 관련하여 위에서 설명된 사전을 판독함으로써 및 동작 데이터베이스(135)로부터 토픽 타입과 연관된 동작들을 판독함으로써 텍스트 내에서 식별된 각각의 토픽에 대한 토픽 클래스를 자동으로 인스턴스화한다. 텍스트에서 연속적으로 식별된 토픽들에 따라 클래스들을 인스턴스화하기 위한 단계는 본 문서의 이후에 도 9의 설명과 관련하여 상세히 설명된다.
도 6의 인스턴스화된 클래스는 도 5의 클래스에 대응한다. 예를 들어, 토픽 타입 값에 따라 하나의 동작만이 그 토픽에 관련되었다. 이 정보는 동작 데이터베이스로부터 판독되었다.
도 7은 바람직한 실시예에 따라 생성된, 사용자가 볼 수 있는 텍스트 주석을 도시한다. 개발자는 토픽 포함 지식(topic embedded knowledge)을 디스플레이하기 위한 사용자 GUI를 생성하였다. 사용자는 다음의 방법으로 주석이 달린 텍스트와 상호작용할 수 있다: 사용자가 자신의 포인터를 텍스트의 주석 토큰(annotated token)(도 7에 밑줄 그어진 것) 위로 이동시키면, '토픽 타입'이 인스턴스화된 '토픽 주석 데이터 구조'로부터 패치되고(fetched) 애플리케이션에 의해 텍스트 상에 디스플레이된다. 만약 사용자가 주석 토큰을 클릭하면, 토픽 사전에 저장된 토픽 이름, 토픽 연관, 토픽 어커런스 및 연관된 동작(도 3 참조)을 포함하는 메뉴가 디스플레이된다. 사용자는 이 메뉴로부터 아이템을 선택할 수 있고, 사용자 선택 및 관심에 따라 인스턴스화된 '토픽 주석 데이터 구조'(식별된 토픽에 링크된 것)로부터 패치된 아이템들을 포함하는 늘어진 메뉴(a cascade of menus)가 디스플레이될 것인데(도 7은 네 개의 가능한 관심(이름(700), 연관(710) 또는 어커런스(720))을 도시함), 그에 의하여 사용자에게 텍스트 내의 주석 토큰에 관련된 종합적인 지식을 제공한다. 만약 사용자가 텍스트 내의 식별된 토픽과 관련된 동작을 선택하기로 결정하면, 연관 동작 처리기가 즉시 명령을 실행한다(예를 들어, 이메일을 송신하거나 730의 'Show stock value').
도 10은 주석이 달린 텍스트를 읽는 사용자(1000)에 대한 논리 블록 및 컨텍스트를 도시한다. 바람직한 실시예의 방법에 의해 생성된 텍스트 주석에 액세스하고 인터페이스 접속할 수 있기 위해, 사용자(1000)는 사용자 GUI(190)를 시작하는데, 이는 예를 들어 그의 워크스테이션(1020) 상의 그의 통상의 편집기에 인터페이스 시키는 역할을 할 수 있다. 사용자 GUI는 텍스트 데이터베이스(180) 내의 텍스트에 액세스하고, 주석기에 의해 주석 토픽 클래스 데이터베이스(140)에 저장된 인스턴스화된 토픽 클래스에 액세스한다. 사용자 GUI는 텍스트의 토픽에 관련된 지식에 대한 액세스를 제공하는 메뉴를 디스플레이한다.
도 8은 바람직한 실시예에 따라 주석이 달린 텍스트를 생성하기 위한 방법의 일반적인 흐름도이다. 일반적인 흐름도에서 주석기 프로그램의 실행에 의해 자동으로 실행되지 않는 단계들은 설계자(800, 820, 830) 또는 '개발자'(860)에 의해 실행되는데, 개발자는 단계들(800, 820, 830)의 애플리케이션을 설계할 능력을 갖는다. 대부분 '개발자'를 위한 단계 또는 '설계자'를 위한 단계를 동일한 사람이 수행해도 관계없다.
설계자는 사용자 관심의 토픽 맵을 생성한다(800). 이전에 언급한 바와 같이, 사용자의 관심을 끄는 지식체계를 포함하는 토픽 맵은 지식 의미론적 구조화를 위한 양호한 모델을 정의한다. 토픽 맵은 토픽 맵 데이터베이스(130)에 저장될 수 있다. 이 단계는 바람직하게는 설계자의 워크스테이션 상에서 실행되는 그래픽 사용자 인터페이스(120)를 통하여 수행된다.
설계자는 주석기(150)의 실행을 시작하는데, 이는 토픽 맵을 사전으로 자동으로 변환한다(810). 토픽 맵에 나타난 지식은 본 문서의 앞에 설명된 바와 같이 두 개의 연관 사전(토픽 사전 및 트래버설 사전)으로 변환된다.
설계자는 UML과 같은 오브젝트 모델링 언어를 사용하여 토픽 클래스(820)를 생성한다. 토픽 클래스는 토픽이 '연관'을 통하여 다른 토픽과 관련될 수 있도록 하는 토픽 맵 구조의 본질을 담는다.
만약 설계자가 토픽에 관련된 '동작' 오브젝트를 토픽 클래스 내에 정의하였다면, 그는 동작들을 토픽 타입에 링크시키고(830) 이들을 데이터베이스(135)에 저장한다. 이는 동작이 동일한 타입을 갖는 서로 다른 토픽들에 연관될 수 있다는 것을 의미한다.
설계자는 주석을 달 텍스트 내에서 식별된 각각의 토픽에 대해 이전 단계에서 생성된 토픽 클래스를 자동으로 인스턴스화하는(840) 주석기 프로그램의 실행을 시작한다. 토픽 클래스 데이터 구조는, 토픽 사전 및 트래버설 사전(그리고 선택적으로 동작 데이터베이스(135))에 저장된 토픽 맵 지식 아이템으로 이 단계에서 반복적으로 채워지는 경우 동적 확장을 허용한다. 이 단계는 도 9의 설명과 관련하여 더욱 상세히 설명된다.
개발자는 텍스트에서 식별된 토픽 이름에 대응하는 인스턴스화된 클래스들을 자동으로 붙이는(850) 주석기 프로그램의 실행을 시작한다. 주석기는 텍스트 데이터베이스에 그렇게 수정된 텍스트를 저장할 수 있다.
개발자는 사용자를 위한 GUI(사용자 GUI)를 생성하는데(860), 이는 사용자로 하여금 자신의 컴퓨터에서 주석이 달린 텍스트를 읽을 때 주석을 논리적인 방식으로(바람직하게는 본 문서의 도 7에 도시된 것과 같은 메뉴로) 디스플레이할 수 있도록 한다. 이 사용자 GUI를 사용함으로써, 사용자는 주석이 달린 텍스트와 상호작용할 것이고, 그와 연관된 지식을 탐색할 것이며, 이를 해석하기 위해 그것에 링크된 내장된 지식을 사용할 것이고, 동작들이 지식의 부분인 경우 텍스트 내의 주석 토큰을 단순히 포인팅하고 클릭함으로써 신속히 통지된 동작을 취할 것이다.
도 9는 바람직한 실시예에 따른 토픽 주석 클래스의 인스턴스화를 설명하는 도 8의 흐름도의 단계(840)의 흐름도이다. 주석기 프로그램은 텍스트를 파싱(parses)하고(900), 모든 파싱된 토큰에 대해 토픽 사전 내에서 룩업을 수행한다. 만약 토큰이 토픽 사전에서 발견되면, 토픽 이름이 식별되고 그 토픽 식별자가 토픽 사전을 사용하여 검색된다. 토픽 식별자에 대한 룩업은 트래버설 사전에서 수행되고, 그 연관 글로스들이 검색된다. 이 글로스들로부터 추출된 식별자들에 기초하여, 주석기는 토픽의 지식 구조에 관련된 정보를 검색하기 위해 트래버설 사전에서 일련의 연속적인 룩업을 수행하고(920), 이어서 주석 토픽 클래스를 인스턴스화하기 위해(또는 보다 일반적으로, 주석 토픽 데이터 구조를 채우기 위해) 이 정보를 사용한다(930).
이어서, 만약 옵션이 텍스트 주석에서 동작을 지원하도록 되어 있으면, 주석기는 동작 데이터베이스로부터 토픽 타입과 연관된 동작을 패치하여(925) 주석 토픽 클래스에 동작들을 인스턴스화한다(930). 마지막으로, 주석기 프로그램은 이 인스턴스화를 완료하기 위해 인스턴스화된 주석 토픽 클래스의 각각의 동작에 처리기를 링크시킨다(935). 인스턴스화된 주석 토픽 클래스들은 바람직하게는 주석 토픽 클래스 데이터베이스(140)에 저장된다. 사용자가 주석이 달린 텍스트를 읽을 때 디스플레이된 주석의 토픽과 연관된 동작들을 사용자 GUI를 통해 액세스하는 경우, 처리기는 컴퓨터 상에서 기존의 프로그램 또는 새로운 프로그램의 실행을 시작한다.
단계(840)는 텍스트의 모든 토큰이 식별되고(판단(910)에서 아니오), 모든 주석 토픽 클래스가 인스턴스화 되었을 때 완료된다. 이어서, 텍스트에 주석을 달기 위한 방법은 단계(850)로 돌아간다.

Claims (10)

  1. 사용자에 의해 판독되는 텍스트에 개발자가 주석을 달기 위해 컴퓨터 상에서 실행되는 방법으로서,
    상기 개발자가 상기 사용자와 연관된 관심 토픽들을 포함하는 토픽 맵(Topic Map)을 생성하는 단계;
    상기 개발자가 상기 사용자에 대한 토픽 모델에 대응하는 데이터 구조를 생성하는 단계;
    상기 컴퓨터가 자동으로 상기 토픽 맵을 판독하고, 각각의 토픽에 대해 토픽 이름 및 지식 구조를 포함하는 토픽 정보를 저장하는 단계;
    상기 컴퓨터가 자동으로 상기 텍스트를 판독하고, 상기 텍스트에서 발견되는 각각의 토픽에 대해 상기 저장된 토픽 정보를 검색하고 토픽 데이터 구조를 채우는 단계; 및
    상기 컴퓨터가 자동으로 상기 채워진 토픽 데이터 구조를 상기 텍스트에서 발견되는 대응하는 토픽들에 주석으로서 붙이는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 개발자가 상기 텍스트에 대한 인터페이스를 생성하여 상기 사용자로 하여금 상기 텍스트를 판독할 때 상기 텍스트 주석들을 액세스할 수 있도록 해주는 단계를 더 포함하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 토픽 맵을 생성한 후, 상기 개발자가 동작들을 토픽들에 링크시키고 이들을 저장하는 단계; 및
    상기 컴퓨터가 상기 토픽 데이터 구조를 채운 후, 상기 컴퓨터가 처리기를 각각의 동작에 링크시키는 단계
    를 더 포함하고,
    상기 개발자가 데이터 구조를 생성하는 단계는, 동작들을 상기 데이터 구조에 포함시키는 단계를 포함하며,
    상기 컴퓨터가 상기 저장된 토픽 정보를 검색하는 단계는 상기 토픽에 링크된 상기 저장된 동작들을 검색하는 단계를 포함하는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 토픽 정보를 저장하는 단계는 토픽 식별자들을 토픽 사전(Topic Dictionary)에 저장하는 단계 및 상기 토픽 지식 구조를 트래버설 사전(Traversal Dictionary)에 저장하는 단계를 포함하고,
    상기 토픽 정보를 검색하는 단계는 상기 토픽 사전 및 상기 트래버설 사전을 판독하는 단계를 포함하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 토픽 정보를 저장하는 단계는 토픽 식별자들을 FSA-기반 사전들에 저장하는 단계를 포함하고,
    상기 토픽 정보를 검색하는 단계는 상기 FSA-기반 사전들을 판독하는 단계를 포함하는, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 데이터 구조를 생성하는 단계는 오브젝트 모델 언어를 사용하여 토픽 클래스를 생성하는 단계를 포함하고, 상기 컴퓨터가 상기 텍스트에서 발견되는 각각의 토픽에 대해 토픽 데이터 구조를 채우는 단계는 상기 텍스트에서 발견되는 각각의 토픽에 대한 토픽 클래스를 인스턴스화하는 단계를 포함하는, 방법.
  7. 제2항 내지 제6항 중 어느 한 항에 있어서,
    상기 개발자가 상기 텍스트 주석들을 액세스할 수 있도록 해주는 단계는 상기 텍스트 주석들에 액세스하기 위한 메뉴 기반 인터페이스를 생성하는 단계를 포함하는, 방법.
  8. 제3항 내지 제7항 중 어느 한 항에 있어서,
    상기 사용자가 사용자 컴퓨터 상에서 실행되는 상기 인터페이스를 통해 실행할 동작을 선택하는 단계 - 상기 텍스트에 액세스하는 상기 인터페이스는 상기 붙여지고 채워진 토픽 데이터 구조들을 포함함 - ; 및
    상기 사용자 컴퓨터가 상기 선택된 동작과 연관된 상기 처리기의 실행을 시작하는 단계
    를 더 포함하는 방법.
  9. 컴퓨터 상에서 실행되는 경우 제1항 내지 제8항 중 어느 한 항에 따른 방법의 단계들을 실행하는 프로그래밍 코드 명령어들을 포함하는 컴퓨터 프로그램 제품.
  10. 제1항 내지 제8항 중 어느 한 항에 따른 방법을 실행하도록 구성되는 수단을 포함하는 시스템.
KR1020107001152A 2007-07-10 2008-06-05 지능적인 텍스트 주석을 위한 방법, 시스템 및 컴퓨터 프로그램 KR20100038378A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP07112113.1 2007-07-10
EP07112113 2007-07-10

Publications (1)

Publication Number Publication Date
KR20100038378A true KR20100038378A (ko) 2010-04-14

Family

ID=39986525

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107001152A KR20100038378A (ko) 2007-07-10 2008-06-05 지능적인 텍스트 주석을 위한 방법, 시스템 및 컴퓨터 프로그램

Country Status (6)

Country Link
US (2) US9292483B2 (ko)
EP (1) EP2162833A1 (ko)
JP (1) JP2010532897A (ko)
KR (1) KR20100038378A (ko)
CN (1) CN101689190A (ko)
WO (1) WO2009007181A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11556697B2 (en) 2007-07-10 2023-01-17 International Business Machines Corporation Intelligent text annotation

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359193B2 (en) * 2009-12-31 2013-01-22 International Business Machines Corporation Pre-highlighting text in a semantic highlighting system
CN102163187B (zh) * 2010-02-21 2014-11-26 国际商业机器公司 文档标记方法和装置
US9569416B1 (en) 2011-02-07 2017-02-14 Iqnavigator, Inc. Structured and unstructured data annotations to user interfaces and data objects
US9965443B2 (en) 2011-04-21 2018-05-08 Sony Corporation Method for determining a sentiment from a text
US10146756B2 (en) 2013-03-13 2018-12-04 Microsoft Technology Licensing, Llc Perspective annotation for numerical representations
US9477645B2 (en) * 2013-03-13 2016-10-25 Sap Se Systems and methods of active text markup
JP2014186379A (ja) * 2013-03-21 2014-10-02 Toshiba Corp アノテーション検索装置、方法、及びプログラム
CN104750380A (zh) * 2013-12-31 2015-07-01 中国移动通信集团公司 一种信息处理的方法及电子设备
EP3234800A4 (en) * 2014-12-18 2018-08-15 Hewlett-Packard Development Company, L.P. Identifying a resource based on a handwritten annotation
KR102339461B1 (ko) * 2014-12-18 2021-12-15 삼성전자 주식회사 전자 장치의 텍스트 기반 컨텐츠 운용 방법 및 장치
US10489442B2 (en) * 2015-01-19 2019-11-26 International Business Machines Corporation Identifying related information in dissimilar data
US10706233B2 (en) * 2015-03-06 2020-07-07 M-Files Oy System and method for extracting and utilizing information from digital communications
CN106302917A (zh) * 2015-06-11 2017-01-04 天津三星通信技术研究有限公司 用于保存联系人信息的方法和设备
US10083672B1 (en) 2016-04-29 2018-09-25 Rich Media Ventures, Llc Automatic customization of e-books based on reader specifications
US10015244B1 (en) 2016-04-29 2018-07-03 Rich Media Ventures, Llc Self-publishing workflow
US9886172B1 (en) 2016-04-29 2018-02-06 Rich Media Ventures, Llc Social media-based publishing and feedback
US9864737B1 (en) 2016-04-29 2018-01-09 Rich Media Ventures, Llc Crowd sourcing-assisted self-publishing
CN108319467B (zh) * 2018-01-03 2022-01-04 武汉斗鱼网络科技有限公司 一种注释填充方法
CN110852044B (zh) * 2018-08-20 2023-09-15 上海颐为网络科技有限公司 一种基于结构化的文本编辑方法和系统
CN109299288A (zh) * 2018-11-09 2019-02-01 北京锐安科技有限公司 字典数据的读取方法、装置、服务器和存储介质
US11397770B2 (en) * 2018-11-26 2022-07-26 Sap Se Query discovery and interpretation
US11176315B2 (en) * 2019-05-15 2021-11-16 Elsevier Inc. Comprehensive in-situ structured document annotations with simultaneous reinforcement and disambiguation
US11361165B2 (en) * 2020-03-27 2022-06-14 The Clorox Company Methods and systems for topic detection in natural language communications
CN111651813A (zh) * 2020-05-14 2020-09-11 深圳市华阳国际工程设计股份有限公司 基于bim模型的注释方法、装置以及计算机存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625554A (en) * 1992-07-20 1997-04-29 Xerox Corporation Finite-state transduction of related word forms for text indexing and retrieval
US6601026B2 (en) * 1999-09-17 2003-07-29 Discern Communications, Inc. Information retrieval by natural language querying
US6687696B2 (en) * 2000-07-26 2004-02-03 Recommind Inc. System and method for personalized search, information filtering, and for generating recommendations utilizing statistical latent class models
EP1393200A2 (en) * 2000-09-29 2004-03-03 Gavagai Technology Incorporated A method and system for describing and identifying concepts in natural language text for information retrieval and processing
NO316480B1 (no) * 2001-11-15 2004-01-26 Forinnova As Fremgangsmåte og system for tekstuell granskning og oppdagelse
GB0200352D0 (en) * 2002-01-09 2002-02-20 Ibm Finite state dictionary and method of production thereof
US20050108195A1 (en) * 2002-05-07 2005-05-19 Microsoft Corporation Method, system, and apparatus for processing information based on the discovery of semantically labeled strings
US20050108630A1 (en) * 2003-11-19 2005-05-19 Wasson Mark D. Extraction of facts from text
KR100905866B1 (ko) * 2004-03-15 2009-07-03 야후! 인크. 사용자 주석이 통합된 검색 시스템 및 방법
US8713418B2 (en) * 2004-04-12 2014-04-29 Google Inc. Adding value to a rendered document
US7747937B2 (en) * 2005-08-16 2010-06-29 Rojer Alan S Web bookmark manager
JP2010532897A (ja) 2007-07-10 2010-10-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 知的なテキスト注釈の方法、システム及びコンピュータ・プログラム
US8156053B2 (en) * 2008-05-09 2012-04-10 Yahoo! Inc. Automated tagging of documents

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11556697B2 (en) 2007-07-10 2023-01-17 International Business Machines Corporation Intelligent text annotation

Also Published As

Publication number Publication date
JP2010532897A (ja) 2010-10-14
US20090019356A1 (en) 2009-01-15
EP2162833A1 (en) 2010-03-17
WO2009007181A1 (en) 2009-01-15
CN101689190A (zh) 2010-03-31
US9292483B2 (en) 2016-03-22
US20160203115A1 (en) 2016-07-14
US11556697B2 (en) 2023-01-17

Similar Documents

Publication Publication Date Title
KR20100038378A (ko) 지능적인 텍스트 주석을 위한 방법, 시스템 및 컴퓨터 프로그램
Van Hooland et al. Exploring entity recognition and disambiguation for cultural heritage collections
Strötgen et al. Multilingual and cross-domain temporal tagging
Cunningham GATE, a general architecture for text engineering
US8000957B2 (en) English-language translation of exact interpretations of keyword queries
US20090112845A1 (en) System and method for language sensitive contextual searching
Rodrigues et al. Advanced applications of natural language processing for performing information extraction
CN114462384B (zh) 一种面向数字对象建模的元数据自动生成装置
Melo et al. A strategy for archives metadata representation on CIDOC-CRM and knowledge discovery
Najeeb XML database for hadith and narrators
JP2948159B2 (ja) データベース装置
JP2997469B2 (ja) 自然言語理解方法および情報検索装置
JP5085584B2 (ja) 記事特徴語抽出装置、記事特徴語抽出方法及びプログラム
Musabeyezu Comparative study of annotation tools and techniques
Bernard et al. Hibernate search in action
Shi et al. Ontology-based code snippets management in a cloud environment
Tablan et al. Gate, an Application Developer’s Guide
Labský et al. Information extraction based on extraction ontologies: Design, deployment and evaluation
Ezeani et al. Introducing the Welsh text summarisation dataset and baseline systems
ANDERSEN A NO-CODE INTERFACE FOR DATA EXTRACTION FROM HETEROGENEOUS DATA SOURCES
Mihoubi Dynamic QA System for Nosql Databases
Ranta Speaking About Wine: Another Case Study in Bridging the Gap Between Formal and Informal Knowledge
van Hooland et al. Named-entity recognition: a gateway drug for cultural heritage collections to the linked data cloud
Kilias et al. INDREX: in-database distributional relation extraction
Fernandes Development of a web-based platform for Biomedical Text Mining

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20120328

Effective date: 20130930