JP7116940B2 - Method and program for efficiently structuring and correcting open data - Google Patents

Method and program for efficiently structuring and correcting open data Download PDF

Info

Publication number
JP7116940B2
JP7116940B2 JP2021010352A JP2021010352A JP7116940B2 JP 7116940 B2 JP7116940 B2 JP 7116940B2 JP 2021010352 A JP2021010352 A JP 2021010352A JP 2021010352 A JP2021010352 A JP 2021010352A JP 7116940 B2 JP7116940 B2 JP 7116940B2
Authority
JP
Japan
Prior art keywords
data
information
structuring
database
processing
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021010352A
Other languages
Japanese (ja)
Other versions
JP2021077393A (en
Inventor
泰秀 佐藤
優人 石崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xaion Data
Original Assignee
Xaion Data
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 Xaion Data filed Critical Xaion Data
Priority to JP2021010352A priority Critical patent/JP7116940B2/en
Publication of JP2021077393A publication Critical patent/JP2021077393A/en
Application granted granted Critical
Publication of JP7116940B2 publication Critical patent/JP7116940B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワーク上に点在しているアクセスが制限されていない、いわゆるオープンデータから必要とする情報を抽出し、効率的に構造化および補正処理をする技術に関するものである。 The present invention relates to a technique for extracting necessary information from so-called open data scattered on a network and for which access is not restricted, and for efficiently structuring and correcting the data.

従来、所望の情報をオープンデータから選別して収集するには、ブラウザによりウェブサイトを1つ1つ閲覧しながら手作業で情報を収集、蓄積しなければならなかった。 Conventionally, in order to select and collect desired information from open data, it has been necessary to manually collect and accumulate information while browsing websites one by one using a browser.

この課題に対し、自動的にオープンデータから所望の情報を収集する解決手段を記載している以下先行技術文献がある。 For this problem, there are the following prior art documents that describe solutions for automatically collecting desired information from open data.

特許文献1:ウェブサイトから自動的に表形式またはデータベース形式の情報を抽出する。
特許文献2:複数のウェブサイトから定義ファイルまたは辞書ファイルにより所望の情報を抽出してXML形式で出力する。
特許文献3:ウェブデータから機械学習により作成された構造化モデルにより構造化された情報を抽出する。
Patent document 1: Automatically extract tabular or database information from websites.
Patent Document 2: Desired information is extracted from a plurality of websites using definition files or dictionary files and output in XML format.
Patent Literature 3: Extracts structured information from web data using a structured model created by machine learning.

特開2008-102773号公報JP 2008-102773 A 特開2010-15202号公報Japanese Patent Application Laid-Open No. 2010-15202 特開2016-181069号公報JP 2016-181069 A

しかしながら、特許文献1は、ウェブサイト上の表形式またはデータベース形式の情報のみを抽出の対象としており、それ以外のデータ形式には対応していない。 However, Patent Document 1 only extracts information in tabular format or database format on websites, and does not support other data formats.

特許文献2は、ウェブサイトから情報を抽出する際に、定義ファイルまたは辞書ファイルにより予め用意されている情報だけが抽出の対象となり、また、出力されるデータがXML形式に限定されている。 In Patent Document 2, when extracting information from a website, only information prepared in advance by a definition file or a dictionary file is extracted, and data to be output is limited to XML format.

特許文献3は、ウェブサイトから抽出した情報を構造化する際に、予め作成された教師データに基づく構造化モデル情報が用意されている必要があり、また、構造化された情報に一貫性や最適化が必要な場合であっても補正等がなされず、そのため、情報の構造化がなされてはいるが、データの整合性が取れない等の理由により、その情報の利活用までには至らないという問題がある。 In Patent Document 3, when structuring information extracted from a website, it is necessary to prepare structured model information based on teacher data created in advance, and the structured information must be consistent and consistent. Even if optimization is necessary, corrections are not made. Therefore, although the information is structured, it is not possible to utilize the information due to reasons such as inconsistency of data. There is no problem.

また、特許文献1~3のいずれについても、抽出する対象となるデータはすべてテキスト(文字)データであり、その他の種類のデータから所望の情報を抽出し、その情報を構造化し、さらに補正する手段は提供されていない。 In addition, in any of Patent Documents 1 to 3, the data to be extracted is all text (character) data, and desired information is extracted from other types of data, the information is structured, and further corrected. No means are provided.

本発明は、このような事情を考慮して創作されたものであり、ネットワーク上に点在しているアクセスが制限されていない、各種フォーマットのオープンデータから情報を抽出し、抽出した情報を機械学習等の処理により自動的に構造化し、構造化したデータの補正を行う情報処理方法およびプログラムを提供することを目的とする。 The present invention was created in consideration of such circumstances, and extracts information from open data in various formats that are scattered on a network and has unrestricted access. An object of the present invention is to provide an information processing method and a program for automatically structuring data by processing such as learning and correcting the structured data.

前記の目的を達成するため、本発明は、ネットワークアドレスにより指定されたデータとそのデータ内で推定されるネットワークアドレスにより指定されたデータからテキストデータを収集する手段と、前記テキストデータを整形する手段と、前記整形により整形されたテキストデータから最適な抽出手法を自動的に選択することにより必要な情報を抽出する手段と、前記情報の各々を一時的記憶領域に実装された構造化処理用データベースを使用して付加情報を追加することにより構造化をする手段と、前記構造化により構造化がなされた情報を一時的記憶領域に実装された補正処理用データベースにより補正する手段と、を備えることを特徴としている。 In order to achieve the above object, the present invention provides means for collecting text data from data specified by a network address and data specified by a network address estimated in the data, and means for shaping the text data. means for extracting necessary information by automatically selecting an optimum extraction method from the text data formatted by said formatting; and a structured processing database in which each of said information is implemented in a temporary storage area and means for correcting the information structured by the structuring by means of a correction processing database implemented in a temporary storage area. is characterized by

本発明に係る情報処理方法およびプログラムによれば、ネットワーク上に点在する様々な形式のデータから所望の情報を抽出し、高速に構造化および補正することを効率的に行うことができ、これらの処理により生成された情報は、その後さらなる加工を施すことなく利活用することが容易に可能となる。 According to the information processing method and program according to the present invention, desired information can be efficiently extracted from data of various formats scattered on a network, and structured and corrected at high speed. The information generated by the processing of (1) can be easily utilized without further processing.

本発明のシステム全体構成を示す図である。It is a figure showing the whole system composition of the present invention. 本発明のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of this invention. 本発明の機能および処理構成を示す図である。3 is a diagram showing the functions and processing configuration of the present invention; FIG. 本発明の第一の実施形態の情報処理方法およびプログラムに係る情報処理装置1の処理工程を示すフローチャートを示す図である。FIG. 2 is a diagram showing a flowchart showing processing steps of the information processing apparatus 1 according to the information processing method and program according to the first embodiment of the present invention; 本発明の第一の実施形態の情報処理方法およびプログラムに係る情報処理装置1の処理工程で作成されるディレクトリ構造またはサイトマップ等の一例を示す図である。2 is a diagram showing an example of a directory structure, site map, or the like created in the processing steps of the information processing apparatus 1 according to the information processing method and program according to the first embodiment of the present invention; FIG. 本発明の第一の実施形態の情報処理方法およびプログラムに係る情報処理装置1の処理工程で作成される整形されたテキストデータの一例を示す図である。4 is a diagram showing an example of shaped text data created in the processing steps of the information processing apparatus 1 according to the information processing method and program according to the first embodiment of the present invention; FIG. 本発明の第一の実施形態の情報処理方法およびプログラムに係る情報処理装置1のインメモリデータベースの作成処理工程を示す図である。FIG. 3 is a diagram showing an in-memory database creation processing process of the information processing apparatus 1 according to the information processing method and program according to the first embodiment of the present invention; 本発明の第二の実施形態の情報処理方法およびプログラムに係る情報処理装置1の処理工程を示す図である。It is a figure which shows the processing process of the information processing apparatus 1 concerning the information processing method and program of 2nd embodiment of this invention. 本発明の第三の実施形態の情報処理方法およびプログラムに係る情報処理装置1の処理工程を示す図である。It is a figure which shows the processing process of the information processing apparatus 1 based on the information processing method and program of 3rd Embodiment of this invention.

発明を実施するための第一の形態について、図面を参照しながら詳細に説明をする。 A first embodiment for carrying out the invention will be described in detail with reference to the drawings.

[第一実施形態]
図1は、本発明の第一の実施形態の情報処理方法およびプログラムに係るシステムの全体構成を示す図である。
[First embodiment]
FIG. 1 is a diagram showing the overall configuration of a system related to an information processing method and program according to a first embodiment of the present invention.

[システム全体構成]
図1において、情報処理装置1は、通信ネットワークNを通じて複数のコンテンツサーバ2(1~n(nは整数))に接続される。
[Overall system configuration]
In FIG. 1, an information processing apparatus 1 is connected to a plurality of content servers 2 (1 to n (n is an integer)) through a communication network N. FIG.

通信ネットワークNは、電気信号により相互にデータの交換ができるものであればよく、インターネット、モバイルネットワークやローカルエリアネットワークであっても構わない。通信ネットワークNとの接続は、有線であるか無線であるかを問わない。 The communication network N may be any network capable of mutually exchanging data by electrical signals, and may be the Internet, a mobile network, or a local area network. The connection with the communication network N may be wired or wireless.

コンテンツサーバ2は、情報処理装置1のリクエストに応じて、各種コンテンツ(データ)を提供する。提供されるコンテンツ(データ)は、例えば、テキストファイル、HTMLファイル、画像ファイル、動画ファイル、音声ファイル等である。 The content server 2 provides various contents (data) in response to requests from the information processing device 1 . The provided contents (data) are, for example, text files, HTML files, image files, moving image files, audio files, and the like.

また、コンテンツサーバ2は、通信ネットワークに接続できる機能とコンテンツ(データ)を蓄積できる機能があればよく、いわゆるサーバの機能を有している必要はない。 Also, the content server 2 only needs to have a function of connecting to a communication network and a function of storing content (data), and does not need to have a so-called server function.

[ハードウェア構成]
図2は、本発明の第一の実施形態に係る情報処理装置1のハードウェア構成を示す図である。
[Hardware configuration]
FIG. 2 is a diagram showing the hardware configuration of the information processing device 1 according to the first embodiment of the invention.

情報処理装置1は、演算処理をするCPU(Central Processor Unit)10、一時的にデータやプログラムを記憶するRAM(RANDOM ACCESS MEMORY)11、データやプログラムを格納する記憶装置12、およびネットワーク接続用の通信インターフェース13を含む。また、情報処理装置1は、バス等を介して入力装置14および出力装置15に接続されている。 The information processing apparatus 1 includes a CPU (Central Processor Unit) 10 for arithmetic processing, a RAM (RANDOM ACCESS MEMORY) 11 for temporarily storing data and programs, a storage device 12 for storing data and programs, and a network connection. A communication interface 13 is included. The information processing device 1 is also connected to an input device 14 and an output device 15 via a bus or the like.

情報処理装置1の各コンポーネントは、それぞれ複数あっても構わないし、物理的に分散していても、仮想的に分散していても構わない。また、互いに有線で接続されていてもよいし、無線で接続される構成となっていてもよい。 Each component of the information processing apparatus 1 may have a plurality of components, and may be distributed physically or virtually. Further, they may be connected to each other by wire, or may be configured to be connected wirelessly.

CPU10は、RAM11や記憶装置12からプログラム等を読み込み、各種命令を実行することにより、情報処理装置1の全体を制御し、また、後述する各部の機能を実現する。 The CPU 10 reads programs and the like from the RAM 11 and the storage device 12 and executes various commands to control the entire information processing apparatus 1 and realize the functions of each section described later.

RAM11は、起動中のアプリケーションデータや入力されたデータを一時的に記憶しておく記憶媒体で、CPU10がより高速にアクセスできるキャッシュメモリが含まれていてもよい。また、後述するインメモリデータベースは、RAM11上に実装されるデータベースであり、ハードディスク等に実装されるデータベースに比べ、より高速でリアルタイムなデータの検索や照合を可能にする。 The RAM 11 is a storage medium for temporarily storing application data being activated and input data, and may include a cache memory that the CPU 10 can access at a higher speed. An in-memory database, which will be described later, is a database mounted on the RAM 11, and enables faster and real-time data retrieval and collation than a database mounted on a hard disk or the like.

記憶装置12は、本発明の機能を実行するプログラム及び後述する構造化データ保持部により蓄積される構造化データ、辞書データ等を記憶する。なお、記憶装置12は、その媒体、読込みおよび書込み方式が一つに限定されるものではなく、例えば、磁気的ハードディスク、光学ディスクやソリッドステートドライブのいずれであってもよい。 The storage device 12 stores a program that executes the functions of the present invention, structured data accumulated by a structured data holding unit (to be described later), dictionary data, and the like. It should be noted that the storage device 12 is not limited to a single medium and read/write method, and may be, for example, a magnetic hard disk, an optical disk, or a solid state drive.

通信インターフェース13は、通信ネットワークNを介してコンテンツサーバ2と接続できるようにするためのインターフェースであり、通信方式は、有線であるか無線であるかを問わない。 The communication interface 13 is an interface for enabling connection with the content server 2 via the communication network N, and the communication method may be wired or wireless.

入力装置14は、例えばマウス、キーボードやタッチパネル等で実現され、入力操作に用いられる。出力装置15は、例えばディスプレイで実現され、文字、画像、音声等の出力を確認するために用いられる。 The input device 14 is implemented by, for example, a mouse, keyboard, touch panel, or the like, and is used for input operations. The output device 15 is implemented by, for example, a display, and is used to confirm the output of characters, images, sounds, and the like.

[機能および処理構成]
図3は、本発明の第一の実施形態の情報処理方法およびプログラムに係る情報処理装置1の機能および処理を表す構成図である。なお、本構成の各部は、ソフトウェアで実現される機能および処理を実行する単位を表すものであり、例えば、プログラム言語による命令群、メソッド、クラスまたはライブラリ等であって各々の機能および処理を実行する集合が表されているものと考えてよい。
[Function and processing configuration]
FIG. 3 is a block diagram showing functions and processes of the information processing apparatus 1 according to the information processing method and program according to the first embodiment of the present invention. Each part of this configuration represents a unit that executes functions and processes realized by software, for example, a group of instructions, methods, classes, or libraries in a programming language that execute each function and process. can be thought of as representing a set of

情報処理装置1は、データ取得部20、ディレクトリ構造抽出部21、データクレンジング部22、データ構造部23、構造化データ保持部24、インメモリデータベース25によって構成される。 The information processing device 1 includes a data acquisition unit 20 , a directory structure extraction unit 21 , a data cleansing unit 22 , a data structure unit 23 , a structured data holding unit 24 and an in-memory database 25 .

データ取得部20は、ネットワークアドレスをインプットとして受け付け、アドレス先にあるウェブページを構成しているマークアップ言語等をテキストデータとして取得する。 The data acquisition unit 20 receives a network address as an input, and acquires the markup language or the like that constitutes the web page at the address destination as text data.

ディレクトリ構造抽出部21は、取得した前記テキストデータから派生するネットワークアドレスを把握し、ディレクトリ構造を構築する。 The directory structure extraction unit 21 comprehends network addresses derived from the acquired text data, and constructs a directory structure.

データクレンジング部22は、前記テキストデータを加工処理し易くするために、余分な文字を除く等の整形を実行する。 The data cleansing unit 22 performs shaping such as removing extra characters in order to facilitate processing of the text data.

データ構造部23は、前記データクレンジング部により整形された前記テキストデータから、必要となる情報を抽出し、抽出した各情報にタグ(付加情報)を付与することにより構造化する。 The data structure unit 23 extracts necessary information from the text data shaped by the data cleansing unit, and structures the extracted information by adding a tag (additional information).

構造化データ保持部24は、構造化した前記テキストデータを保存する。また、後述するマッチングまたは統合処理のためにインメモリデータベース25にロードして使用する各種データを蓄積する。 The structured data storage unit 24 stores the structured text data. It also stores various data to be loaded into the in-memory database 25 and used for matching or integration processing, which will be described later.

インメモリデータベース25は、後述するマッチングまたは統合処理をするために、RAM11に一時的に記憶される辞書データおよび構造化がなされた既存データ等のデータテーブルを含むデータベースである。 The in-memory database 25 is a database including data tables such as dictionary data and structured existing data temporarily stored in the RAM 11 in order to perform matching or integration processing, which will be described later.

図4は、本発明の第一の実施形態の情報処理方法およびプログラムに係る情報処理装置1の処理工程を示すフローチャートである。 FIG. 4 is a flow chart showing processing steps of the information processing apparatus 1 according to the information processing method and program according to the first embodiment of the present invention.

ステップS1(URL読込み)は、インプットされるURL(Uniform Resource Locator)等のネットワーク上のアドレスにより、ウェブサイトのトップページのロケーション(例えば、「http://www.abc.com/」)にアクセスする。なお、インプットされるURLは、その都度手入力されてもよいし、リスト化されたURLの1番上から順番にインプットされる仕様としてもよい。また、リスト化されるURLは、ブラウザの履歴情報から自動的に抽出されてもよいし、検索エンジンによるキーワード検索を利用し、検索結果の上位から自動的にURLを抽出する等の仕様としてもよい。 Step S1 (URL reading) accesses the location of the top page of the website (for example, "http://www.abc.com/") using a network address such as an input URL (Uniform Resource Locator). do. The URL to be input may be manually input each time, or may be input in order from the top of the list of URLs. In addition, the URLs to be listed may be automatically extracted from the history information of the browser, or a keyword search by a search engine may be used to automatically extract the URL from the top of the search results. good.

ステップS2(テキストデータ取得)は、前記トップページに位置づけられるブラウザにより表示可能なファイル(例えば「.htm」または「.html」ファイル。以下「ウェブページ」という。)を構成しているHTML(Hyper Text Markup Language)等のマークアップ言語等をテキストデータとして取得する。 In step S2 (text data acquisition), HTML (Hypertext data) that constitutes a file (for example, ".htm" or ".html" file, hereinafter referred to as "web page") that can be displayed by a browser located on the top page. A markup language such as Text Markup Language is acquired as text data.

ステップS3(ディレクトリ構造抽出)は、前記テキストデータに含まれるHTMLタグ等(例えば、<A>~</A>)を分析し、前記トップページから派生するリンク(URL等のアドレス)の中から、ウェブページが1つ以上存在するディレクトリを選択し、ルートディレクトリであるトップページを中心に構成されるディレクトリ構造またはサイトマップ等を構築する(図5)。また、この際に、以下のようなディレクトリテーブルを作成する。 Step S3 (directory structure extraction) analyzes HTML tags (for example, <A> to </A>) included in the text data, and extracts links (addresses such as URLs) derived from the top page. , select a directory in which one or more web pages exist, and construct a directory structure or a site map, etc. centering on the top page, which is the root directory (FIG. 5). At this time, create the following directory table.

[例]ディレクトリテーブル
ルートディレクトリ|ディレクトリ |読込フラグ
abc.com |company |1
abc.com |contact |0
abc.com |service |0
abc.com |fbook.jp/abc|0
[Example] Directory table root directory|directory|read flag abc. com |company |1
abc. com |contact|0
abc. com |service|0
abc. com | fbook.com | jp/abc|0

以上ディレクトリテーブルの「読込フラグ」属性は、ディレクトリに存在するウェブページの全てについてステップS15までの処理が行われた場合に「1」等の初期値(例ではゼロ)とは異なる値が入力され、次のディレクトリに移動し、全てのディレクトリに値が入力されるまでステップS1からの処理を繰り返す。なお、ディレクトリはディレクトリシステムのいわゆるフォルダに該当するものに限らず、以上例にあるようにリンク先の外部サイトを示す場合もある。 As described above, the "read flag" attribute of the directory table is input with a value different from the initial value such as "1" (zero in the example) when the processing up to step S15 is performed for all the web pages existing in the directory. , moves to the next directory, and repeats the process from step S1 until values are input to all directories. The directory is not limited to the so-called folder of the directory system, and may indicate the external site of the link destination as in the above examples.

ステップS4(データ種類判別)は、前記ディレクトリ構造を構成する各ディレクトリ下に音声または動画ファイルもしくはドキュメントファイルがある場合には、そのデータの種類を判別する。なお、以下では音声または動画ファイルもしくはドキュメントファイルが無かった場合(ステップS5:NO)のフローを記載し、存在した場合(ステップS5:YES)の処理は、後述する第二実施形態および第三実施形態で記載する。 Step S4 (data type discrimination) discriminates the data type when there is an audio or moving image file or a document file under each directory constituting the directory structure. In the following, the flow when there is no audio or video file or document file (step S5: NO) will be described, and the processing when there is (step S5: YES) will be described in the second embodiment and the third embodiment described later. Described in form.

ステップS6(データクレンジング)は、その後の構造化処理のインプットデータを用意するために、いわゆるローデータであるテキストデータ取得ステップS2で取得されたテキストデータを整形するパース処理をする。具体的には、HTMLタグ等および意味のない空白記号等を除去し、意味のある単語の組み合わせや文のみとし、それらの順序の並び替えを行う(図6)。 Step S6 (data cleansing) performs a parsing process for shaping the text data obtained in the text data obtaining step S2, which is so-called raw data, in order to prepare input data for subsequent structuring processing. Specifically, HTML tags and the like and meaningless blank symbols and the like are removed, leaving only meaningful combinations of words and sentences, and their order is rearranged (FIG. 6).

ステップS7(文を形態素に分割)は、前記パース処理をしたテキストデータを構成する文を分かち書きし、形態素(意味をもつ表現要素の最小単位)に分割する。 In step S7 (sentence division into morphemes), sentences forming the parsed text data are separated into morphemes (minimum units of meaningful expression elements).

ステップS8(品詞を抽出)は、前記形態素を品詞分けし、組み合わせにより単語として成立し得る品詞を抽出する。 Step S8 (extracting parts of speech) divides the morphemes into parts of speech, and extracts parts of speech that can be combined into words.

ステップS9(品詞の結合パターンを自動生成)は、品詞と品詞を組み合わせた新しい単語または前記辞書データに登録されていない単語を自動で構造化処理の対象とするために、品詞間でのチャンキング(文章語句構成要素の分割または結合処理)を自動で行い、品詞の結合を実行し、その結果のパターンの中で頻出する可能性が高いパターンを用語として認識し構造化処理の対象とする。そして、前記用語が前記インメモリデータベースに存在するか否かを検索し、存在しなかった場合は、図7ステップS27の選別用データベースに追加する(ステップS10 NO)。その後、前記用語が前記インメモリデータベースに登録(図7ステップS29)されるか否かは、後述するインメモリデータベースの作成処理工程で説明する。前記用語が前記インメモリデータベースに存在する場合は、ステップS11に進む(ステップS10 YES)。 In step S9 (automatic generation of part-of-speech combination patterns), chunking between parts of speech is performed in order to automatically target new words that combine parts of speech and words that are not registered in the dictionary data or words that are not registered in the dictionary data. (segmentation or combination processing of sentence constituent elements) is automatically performed, parts of speech are combined, patterns with a high probability of frequent occurrence among the resulting patterns are recognized as terms, and subjected to structuring processing. Then, a search is made to see if the term exists in the in-memory database, and if it does not exist, it is added to the screening database in step S27 of FIG. 7 (step S10 NO). After that, whether or not the term is registered in the in-memory database (step S29 in FIG. 7) will be explained in the later-described in-memory database creation processing step. If the term exists in the in-memory database, go to step S11 (step S10 YES).

結合した品詞による前記用語に限らず、結合をしていない前記品詞についても、頻出する可能性が高い品詞を用語として認識し構造化処理の対象とする。そして、前記インメモリデータベースに存在するか否かを検索し、存在しなかった場合は、前記選別用データベースに追加する(ステップS10 NO)。その後、前記用語が前記インメモリデータベースに登録(図7ステップS29)されるか否かは、後述するインメモリデータベースの作成処理工程で説明する。前記用語が前記インメモリデータベースに存在する場合は、ステップS11に進む(ステップS10 YES)。 Not only the above-mentioned terms by combined parts of speech, but also the above-mentioned parts of speech that are not combined, parts of speech that are likely to occur frequently are recognized as terms and subjected to structuring processing. Then, the in-memory database is searched to see if it exists, and if it does not exist, it is added to the selection database (step S10 NO). After that, whether or not the term is registered in the in-memory database (step S29 in FIG. 7) will be explained in the later-described in-memory database creation processing step. If the term exists in the in-memory database, go to step S11 (step S10 YES).

ステップS11(インメモリデータベースとのマッチング)は、前記品詞(ステップS9により前記用語と認識したものを含む)の各々と前記インメモリデータベース(以上で前記選別用データベースに追加された後、前記インメモリデータベースに登録された用語等も含む)にロードされた既存のデータテーブル(例えば、以下データテーブル1)を構成する属性と値のペアを高速でマッチング処理する。ここで、前記インメモリデータベースのマッチングについては、完全一致の場合以外だけではなく類似性にも対応できるように、出現頻度に基づいた統計的モデルまたは機械学習モデルに基づき、収集した情報内容の中で一般的な用語として使用されているかまたは重要度の高い用語として使用されているかを判断し、重要度の高い用語のみを抽出する(キーワード抽出)。前記モデルは、各単語の文脈による出現回数と各単語をベクトル表現に置き換えた上での距離等の計算(意味の類似性と関係性等が導かれる。)を基に生成される。例えば、求人ウェブページに記載される特徴データを抽出する場合には、「福利厚生」や「社会保険」という用語は、求人情報における待遇に関する付加情報として使われるため出現頻度が高い。したがって、待遇情報を抽出するという情報収集テーマでは好適であるため「福利厚生」等は除外する必要はない。しかし、求人の要件としての職能(スキル)情報を抽出するという情報収集テーマでは不適であるため、前記モデルに基づいた抽出方法を利用することで「福利厚生」等を除外する処理をすることができる。 In step S11 (matching with in-memory database), each of the parts of speech (including those recognized as the terms in step S9) and the in-memory database (after being added to the screening database, the in-memory It performs high-speed matching processing of attribute-value pairs that constitute an existing data table (for example, data table 1 below) loaded into a database (including terms registered in a database). Here, regarding the matching of the in-memory database, in order to deal with not only exact matches but also similarities, based on a statistical model or a machine learning model based on the appearance frequency, among the collected information contents It judges whether it is used as a general term or as a highly important term in , and extracts only the highly important terms (keyword extraction). The model is generated based on the number of occurrences of each word in the context and the calculation of the distance after replacing each word with a vector representation (semantic similarity, relationship, etc. are derived). For example, when extracting feature data described in a job offer web page, terms such as "benefits" and "social insurance" appear frequently because they are used as additional information about treatment in job offer information. Therefore, it is not necessary to exclude "welfare" and the like because it is suitable for the information collection theme of extracting treatment information. However, it is not suitable for the information collection theme of extracting job function (skill) information as a requirement for recruitment, so it is possible to exclude "benefits" etc. by using the extraction method based on the above model. can.

[例]データテーブル1
企 業 名 |電 話 番 号 |商 品
ABC株式会社|xxx-xxxx|リンゴ
[Example] Data table 1
Company name | Phone number | Product ABC Co., Ltd. xxx-xxxx | Ringo

マッチングされる前記品詞は、前記ディスプレイテーブルのルートディレクトリを示すネットワークアドレスがABC株式会社に属するものと確認されている場合、例えば、既存データである以上データテーブル1に示されている「企業名:ABC株式会社」のデータセットとマッチングが実行される。例えば、「果物」という名詞は、以上データテーブル1の「リンゴ」とマッチするという判断がなされる。この判断は、カテゴリーとそれに属する要素を登録した辞書データを使ってもよいし、「果物」と「果物」の前後の文脈の意味解析により判断してもよい。 If the network address indicating the root directory of the display table is confirmed to belong to ABC Corporation, the part of speech to be matched is existing data, for example, "company name: ABC Inc." data set and matching is performed. For example, the noun "fruit" is determined to match "apple" in data table 1 above. This determination may be made using dictionary data in which categories and elements belonging to them are registered, or may be determined by semantic analysis of "fruit" and the context before and after "fruit".

ステップS12(タグ情報付加)は、前記品詞にマッチしたと判断されたデータテーブルの値に対応する属性を前記名詞の付加情報としてタグ付けし、データテーブルに新たなデータセットとして入力する。前記データテーブル1を例にし、それを可視化すると以下データテーブル2のようになる。 In step S12 (tag information addition), an attribute corresponding to the value of the data table determined to match the part of speech is tagged as additional information of the noun, and is input to the data table as a new data set. Taking the data table 1 as an example and visualizing it, the following data table 2 is obtained.

[例]データテーブル2
|企 業 名 |電 話 番 号 |商 品
既存|ABC株式会社|xxx-xxxx|リンゴ
新規|ABC株式会社| |果物
[Example] Data table 2
|Company name |Phone number |Products Existing|ABC Co., Ltd.|xxx-xxxx|Apples New|ABC Co., Ltd.| |Fruit

なお、前記データセットの属性または値とはマッチしない新たな属性または値と推定される品詞が検出されるときがある。その場合は、データ表現パターンの正規表現および、データ属性度の類似を判別するためのモデルを用いる。このモデルはK-means法、LSTM(Long Short-Term Memory)およびCBOW(Countinuous Bag-of-Words)手法等の機械学習に基づいた言語データが同一であるか否かの判別をするためのモデルを用いて、属性解析を実施する。例えば、図6のテキストデータでは、「企業概要」という表現が会社関連のウェブページでは頻出しかつ意味のある単語であると判断するため、「企業概要」が構造化を行うための属性情報と把握することができる。そして、企業概要に従属するデータであってデータセットにない値(「加工販売」「アットホーム」等)が、属性である企業概要に対応する値であると把握することが可能となり、データセットに新たな属性および値として入力される(以下データテーブル3)。また、「加工販売」、「アットホーム」が、辞書データや属性解析により、例えば、それぞれ「業種」、「社風」の属性の値と判断される場合には、以下データテーブル4のように入力され得る。 Note that there are times when a part of speech that is presumed to be a new attribute or value that does not match the attribute or value of the data set is detected. In that case, a regular expression of the data expression pattern and a model for determining the similarity of the data attribute degree are used. This model is a model for determining whether or not language data are identical based on machine learning such as the K-means method, LSTM (Long Short-Term Memory), and CBOW (Countinuous Bag-of-Words) method. to perform attribute analysis. For example, in the text data of FIG. 6, the expression "company overview" is determined to be a frequent and meaningful word on company-related web pages. can grasp. Then, it becomes possible to grasp that the values ("processed sales", "at home", etc.) that are data subordinate to the corporate profile and are not in the dataset are values corresponding to the corporate profile, which is an attribute, and the dataset are entered as new attributes and values in the data table 3 below. Also, if "processed sales" and "at home" are determined to be attribute values of "industry" and "company culture" by dictionary data and attribute analysis, for example, input as shown in data table 4 below. can be

[例]データテーブル3
|企 業 名 |電話番号|商品|会 社 概 要
新規|ABC株式会社| |果物|加工販売、アットホーム
[Example] Data table 3
|Company name |Phone number|Products|Company profile

[例]データテーブル4
|企 業 名 |電話番号|商品|業 種|社風
新規|ABC株式会社| |果物|加工販売|アットホーム
[Example] Data table 4
|Company Name |Phone Number|Products|Industry|Corporate Culture New|ABC Co.| |Fruits|Processing and Sales|At Home

以上のタグ情報を付加する処理により、各情報の属性等が判別できるようになり、データの視認性、加工性および利活用性が向上する。しかし、データセット同士で重複すると考えられる属性または値が存在し、情報としての一貫性が保たれない場合が考えられる。 By adding the tag information as described above, the attribute of each information can be determined, and the visibility, workability and usability of the data are improved. However, it is conceivable that there are attributes or values that are considered to overlap between data sets, and that consistency as information is not maintained.

ステップS13(統合(名寄せ))は、前記タグ情報付加により構造化がなされた新規データと既存データとの統合を名寄せにより行う。前記既存データは構造化データ保持部24に保存されており、効率的なマッチングのため構造化データ保持部24からインメモリデータベース25にロードされ、新規データの1つまたは複数の属性および値をキーとして、対応する既存データの属性および値との比較および統合を実行し、統合されたデータは構造化データ保持部24に保存される。比較対象となる属性の決定方法は、比較を行う属性群を事前に手動で設定する方法または自動クラスタリング方法の2種類を用いることができる。手動で設定する場合には、比較対象となる属性を選択する(例:「企業概要」比較項目;会社名,電話番号,商品)。いずれの方法においても、比較対象となる属性が選択され、比較と同一性の判断が行われる。 In step S13 (integration (name identification)), the new data structured by adding the tag information and the existing data are integrated by name identification. Said existing data is stored in the structured data holding unit 24 and is loaded from the structured data holding unit 24 into the in-memory database 25 for efficient matching and keyed by one or more attributes and values of the new data. , the attributes and values of corresponding existing data are compared and integrated, and the integrated data is stored in the structured data holding unit 24 . Two methods of determining attributes to be compared can be used: a method of manually setting a group of attributes to be compared in advance and an automatic clustering method. When setting manually, select the attributes to be compared (eg, "company overview" comparison item; company name, telephone number, product). In either method, attributes to be compared are selected, and comparison and identity determination are performed.

例えば、「電話番号」について統合を行う場合には、比較するデータ属性は、「代表電話番号」や「電話」等様々な記述形態が分散して現れる。これらの記述形態を「電話番号」と識別するために、データ表現パターンの正規表現および、データ属性度の類似を判別するためのモデルを用いる。このモデルはK-means法、LSTMおよびCBOW手法等の機械学習を用いた言語データを同一の用語であるか否かの判別をするためのモデルを組み合わせたものである。比較対象の属性に対応する値についても同様な手法により比較および統合が実行される。なお、属性の同一性が確認された場合であっても、値の同一性が確認されない場合もあり得る。その場合は、複数の属性の同一性が確認される場合またはデータ内容により主キー(インデックスとなり得る値を保持する)と考えられる属性の同一性が確認されることにより新規データと既存データがデータセットとして同一と判断される場合には、一の属性が複数の値を持つことも許容される。 For example, when "telephone number" is integrated, various description forms such as "main telephone number" and "telephone" appear dispersedly as data attributes to be compared. In order to identify these description forms as "telephone number", a regular expression of data expression patterns and a model for discriminating the similarity of data attribute degrees are used. This model is a combination of models for judging whether language data using machine learning such as the K-means method, LSTM, and CBOW method are the same terms. A similar method is used to compare and integrate the values corresponding to the attributes to be compared. Even if the identity of attributes is confirmed, the identity of values may not be confirmed. In that case, if the identity of multiple attributes is confirmed, or if the identity of the attribute that is considered to be the primary key (holding a value that can be an index) is confirmed by the data content, new data and existing data It is allowed for one attribute to have multiple values if it is determined that they are the same as a set.

前記統合(名寄せ)の具体例を以下に示す。データテーブル5とデータテーブル6のデータセットが前記統合の処理によりデータテーブル7またはデータテーブル8に示されるデータセットになる。なお、データテーブル5とデータテーブル6は便宜上、別のデータテーブルとして表しているが、同一のデータテーブルのデータセットであってもよい。 A specific example of the integration (name identification) is shown below. The data sets of the data table 5 and the data table 6 become the data set shown in the data table 7 or the data table 8 by the processing of integration. Although the data table 5 and the data table 6 are represented as separate data tables for convenience, they may be data sets of the same data table.

[例]データテーブル5
|企 業 名 |電 話 番 号 |商 品
既存|ABC株式会社|xxx-xxxx|リンゴ
[例]データテーブル6
|企 業 名 |代表電話番号 |商 品
新規|ABC株式会社| |果物
[Example] Data table 5
|Company name |Phone number |Product Existing|ABC Co., Ltd.|xxx-xxxx|Ringo [Example] Data table 6
|Company name |Representative phone number |Product New|ABC Corporation| |Fruit

[例]データテーブル7
|企 業 名 |電 話 番 号 |商 品
統合|ABC株式会社|xxx-xxxx|果物
[Example] Data table 7
|Company name |Phone number |Product integration|ABC Co., Ltd.|xxx-xxxx|Fruit

[例]データテーブル8
|企 業 名 |電 話 番 号 |商 品
統合|ABC株式会社|xxx-xxxx|果物、リンゴ
[Example] Data table 8
|Company name |Phone number |Product integration|ABC Co., Ltd.|xxx-xxxx|Fruits, apples

データセットの属性や値の重複が存在している場合には、従来、これを目視により排除していたが、前記統合(名寄せ)により、自動的にこの問題を解決することができ、一貫性が保たれたデータは、その後のデータの利活用における問題を低減できる。例えば、企業情報を保持するデータセットの値として重複する電話番号やメールアドレスが無いことにより、BtoBマーケティングを実行する場面において、システムエラーやヒューマンエラー等を誘発しない等の効果が期待できる。 Conventionally, if duplicates of attributes and values existed in the dataset, they were visually eliminated, but the above integration (name identification) can automatically solve this problem and improve consistency. The data in which the is maintained can reduce problems in subsequent utilization of the data. For example, since there are no duplicate telephone numbers or e-mail addresses in the data set that holds company information, it is possible to expect effects such as not inducing system errors or human errors in BtoB marketing.

なお、例えば、情報収集テーマが求人等である場合には、個人情報保護の観点から、前記統合(名寄せ)を実行すると同時に、人物名を匿名に置換する処理をすることも可能である。例えば、人物名をアルファベットまたは数値もしくはそれらの組み合わせで表記にすることが考えられるが、ある人物を特定できないようにすればよく、匿名化の方法はこれに限られない。 For example, if the theme of information collection is job recruitment, etc., from the viewpoint of personal information protection, it is possible to carry out a process of replacing the person's name with anonymity at the same time as executing the integration (name identification). For example, it is conceivable to write a person's name using alphabets, numerical values, or a combination thereof, but it is sufficient that a certain person cannot be specified, and the anonymization method is not limited to this.

ステップS14(構造化データ保存)は、前記統合(名寄せ)により統合された前記データセットを保持する前記データテーブルを構造化データ保持部24に保存する。なお、堅牢なセキュリティの観点から、前記保存をする際に、前記データテーブルまたは前記データテーブルに含まれるデータを自動的に暗号化する処理をすることも可能である。暗号化の手法は問わないが、1つの手法だけである必要はなく、複数の手法を用いてもよい。暗号化され保存されたデータ等は、読み込み時(必要となる時)に自動的に復号化される。また、暗号化されたデータ等を複製および圧縮し、自動的にバックアップを作成する機能を追加してもよい。 A step S14 (structured data storage) stores the data table holding the data set integrated by the integration (name identification) in the structured data storage unit 24. FIG. From the standpoint of strong security, it is possible to automatically encrypt the data table or the data contained in the data table when saving the data. Any encryption method may be used, but it is not necessary to use only one method, and a plurality of methods may be used. Encrypted and saved data is automatically decrypted when read (when needed). Also, a function of duplicating and compressing encrypted data and the like and automatically creating a backup may be added.

ステップS15は、テキストデータが取得された前記ウェブページが属しているディレクトリにおいて、前記ウェブページが最後のウェブページであるか否かを判断する。最後のウェブページではない場合には、NOに分岐しステップS2の処理工程に戻る。最後のウェブページであった場合には、YESに分岐し次のステップS16に進む。 A step S15 decides whether or not the web page is the last web page in the directory to which the web page from which the text data is acquired belongs. If it is not the last web page, branch to NO and return to the process of step S2. If it is the last web page, branch to YES and proceed to the next step S16.

ステップS16は、前記ディレクトリが最後のディレクトリであるか否かを判断する。最後のディレクトリではない場合には、NOに分岐しステップS2の処理工程に戻る。最後のディレクトリであった場合には、YESに分岐し処理を終了する。 A step S16 determines whether the directory is the last directory. If it is not the last directory, it branches to NO and returns to the process of step S2. If it is the last directory, branch to YES and terminate the process.

図7は、本発明の第一の実施形態の情報処理方法およびプログラムに係る情報処理装置1のインメモリデータベースの作成処理工程を示すフローチャートである。なお、インメモリデータベースは、一定量のデータの蓄積から生成される教師データ等の集合体ではなく、新語、用語等およびそれらと同時に使われる語句の集合体である。また、予め作成することは可能であるが、予め作成する必要はない。 FIG. 7 is a flow chart showing an in-memory database creation processing process of the information processing apparatus 1 according to the information processing method and program of the first embodiment of the present invention. Note that the in-memory database is not a set of training data generated from a fixed amount of data, but a set of new words, terms, and phrases used simultaneously with them. Moreover, although it is possible to create in advance, it is not necessary to create in advance.

インメモリデータベースの作成処理工程は、ステップS20からステップS26まで、上述した情報処理装置1の処理工程のステップS1からステップS3およびステップS6からステップS9と同様である。これら2つの処理工程は、同時並行して別々に実行されてもよいし、情報処理装置1の処理工程がインメモリデータベースの作成処理工程を代替して実行されてもよい。 The in-memory database creation processing steps are the same as steps S20 to S26 and steps S1 to S3 and steps S6 to S9 of the processing steps of the information processing apparatus 1 described above. These two processing steps may be executed separately in parallel, or the processing steps of the information processing apparatus 1 may be executed in place of the in-memory database creation processing steps.

以下、ステップS20からステップS26までの説明は割愛し、その後の処理工程を説明する。 Hereinafter, the explanation from step S20 to step S26 will be omitted, and the subsequent processing steps will be explained.

ステップS27(選別用データベースに登録)は、選別用データベースにインメモリデータベースに登録する候補となる用語等を登録する工程である。選別用データベースはインメモリデータベースと同様にRAM11に一時的に記憶されることを想定している。 Step S27 (registration in the selection database) is a step of registering candidate terms and the like to be registered in the in-memory database in the selection database. It is assumed that the sorting database is temporarily stored in the RAM 11 like the in-memory database.

選別用データベースに登録されるパターンは、2つある。直上のステップS26(品詞の結合パターンを自動生成)の処理後に登録されるパターンと図4の情報処理装置1の処理工程ステップS10でNOに分岐した場合である。 There are two patterns registered in the screening database. This is the case where the pattern registered after the process of step S26 (automatic generation of the part-of-speech combination pattern) immediately above and the processing process step S10 of the information processing apparatus 1 in FIG. 4 branch to NO.

ステップS28(最適手法の選択)は、前記選別用データベースに登録された用語を使用または利用して前記インメモリデータベース25に格納される各データテーブルを構築する際に用いられる手法を選択する。選択する手法としては、例えば、機械学習手法、統計的手法や深層学習手法等であって、これらの手法の中から精度向上のために最適な手法をケースバイケースで選択するアンサンブル手法を利用する。 Step S28 (selection of optimum method) selects a method to be used when constructing each data table stored in the in-memory database 25 using or utilizing the terms registered in the screening database. Methods to be selected include, for example, machine learning methods, statistical methods, and deep learning methods, and an ensemble method that selects the most suitable method for improving accuracy from these methods on a case-by-case basis is used. .

機械学習手法を例にあげると、自然言語処理系の機械学習手法である形態素解析技術等を用いてテキストデータを単語単位に分解し、解析対象のデータ全体における用語やデータの出現回数および出現パターンをカウントおよび分析し、単語とその出現頻度を示した辞書データと属性判別モデルを生成する。 Using machine learning techniques as an example, text data is broken down into words using morphological analysis technology, which is a natural language processing machine learning technique, and the number and pattern of occurrences of terms and data in the entire data to be analyzed is calculated. are counted and analyzed, and dictionary data showing words and their frequency of occurrence and an attribute discrimination model are generated.

また、統計的手法を例にあげると、各ウェブページを構成するテキスト群の中で、語句の出現頻度に基づいた意味解析を実施する。例えば、求人ウェブサイトを構成するウェブページの1つにおいて、「求人名:エンジニアポジション募集」という表現がある場合には、求人名という表現が求人関連のウェブページでは頻出しかつ意味のある語句であると判断するため、求人名が構造化を行うための属性情報と把握することができる。そして、求人名に従属するデータが、属性である求人名に対応する値(この場合「エンジニアポジション募集」)であると把握することが可能となり、属性と値の1つのパターンとして学習される。 Also, taking a statistical method as an example, semantic analysis is performed based on the appearance frequency of words in a group of texts forming each web page. For example, if one of the web pages that make up a recruitment website has the expression "job title: engineer position recruitment", the expression "job title" is a frequent and meaningful phrase on recruitment-related web pages. Therefore, it can be understood that the job title is attribute information for structuring. Then, it becomes possible to grasp that the data subordinate to the job offer name is the value (in this case, "Engineer position recruitment") corresponding to the job offer name, which is an attribute, and is learned as one pattern of attributes and values.

深層学習手法を用いた方法では、例えば、CBOW手法等を用いて、解析対象のデータがインプットされる入力層の単語単位のコンテンツ情報の偏りを把握し、コンテンツの主要な内容を言葉のまとまり単位で把握させる。また、単語単位の認識に対しては、新語、造語、専門用語や業界用語に追従させるために、予め作成された専用辞書データの利用と単語間での自動的なチャンキングを実施し、頻出する可能性が高い用語を自動的に辞書データ等に追加していく。例えば、仮想と通貨は通常分離した単語であるが、仮想通貨という偶然並ぶことのない単語が頻出する場合には、仮想通貨は一つの用語として認識させることができる。 In methods using deep learning techniques, for example, the CBOW technique is used to grasp the bias of content information on a word-by-word basis in the input layer into which the data to be analyzed is input, and the main contents of the content are identified by group-of-word units. comprehend with In addition, for word-by-word recognition, in order to follow new words, coined words, technical terms, and industry terms, we use dedicated dictionary data created in advance and automatically chunk between words to achieve frequent occurrences. Automatically add terms that are likely to be used to dictionary data. For example, "virtual currency" and "currency" are usually separate words, but when the word "virtual currency" appears frequently, the word "virtual currency" can be recognized as a single term.

ステップS29(インメモリデータベースに登録)は、前記最適な手法による選別または生成された辞書データ、モデル、パターンまたは新語等をインメモリデータベースに登録し、処理を終了する。但し、ステップS27において、前記選別用データベースに登録されるパターンが、図4の情報処理装置1の処理工程ステップS10でNOに分岐した場合であるときには、処理は終了せずに、図4の情報処理装置1の処理工程ステップS11に遷移する。なお、堅牢なセキュリティの観点から、前記登録をする際に、辞書データ、モデル、パターンまたは新語等もしくはそれらに含まれるデータを自動的に暗号化する処理をすることも可能である。暗号化の手法は問わないが、1つの手法だけである必要はなく、複数の手法を用いてもよい。暗号化され登録されたデータ等は、読み込み時(必要となる時)に自動的に復号化される。また、暗号化されたデータ等を複製および圧縮し、自動的にバックアップを作成する機能を追加してもよい。 Step S29 (Register in in-memory database) registers in the in-memory database the dictionary data, models, patterns, new words, etc. selected or generated by the optimum method, and ends the process. However, in step S27, when the pattern registered in the selection database is a case where the processing process step S10 of the information processing apparatus 1 in FIG. The process transitions to step S<b>11 of the processing process of the processing apparatus 1 . From the standpoint of strong security, it is possible to automatically encrypt dictionary data, models, patterns, new words, etc., or data contained therein, when performing the registration. Any encryption method may be used, but it is not necessary to use only one method, and a plurality of methods may be used. Encrypted and registered data is automatically decrypted when it is read (when needed). Also, a function of duplicating and compressing encrypted data and the like and automatically creating a backup may be added.

以上のように構築されたインメモリデータベースは、図4の情報処理装置1の処理工程ステップS11でマッチングに使用される。前記インメモリデータベースを使用することにより、データの高速かつテーマに沿ったマッチングと言語の流行り廃れ等に対応した高度な構造化を実行することが可能となる。 The in-memory database constructed as described above is used for matching in the process step S11 of the information processing apparatus 1 in FIG. By using the in-memory database, it is possible to perform high-speed matching of data according to a theme and advanced structuring corresponding to language fads and the like.

[第二実施形態]
第二実施形態は、構造化の対象となるデータがドキュメントファイルに含まれる場合の例である。
[Second embodiment]
The second embodiment is an example in which data to be structured is included in a document file.

第二実施形態および後述する第三実施形態については、構成(システム全体構成、ハードウェア構成、機能および処理構成)が第一実施形態の構成と同様であるため、それらは割愛する。 The configurations of the second embodiment and the third embodiment, which will be described later, are the same as those of the first embodiment (the overall system configuration, hardware configuration, functions, and processing configuration), so they are omitted.

図8は、本発明の第二の実施形態の情報処理方法およびプログラムに係る情報処理装置1の処理工程を示すフローチャートである。なお、ステップS30までは、第一実施形態の情報処理装置1の処理工程(図4)のステップS1からステップS4と同様であるため、それらの説明は割愛し、その後の処理工程を説明する。 FIG. 8 is a flow chart showing processing steps of the information processing apparatus 1 according to the information processing method and program of the second embodiment of the present invention. Note that steps up to step S30 are the same as steps S1 to S4 of the processing steps (FIG. 4) of the information processing apparatus 1 of the first embodiment, so description thereof will be omitted and subsequent processing steps will be described.

ステップS30(ドキュメントタイプの判別)は、第一実施形態に係る図4のステップS4(データ種類判別)でドキュメントファイルが検出され、ステップS5においてYESに分岐した場合において、前記ドキュメントファイルがその後の処理の対象となり得るか否か、主にファイル拡張子によりドキュメントタイプを判別する。前記ドキュメントタイプが文書、表計算、プレゼンテーション、PDF、XMLのいずれかであった場合には、ステップS32に進み(ステップS31 YES)、それ以外の場合にはステップS35(テキストの構造化)に遷移する(ステップS31 NO)。 In step S30 (document type determination), when a document file is detected in step S4 (data type determination) of FIG. The document type is determined mainly by the file extension as to whether or not it can be the target of If the document type is any of document, spreadsheet, presentation, PDF, and XML, proceed to step S32 (step S31 YES), otherwise proceed to step S35 (text structuring). (step S31 NO).

ステップS32は、文書、表計算、プレゼンテーション、PDFまたはXMLタイプの前記ドキュメントファイルのデータにテーブル(表)形式のデータが存在するか否かを検出する。前記テーブル形式のデータが確認された場合には、次のステップS33に進み(YES)、それ以外の場合にはステップS35(通常テキストの構造化)に遷移する(NO)。 A step S32 detects whether data in a table format exists in the data of the document file of document, spreadsheet, presentation, PDF or XML type. If the data in the table format is confirmed, the process proceeds to the next step S33 (YES), otherwise, the process proceeds to step S35 (structuring of normal text) (NO).

ステップS33(テーブル等の抽出)は、前記ドキュメントファイルからテーブル形式のデータをテーブル形式のままの状態で抽出する。データは、通常、以下データテーブル9または10のようなフォーマットで抽出される。 In step S33 (extraction of table, etc.), data in table format is extracted from the document file while it is in table format. The data is typically extracted in a format such as Data Tables 9 or 10 below.

[例]データテーブル9
項番|企 業 名 |資 本 金|
1|ABC株式会社|100万円|
[Example] Data table 9
Item number|Company name|Capital|
1 | ABC Co., Ltd. | 1 million yen |

[例]データテーブル10
項 番|1
企業名|ABC株式会社
資本金|100万円
[Example] Data table 10
Item No. 1
Company name | ABC Co., Ltd. Capital | 1 million yen

ステップS34(テーブル等の構造化)は、データの従属関係(属性と値)を把握し、インデックスとなり得るデータを検出および設定することにより、行または列毎にデータをまとめ、データセットを作成し、構造化を完了する。 Step S34 (structuring of tables, etc.) comprehends data dependencies (attributes and values), detects and sets data that can be used as indexes, and organizes data for each row or column to create a data set. , to complete the structuring.

構造化の方法には2つある。(1)インメモリデータベースを利用する方法と(2)第一実施形態で説明した統計的手法を利用する方法である。 There are two methods of structuring. (1) a method using an in-memory database; and (2) a method using the statistical method described in the first embodiment.

(1)の方法ではまず、前記テーブル形式のデータの最初の行または最初の列に入力されているデータの各々とインメモリデータベースを構成する各データテーブルの属性列または属性行に入力されている各々のデータをマッチングする。そして、前記最初の行または前記最初の列のいずれかでマッチしたデータの出現回数が多いほうをそれぞれ属性行または属性列とする。 In the method (1), first, each of the data entered in the first row or first column of the data in the table format and the attribute column or attribute row of each data table constituting the in-memory database Match each data. Then, either the first row or the first column, whichever has the greater number of occurrences of matching data, is set as the attribute row or the attribute column, respectively.

属性行を設定した場合には、前記テーブル形式のデータを行毎にデータセットとしてまとめ、属性列を設定した場合には、データを列毎にデータセットとしてまとめることにより、データを構造化する。 When the attribute row is set, the data in the table format are grouped as a data set for each row, and when the attribute column is set, the data are grouped as a data set for each column, thereby structuring the data.

前記データを行毎にまとめる場合、列毎にまとめる場合、いずれも場合も以下の例のようなフォーマットでデータを構造化する。
[例]データテーブル11
項番:1,会社名:A社,資本金:100万円
項番:2,会社名:B社,資本金:1億円
・・:・・・・・
Whether the data is organized by rows or by columns, the data is structured in a format such as the following example.
[Example] Data table 11
Item number: 1, Company name: Company A, Capital: 1 million yen Item number: 2, Company name: Company B, Capital: 100 million yen ・・・・・・・・・・・・

以上データテーブル11「項番」に属する値は、第一実施形態において説明した機械学習手法を使用して出現パターンや文字種を分析することにより、数字の連続であり、各値が一意であることが分かる。よって、属性「項番」とその値をインデックスとして設定する。なお、インデックスとして設定する値が検出されない場合には、データセットの先頭に属性(例えば「項番」)と1から始まる連続する数値等を追加することも可能である。 The values belonging to the above data table 11 "item number" are a series of numbers and each value is unique by analyzing the appearance pattern and character type using the machine learning method described in the first embodiment. I understand. Therefore, set the attribute "item number" and its value as an index. If a value to be set as an index is not detected, it is possible to add an attribute (for example, "item number") and consecutive numerical values starting from 1 at the beginning of the data set.

(2)の方法では、前記ドキュメントファイルを構成するテキスト群の中で、第一実施形態の場合と同様に語句の出現頻度に基づいた意味解析を実施する。 In method (2), semantic analysis is performed based on the appearance frequency of words in the text group that constitutes the document file, as in the case of the first embodiment.

例えば、前記ドキュメントファイルが企業のIR関連資料である場合には、「会社名」「資本金」といった単語が頻出しかつ資料との関連性があると判断する。したがって、例えば、以上データテーブル9では、最初の行が属性の集合であると判断できる。また、「項番」という単語の意味からすると、「項番」という属性に対応する値は、その右方向に並ぶ「会社名」や「資本金」ではなく、下方向に並ぶ数値である可能性が高いことからも最初の行に属性があることを確認できる。 For example, if the document file is IR-related material for a company, it is determined that words such as "company name" and "capital" appear frequently and are related to the material. Therefore, for example, in the above data table 9, it can be determined that the first row is a set of attributes. Also, considering the meaning of the word "item number", the value corresponding to the attribute "item number" may not be the "company name" or "capital" aligned to the right, but the numbers aligned downward. It can be confirmed that there is an attribute in the first row also from the fact that the probability is high.

属性である「項番」を先頭にして行毎にデータセットがあることを判別した後は、(1)の方法の場合と同様に前記データを行毎にまとめ、データテーブル11と同様の形式で前記データを構造化する。なお、最初の列が属性の集合であると判断した場合の処理も同様である。 After determining that there is a data set for each row with the attribute "item number" at the beginning, the data is summarized for each row in the same manner as in method (1), and the same format as the data table 11 Structure the data with The same applies to the case where it is determined that the first column is a set of attributes.

ステップS35(テキストの構造化)は、行毎にまたは列毎にまとめる前記テーブル形式のデータが存在しなくなった場合もしくは前記テーブル形式のデータが最初から存在しなかった場合に、前記テーブル形式のデータ以外の一般のテキスト部分について構造化を行う。前記テキスト部分の構造化は、第一実施形態と同様の方法(ステップS6~ステップS12)で行う。なお、前記テキスト部分が存在しなかった場合は、テキストの構造化処理は行わない。 In step S35 (text structuring), when the data in the table format organized row by row or column by column no longer exists or when the data in the table format did not exist from the beginning, the data in the table format Structuring general text parts other than The structuring of the text portion is performed by the same method (steps S6 to S12) as in the first embodiment. Note that if the text portion does not exist, text structuring processing is not performed.

前記テキスト部分の構造化を完了すると第一実施形態に係る図4ステップS13(統合(名寄せ))の処理工程に遷移し、その後の処理工程は、第一実施形態と同様である。 When the structuring of the text portion is completed, the process transitions to step S13 (integration (name identification)) in FIG. 4 according to the first embodiment, and the subsequent processes are the same as in the first embodiment.

[第三実施形態]
第三実施形態は、構造化の対象となるデータが音声または動画ファイルに含まれる場合の例である。
[Third embodiment]
The third embodiment is an example in which data to be structured is included in an audio or video file.

図9は、本発明の第三の実施形態の情報処理方法およびプログラムに係る情報処理装置1の処理工程を示すフローチャートである。なお、ステップS40までは、第一実施形態の情報処理装置1の処理工程(図4)のステップS1からステップS4と同様であるため、それらの説明は割愛し、その後の処理工程を説明する。 FIG. 9 is a flow chart showing processing steps of the information processing apparatus 1 according to the information processing method and program of the third embodiment of the present invention. Note that steps up to step S40 are the same as steps S1 to S4 of the processing steps (FIG. 4) of the information processing apparatus 1 of the first embodiment, so the description thereof will be omitted and the subsequent processing steps will be described.

ステップS40(音声/動画タイプの判別)は、第一実施形態に係る図4のステップS4(データ種類判別)でドキュメントファイルが検出され、ステップS5においてYESに分岐した場合において、前記音声または動画ファイルがその後の処理の対象となり得るか否か、主にファイル拡張子により前記音声または動画ファイルのタイプを判別する。処理の対象のタイプを検出できなかった場合には、処理を中止する。 Step S40 (determination of audio/video type) is performed when a document file is detected in step S4 (data type determination) of FIG. The type of the audio or video file is determined, mainly by the file extension, whether it can be subjected to further processing. If the type of object to be processed cannot be detected, the process is aborted.

ステップS41(音声のテキスト化)は、音声ファイルの場合には音声を、動画ファイルの場合には音声部分を音声認識モジュールによりテキスト化する。 In step S41 (converting speech into text), speech is converted into text by the speech recognition module in the case of an audio file, and the speech portion in the case of a moving image file.

音声ファイルの音声または動画ファイルの音声部分のテキスト化を完了すると、第一実施形態に係る図4ステップ23(データクレンジング)の処理工程に遷移し、その後の処理工程は、第一実施形態と同様である。 When the audio of the audio file or the audio part of the video file has been converted to text, the process transitions to step 23 (data cleansing) in FIG. 4 according to the first embodiment, and the subsequent processing is the same as in the first embodiment. is.

本発明の実施形態の説明は以上であるが、上述した本発明の実施形態は、代表的な実施形態を列挙したに過ぎず、上述した実施形態に限られない。また、上述した本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、上述した本発明の実施例に記載された効果に限られない。 Although the embodiments of the present invention have been described above, the above-described embodiments of the present invention are merely enumerations of typical embodiments, and are not limited to the above-described embodiments. Further, the effects described in the above-described embodiments of the present invention are merely enumerations of the most suitable effects resulting from the present invention, and the effects of the present invention are not limited to the effects described in the above-described embodiments of the present invention. Not limited.

1 情報処理装置
2 コンテンツサーバ
10 CPU
11 RAM
12 記憶装置
13 通信インターフェース
14 入力装置
15 出力装置
20 データ取得部
21 ディレクトリ構造抽出部
22 データクレンジング部
23 データ構造部
24 構造化データ保持部
25 インメモリデータベース
1 information processing device 2 content server 10 CPU
11 RAM
12 storage device 13 communication interface 14 input device 15 output device 20 data acquisition unit 21 directory structure extraction unit 22 data cleansing unit 23 data structure unit 24 structured data holding unit 25 in-memory database

Claims (7)

情報処理装置が、ネットワークアドレスにより指定されたデータとそのデータ内で推定されるネットワークアドレスにより指定されたデータからテキストデータを収集するステップと、
前記テキストデータを整形するステップと、
前記整形により整形されたテキストデータから最適な抽出手法を自動的に選択することにより必要な情報を抽出するステップと、
前記情報の各々を一時的記憶領域に実装された構造化処理用データベースを使用して付加情報を追加することにより構造化をするステップと、
前記構造化により構造化がなされた情報を一時的記憶領域に実装された補正処理用データベースを使用して補正するステップと、を少なくとも実行することを特徴とする情報処理方法。
an information processing device collecting text data from data specified by a network address and data specified by a network address estimated in the data;
formatting the text data;
a step of extracting necessary information by automatically selecting an optimum extraction method from the text data formatted by the shaping;
structuring each of the information by adding additional information using a structuring processing database implemented in a temporary storage area;
and a step of correcting the information structured by the structuring by using a correction processing database mounted in a temporary storage area.
情報処理装置が、ネットワークアドレスにより指定されたデータとそのデータ内で推定されるネットワークアドレスにより指定されたデータのデータタイプを判別するステップと、
前記データタイプに適した方法により前記データからテキストデータを収集するステップと、
前記収集により収集されたデータを整形するステップと、
前記整形により整形されたデータから最適な抽出手法を自動的に選択することにより必要な情報を抽出するステップと、
前記抽出により抽出された情報の各々を一時的記憶領域に実装された構造化処理用データベースを使用して付加情報を追加することにより情報の構造化をするステップと、
前記構造化により構造化がなされた情報を一時的記憶領域に実装された補正処理用データベースを使用して補正するステップと、を少なくとも実行することを特徴とする情報処理方法。
a step in which the information processing device determines the data type of the data specified by the network address and the data specified by the network address estimated in the data;
collecting text data from the data by a method appropriate for the data type;
shaping the data collected by said collecting;
a step of extracting necessary information by automatically selecting an optimum extraction method from the data shaped by the shaping;
structuring information by adding additional information to each of the information extracted by said extraction using a database for structuring processing implemented in a temporary storage area;
and a step of correcting the information structured by the structuring by using a correction processing database mounted in a temporary storage area.
前記データタイプが音声、動画または文書ファイルのいずれかである請求項2に記載の情報処理方法。 3. The information processing method according to claim 2, wherein said data type is either audio, moving image or document file. 前記構造化をするステップにおいて、前記構造化処理用データベースに存在しない新たな語句が前記情報内に存在した場合は、前記語句を前記構造化処理用データベースに登録するステップを実行する請求項1から請求項3のいずれかに記載の情報処理方法。 2. From claim 1, wherein, in said structuring step , if a new word/phrase that does not exist in said structuring processing database exists in said information, a step of registering said word/phrase in said structuring processing database is executed. The information processing method according to claim 3 . 前記一時的記憶領域に実装された構造化処理用データベースまたは補正処理用データベースに保持されているデータ中に人物に関するデータがある場合は、データの統合をすると同時に人物の氏名を匿名化するステップを実行することを特徴とする請求項1から請求項4のいずれかに記載の情報処理方法。 If there is data about a person in the data held in the database for structuring processing or the database for correction processing implemented in the temporary storage area, a step of anonymizing the name of the person at the same time as integrating the data. 5. The information processing method according to claim 1, wherein: 前記一時的記憶領域に実装された構造化処理用データベースおよび補正処理用データベースに保持されているデータが自動的に暗号化され、データのマッチング、データの統合およびデータの補正をする時にのみ複合化されるステップを実行することを特徴とする請求項1から請求項5のいずれかに記載の情報処理方法。 The data held in the structuring processing database and correction processing database implemented in the temporary storage area are automatically encrypted, and decrypted only when data matching, data integration, and data correction are performed. 6. The information processing method according to any one of claims 1 to 5, characterized in that a step to be executed is executed. 請求項1から請求項6のいずれかに記載の情報処理方法をコンピュータ上で実行することを特徴としたプログラム。 A program for executing the information processing method according to any one of claims 1 to 6 on a computer.
JP2021010352A 2021-01-26 2021-01-26 Method and program for efficiently structuring and correcting open data Active JP7116940B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021010352A JP7116940B2 (en) 2021-01-26 2021-01-26 Method and program for efficiently structuring and correcting open data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021010352A JP7116940B2 (en) 2021-01-26 2021-01-26 Method and program for efficiently structuring and correcting open data

Publications (2)

Publication Number Publication Date
JP2021077393A JP2021077393A (en) 2021-05-20
JP7116940B2 true JP7116940B2 (en) 2022-08-12

Family

ID=75898231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021010352A Active JP7116940B2 (en) 2021-01-26 2021-01-26 Method and program for efficiently structuring and correcting open data

Country Status (1)

Country Link
JP (1) JP7116940B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207407A (en) 1999-01-13 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> Method and device for extracting information and storage medium with information extraction program stored therein
JP2001325284A (en) 2000-05-12 2001-11-22 Nippon Telegr & Teleph Corp <Ntt> Method and device for extracting information from table structure area and recording medium stored with information extracting program
JP2006139599A (en) 2004-11-12 2006-06-01 Kentaro Fujii Information distribution device, system, program, and method
JP2012099138A (en) 2005-03-02 2012-05-24 Google Inc Generation of structured information
JP2017146924A (en) 2016-02-19 2017-08-24 ヤフー株式会社 Content collection device, content collection method, and content collection program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207407A (en) 1999-01-13 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> Method and device for extracting information and storage medium with information extraction program stored therein
JP2001325284A (en) 2000-05-12 2001-11-22 Nippon Telegr & Teleph Corp <Ntt> Method and device for extracting information from table structure area and recording medium stored with information extracting program
JP2006139599A (en) 2004-11-12 2006-06-01 Kentaro Fujii Information distribution device, system, program, and method
JP2012099138A (en) 2005-03-02 2012-05-24 Google Inc Generation of structured information
JP2017146924A (en) 2016-02-19 2017-08-24 ヤフー株式会社 Content collection device, content collection method, and content collection program

Also Published As

Publication number Publication date
JP2021077393A (en) 2021-05-20

Similar Documents

Publication Publication Date Title
Hill et al. Quantifying the impact of dirty OCR on historical text analysis: Eighteenth Century Collections Online as a case study
JP4467184B2 (en) Semantic analysis and selection of documents with knowledge creation potential
US9639609B2 (en) Enterprise search method and system
Urvoy et al. Tracking web spam with html style similarities
JP2014041615A (en) Method and system with high performance data meta tag using coprocessor and with data index
KR20160107187A (en) Coherent question answering in search results
WO2013148852A1 (en) Named entity extraction from a block of text
NZ553484A (en) Text management software
US20050004902A1 (en) Information retrieving system, information retrieving method, and information retrieving program
US20100185438A1 (en) Method of creating a dictionary
de Vargas Feijó et al. Rulingbr: A summarization dataset for legal texts
Konchady Building Search Applications: Lucene, LingPipe, and Gate
CN115438162A (en) Knowledge graph-based disease question-answering method, system, equipment and storage medium
JP6409071B2 (en) Sentence sorting method and calculator
US11361565B2 (en) Natural language processing (NLP) pipeline for automated attribute extraction
CN114692620A (en) Text processing method and device
JP5447368B2 (en) NEW CASE GENERATION DEVICE, NEW CASE GENERATION METHOD, AND NEW CASE GENERATION PROGRAM
JP7116940B2 (en) Method and program for efficiently structuring and correcting open data
JP2007011973A (en) Information retrieval device and information retrieval program
Fatima et al. STEMUR: An automated word conflation algorithm for the Urdu language
JP3937741B2 (en) Document standardization
Hajbi et al. Natural Language Processing Based Approach to Overcome Arabizi and Code Switching in Social Media Moroccan Dialect
JP5206296B2 (en) Similar sentence extraction program, method and apparatus
JP7227705B2 (en) Natural language processing device, search device, natural language processing method, search method and program
CN112380337A (en) Highlight method and device based on rich text

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220716

R150 Certificate of patent or registration of utility model

Ref document number: 7116940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150