KR101842420B1 - 정보 처리 장치 및 데이터 관리 방법 - Google Patents
정보 처리 장치 및 데이터 관리 방법 Download PDFInfo
- Publication number
- KR101842420B1 KR101842420B1 KR1020180009390A KR20180009390A KR101842420B1 KR 101842420 B1 KR101842420 B1 KR 101842420B1 KR 1020180009390 A KR1020180009390 A KR 1020180009390A KR 20180009390 A KR20180009390 A KR 20180009390A KR 101842420 B1 KR101842420 B1 KR 101842420B1
- Authority
- KR
- South Korea
- Prior art keywords
- text data
- encoded
- data
- frequency
- word
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/123—Storage facilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
-
- G06F17/2217—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G06F17/2264—
-
- G06F17/271—
-
- G06F17/2735—
-
- G06F17/277—
-
- G06F17/30539—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
- G06V30/268—Lexical context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
정보 처리 장치(100)는 단어 그룹 내의 복수의 단어들 각각을 대응 코드에 할당하는 단어 사전을 사용하여 텍스트 데이터를 인코딩하고, 단어 그룹 내의 복수의 단어들이 텍스트 데이터 내에 나타나는 출현 빈도를 표시하는 계수 맵(132)을 생성한다. 정보 처리 장치(100)는 계수 맵을 인코딩된 텍스트 데이터와 연관시키고 이를 저장 유닛(130)에 저장한다.
Description
본 명세서에 설명된 실시예는 데이터 관리 프로그램 등에 관한 것이다.
하나의 의미 단위를 갖는 한 쌍의 단어와 압축 코드를 저장하는 코드 변환 사전(code conversion dictionary)을 참조하고, 입력된 문서 데이터를 압축 데이터로 압축 변환하는 기술이 개시되어 있다(예를 들어, 일본 특개평5-324730호 참조).
여기서, 텍스트 마이닝(text mining) 처리가 압축 변환된 압축 데이터에 기초하여 수행되는 경우가 있다. 이 경우에, 먼저, 확장 처리(extension processing)가 압축 데이터에 수행되고, 어휘 분석, 구문 분석, 및 의미 분석과 같은 텍스트 마이닝 처리가 확장 처리에 의해 얻어진 확장 데이터에 대해 수행된다.
또한, 문서 데이터를 단어로 분할하고, 분할된 단어의 출현 빈도를 산출하고, 단어가 출현 빈도의 순서로 분류되는 단어 출현 빈도 테이블을 작성하는 기술이 개시되어 있다(예를 들어, 일본 특개평6-348757호 등 참조). 문서 데이터를 단어로 분할하기 위한 처리는 어휘 분석이라 칭한다.
[특허 문헌 1] 일본 특개평5-324730호
[특허 문헌 2] 일본 특개평9-214352호
[특허 문헌 3] 일본 특개평6-348757호
[특허 문헌 4] 일본 특표2005-530224호 공보
그러나, 텍스트 마이닝 처리의 처리 결과를 얻기 위한 처리 시간은 텍스트 마이닝 처리가 압축 데이터에 기초하여 수행될 때 더 길어지는 문제점이 존재한다. 즉, 텍스트 마이닝 처리가 압축 데이터에 기초하여 수행될 때, 확장 처리는 압축 데이터에 대해 수행되고, 텍스트 마이닝 처리는 확장 처리에 의해 얻어진 확장 데이터에 대해 수행된다. 따라서, 텍스트 마이닝 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 처리 시간이 더 길어진다.
여기서, 텍스트 마이닝 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 처리 시간이 길어지는 문제점이 도 1을 참조하여 설명될 것이다. 도 1은 예시적인 데이터 관리 처리의 도면이다. LZ77 및 LZ78 압축 알고리즘이 적용되는 경우가 도 1에 도시되어 있다. 도 1에 도시되어 있는 바와 같이, 데이터 관리 처리는 최장 일치 문자열을 사용하여 미압축 파일을 압축하고, 압축 파일을 관리한다. 데이터 관리 처리에서, 텍스트 마이닝 처리의 수행 지시가 수신될 때, 텍스트 마이닝 처리가 수행되는 압축 파일은 확장되고, 어휘 분석이 수행된다. 즉, 데이터 관리 처리는 확장된 문자열을 단어로 분할한다. 데이터 관리 처리에서, 분할된 단어가 계수되고, 계수의 결과인 계수 결과가 생성된다. 데이터 관리 처리에서, 생성된 계수 결과는 텍스트 마이닝 처리를 위해 이용되고, 텍스트 마이닝 처리의 실행 결과가 출력된다. 이 방식으로, 데이터 관리 처리에서, 압축 파일에 기초하는 텍스트 마이닝 처리가 수행되기 전에, 확장 처리가 압축 파일에 대해 수행된다. 따라서, 텍스트 마이닝 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 처리 시간은 더 길어진다.
단어 출현 빈도 테이블을 작성하기 위한 기술이 사용될 때에도, 단어 출현 빈도 테이블이 압축 데이터에 기초하여 작성되는 경우에, 확장 처리가 먼저 압축 데이터에 수행된다. 그 후에, 어휘 분석, 출현 빈도의 산출, 및 단어 출현 빈도 테이블의 작성이 확장 데이터에 수행된다. 따라서, 단어 출현 빈도 테이블을 작성하기 위한 처리를 포함하는 텍스트 마이닝 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 처리 시간이 더 길어진다.
이에 따라, 본 발명의 실시예의 일 양태의 목적은 텍스트 마이닝 처리가 인코딩된 데이터에 기초하여 수행될 때 텍스트 마이닝 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 처리 시간을 감소시키는 것이다.
실시예의 양태에 따르면, 비일시적 컴퓨터 판독가능 기록 매체는 데이터 관리 프로그램이 내부에 저장되어 있다. 데이터 관리 프로그램은 컴퓨터가 프로세스를 실행하게 한다. 프로세스는 단어 그룹 내의 복수의 단어들 각각을 대응 코드에 할당하는 인코딩 사전을 사용하여 텍스트 데이터를 인코딩하는 것; 단어 그룹 내의 복수의 단어들이 텍스트 데이터 내에 나타나는 출현 빈도를 표시하는 빈도 정보를 생성하는 것; 및 빈도 정보를 인코딩된 텍스트 데이터와 연관시키는 저장 유닛에 저장하는 것을 포함한다.
도 1은 예시적인 데이터 관리 처리의 도면.
도 2는 실시예에 따른 예시적인 데이터 관리 처리의 도면.
도 3은 실시예에 따른 정보 처리 장치의 구조의 기능 블록도.
도 4는 실시예에 따른 예시적인 단어 사전의 도면.
도 5는 실시예에 따른 예시적인 계수 맵의 도면.
도 6은 실시예에 따른 예시적인 인코딩된 파일의 도면.
도 7은 실시예에 따른 인코딩 유닛의 처리 절차의 흐름도.
도 8은 실시예에 따른 데이터 처리 유닛의 처리 절차의 흐름도.
도 9는 실시예에 따른 데이터 관리 처리의 예시적인 구현예의 도면.
도 10은 입력포맷(InputFormat)의 예시적인 구현예의 도면.
도 11은 정보 처리 장치의 예시적인 하드웨어 구조의 도면.
도 2는 실시예에 따른 예시적인 데이터 관리 처리의 도면.
도 3은 실시예에 따른 정보 처리 장치의 구조의 기능 블록도.
도 4는 실시예에 따른 예시적인 단어 사전의 도면.
도 5는 실시예에 따른 예시적인 계수 맵의 도면.
도 6은 실시예에 따른 예시적인 인코딩된 파일의 도면.
도 7은 실시예에 따른 인코딩 유닛의 처리 절차의 흐름도.
도 8은 실시예에 따른 데이터 처리 유닛의 처리 절차의 흐름도.
도 9는 실시예에 따른 데이터 관리 처리의 예시적인 구현예의 도면.
도 10은 입력포맷(InputFormat)의 예시적인 구현예의 도면.
도 11은 정보 처리 장치의 예시적인 하드웨어 구조의 도면.
본 발명의 바람직한 실시예가 첨부 도면을 참조하여 설명될 것이다. 본 발명은 실시예에 한정되는 것은 아니다.
도 2는 본 실시예에 따른 예시적인 데이터 관리 처리의 도면이다.
도 2에 도시되어 있는 바와 같이, 데이터 관리 처리는 단어 계수 유닛에 의한 처리, 코드 할당 유닛에 의한 처리, 및 인코딩된 파일 저장 유닛을 포함한다. 비인코딩된 상태에서 파일은 비인코딩된 상태에서 복수의 문서를 포함한다. 단어 계수 유닛은 비인코딩된 상태의 파일을 단어로 분할한다. 예를 들어, 비인코딩된 상태에서 파일에 포함된 문자열이 "He is able to ..."인 것으로 가정한다. 다음에, 단어 계수 유닛은 "He" "is" "able" "to"와 같은 단어에 의해 문자열을 분리하고, 이를 단어로 분할한다.
단어 계수 유닛은 각각의 분할된 단어에 대한 출현 회수를 계수한다. 단어 계수 유닛은 각각의 단어에 대한 출현 회수의 계수 결과인 빈도 정보를 생성한다. 즉, 빈도 정보는 각각의 단어에 대한 빈도 계수의 결과이고, 문서 단위로 생성된다. 단어 카운팅 유닛은 생성된 빈도 정보를 저장 유닛에 저장한다. 빈도 정보의 데이터 구조가 이하에 상세히 설명될 것이다.
코드 할당 유닛은 단어 사전을 사용하여 각각의 분할된 단어를 코드에 할당한다. 예를 들어, 압축 코드가 코드로서 예시된다. 그러나, 코드는 이에 한정되는 것은 아니다. 단어 사전은 일반적인 사전 및 교과서에 기초하여 문서 내에서 출현하는 단어를 품사(part of speech) 및 코드에 대응시키기 위한 사전이다. 단어 사전에는, 각각의 단어에 대응하는 품사 및 코드가 미리 등록되어 있다. 단어 사전의 예시적인 데이터 구조가 이하에 설명될 것이다.
인코딩된 파일 저장 유닛은 생성된 빈도 정보를 인코딩된 문자열 데이터와 연관시키고 이를 저장 유닛에 저장한다. 즉, 인코딩된 파일 저장 유닛은 인코딩된 문자열 데이터 및 빈도 정보를 포함하는 인코딩된 상태의 파일(인코딩된 파일)을 생성하고, 생성된 인코딩된 파일을 저장 유닛 내에 저장한다. 인코딩된 파일의 데이터 구조는 이하에 상세히 설명될 것이다.
이에 따라, 데이터 관리 처리에서, 인코딩된 파일은 빈도 정보를 포함한다. 따라서, 텍스트 마이닝 처리가 인코딩된 파일에 기초하여 수행될 때, 텍스트 마이닝 처리는 인코딩된 파일을 확장하지 않고 빈도 정보를 사용하여 수행될 수 있다. 이 결과로서, 텍스트 마이닝 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 데이터 관리 처리의 처리 시간이 감소될 수 있다.
정보 처리 장치의 구조
도 3은 실시예에 따른 정보 처리 장치의 구조의 기능 블록도이다. 도 3에 도시되어 있는 바와 같이, 정보 처리 장치(100)는 인코딩 유닛(110), 데이터 처리 유닛(120), 및 저장 유닛(130)을 포함한다.
인코딩 유닛(110)은 도 2에 도시되어 있는 처리를 수행한다. 인코딩 유닛(110)은 단어 계수 유닛(111), 코드 할당 유닛(112), 및 인코딩된 파일 저장 유닛(113)을 포함한다.
데이터 처리 유닛(120)은 텍스트 마이닝 처리와 같은 데이터 처리를 수행하기 위한 제어기이다.
저장 유닛(130)은 비휘발성 반도체 메모리 소자와 같은 저장 장치에 대응한다. 예를 들어, 비휘발성 반도체 메모리 소자는 플래시 메모리 및 강유전성 랜덤 액세스 메모리(ferroelectric random access memory: FRAM)(등록 상표)를 포함한다. 저장 유닛(130)은 단어 사전(131), 계수 맵(132), 및 인코딩된 파일(133)을 포함한다.
단어 사전의 예
도 4는 실시예에 따른 예시적인 단어 사전의 도면이다. 단어 사전(131)은 도 2에 도시되어 있는 단어 사전에 대응한다. 도 4에 도시되어 있는 바와 같이, 단어 사전(131)은 기초 단어, 문자열 길이, 출현 빈도, 코드 길이, 품사, 및 압축 코드를 포함하고, 이들을 서로 대응시킨다. "기초 단어"는 단어 사전(131) 내에 등록된 단어이다. 예를 들어, "기본 단어"는 사전 및 텍스트 그룹으로부터 미리 추출되어 있는 약 190,000개의 단어이다. "기본 단어"로서 등록된 단어의 수는 임의로 선택될 수도 있다.
"문자열 길이"는 기초 단어의 문자열의 길이이다. "출현 빈도"는 빈도를 계수하기 위한 텍스트 파일 그룹 내의 각각의 기초 단어의 출현 회수이다. 여기서, 빈도를 계수하기 위한 텍스트 파일 그룹은 각각의 기초 단어의 출현 빈도를 계수하기 위한 하나 이상의 텍스트 파일이고, 데이터 처리를 수행하기 위한 파일로부터 개별적으로 준비된다. 여기서, 기초 단어 "able"은 빈도를 계수하기 위해 텍스트 파일 그룹에서 "785"회 출현된 것으로 표시되어 있다.
"품사"는 각각의 기초 단어의 품사이다. 여기서, 기초 단어 "able"은 "명사"인 것으로 표시되어 있다.
"압축 코드"는 예시적인 코드이다. 여기서, "압축 코드"는 각각의 기초 단어에 할당된다. "코드 길이"는 코드의 길이이다. 예로서, 더 짧은 코드 길이를 갖는 코드가 높은 출현 빈도를 갖는 기초 단어에 할당된다.
또한, 단어 사전(131)은 기초 단어로의 포인터를 표시하는 비트 필터를 포함한다. 비트 필터는 바이그램(bigram), 비트맵, 및 기초 단어를 서로 대응시킨다. "바이그램"은 각각의 단어에 포함된 연속적인 문자열이다. 예를 들어, "able"은 "ab", "bl", 및 "le"에 대응하는 바이그램을 포함한다.
"비트맵"은 바이그램의 문자열에 대응하는 비트맵을 표현한다. 예를 들어, "able"은 기초 단어로의 포인터에 의해 바이그램 "ab"를 갖는 비트맵 "1_0_0_0_0", 바이그램 "bl"을 갖는 비트맵 "0_1_0_0_0", 및 바이그램 "le"를 갖는 비트맵 "0_0_1_0_0"에 대응된다. 예를 들어, 비인코딩된 상태에서 파일로부터 "able"을 얻을 때, 정보 처리 장치(100)는 바이그램 "ab"를 갖는 비트맵 "1_0_0_0_0", 바이그램 "bl"을 갖는 비트맵 "0_1_0_0_0", 및 바이그램 "le"를 갖는 비트맵 "0_0_1_0_0"을 사용하여 기초 단어 "able"에 액세스한다. 즉, 정보 처리 장치(100)는 비인코딩된 상태의 파일로부터 단어 단위로 분할되어 있는 단어의 문자열과 비트 필터를 비교하고, 문자열이 비트 필터에 히트(hit)하는지 여부를 판정한다. 문자열이 비트 필터에 히트하였을 때, 정보 처리 장치(100)는 포인터에 의해 지시된 기초 단어에 액세스한다.
계수 맵의 예
도 5는 실시예에 따른 예시적인 계수 맵의 도면이다. 계수 맵(132)은 도 2에 도시되어 있는 빈도 정보에 대응한다. 도 5에 도시되어 있는 바와 같이, 계수 맵(132)은 각각의 레코드에 대해 레코드에 포함된 단어의 출현 회수를 저장한다. 여기서 레코드는 파일 내의 논리 섹션이고, 예를 들어 각각의 레코드는 문서에 대응한다. 출현 회수는 4개의 비트를 사용하여 표현되고 0 내지 15회의 수로 표현되는 값이다. 예로서, 레코드 1에서, "0000"은 단어 A로서 표현되고, "0000"은 단어 B로서 표현되고, "0010"은 단어 C로서 표현된다. 레코드 2에서, "0001"은 단어 A로서 표현되고, "0001"은 단어 B로서 표현되고, "0000"은 단어 C로서 표현된다. 출현 회수는 4개의 비트를 사용하여 표현된 값인 것으로 설명되어 있다. 그러나, 출현 회수는 이에 한정되는 것은 아니고, 5개의 비트 또는 3개의 비트를 사용하여 표현된 값일 수도 있다. 즉, 출현 회수를 표현하는 비트의 수는 데이터 처리가 수행되는 파일의 콘텐트에 따라 조정되는 값인 것이 바람직하다.
인코딩된 파일의 예
도 6은 실시예에 따른 예시적인 인코딩된 파일의 도면이다. 인코딩된 파일(133)은 도 2에 도시되어 있는 인코딩된 상태의 파일에 대응한다. 도 6에 도시되어 있는 바와 같이, 인코딩된 파일(133)은 헤더부, 인코딩된 데이터, 및 트레일러부를 포함한다. 인코딩된 데이터는 각각의 레코드에 대한 각각의 단어에 할당된 코드를 저장한다. 트레일러부는 계수 맵(132)을 저장한다. 인코딩 처리시에 사용된 다른 정보가 존재할 때, 트레일러부는 또한 정보를 저장한다.
헤더부는 트레일러부 내에 저장된 계수 맵(132)에 포인터를 저장한다. 설명될 데이터 처리유닛(120)에 의한 데이터 처리시에, 정보 처리 장치(100)는 헤더부의 계수 맵(132)으로의 포인터를 사용하여 계수 맵(132)을 참조할 수 있다.
설명은 도 3으로 복귀한다. 단어 계수 유닛(111)은 인코딩될 문서 데이터에 대해 각각의 단어에 대한 출현 회수를 계수한다. 인코딩될 문서 데이터는 비인코딩된 상태의 복수의 레코드를 포함한다. 예를 들어, 단어 계수 유닛(111)은 인코딩될 문서 데이터로의 어휘 분석을 수행한다. 즉, 단어 계수 유닛(111)은 인코딩될 문서 데이터를 단어로 분할한다. 단어 계수 유닛(111)은 각각의 분할된 단어에 대한 출현 회수를 계수한다. 각각의 단어에 대한 출현 회수는 각각의 레코드에 대해 계수된다. 단어 계수 유닛(111)은 각각의 레코드 및 단어에 대한 출현 회수를 사용하여 계수 맵(132)을 생성한다. 단어 계수 유닛(111)은 계수 맵(132)을 저장 유닛(130)에 저장한다.
예로서, 인코딩될 문서 데이터에 포함된 문자열이 "He is able to ..."인 것으로 가정한다. 다음에, 단어 계수 유닛(111)은 "He" "is" "able" "to"와 같은 단어로 문자열을 분리하고, 이를 단어로 분할한다. 단어 계수 유닛(111)은 각각의 분할된 단어 "He" "is" "able" "to" ...에 대한 출현 회수를 계수한다. 문서 데이터는 레코드 1 및 레코드 2를 포함하는 것으로 가정한다. 다음에, 단어 계수 유닛(111)은 레코드 1에 대해 각각의 단어 "He" "is" "able" "to" ...의 출현 회수를 사용하여 계수 맵(132)을 생성한다. 단어 계수 유닛(111)은 레코드 2에 대해 각각의 단어 "He" "is" "able" "to" ...의 출현 회수를 사용하여 계수 맵(132)을 생성한다. 단어 계수 유닛(111)은 생성된 계수 맵(132)을 저장 유닛(130)에 저장한다.
코드 할당 유닛(112)은 단어 사전(1310에 기초하여 각각의 분할된 단어를 코드에 할당한다. 예를 들어, 코드 할당 유닛(112)은 단어 계수 유닛(111)에 의해 분할된 단어를 하나씩 선택한다. 코드 할당 유닛(112)은 단어 사전(131)으로부터 선택된 단어의 압축 코드를 얻는다. 코드 할당 유닛(112)은 얻어진 압축 코드를 선택된 단어에 할당한다. 코드 할당 유닛(112)은 압축 코드를 모든 분할된 단어에 할당하고, 인코딩될 문서 데이터의 인코딩된 데이터를 생성한다.
예로서, 분할된 단어는 "He", "is", "able", 및 "to"인 것으로 가정한다. 코드 할당 유닛(112)은 단어 사전(131)으로부터 "He"의 압축 코드를 얻고 얻어진 압축 코드를 "He"에 할당한다. 코드 할당 유닛(112)은 단어 사전(131)으로부터 "is"의 압축 코드를 얻고, 얻어진 압축 코드를 "is"에 할당한다. 코드 할당 유닛(112)은 단어 사전(131)으로부터 "able"의 압축 코드를 얻고 얻어진 압축 코드를 "able"에 할당한다. 코드 할당 유닛(112)은 단어 사전(131)으로부터 "to"의 압축 코드를 얻고 얻어진 압축 코드를 "to"에 할당한다.
인코딩된 파일 저장 유닛(113)은 계수 맵(132)을 인코딩된 데이터와 연관시키고, 이를 저장 유닛(130)에 저장한다. 예를 들어, 인코딩된 파일 저장 유닛(113)은 인코딩된 데이터를 인코딩된 파일(133)에 설정하고, 계수 맵(132)을 인코딩된 파일(133)의 트레일러부에 설정한다. 인코딩된 파일 저장 유닛(113)은 트레일러부에 저장된 계수 맵(132)으로의 포인터를 인코딩된 파일(133)의 헤더부에 설정한다. 인코딩된 파일 저장 유닛(113)은 인코딩된 파일(133)을 저장 유닛(130)에 저장한다.
예로서, 도 6에 도시되어 있는 인코딩된 파일(133)의 구조에 의해, 인코딩된 파일 저장 유닛(113)은 계수 맵(132)을 트레일러부에 설정하고, 계수 맵(132)으로의 포인터를 헤더부에 설정한다. 인코딩된 파일 저장 유닛(113)은 인코딩된 파일(133)을 저장 유닛(130)에 저장한다.
데이터 처리 유닛(120)은 인코딩된 파일(133)의 데이터 처리를 수행한다. 예를 들어, 데이터 처리의 수행 지시를 수신할 때, 데이터 처리 유닛(120)은 데이터 처리가 수행되는 인코딩된 파일(133)의 트레일러부로부터 계수 맵(132)을 얻는다. 데이터 처리 유닛(120)은 계수 맵(132)을 사용하여 데이터 처리를 수행한다. 예시적인 데이터 처리로서, 단어 빈도(term frequency: tf)/역문서 빈도(inverse document frequency: idf)의 구문 분석 및 계산 처리가 예시될 수 있다. tf/idf는 정보 검색을 위해 사용된 문서 내의 단어를 가중하기 위한 방법이다. 예로서, 데이터 처리 유닛(120)은 계수 맵(132)을 사용하여 각각의 레코드(문서) 내의 특정 단어의 가중치를 산출한다. 데이터 처리 유닛(120)은 문서들 사이의 유사도를 산출한다. 문서들 사이의 유사도를 산출하기 위한 방법은 예를 들어, tf-idf 코사인 유사도 산출을 추정하기 위한 방법을 포함한다. 그러나, 방법은 이에 한정되는 것은 아니다.
이에 따라, 인코딩된 파일(133)에 기초하여 데이터 처리를 수행할 때, 데이터 처리 유닛(120)은 인코딩된 파일(133)을 확장하지 않고 계수 맵(132)을 사용하여 데이터 처리를 수행할 수 있다. 그 결과, 데이터 처리 유닛(120)은 데이터 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 처리 시간을 감소할 수 있다.
인코딩 처리의 처리 절차
도 7은 실시예에 따른 인코딩 유닛의 처리 절차의 흐름도이다.
도 7에 도시되어 있는 바와 같이, 인코딩 유닛(110)은 인코딩될 문서 데이터를 입력한다(단계 S11). 인코딩될 문서 데이터는 비인코딩된 상태의 복수의 레코드를 포함한다. 인코딩될 문서 데이터는 이하에 입력 데이터라 칭할 것이다.
인코딩 유닛(110)은 입력 데이터에 어휘 분석을 수행한다(단계 S12). 예를 들어, 인코딩 유닛(110)은 입력 데이터에 포함된 각각의 레코드를 단어 단위로 분할한다.
이후에, 인코딩 유닛(110)은 각각의 레코드에 대한 각각의 단어의 출현 회수를 계수하고 계수 맵(132)을 생성한다(단계 S13). 예를 들어, 인코딩 유닛(110)은 레코드를 순서대로 선택한다. 인코딩 유닛(110)은 선택된 레코드에 포함된 단어의 출현 회수를 계수한다. 인코딩 유닛(110)은 모든 레코드에 대한 단어의 출현 회수를 계수한다. 인코딩 유닛(110)은 각각의 레코드 및 각각의 단어에 대한 출현 회수를 사용하여 계수 맵(132)을 생성한다. 인코딩 유닛(110)은 계수 맵(132)을 저장 유닛(130)에 저장한다.
이후에, 인코딩 유닛(110)은 단어 사전(131)을 사용하여 입력 데이터를 인코딩한다(단계 S14). 예를 들어, 인코딩 유닛(110)은 입력 데이터 내의 분할된 단어를 순서대로 선택한다. 인코딩 유닛(110)은 단어 사전(131)으로부터 선택된 단어의 압축 코드를 얻는다. 인코딩 유닛(110)은 얻어진 압축 코드를 선택된 단어에 할당한다. 인코딩 유닛(110)은 압축 코드를 모든 분할된 단어에 할당하고, 입력 데이터의 인코딩된 데이터를 생성한다.
이후에, 인코딩 유닛(110)은 인코딩된 문서 데이터(인코딩된 데이터) 및 계수 맵(132)을 포함하는 인코딩된 파일(133)을 저장 유닛(130)에 저장한다(단계 S15). 예를 들어, 인코딩 유닛(110)은 인코딩된 데이터를 인코딩된 파일(133)에 설정하고, 계수 맵(132)을 인코딩된 파일(133)의 트레일러부에 설정한다. 인코딩 유닛(110)은 트레일러부에 저장된 계수 맵(132)으로의 포인터를 인코딩된 파일(133)의 헤더부에 설정한다. 인코딩 유닛(110)은 인코딩된 파일(133)을 저장 유닛(130)에 저장한다.
데이터 처리의 처리 절차
도 8은 실시예에 따른 데이터 처리 유닛의 처리 절차의 흐름도이다.
도 8에 도시되어 있는 바와 같이, 데이터 처리 유닛(120)은 데이터 처리의 수행 지시가 행해졌는지 여부를 판정한다(단계 S21). 데이터 처리의 수행 지시가 행해지지 않았다고 판정할 때(단계 S21: 아니오), 데이터 처리 유닛(120)은 데이터 처리의 수행 지시가 행해지기 전에 판정 처리를 반복한다.
다른 한편으로, 데이터 처리의 수행 지시가 행해졌다고 판정할 때(단계 S21: 예), 데이터 처리 유닛(120)은 데이터 처리가 수행되는 인코딩된 파일(133)을 입력한다(단계 S22). 데이터 처리 유닛(120)은 인코딩된 파일(133) 내에 포함된 계수 맵(132)을 사용하여 데이터 처리를 수행한다(단계 S23).
데이터 처리 유닛(120)은 데이터 처리의 처리 결과를 출력한다(단계 S24). 이에 따라, 인코딩된 파일(133)에 기초하여 데이터 처리를 수행할 때, 데이터 처리 유닛(120)은 인코딩된 파일(133)을 확장하지 않고 데이터 처리를 수행함으로써, 데이터 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 처리 시간을 감소시킬 수 있다.
데이터 관리 처리의 예시적인 구현예
다음에, 실시예에 따른 데이터 관리 처리의 예시적인 구현예가 도 9 및 도 10을 참조하여 설명될 것이다.
도 9는 실시예에 따른 데이터 관리 처리의 예시적인 구현예의 도면이다. 도 9에서, 텍스트 마이닝에서 데이터 처리가 Hadoop에 적용되는 경우의 예시적인 구현예가 도시되어 있다. Hadoop에서, HDFS에서, 인코딩 유닛(110)에 의해 압축된(인코딩된) 인코딩된 파일(133)이 관리된다. 인코딩된 파일(133)은 계수 맵(132)을 유지한다. HDFS는 본 실시예에 따른 콘텐트를 갖는 압축 라이브러리를 사용한다.
도 9의 우측에 도시되어 있는 바와 같이, 데이터 마이닝에 있어서 데이터 처리는 구문 분석 및 tf/idf의 계산 처리로부터 수행된다. 예를 들어, 구문 분석 및 tf/idf의 계산 처리의 수행 지시를 수신할 때, 데이터 처리 유닛(120)에 대응하는 "입력포맷"은 데이터 처리가 수행되는 인코딩된 파일(133)의 트레일러부로부터 계수 맵(132)을 얻는다. "입력포맷(InputFormat)"은 "맵(Map)", "셔플 및 정렬(Shuffle & Sort)", 및 "축소(Reduce)"의 애플리케이션이 계수 맵(132)을 사용하여 구문 분석 및 tf/idf의 계산 처리를 수행하게 한다.
실시예에 따른 데이터 관리 처리가 Hadoop에 구현될 때, 도 9의 좌측에서 어휘 분석 및 빈도 계수가 요구되지 않는다. 이는 인코딩 유닛(110)이 빈도 계수의 결과인 빈도 정보[계수 맵(132)]를 생성하고, 비인코딩된 상태의 파일을 압축(인코딩)할 때 이를 인코딩된 파일(133)에 유지하기 때문이다.
또한, 실시예에 따른 데이터 관리 처리가 Hadoop에 구현될 때, 도 9의 중앙부에서 품사 분석 및 계수가 요구되지 않는다. 이는 단어 사전(131)이 기초 단어를 품사에 대응시키기 때문이다. 게다가, 이는 인코딩 유닛(110)이 빈도 계수의 결과인 빈도 정보[계수 맵(132)]를 생성하고 비인코딩된 상태의 파일을 압축(인코딩)할 때 이를 인코딩된 파일(133)에 유지하기 때문이다.
도 10은 입력포맷의 예시적인 구현예의 도면이다. 도 10에 도시되어 있는 바와 같이, "LZK입력포맷(LZKInputFormat)"은 "입력포맷"의 기존의 구현된 인터페이스에 추가된다.
종래의 데이터 관리 처리에서, 텍스트 마이닝에 있어서 어휘 분석 및 빈도 계수가 수행될 때, 어휘 분석 및 빈도 계수는 압축된(인코딩된) 인코딩된 파일을 확장하고 확장된 데이터를 사용하여 수행된다. 데이터 관리 처리에서, 확장된 데이터는 처리의 실행 후에 어휘 분석이 데이터에 수행되는 동안 압축된다. 또한, 데이터 관리 처리에서, 텍스트 마이닝에 있어서 품사 분석 및 계수가 수행될 때, 품사 분석 및 계수는 압축된 인코딩된 파일을 확장하고 확장된 데이터를 사용하여 수행된다. 데이터 관리 처리에서, 확장된 데이터는 처리의 실행 후에 어휘 분석이 데이터에 수행되는 동안 압축된다. 또한, 데이터 관리 처리에서, 텍스트 마이닝에 있어서 구문 분석 및 tf/idf가 수행될 때, 구문 분석 및 tf/idf는 압축된 인코딩된 파일을 확장하고 확장된 데이터를 사용하고 빈도 계수를 수행한 후에 수행된다. 데이터 관리 처리에서, 확장된 데이터는 처리의 실행 후에 어휘 분석이 데이터에 수행되는 동안 압축된다. 이 방식으로, 종래의 데이터 관리 처리에서, 동일한 처리(예를 들어, 압축 처리, 확장 처리, 어휘 분석, 및 빈도 계수)가 다수회 반복되기 때문에, 텍스트 마이닝에 있어서 데이터 처리를 효율적으로 수행하는 것이 곤란하다.
반면에, 실시예에 따른 데이터 관리 처리에 있어서, 빈도 정보는 비인코딩된 상태의 파일을 인코딩하는 단계에 생성되고, 생성된 빈도 정보는 인코딩된 파일(133) 내에 유지된다. 따라서, 텍스트 마이닝에 있어서 데이터 처리는 효율적으로 수행될 수 있다. 그 결과, 실시예에 따른 데이터 관리 처리에서, 처리를 수행하기 위한 컴퓨터와 관련하여, 동일한 결과를 얻기 위한 복수의 종류의 처리의 처리량은 감소될 수 있다. 게다가, 실시예에 따른 데이터 관리 처리에서, 데이터 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 처리 시간이 감소될 수 있다.
또한, 실시예에 따른 데이터 관리 처리는 계수 정보 및 인코딩된 데이터를 일원화하여 저장하기 때문에, 비인코딩된 상태의 데이터(평문 데이터)가 요구되지 않고, 저장 용량이 감소될 수 있다.
실시예의 효과
이 방식으로, 실시예에서, 정보 처리 장치(100)는 단어 그룹 내의 각각의 단어에 코드를 할당하기 위해 단어 사전(131)을 사용하여 텍스트 데이터를 인코딩하고, 단어 그룹 내의 각각의 단어의 텍스트 데이터 내의 출현 빈도를 표시하는 빈도 정보를 생성한다. 정보 처리 장치(100)는 생성된 빈도 정보를 인코딩된 텍스트 데이터와 연관시키고, 이를 저장 유닛(130)에 저장한다. 상기 구조에 의해, 정보 처리 장치(100)는 인코딩된 텍스트 데이터를 확장하지 않고 빈도 정보를 출력할 수 있고, 텍스트 마이닝의 처리 시간을 감소시킬 수 있다.
또한, 상기 실시예에서, 인코딩된 텍스트 데이터 내의 각각의 단어의 출현 빈도의 분석 지시를 수신할 때, 정보 처리 장치(100)는 인코딩된 텍스트 데이터와 연계된 빈도 정보를 출력한다. 상기 구조에 의해, 정보 처리 장치(100)는 출력 빈도 정보를 사용하여 각각의 단어의 출현 빈도에 대한 분석 처리의 처리 시간을 감소시킬 수 있다. 즉, 인코딩된 텍스트 데이터 내의 각각의 단어의 출현 빈도에 대한 분석 처리를 수행할 때, 정보 처리 장치(100)는 분석 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 처리 시간을 감소시킬 수 있다.
또한, 상기 실시예에서, 정보 처리 장치(100)는 텍스트 데이터가 단어 그룹 내의 각각의 단어에 관한 미리 정해진 단위로 분할되는 단위로 빈도 정보를 생성한다. 상기 구조에 의해, 정보 처리 장치(100)는 텍스트 마이닝에 있어서 생성된 빈도 정보를 사용하기 위해 각각의 레코드(문서)를 위한 빈도 정보를 생성한다.
정보 처리 장치의 하드웨어 구조
도 11은 정보 처리 장치의 예시적인 하드웨어 구조의 도면이다. 도 11에 도시되어 있는 바와 같이, 컴퓨터(500)는 다양한 연산 처리를 수행하기 위한 CPU(501), 사용자로부터 데이터 입력을 수신하기 위한 입력 장치(502), 및 모니터(503)를 포함한다. 또한, 컴퓨터(500)는 저장 매체로부터 프로그램 등을 판독하기 위한 매체 판독기(504), 다른 장치로의 접속을 위한 인터페이스 장치(505), 및 다른 장치에 무선 접속을 위한 무선 통신 장치(506)를 포함한다. 또한, 컴퓨터(500)는 다양한 정보를 일시적으로 저장하기 위한 랜덤 액세스 메모리(random access memory: RAM)(507) 및 하드 디스크 장치(508)를 포함한다. 또한, 각각의 장치(501 내지 508)는 버스(509)에 접속된다.
하드 디스크 장치(508)는 도 3에 도시되어 있는 인코딩 유닛(110) 및 데이터 처리 유닛(120)의 것과 유사한 기능을 갖는 데이터 관리 프로그램을 저장한다. 또한, 하드 디스크 장치(508)는 데이터 관리 프로그램을 실현하기 위해 다양한 데이터를 저장한다. 다양한 데이터는 도 3에 도시되어 있는 저장 유닛(130)에 데이터를 포함한다.
CPU(501)는 하드 디스크 장치(508) 내에 저장된 각각의 프로그램을 판독하고 이를 RAM(507)에 전개하여 실행함으로써 다양한 처리를 수행한다. 이들 프로그램은 도 3에 도시되어 있는 각각의 기능 유닛으로서 컴퓨터(500)가 기능하게 한다.
문서 처리 프로그램은 하드 디스크 장치(508) 내에 저장될 필요는 없다. 예를 들어, 컴퓨터(500)에 의해 판독될 수 있는 저장 매체 내에 저장된 프로그램은 컴퓨터(500)에 의해 판독되고 수행될 수도 있다. 컴퓨터(500)에 의해 판독될 수 있는 저장 매체는 예를 들어, CD-ROM, DVD 디스크, 및 범용 직렬 버스(universal serial bus: USB) 메모리와 같은 휴대형 기록 매체, 플래시 메모리와 같은 반도체 메모리, 및 하드 디스크 드라이브에 대응한다. 또한, 프로그램은 공중 회선, 인터넷, 및 근거리 통신망(local area network: LAN)에 접속된 장치 내에 저장되고, 컴퓨터(500)는 이들 프로그램을 판독하여 수행할 수도 있다.
본 발명의 일 실시예에 따르면, 텍스트 마이닝 처리가 인코딩된 데이터에 기초하여 수행될 때, 텍스트 마이닝 처리의 수행 지시로부터 실행 결과가 얻어질 때의 시간까지의 처리 시간이 감소될 수 있다.
100: 정보 처리 장치 110: 인코딩 유닛
111: 단어 계수 유닛 112: 코드 할당 유닛
113: 인코딩된 파일 저장 유닛 120: 데이터 처리 유닛
130: 저장 유닛 131: 단어 사전
132: 계수 맵 133: 인코딩된 파일
111: 단어 계수 유닛 112: 코드 할당 유닛
113: 인코딩된 파일 저장 유닛 120: 데이터 처리 유닛
130: 저장 유닛 131: 단어 사전
132: 계수 맵 133: 인코딩된 파일
Claims (6)
- 컴퓨터로 하여금 프로세스를 실행하게 하는 데이터 관리 프로그램이 내부에 저장되어 있는 비일시적(non-transitory) 컴퓨터 판독가능 기록 매체로서, 상기 프로세스는,
단어 그룹 내의 복수의 단어들 각각을 대응 코드에 할당하는 인코딩 사전을 사용하여 텍스트 데이터를 인코딩하는 단계;
상기 텍스트 데이터를 인코딩하는 것과 동시에, 상기 단어 그룹 내의 상기 복수의 단어들이 상기 텍스트 데이터 내에 나타나는 출현 빈도를 표시하고 상기 출현 빈도를 상기 텍스트 데이터 내의 상기 복수의 단어들 및 레코드들 각각과 연관시키는 빈도 정보를 생성하는 단계;
파일 관리 시스템에, 상기 텍스트 데이터와 연관된 상기 빈도 정보 및 상기 인코딩된 텍스트 데이터를 포함하는 인코딩된 파일을 저장하는 단계;
지시에 응답하여, 상기 저장된 인코딩된 파일을 참조하여 상기 빈도 정보를 획득하는 단계; 및
맵(Map) 및 축소(Reduce)를 포함하는 애플리케이션으로 하여금, 상기 인코딩된 텍스트 데이터를 비인코딩된(non-encoded) 상태로 변환하지 않은 채, 상기 지시에 응답하여 획득된 상기 빈도 정보를 사용하여 상기 인코딩된 파일에 포함된 문서들 사이의 유사도를 계산하게 하는 단계
를 포함하는 것인, 비일시적 컴퓨터 판독가능 기록 매체. - 제1항에 있어서, 상기 저장하는 단계는, 상기 텍스트 데이터와 연관된 상기 빈도 정보를 상기 인코딩된 파일의 트레일러(trailer)에 배열하고, 상기 빈도 정보에 대한 포인터를 상기 인코딩된 파일의 헤더(header)에 배열함으로써, 상기 인코딩된 파일을 저장하는 것인, 비일시적 컴퓨터 판독가능 기록 매체.
- 제1항에 있어서, 상기 프로세스는,
상기 인코딩된 텍스트 데이터 내의 각각의 단어에 대한 출현 빈도를 분석하라는 지시가 수신될 때, 상기 인코딩된 텍스트 데이터와 연관된 상기 빈도 정보를 출력하는 단계를 더 포함하는 것인, 비일시적 컴퓨터 판독가능 기록 매체. - 제1항에 있어서,
상기 생성하는 단계는, 상기 텍스트 데이터가 상기 단어 그룹 내의 각각의 단어에 관한 미리 정해진 단위로 분할되는 단위로 상기 빈도 정보를 생성하는 단계를 포함하는 것인, 비일시적 컴퓨터 판독가능 기록 매체. - 정보 처리 장치로서,
단어 그룹 내의 복수의 단어들 각각을 대응 코드에 할당하는 인코딩 사전을 사용하여 텍스트 데이터의 인코딩을 수행하는 인코딩 유닛;
상기 텍스트 데이터를 인코딩하는 것과 동시에, 상기 단어 그룹 내의 상기 복수의 단어들이 상기 텍스트 데이터 내에 나타나는 출현 빈도를 표시하고 상기 출현 빈도를 상기 텍스트 데이터 내의 상기 복수의 단어들 및 레코드들 각각과 연관시키는 빈도 정보를 생성하는 생성 유닛;
파일 관리 시스템에 상기 텍스트 데이터와 연관된 상기 빈도 정보 및 상기 인코딩된 텍스트 데이터를 포함하는 인코딩된 파일을 저장하는 저장 유닛; 및
상기 빈도 정보를 획득하기 위해 지시에 응답하여 상기 저장된 인코딩된 파일을 참조하고, 맵(Map) 및 축소(Reduce)를 포함하는 애플리케이션으로 하여금, 상기 인코딩된 텍스트 데이터를 비인코딩된 상태로 변환하지 않은 채, 상기 지시에 응답하여 획득된 상기 빈도 정보를 사용하여 상기 인코딩된 파일에 포함된 문서들 사이의 유사도를 계산하는 데이터 처리 유닛
을 포함하는, 정보 처리 장치. - 컴퓨터에 의해 실행되는 데이터 관리 방법으로서,
단어 그룹 내의 복수의 단어들 각각을 대응 코드에 할당하는 인코딩 사전을 사용하여 텍스트 데이터를 인코딩하는 단계;
상기 텍스트 데이터를 인코딩하는 것과 동시에, 상기 단어 그룹 내의 상기 복수의 단어들이 상기 텍스트 데이터 내에 나타나는 출현 빈도를 표시하고, 상기 출현 빈도를 상기 텍스트 데이터 내의 상기 복수의 단어들 및 레코드들 각각과 연관시키는 빈도 정보를 생성하는 단계;
파일 관리 시스템에, 상기 텍스트 데이터와 연관된 상기 빈도 정보 및 상기 인코딩된 텍스트 데이터를 포함하는 인코딩된 파일을 저장하는 단계;
지시에 응답하여, 상기 저장된 인코딩된 파일을 참조하여 상기 빈도 정보를 획득하는 단계; 및
맵(Map) 및 축소(Reduce)를 포함하는 애플리케이션으로 하여금, 상기 인코딩된 텍스트 데이터를 비인코딩된 상태로 변환하지 않은 채, 상기 지시에 응답하여 획득된 상기 빈도 정보를 사용하여 상기 인코딩된 파일에 포함된 문서들 사이의 유사도를 계산하는 단계
를 포함하는, 데이터 관리 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2015-051797 | 2015-03-16 | ||
JP2015051797A JP2016170750A (ja) | 2015-03-16 | 2015-03-16 | データ管理プログラム、情報処理装置およびデータ管理方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160023575A Division KR20160111327A (ko) | 2015-03-16 | 2016-02-26 | 정보 처리 장치 및 데이터 관리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180014124A KR20180014124A (ko) | 2018-02-07 |
KR101842420B1 true KR101842420B1 (ko) | 2018-03-26 |
Family
ID=55442724
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160023575A KR20160111327A (ko) | 2015-03-16 | 2016-02-26 | 정보 처리 장치 및 데이터 관리 방법 |
KR1020180009390A KR101842420B1 (ko) | 2015-03-16 | 2018-01-25 | 정보 처리 장치 및 데이터 관리 방법 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160023575A KR20160111327A (ko) | 2015-03-16 | 2016-02-26 | 정보 처리 장치 및 데이터 관리 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10380240B2 (ko) |
EP (1) | EP3070615A1 (ko) |
JP (1) | JP2016170750A (ko) |
KR (2) | KR20160111327A (ko) |
CN (1) | CN105988980A (ko) |
AU (2) | AU2016201253A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10037309B1 (en) * | 2017-05-02 | 2018-07-31 | International Business Machines Corporation | Encoded text data management |
CN107247695A (zh) * | 2017-05-31 | 2017-10-13 | 深圳市长亮科技股份有限公司 | 编码规则生成方法、***和存储设备 |
CN107292396B (zh) * | 2017-08-14 | 2020-05-05 | 南宁学院 | 一种水电设备报修消息处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198027A1 (en) | 2004-03-05 | 2005-09-08 | Oki Electric Industry Co., Ltd. | Document retrieval system recognizing types and values of numeric search conditions |
EP1677210A1 (en) | 2003-10-21 | 2006-07-05 | Intellectual Property Bank Corp. | Document characteristic analysis device for document to be surveyed |
US20070096953A1 (en) | 2005-10-31 | 2007-05-03 | Fujitsu Limited | Data compression method and compressed data transmitting method |
JP2015026350A (ja) | 2013-07-29 | 2015-02-05 | 富士通株式会社 | 情報処理システム、情報処理方法、および情報処理プログラム |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5254990A (en) * | 1990-02-26 | 1993-10-19 | Fujitsu Limited | Method and apparatus for compression and decompression of data |
US5590317A (en) | 1992-05-27 | 1996-12-31 | Hitachi, Ltd. | Document information compression and retrieval system and document information registration and retrieval method |
JPH05324730A (ja) | 1992-05-27 | 1993-12-07 | Hitachi Ltd | 文書情報検索装置 |
JPH06348757A (ja) * | 1993-06-07 | 1994-12-22 | Hitachi Ltd | 文書検索装置および方法 |
US5635932A (en) * | 1994-10-17 | 1997-06-03 | Fujitsu Limited | Lempel-ziv compression with expulsion of dictionary buffer matches |
JPH08180067A (ja) * | 1994-12-26 | 1996-07-12 | Nec Corp | データベースレコード圧縮システム |
JP3277792B2 (ja) | 1996-01-31 | 2002-04-22 | 株式会社日立製作所 | データ圧縮方法および装置 |
EP0962865A4 (en) * | 1997-10-21 | 2004-11-24 | Fujitsu Ltd | FILE PROCESSING METHOD, DATA PROCESSING DEVICE, AND STORAGE MEDIUM |
US5991713A (en) * | 1997-11-26 | 1999-11-23 | International Business Machines Corp. | Efficient method for compressing, storing, searching and transmitting natural language text |
JP3337633B2 (ja) * | 1997-12-03 | 2002-10-21 | 富士通株式会社 | データ圧縮方法及びデータ復元方法並びにデータ圧縮プログラム又はデータ復元プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6427149B1 (en) * | 1999-09-09 | 2002-07-30 | Herman Rodriguez | Remote access of archived compressed data files |
WO2001050612A1 (en) * | 2000-01-05 | 2001-07-12 | Realnetworks, Inc. | Systems and methods for multiple-file data compression |
GB0016974D0 (en) * | 2000-07-12 | 2000-08-30 | Univ Salford The | Document retrieval system |
JP2002258894A (ja) * | 2001-03-02 | 2002-09-11 | Fujitsu Ltd | 音声データ圧縮・解凍装置及び方法 |
US6993534B2 (en) | 2002-05-08 | 2006-01-31 | International Business Machines Corporation | Data store for knowledge-based data mining system |
CN1856787A (zh) * | 2003-10-21 | 2006-11-01 | 株式会社Ipb | 调查对象文件的文件特征分析单元 |
US7424482B2 (en) * | 2004-04-26 | 2008-09-09 | Storwize Inc. | Method and system for compression of data for block mode access storage |
US20090132466A1 (en) * | 2004-10-13 | 2009-05-21 | Jp Morgan Chase Bank | System and method for archiving data |
US7478386B2 (en) * | 2005-05-03 | 2009-01-13 | International Business Machines Corporation | Resource-conservative installation of compressed archives |
US20080243482A1 (en) * | 2007-03-28 | 2008-10-02 | Siemens Aktiengesellschaft | Method for performing effective drill-down operations in text corpus visualization and exploration using language model approaches for key phrase weighting |
JP5365719B2 (ja) * | 2007-05-24 | 2013-12-11 | 富士通株式会社 | 情報検索プログラム、該プログラムを記録した記録媒体、および情報検索方法 |
WO2008142799A1 (ja) * | 2007-05-24 | 2008-11-27 | Fujitsu Limited | 情報検索プログラム、該プログラムを記録した記録媒体、情報検索方法、および情報検索装置 |
JP5391583B2 (ja) * | 2008-05-29 | 2014-01-15 | 富士通株式会社 | 検索装置、生成装置、プログラム、検索方法および生成方法 |
JP5782214B2 (ja) * | 2008-05-30 | 2015-09-24 | 富士通株式会社 | 情報検索プログラム、情報検索装置および情報検索方法 |
WO2010085773A1 (en) * | 2009-01-24 | 2010-07-29 | Kontera Technologies, Inc. | Hybrid contextual advertising and related content analysis and display techniques |
JP5416448B2 (ja) * | 2009-03-26 | 2014-02-12 | 株式会社日立ソリューションズ東日本 | 表示装置、表示方法およびプログラム |
JP5418218B2 (ja) * | 2009-12-25 | 2014-02-19 | 富士通株式会社 | 情報処理プログラム、情報検索プログラム、情報処理装置、および情報検索装置 |
US8595234B2 (en) * | 2010-05-17 | 2013-11-26 | Wal-Mart Stores, Inc. | Processing data feeds |
WO2012081386A1 (ja) | 2010-12-17 | 2012-06-21 | 楽天株式会社 | 自然言語処理装置、方法、及びプログラム |
WO2012150637A1 (ja) * | 2011-05-02 | 2012-11-08 | 富士通株式会社 | 抽出方法、情報処理方法、抽出プログラム、情報処理プログラム、抽出装置、および情報処理装置 |
JP5939259B2 (ja) * | 2011-11-04 | 2016-06-22 | 富士通株式会社 | 照合制御プログラム、照合制御装置および照合制御方法 |
US9298825B2 (en) * | 2011-11-17 | 2016-03-29 | Microsoft Technology Licensing, Llc | Tagging entities with descriptive phrases |
JP5642058B2 (ja) * | 2011-12-26 | 2014-12-17 | 株式会社日立システムズ | 注目単語分析方法および注目単語分析システム |
JP5831298B2 (ja) * | 2012-03-06 | 2015-12-09 | 富士通株式会社 | プログラム、情報処理装置およびインデックス生成方法 |
US9660666B1 (en) * | 2014-12-22 | 2017-05-23 | EMC IP Holding Company LLC | Content-aware lossless compression and decompression of floating point data |
US10140033B2 (en) * | 2015-06-15 | 2018-11-27 | Xitore, Inc. | Apparatus, system, and method for searching compressed data |
-
2015
- 2015-03-16 JP JP2015051797A patent/JP2016170750A/ja active Pending
-
2016
- 2016-02-26 CN CN201610108617.4A patent/CN105988980A/zh active Pending
- 2016-02-26 KR KR1020160023575A patent/KR20160111327A/ko active Search and Examination
- 2016-02-26 US US15/054,494 patent/US10380240B2/en not_active Expired - Fee Related
- 2016-02-26 EP EP16157605.3A patent/EP3070615A1/en not_active Withdrawn
- 2016-02-26 AU AU2016201253A patent/AU2016201253A1/en not_active Abandoned
-
2017
- 2017-10-16 AU AU2017248412A patent/AU2017248412B2/en not_active Ceased
-
2018
- 2018-01-25 KR KR1020180009390A patent/KR101842420B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1677210A1 (en) | 2003-10-21 | 2006-07-05 | Intellectual Property Bank Corp. | Document characteristic analysis device for document to be surveyed |
US20050198027A1 (en) | 2004-03-05 | 2005-09-08 | Oki Electric Industry Co., Ltd. | Document retrieval system recognizing types and values of numeric search conditions |
US20070096953A1 (en) | 2005-10-31 | 2007-05-03 | Fujitsu Limited | Data compression method and compressed data transmitting method |
JP2015026350A (ja) | 2013-07-29 | 2015-02-05 | 富士通株式会社 | 情報処理システム、情報処理方法、および情報処理プログラム |
EP2838037A2 (en) | 2013-07-29 | 2015-02-18 | Fujitsu Limited | Information processing system, information processing method, and information processing program |
Non-Patent Citations (1)
Title |
---|
J. Dean and S. Ghemawat, MapReduce:A flexible Data Processing Tool, Communications of the ACM, V.53 No.1 pp.72-77 (2010.01) |
Also Published As
Publication number | Publication date |
---|---|
AU2017248412B2 (en) | 2019-02-21 |
US20160275072A1 (en) | 2016-09-22 |
CN105988980A (zh) | 2016-10-05 |
AU2017248412A1 (en) | 2017-11-02 |
AU2016201253A1 (en) | 2016-10-06 |
EP3070615A1 (en) | 2016-09-21 |
JP2016170750A (ja) | 2016-09-23 |
KR20180014124A (ko) | 2018-02-07 |
KR20160111327A (ko) | 2016-09-26 |
US10380240B2 (en) | 2019-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160006456A1 (en) | Compression device, compression method, dictionary generation device, dictionary generation method, decompression device, decompression method, information processing system, and recording medium | |
CN107305586B (zh) | 索引生成方法、索引生成装置及搜索方法 | |
KR101842420B1 (ko) | 정보 처리 장치 및 데이터 관리 방법 | |
WO2018214140A1 (zh) | 一种数据压缩方法与解压方法以及相关设备 | |
US9882582B2 (en) | Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device | |
US11394956B2 (en) | Encoding apparatus and encoding method | |
JP6550765B2 (ja) | 文字データ変換プログラム、文字データ変換装置および文字データ変換方法 | |
EP3119002B1 (en) | Encoding program, encoding method, information processsing device, replacement program, and replacement method | |
JP6551131B2 (ja) | インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法 | |
JP6645013B2 (ja) | 符号化プログラム、符号化方法、符号化装置および伸長方法 | |
US11017155B2 (en) | Method and system for compressing data | |
US9479195B2 (en) | Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device | |
KR102110523B1 (ko) | 문서 분석 기반 주요 요소 추출 시스템 및 방법 | |
JPWO2016199255A1 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
CN113595557B (zh) | 一种数据处理的方法和装置 | |
JP6276386B2 (ja) | データ構造、情報処理装置、情報処理方法、及びプログラム記録媒体 | |
US10447295B2 (en) | Coding method, coding device, decoding method, and decoding device | |
US11936404B2 (en) | Data aware compression in a storage system | |
US20160210304A1 (en) | Computer-readable recording medium, information processing apparatus, and conversion process method | |
JP6972568B2 (ja) | 圧縮プログラム、復元プログラム、圧縮方法、復元方法、および情報処理装置 | |
Furht et al. | Lossless JPEG image compression | |
JPWO2017009958A1 (ja) | 圧縮プログラム、圧縮方法および圧縮装置 | |
Doshi et al. | Quad-Byte Transformation using Zero-Frequency Bytes | |
LI et al. | THE METHOD OF DOCUMENT FRAGMENT CLASSIFYING |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |