JP7393357B2 - 陽性パターンマッチング例および陰性パターンマッチング例に基づく正規表現生成 - Google Patents
陽性パターンマッチング例および陰性パターンマッチング例に基づく正規表現生成 Download PDFInfo
- Publication number
- JP7393357B2 JP7393357B2 JP2020568989A JP2020568989A JP7393357B2 JP 7393357 B2 JP7393357 B2 JP 7393357B2 JP 2020568989 A JP2020568989 A JP 2020568989A JP 2020568989 A JP2020568989 A JP 2020568989A JP 7393357 B2 JP7393357 B2 JP 7393357B2
- Authority
- JP
- Japan
- Prior art keywords
- regular expression
- characters
- character sequences
- character
- determining
- 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
Links
- 230000014509 gene expression Effects 0.000 title claims description 536
- 238000000034 method Methods 0.000 claims description 90
- 238000012545 processing Methods 0.000 claims description 49
- 239000012634 fragment Substances 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 description 150
- 230000008569 process Effects 0.000 description 49
- 238000004891 communication Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 21
- 230000008901 benefit Effects 0.000 description 15
- 238000006467 substitution reaction Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000013459 approach Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000000605 extraction Methods 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 6
- 239000011521 glass Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 238000013403 standard screening design Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000013068 supply chain management Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 240000005020 Acaciella glauca Species 0.000 description 1
- 241000238558 Eucarida Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 235000013615 non-nutritive sweetener Nutrition 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006722 reduction reaction Methods 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000003325 tomography Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2323—Non-hierarchical techniques based on graph theory, e.g. minimum spanning trees [MST] or graph cuts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- 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
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/146—Coding or compression of tree-structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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/19—Recognition using electronic means
- G06V30/196—Recognition using electronic means using sequential comparisons of the image signals with a plurality of references
- G06V30/1983—Syntactic or structural pattern recognition, e.g. symbolic string recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Discrete Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Description
本出願は、米国特許法第119条(e)に基づき、2018年6月13日に提出された「AUTOMATED GENERATION OF REGULAR EXPRESSIONS(自動化された正規表現生成)」と題される米国仮特許出願第62/684,498号に対する優先権を主張し、および米国特許法第119条(e)に基づき、2018年10月22日に提出された「AUTOMATED GENERATION OF REGULAR EXPRESSIONS(自動化された正規表現生成)」と題される米国仮特許出願第62/749,001号に対する優先権を主張する。米国仮特許出願第62/684,498号および第62/749,001号の全内容は、あらゆる目的のために参照により本明細書に組み込まれる。
ビッグデータ解析システムは、予測解析、ユーザ挙動解析、および他の高度なデータ解析に使用することができる。しかしながら、有用な結果を提供するために任意のデータ解析が効果的に実行される前に、最初のデータセットは、クリーンかつキュレートされたデータセットにフォーマットされる必要があり得る。このデータオンボード化は、多くの場合、さまざまな異なるデータソースおよび/またはデータストリームからのデータが単一のデータリポジトリにコンパイルされ得るクラウドベースのデータリポジトリならびに他のビッグデータシステムに対する課題を提示する。そのようなデータは、複数の異なるフォーマットの構造化データ、異なるデータモデルに従った半構造化データ、およびさらには非構造化データを含み得る。そのようなデータのリポジトリは、多くの場合、さまざまな異なるフォーマットおよび構造内のデータ表現を含み、重複データおよび誤ったデータを含む場合もある。これらのデータリポジトリが報告、予測モデリング、および他の解析タスクのために解析されるとき、初期データセットの低信号対雑音比は、不正確であるかまたは有用でない結果につながり得る。
本明細書で説明される態様は、正規表現を生成するためのさまざまな技法を提供する。本明細書で使用される場合、「正規表現」は、より長い入力テキストストリング内のマッチを検索するために使用され得る、パターンを定義するキャラクタのシーケンスを指し得る。いくつかの実施形態では、正規表現は、記号のワイルドカードマッチング言語を使用して構成されてもよく、正規表現によって定義されたパターンは、キャラクタストリングとマッチするよう、および/または入力として与えられるキャラクタストリングから情報を抽出するよう、使用されてもよい。本明細書で説明するさまざまな実施形態では、データ処理システムとして実現される正規表現生成器を使用して、入力テキストデータを受信および表示し、クライアントユーザインターフェイスを介して入力テキストの特定のキャラクタサブセットの選択を受け取り、次いで、選択されたキャラクタサブセットに基づいて1つまたは複数の正規表現を生成することができる。1つまたは複数の正規表現を生成した後、正規表現エンジンを使用して、正規表現のパターンを1つまたは複数のデータセットに対してマッチさせることができる。さまざまな実施形態において、正規表現にマッチするデータは、抽出、再フォーマット、または修正などされてもよい。場合によっては、正規表現にマッチするデータに基づいて、追加の列、テーブル、または他のデータセットが作成されてもよい。
以下の記載では、説明を目的として、本発明のさまざまな実施形態の完全な理解のために、多数の具体的な詳細が記載される。しかしながら、本発明の実施形態は、これらの具体的な詳細のいくつかを伴わずに実施され得ることが当業者には明白であろう。他の例では、周知の構造およびデバイスがブロック図の形で示される。
本明細書に開示されるさまざまな実施形態は、正規表現の生成に関連する。いくつかの実施形態では、正規表現生成器として構成されるデータ処理システムは、正規表現コード(たとえばカテゴリコード)の異なるセットによって共有される最長共通サブシーケンス(LCS)を識別することによって正規表現を生成することができる。正規表現コードの各セットは、ユーザインターフェイスを介して入力データとして受け取られるキャラクタのシーケンスから変換され得る。本明細書で説明する技術的利点のうち、入力データを中間コード(たとえば、正規表現コード、スパンなど)として抽象化することにより、非常に少ない入力データを使用して正規表現を効率的に生成することができる。
上述したように、本明細書で説明するいくつかの態様は、入力データに対応する正規表現コードの異なるセットによって共有される最長共通サブシーケンス(LCS)の計算に基づく正規表現の生成に関する。
本明細書で説明するさらなる態様は、3つ以上のストリング(たとえば3つ以上の別個のキャラクタシーケンス)を含む入力データに基づく正規表現の生成に関する。3つ以上のストリングが入力データとして識別される場合、正規表現生成器110は、LCSアルゴリズム実行のシーケンスに対して最適な順序が判断される性能最適化特徴を使用し得る。以下で説明するように、3つ以上のストリングに関する性能最適化機能は、各ストリングに対応する頂点と、各ストリングと他のすべてのストリングとの間のLCS出力のサイズに基づき得るエッジ長さ/重みとでグラフを構築することを含み得る。次いで、それらのエッジ重みを使用して最小スパニングツリーが導出され得、入力ストリングの順序を判断するために、深さ優先トラバースが実行され得る。最後に、判断された入力ストリングの順序を使用して、一連のLCSアルゴリズムが行われてもよい。
本明細書で説明するさらなる態様は、陽性および陰性の両方の例に対応する入力データに基づいて正規表現を生成することに関する。上述したように、陽性例は、正規表現生成器によって生成される正規表現にマッチするべき例のストリングとして指定される入力データキャラクタシーケンスを指し得る。一方、陰性例は、正規表現生成器によって生成される正規表現とマッチするべきでない例のストリングとして指定される入力データキャラクタシーケンスを指し得る。以下で説明するように、いくつかの実施形態では、正規表現生成器110は、位置、およびその位置で陽性例を陰性例から区別するキャラクタの最短サブシーケンスを識別するように構成され得る。次いで、最短サブシーケンスは、生成された正規表現にハードコード化され得、陽性例は正規表現とマッチすることになり、陰性例は正規表現によって除外される(たとえばマッチしない)ことになる。
|Fp|=アフィックスの曖昧性を除去するために必要とされる陽性例からの一意のテキストフラグメントの数
|Fn|=アフィックスの曖昧性を除去するために必要とされる陰性例からの一意のテキストフラグメントの数
|Ep|=ユーザによって提供される(完全な)陽性例の数
|En|=ユーザによって提供される(完全な)陰性例の数
上記の例では、ヒューリスティックは、より長い曖昧性除去テキストフラグメント(したがって、たとえば、kaによる乗算)よりもより短い曖昧性除去テキストフラグメントを好むように設計される。ヒューリスティックはまた、可読性を改善するよう、サフィックス(したがって、たとえば、サフィックスに対する0.1のペナルティ)よりもプレフィックスを好むように設計される。最後に、ヒューリスティックは、より長いプレフィックスまたはサフィックスの曖昧性除去(たとえば置換)を、より多数のストリングフラグメント(したがって、たとえば、置換されるべきストリングフラグメントの数を二乗)を使用することによる曖昧性除去よりも好むように設計される。
本明細書で説明する追加の態様は、正規表現の生成に関連するグラフィカルユーザインターフェイス内にいくつかの異なる特徴および機能を含む。以下で説明するように、これらの特徴のうちのあるものは、ユーザ選択のためのさまざまな選択肢、および陽性例および陰性例の強調表示、陽性例および陰性例のカラーコード化、ならびにデータセル内の複数の重複/ネストされた強調表示を含み得る。
本明細書で説明されるさらなる態様は、1つまたは複数のデータ入力キャラクタシーケンスからのLCSアルゴリズムに基づく正規表現の生成に関するが、正規表現生成器110は、例のいくつかのみに存在するキャラクタを取り扱うこともできる。いくつかの入力例においてのみ存在するキャラクタを取り扱うために、正規表現コードの最小発生数および最大発生数の両方が追跡されるスパンが定義され得る。たとえば、「9pm」および「9 pm」のキャラクタシーケンス入力については、数字と「pm」テキストとの間に任意選択の空白が存在する。そのような場合、所与の入力例のすべてに一定のスパン(たとえば「9」と「pm」との間の単一の空白)が存在しないかもしれない場合、最小発生数はゼロに設定されてもよい。次いで、これらの最小数および最大数は、正規表現マルチプリシティ構文にマッピングされ得る。最長共通サブシーケンス(LCS)アルゴリズムを、すべての入力例に現れない「任意選択の」スパン(たとえばゼロの最小長さ)を含む、入力例から導出されたキャラクタのスパン上で実行してもよい。以下で説明するように、連続するスパンは、LCSアルゴリズムの実行中にマージされてもよい。そのような場合において、一緒に担持される追加の任意選択のスパンが連続して出現することに終わるとき、LCSアルゴリズムは、それらの任意選択のスパン上でも同様に再帰的に実行されてもよい。すなわち、LCSアルゴリズムの実行は、その性質上、再帰的であるが、これらの場合、LCSアルゴリズム全体を、再帰的に実行してもよい(たとえば、再帰的LCSアルゴリズムを再帰的に実行する)。他の技術的利点の中でもとりわけ、これは、より短く、よりクリーンで、より可読性のある正規表現生成を可能にし得る。たとえば、(am| am)(すなわち、amの前に任意選択の空白を有する)は、LCSアルゴリズムを再帰的に実行せずに生成されるかもしれず、一方、LCSアルゴリズムを再帰的に実行すると、正規表現は、より短く、よりクリーンな( ?am)として生成される結果となり得る。
本明細書で説明されるさらなる態様は、正規表現生成器110によって実行されるLCSアルゴリズムが複数回実行されて、「正しい」正規表現(たとえば、すべての所与の陽性例と適切にマッチし、すべての所与の陰性例を適切に除外する正規表現)を生成し得る、および/または最も望ましいもしくは最適な正規表現が選択され得る複数の正しい正規表現を生成し得るコンビナトリック探索に関する。たとえば、コンビナトリック探索中、全LCSアルゴリズムおよび正規表現生成処理は、テキスト処理方向の異なる組み合わせ/置換、異なる位置指定、およびLCSアルゴリズムの他の異なる特性を含めて、複数回実行されてもよい。
2.通常(右から左へ)の順序、カレット^を使用して行の始まりに対して位置指定する
3.通常(右から左へ)の順序、ドル$を使用して行の終わりに対して位置指定する
4.逆(左から右へ)の順序、始まりまたは終わりに対して位置指定しない
5.逆(左から右へ)の順序、カレット^を使用して行の始まりに対して位置指定する
6.逆(左から右へ)の順序で、ドル$を使用して行の終わりに対して位置指定する
この例では、LCSの6つの実行のうち、最も短い結果の正規表現が選択されてもよい(ステップ2006)。
・位置指定子(3)(値=^, $, またはどちらもない)
・空白をプッシュ(2)(値=YesまたはNo)
・低濃度スパンのワイルドカードへの合体(2)(値=YesまたはNo)
・Greedy量指定子?(2)(値=YesまたはNo)
・LCSアルゴリズムの共通トークン上での整列(2)(値=YesまたはNo)
・別のスパンとして扱われる文字「/pL」および数字「/pN」を保持することに対して、英数字を表すよう「/w」を使用(2)(値=YesまたはNo)
上述したように、この例では、完全なLCSアルゴリズムは96回(たとえば3*2*2*2*2*2=96)実行される。
・位置指定(3):BEGINNING_OF_LINE_MODE(行の始まりモード), END_OF_LINE_MODE (行の終わりモード), NO_EOL_MODE (行の終わりなしモード)
・順序/方向(2):右から左(通常)LCS対左から右(逆)LCS
・プッシュ(2):LCSアルゴリズム内で空白を右にプッシュしようとするか否か
・ワイルドカードに圧縮(2):時々発生するにすぎないスパンの長いシーケンスをワイルドカード.*?に圧縮しようとするか否か
この例におけるコンビナトリックは、完全なアルゴリズムを3*2*2*2=24回実行する結果となり得る。次いで、正規表現生成器110は、LCSアルゴリズムの24個の結果のうち最良のものを取り得、ここで、「最良」とは、(a)LCSアルゴリズムが成功したこと、および(b)最短正規表現が生成されたこと、を意味し得る。次いで、正規表現生成器110は、以下の3つの追加のタスクを実行することができる:
1.空白、句読点、または記号によって途切れない文字および数字のシーケンスを、/wの生成されたレゲックスに対応する、ALPHANUMERICと呼ばれる新たなスパンタイプIまで圧縮することを試みる。これは、クリックストリームログからのIPv6アドレスに見られる16進数に対して有用であり得る(2019年4月からのノベルティ64を参照されたい)。
3.リテラル上で整列を試みる。
図21は、ある実施形態を実現するための分散型システム2100の簡略図を示す。図示される実施形態において、分散型システム2100は、1つ以上の通信ネットワーク2110を介してサーバ2112に結合された1つ以上のクライアントコンピューティングデバイス2102、2104、2106、および2108を含む。クライアントコンピューティングデバイス2102、2104、2106、および2108は、1つ以上のアプリケーションを実行するように構成され得る。
Claims (15)
- 正規表現を生成する方法であって、
1つまたは複数のプロセッサを備える正規表現生成器が、1つまたは複数のキャラクタシーケンスを含む第1の入力データを受け取ることを備え、前記1つまたは複数のキャラクタシーケンスの各々は、前記正規表現生成器によって生成される正規表現によってマッチされるべきキャラクタシーケンスを表す第1のキャラクタシーケンスに対応し、前記方法はさらに、
前記正規表現生成器が第1の正規表現を生成することを備え、前記第1の正規表現は前記1つまたは複数の第1のキャラクタシーケンスの各々にマッチし、前記方法はさらに、
前記正規表現生成器が、1つまたは複数のキャラクタシーケンスを含む第2の入力データを受け取ることを備え、前記第2の入力データが含む前記1つまたは複数のキャラクタシーケンスの各々は、前記正規表現生成器によって生成される前記正規表現によってマッチされるべきでないキャラクタシーケンスを表す第2のキャラクタシーケンスに対応し、前記方法はさらに、
前記第2の入力データを受け取ることに応答して、前記1つまたは複数の第2のキャラクタシーケンスの各々が前記第1の正規表現とマッチするかどうかを判断することと、
前記1つまたは複数の第2のキャラクタシーケンスのうちの少なくとも1つが前記第1の正規表現とマッチすると判断したことに応答して、
(a)前記第1の正規表現内のある位置においてキャラクタのサブシーケンスを判断することと、
(b)前記正規表現内の前記位置において前記1つまたは複数の第1のキャラクタシーケンスを前記1つまたは複数の第2のキャラクタシーケンスと区別する置換キャラクタシーケンスを判断することと、
(c)前記第1の正規表現内の前記判断されたキャラクタのサブシーケンスを前記置換キャラクタシーケンスに置き換えることによって、前記第1の正規表現を更新することとを備える、正規表現を生成する方法。 - 前記第1の正規表現内の前記位置において前記キャラクタのサブシーケンスを判断することは、
前記第1の正規表現内で前記位置を判断することと、
テキストフラグメントを、前記第1の正規表現内の前記位置に対応する前記1つまたは複数の第1のキャラクタシーケンスの各々および前記1つまたは複数の第2のキャラクタシーケンスの各々から取り出すことと、
前記キャラクタのサブシーケンスを、前記第1の正規表現内の前記位置における1つまたは複数のキャラクタとして判断することとを含み、それから、前記1つまたは複数の第1のキャラクタシーケンスは前記1つまたは複数の第2のキャラクタシーケンスと区別可能である、請求項1に記載の方法。 - 前記第1の正規表現内において前記位置を判断することは、
前記1つまたは複数の第1のキャラクタシーケンスが前記1つまたは複数の第2のキャラクタシーケンスと区別可能である前記第1の正規表現のプレフィックス部分において第1の数のキャラクタを判断することと、
前記1つまたは複数の第1のキャラクタシーケンスが前記1つまたは複数の第2のキャラクタシーケンスと区別可能である前記第1の正規表現のサフィックス部分において第2の数のキャラクタを判断することと、
前記第1の数のキャラクタまたは前記第2の数のキャラクタがより短いかどうかに少なくとも部分的に基づいて、前記第1の正規表現内の前記位置として前記プレフィックス部分または前記サフィックス部分のいずれかを選択することとを含む、請求項2に記載の方法。 - 前記第1の正規表現内において前記位置を判断することは、さらに、
前記第1の正規表現内において前記位置を判断するために、式を実行することを含み、前記式は、前記第1の正規表現の前記サフィックス部分よりも前記プレフィックス部分に重み付けする、請求項3に記載の方法。 - 前記第1の正規表現内の前記判断された位置は、前記第1の正規表現のプレフィックス部分または前記第1の正規表現のサフィックス部分に対応しないミッドスパン位置である、請求項2に記載の方法。
- 前記置換キャラクタシーケンスを判断することは、複数の置換キャラクタシーケンスを判断することを含み、前記第1の正規表現を更新することは、前記第1の正規表現内の前記判断されたキャラクタのサブシーケンスを前記複数の置換キャラクタシーケンスに置き換えることを含む、請求項2に記載の方法。
- 前記置換キャラクタシーケンスを判断することは、
前記1つまたは複数の第1のキャラクタシーケンスが前記1つまたは複数の第2のキャラクタシーケンスと区別可能である、前記第1の正規表現内の前記位置における第1の数のキャラクタと、各々が前記第1の数のキャラクタを有する対応する第1の数の置換キャラクタシーケンスとを判断することと、
前記1つまたは複数の第1のキャラクタシーケンスが前記1つまたは複数の第2のキャラクタシーケンスと区別可能である、前記第1の正規表現内の前記位置における第2の数のキャラクタと、各々が前記第2の数のキャラクタを有する対応する第2の数の置換キャラクタシーケンスとを判断することと、
(a)前記第1の数のキャラクタのサイズおよび前記第2の数のキャラクタのサイズと、(b)前記対応する第1の数の置換キャラクタシーケンスのサイズおよび前記対応する第2の数の置換キャラクタシーケンスのサイズとに基づいて、前記第1の正規表現内の前記置換キャラクタシーケンスのために前記第1の数のキャラクタまたは前記第2の数のキャラクタのいずれかを選択することとを含む、請求項1~6のいずれか1項に記載の方法。 - 正規表現を生成するためのシステムであって、
1つまたは複数のプロセッサを含む処理ユニットと、
命令を記憶するメモリとを備え、前記命令は、前記処理ユニットによって実行されると、前記システムに、
1つまたは複数のキャラクタシーケンスを含む第1の入力データを受け取らせ、前記1つまたは複数のキャラクタシーケンスの各々は、正規表現生成器によって生成される正規表現によってマッチされるべきキャラクタシーケンスを表す第1のキャラクタシーケンスに対応し、前記命令は、さらに、前記処理ユニットによって実行されると、前記システムに、
第1の正規表現を生成させ、前記第1の正規表現は前記1つまたは複数の第1のキャラクタシーケンスの各々にマッチし、前記命令は、さらに、前記処理ユニットによって実行されると、前記システムに、
1つまたは複数のキャラクタシーケンスを含む第2の入力データを受け取らせ、前記第2の入力データが含む1つまたは複数のキャラクタシーケンスの各々は、前記正規表現生成器によって生成される前記正規表現によってマッチされるべきでないキャラクタシーケンスを表す第2のキャラクタシーケンスに対応し、前記命令は、さらに、前記処理ユニットによって実行されると、前記システムに、
前記第2の入力データを受け取ることに応答して、前記1つまたは複数の第2のキャラクタシーケンスの各々が前記第1の正規表現とマッチするかどうかを判断させ、
前記1つまたは複数の第2のキャラクタシーケンスのうちの少なくとも1つが前記第1の正規表現とマッチすると判断したことに応答して、
(a)前記第1の正規表現内のある位置においてキャラクタのサブシーケンスを判断させ、
(b)前記正規表現内の前記位置において前記1つまたは複数の第1のキャラクタシーケンスを前記1つまたは複数の第2のキャラクタシーケンスと区別する置換キャラクタシーケンスを判断させ、
(c)前記第1の正規表現内の前記判断されたキャラクタのサブシーケンスを前記置換キャラクタシーケンスに置き換えることによって、前記第1の正規表現を更新させる、正規表現を生成するためのシステム。 - 前記第1の正規表現内の前記位置において前記キャラクタのサブシーケンスを判断することは、
前記第1の正規表現内で前記位置を判断することと、
テキストフラグメントを、前記第1の正規表現内の前記位置に対応する前記1つまたは複数の第1のキャラクタシーケンスの各々および前記1つまたは複数の第2のキャラクタシーケンスの各々から取り出すことと、
前記キャラクタのサブシーケンスを、前記第1の正規表現内の前記位置における1つまたは複数のキャラクタとして判断することとを含み、それから、前記1つまたは複数の第1のキャラクタシーケンスは前記1つまたは複数の第2のキャラクタシーケンスと区別可能である、請求項8に記載のシステム。 - 前記第1の正規表現内において前記位置を判断することは、
前記1つまたは複数の第1のキャラクタシーケンスが前記1つまたは複数の第2のキャラクタシーケンスと区別可能である前記第1の正規表現のプレフィックス部分において第1の数のキャラクタを判断することと、
前記1つまたは複数の第1のキャラクタシーケンスが前記1つまたは複数の第2のキャラクタシーケンスと区別可能である前記第1の正規表現のサフィックス部分において第2の数のキャラクタを判断することと、
前記第1の数のキャラクタまたは前記第2の数のキャラクタがより短いかどうかに少なくとも部分的に基づいて、前記第1の正規表現内の前記位置として前記プレフィックス部分または前記サフィックス部分のいずれかを選択することとを含む、請求項9に記載のシステム。 - 前記第1の正規表現内において前記位置を判断することは、さらに、
前記第1の正規表現内において前記位置を判断するために、式を実行することを含み、前記式は、前記第1の正規表現の前記サフィックス部分よりも前記プレフィックス部分に重み付けする、請求項10に記載のシステム。 - 前記第1の正規表現内の前記判断された位置は、前記第1の正規表現のプレフィックス部分または前記第1の正規表現のサフィックス部分に対応しないミッドスパン位置である、請求項9に記載のシステム。
- 前記置換キャラクタシーケンスを判断することは、複数の置換キャラクタシーケンスを判断することを含み、前記第1の正規表現を更新することは、前記第1の正規表現内の前記判断されたキャラクタのサブシーケンスを前記複数の置換キャラクタシーケンスに置き換えることを含む、請求項9に記載のシステム。
- 前記置換キャラクタシーケンスを判断することは、
前記1つまたは複数の第1のキャラクタシーケンスが前記1つまたは複数の第2のキャラクタシーケンスと区別可能である、前記第1の正規表現内の前記位置における第1の数のキャラクタと、各々が前記第1の数のキャラクタを有する対応する第1の数の置換キャラクタシーケンスとを判断することと、
前記1つまたは複数の第1のキャラクタシーケンスが前記1つまたは複数の第2のキャラクタシーケンスと区別可能である、前記第1の正規表現内の前記位置における第2の数のキャラクタと、各々が前記第2の数のキャラクタを有する対応する第2の数の置換キャラクタシーケンスとを判断することと、
(a)前記第1の数のキャラクタのサイズおよび前記第2の数のキャラクタのサイズと、(b)前記対応する第1の数の置換キャラクタシーケンスのサイズおよび前記対応する第2の数の置換キャラクタシーケンスのサイズとに基づいて、前記第1の正規表現内の前記置換キャラクタシーケンスのために前記第1の数のキャラクタまたは前記第2の数のキャラクタのいずれかを選択することとを含む、請求項8~13のいずれか1項に記載のシステム。 - 請求項1~7のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862684498P | 2018-06-13 | 2018-06-13 | |
US62/684,498 | 2018-06-13 | ||
US201862749001P | 2018-10-22 | 2018-10-22 | |
US62/749,001 | 2018-10-22 | ||
US16/438,325 | 2019-06-11 | ||
US16/438,325 US11797582B2 (en) | 2018-06-13 | 2019-06-11 | Regular expression generation based on positive and negative pattern matching examples |
PCT/US2019/036829 WO2019241425A1 (en) | 2018-06-13 | 2019-06-12 | Regular expression generation based on positive and negative pattern matching examples |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021527260A JP2021527260A (ja) | 2021-10-11 |
JPWO2019241425A5 JPWO2019241425A5 (ja) | 2022-06-01 |
JP7393357B2 true JP7393357B2 (ja) | 2023-12-06 |
Family
ID=68839179
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020568989A Active JP7393357B2 (ja) | 2018-06-13 | 2019-06-12 | 陽性パターンマッチング例および陰性パターンマッチング例に基づく正規表現生成 |
JP2020569026A Active JP7386818B2 (ja) | 2018-06-13 | 2019-06-12 | 正規表現コードの組み合わせ上で最長共通サブシーケンスアルゴリズムを用いる正規表現生成 |
JP2020569146A Active JP7393358B2 (ja) | 2018-06-13 | 2019-06-12 | 正規表現生成のためのユーザインターフェイス |
JP2020569203A Active JP7493462B2 (ja) | 2018-06-13 | 2019-06-12 | 正規表現コード上で最長共通サブシーケンスアルゴリズムを用いた正規表現生成 |
JP2023193644A Pending JP2024020386A (ja) | 2018-06-13 | 2023-11-14 | 正規表現コードの組み合わせ上で最長共通サブシーケンスアルゴリズムを用いる正規表現生成 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020569026A Active JP7386818B2 (ja) | 2018-06-13 | 2019-06-12 | 正規表現コードの組み合わせ上で最長共通サブシーケンスアルゴリズムを用いる正規表現生成 |
JP2020569146A Active JP7393358B2 (ja) | 2018-06-13 | 2019-06-12 | 正規表現生成のためのユーザインターフェイス |
JP2020569203A Active JP7493462B2 (ja) | 2018-06-13 | 2019-06-12 | 正規表現コード上で最長共通サブシーケンスアルゴリズムを用いた正規表現生成 |
JP2023193644A Pending JP2024020386A (ja) | 2018-06-13 | 2023-11-14 | 正規表現コードの組み合わせ上で最長共通サブシーケンスアルゴリズムを用いる正規表現生成 |
Country Status (5)
Country | Link |
---|---|
US (7) | US11269934B2 (ja) |
EP (4) | EP3807785B1 (ja) |
JP (5) | JP7393357B2 (ja) |
CN (4) | CN112236747A (ja) |
WO (4) | WO2019241416A1 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130091266A1 (en) * | 2011-10-05 | 2013-04-11 | Ajit Bhave | System for organizing and fast searching of massive amounts of data |
US10061824B2 (en) | 2015-01-30 | 2018-08-28 | Splunk Inc. | Cell-based table manipulation of event data |
US10726037B2 (en) | 2015-01-30 | 2020-07-28 | Splunk Inc. | Automatic field extraction from filed values |
US10915583B2 (en) | 2015-01-30 | 2021-02-09 | Splunk Inc. | Suggested field extraction |
US9916346B2 (en) | 2015-01-30 | 2018-03-13 | Splunk Inc. | Interactive command entry list |
US9842160B2 (en) | 2015-01-30 | 2017-12-12 | Splunk, Inc. | Defining fields from particular occurences of field labels in events |
US11442924B2 (en) | 2015-01-30 | 2022-09-13 | Splunk Inc. | Selective filtered summary graph |
US9977803B2 (en) * | 2015-01-30 | 2018-05-22 | Splunk Inc. | Column-based table manipulation of event data |
US11544248B2 (en) | 2015-01-30 | 2023-01-03 | Splunk Inc. | Selective query loading across query interfaces |
US11269934B2 (en) | 2018-06-13 | 2022-03-08 | Oracle International Corporation | Regular expression generation using combinatoric longest common subsequence algorithms |
US11580166B2 (en) | 2018-06-13 | 2023-02-14 | Oracle International Corporation | Regular expression generation using span highlighting alignment |
US11941018B2 (en) | 2018-06-13 | 2024-03-26 | Oracle International Corporation | Regular expression generation for negative example using context |
JPWO2020188670A1 (ja) * | 2019-03-15 | 2021-12-02 | 株式会社日立製作所 | データ統合評価システム及びデータ統合評価方法 |
US11694029B2 (en) * | 2019-08-19 | 2023-07-04 | Oracle International Corporation | Neologism classification techniques with trigrams and longest common subsequences |
CN111339174A (zh) * | 2020-02-24 | 2020-06-26 | 京东方科技集团股份有限公司 | 数据交换的方法、装置、可读性存储介质及数据交换系统 |
WO2021186364A1 (en) * | 2020-03-17 | 2021-09-23 | L&T Technology Services Limited | Extracting text-entities from a document matching a received input |
US11074048B1 (en) | 2020-04-28 | 2021-07-27 | Microsoft Technology Licensing, Llc | Autosynthesized sublanguage snippet presentation |
US11327728B2 (en) | 2020-05-07 | 2022-05-10 | Microsoft Technology Licensing, Llc | Source code text replacement by example |
US11520831B2 (en) * | 2020-06-09 | 2022-12-06 | Servicenow, Inc. | Accuracy metric for regular expression |
CN111797594B (zh) * | 2020-06-29 | 2023-02-07 | 深圳壹账通智能科技有限公司 | 基于人工智能的字符串处理方法及相关设备 |
US11900080B2 (en) | 2020-07-09 | 2024-02-13 | Microsoft Technology Licensing, Llc | Software development autocreated suggestion provenance |
US11526553B2 (en) * | 2020-07-23 | 2022-12-13 | Vmware, Inc. | Building a dynamic regular expression from sampled data |
US11750636B1 (en) * | 2020-11-09 | 2023-09-05 | Two Six Labs, LLC | Expression analysis for preventing cyberattacks |
CN112507982B (zh) * | 2021-02-02 | 2021-05-07 | 成都东方天呈智能科技有限公司 | 一种人脸特征码的跨模型转换系统及方法 |
US20220291859A1 (en) * | 2021-03-12 | 2022-09-15 | Kasten, Inc. | Cloud-native cross-environment restoration |
EP4060553A1 (en) * | 2021-03-15 | 2022-09-21 | Irdeto B.V. | Systems, methods, and storage media for creating image data embeddings to be used for image recognition |
US20220309335A1 (en) * | 2021-03-26 | 2022-09-29 | Accenture Global Solutions Limited | Automated generation and integration of an optimized regular expression |
US11875136B2 (en) | 2021-04-01 | 2024-01-16 | Microsoft Technology Licensing, Llc | Edit automation using a temporal edit pattern |
US11941372B2 (en) | 2021-04-01 | 2024-03-26 | Microsoft Technology Licensing, Llc | Edit automation using an anchor target list |
CN113268246B (zh) * | 2021-05-28 | 2022-05-13 | 大箴(杭州)科技有限公司 | 正则表达式的生成方法、装置及计算机设备 |
CN113609821B (zh) * | 2021-06-30 | 2023-07-18 | 北京新氧科技有限公司 | 一种正则表达式转换方法、装置、设备及存储介质 |
US20230229850A1 (en) * | 2022-01-14 | 2023-07-20 | Microsoft Technology Licensing, Llc | Smart tabular paste from a clipboard buffer |
CN114529904A (zh) * | 2022-01-19 | 2022-05-24 | 西北工业大学宁波研究院 | 一种基于一致性正则训练的场景文本识别系统 |
CN114528997B (zh) * | 2022-02-18 | 2024-08-30 | 山东浪潮科学研究院有限公司 | 一种量子门弧度可进行表达式编辑的实现方法 |
CN114881107A (zh) * | 2022-03-30 | 2022-08-09 | 北京矩道优达网络科技有限公司 | 一种基于代码编辑操作的用户身份识别方法 |
US20230325157A1 (en) * | 2022-04-11 | 2023-10-12 | Nvidia Corporation | Regular expression processor |
CN114741469A (zh) * | 2022-04-11 | 2022-07-12 | 上海弘玑信息技术有限公司 | 正则表达式的生成方法及电子设备 |
WO2023238259A1 (ja) * | 2022-06-07 | 2023-12-14 | 日本電信電話株式会社 | 修正装置、修正方法及び修正プログラム |
US11494422B1 (en) * | 2022-06-28 | 2022-11-08 | Intuit Inc. | Field pre-fill systems and methods |
CN116795315B (zh) * | 2023-06-26 | 2024-02-09 | 广东凯普科技智造有限公司 | 基于单片机在lcd上实现字符串连续显示的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070198565A1 (en) | 2006-02-16 | 2007-08-23 | Microsoft Corporation | Visual design of annotated regular expression |
JP2008146162A (ja) | 2006-12-06 | 2008-06-26 | Mitsubishi Electric Corp | 正規表現生成装置及び正規表現生成方法及び正規表現生成プログラム |
US20100205201A1 (en) | 2009-02-11 | 2010-08-12 | International Business Machines Corporation | User-Guided Regular Expression Learning |
JP2010250450A (ja) | 2009-04-13 | 2010-11-04 | Fujitsu Ltd | データベース・メッセージ分析支援プログラム、方法及び装置 |
Family Cites Families (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6373971B1 (en) | 1997-06-12 | 2002-04-16 | International Business Machines Corporation | Method and apparatus for pattern discovery in protein sequences |
WO2002001401A1 (en) | 2000-06-26 | 2002-01-03 | Onerealm Inc. | Method and apparatus for normalizing and converting structured content |
US6738770B2 (en) | 2000-11-04 | 2004-05-18 | Deep Sky Software, Inc. | System and method for filtering and sorting data |
FI121583B (fi) | 2002-07-05 | 2011-01-14 | Syslore Oy | Symbolijonon etsintä |
US20050055365A1 (en) | 2003-09-09 | 2005-03-10 | I.V. Ramakrishnan | Scalable data extraction techniques for transforming electronic documents into queriable archives |
US7389530B2 (en) | 2003-09-12 | 2008-06-17 | International Business Machines Corporation | Portable electronic door opener device and method for secure door opening |
JP4363214B2 (ja) | 2004-02-17 | 2009-11-11 | 日本電気株式会社 | アクセスポリシ生成システム、アクセスポリシ生成方法およびアクセスポリシ生成用プログラム |
US20050273450A1 (en) | 2004-05-21 | 2005-12-08 | Mcmillen Robert J | Regular expression acceleration engine and processing model |
US7561739B2 (en) | 2004-09-22 | 2009-07-14 | Microsoft Corporation | Analyzing scripts and determining characters in expression recognition |
US7540025B2 (en) | 2004-11-18 | 2009-05-26 | Cisco Technology, Inc. | Mitigating network attacks using automatic signature generation |
CA2975694C (en) | 2005-07-15 | 2020-12-08 | Indxit Systems, Inc. | Systems and methods for data indexing and processing |
US7792814B2 (en) | 2005-09-30 | 2010-09-07 | Sap, Ag | Apparatus and method for parsing unstructured data |
US7814111B2 (en) | 2006-01-03 | 2010-10-12 | Microsoft International Holdings B.V. | Detection of patterns in data records |
JP2009015395A (ja) * | 2007-06-29 | 2009-01-22 | Toshiba Corp | 辞書構築支援装置および辞書構築支援プログラム |
US20090070327A1 (en) | 2007-09-06 | 2009-03-12 | Alexander Stephan Loeser | Method for automatically generating regular expressions for relaxed matching of text patterns |
US7818311B2 (en) | 2007-09-25 | 2010-10-19 | Microsoft Corporation | Complex regular expression construction |
US8577817B1 (en) | 2011-03-02 | 2013-11-05 | Narus, Inc. | System and method for using network application signatures based on term transition state machine |
US10685177B2 (en) * | 2009-01-07 | 2020-06-16 | Litera Corporation | System and method for comparing digital data in spreadsheets or database tables |
US8472921B2 (en) | 2009-02-13 | 2013-06-25 | Via Telecom, Inc. | Apparatus, method and system for reduced active set management |
US8522085B2 (en) | 2010-01-27 | 2013-08-27 | Tt Government Solutions, Inc. | Learning program behavior for anomaly detection |
US8843508B2 (en) | 2009-12-21 | 2014-09-23 | At&T Intellectual Property I, L.P. | System and method for regular expression matching with multi-strings and intervals |
US9305116B2 (en) * | 2010-04-20 | 2016-04-05 | International Business Machines Corporation | Dual DFA decomposition for large scale regular expression matching |
US8499290B2 (en) | 2010-06-15 | 2013-07-30 | Microsoft Corporation | Creating text functions from a spreadsheet |
US8862603B1 (en) | 2010-11-03 | 2014-10-14 | Netlogic Microsystems, Inc. | Minimizing state lists for non-deterministic finite state automatons |
US20120110003A1 (en) * | 2010-11-03 | 2012-05-03 | Microsoft Corporation | Conditional execution of regular expressions |
US8892580B2 (en) | 2010-11-03 | 2014-11-18 | Microsoft Corporation | Transformation of regular expressions |
US20120158768A1 (en) * | 2010-12-15 | 2012-06-21 | Microsoft Corporation | Decomposing and merging regular expressions |
CN102637180B (zh) * | 2011-02-14 | 2014-06-18 | 汉王科技股份有限公司 | 基于正则表达式的文字后处理方法和装置 |
US9218372B2 (en) | 2012-08-02 | 2015-12-22 | Sap Se | System and method of record matching in a database |
US9524473B2 (en) | 2012-08-31 | 2016-12-20 | Nutonian, Inc. | System and method for auto-query generation |
CN103793284B (zh) | 2012-10-29 | 2017-06-20 | 伊姆西公司 | 基于共同序列模式的、用于智能客户服务的分析系统和方法 |
US20140164376A1 (en) * | 2012-12-06 | 2014-06-12 | Microsoft Corporation | Hierarchical string clustering on diagnostic logs |
US9244658B2 (en) * | 2013-06-04 | 2016-01-26 | Microsoft Technology Licensing, Llc | Multi-step auto-completion model for software development environments |
US9489368B2 (en) | 2013-06-14 | 2016-11-08 | Microsoft Technology Licensing, Llc | Suggesting a set of operations applicable to a selected range of data in a spreadsheet |
US10191893B2 (en) * | 2013-07-22 | 2019-01-29 | Open Text Holdings, Inc. | Information extraction and annotation systems and methods for documents |
US8856642B1 (en) * | 2013-07-22 | 2014-10-07 | Recommind, Inc. | Information extraction and annotation systems and methods for documents |
US20150278355A1 (en) | 2014-03-28 | 2015-10-01 | Microsoft Corporation | Temporal context aware query entity intent |
US10025461B2 (en) * | 2014-04-08 | 2018-07-17 | Oath Inc. | Gesture input for item selection |
US9959265B1 (en) * | 2014-05-08 | 2018-05-01 | Google Llc | Populating values in a spreadsheet using semantic cues |
US9552348B2 (en) | 2014-06-27 | 2017-01-24 | Koustubh MOHARIR | System and method for operating a computer application with spreadsheet functionality |
US20160026730A1 (en) | 2014-07-23 | 2016-01-28 | Russell Hasan | Html5-based document format with parts architecture |
US10210246B2 (en) | 2014-09-26 | 2019-02-19 | Oracle International Corporation | Techniques for similarity analysis and data enrichment using knowledge sources |
US10976907B2 (en) | 2014-09-26 | 2021-04-13 | Oracle International Corporation | Declarative external data source importation, exportation, and metadata reflection utilizing http and HDFS protocols |
US9817875B2 (en) | 2014-10-28 | 2017-11-14 | Conduent Business Services, Llc | Methods and systems for automated data characterization and extraction |
US20160125007A1 (en) * | 2014-10-31 | 2016-05-05 | Richard Salisbury | Method of finding common subsequences in a set of two or more component sequences |
EP3029607A1 (en) * | 2014-12-05 | 2016-06-08 | PLANET AI GmbH | Method for text recognition and computer program product |
US10261967B2 (en) | 2015-01-28 | 2019-04-16 | British Telecommunications Public Limited Company | Data extraction |
US10915583B2 (en) | 2015-01-30 | 2021-02-09 | Splunk Inc. | Suggested field extraction |
US20160239401A1 (en) | 2015-02-16 | 2016-08-18 | Fujitsu Limited | Black-box software testing with statistical learning |
US10474707B2 (en) * | 2015-09-21 | 2019-11-12 | International Business Machines Corporation | Detecting longest regular expression matches |
US10169058B2 (en) | 2015-09-24 | 2019-01-01 | Voodoo Robotics, Inc. | Scripting language for robotic storage and retrieval design for warehouses |
US10664481B2 (en) | 2015-09-29 | 2020-05-26 | Cisco Technology, Inc. | Computer system programmed to identify common subsequences in logs |
US20170116238A1 (en) | 2015-10-26 | 2017-04-27 | Intelliresponse Systems Inc. | System and method for determining common subsequences |
US10515145B2 (en) | 2015-11-02 | 2019-12-24 | Microsoft Technology Licensing, Llc | Parameterizing and working with math equations in a spreadsheet application |
US10866705B2 (en) * | 2015-12-03 | 2020-12-15 | Clarifai, Inc. | Systems and methods for updating recommendations on a user interface in real-time based on user selection of recommendations provided via the user interface |
US10775751B2 (en) * | 2016-01-29 | 2020-09-15 | Cisco Technology, Inc. | Automatic generation of regular expression based on log line data |
JP6588385B2 (ja) | 2016-05-11 | 2019-10-09 | 日本電信電話株式会社 | シグネチャ生成装置、シグネチャ生成方法、および、シグネチャ生成プログラム |
JP6577412B2 (ja) * | 2016-05-13 | 2019-09-18 | 株式会社日立製作所 | 運用管理装置及び運用管理方法、並びに運用管理システム |
US11372830B2 (en) | 2016-10-24 | 2022-06-28 | Microsoft Technology Licensing, Llc | Interactive splitting of a column into multiple columns |
US10380355B2 (en) | 2017-03-23 | 2019-08-13 | Microsoft Technology Licensing, Llc | Obfuscation of user content in structured user data files |
CN108663794A (zh) | 2017-03-27 | 2018-10-16 | 信泰光学(深圳)有限公司 | 观测装置的目镜结构 |
US10496707B2 (en) * | 2017-05-05 | 2019-12-03 | Microsoft Technology Licensing, Llc | Determining enhanced longest common subsequences |
JP2019004402A (ja) * | 2017-06-19 | 2019-01-10 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
US20190026437A1 (en) | 2017-07-19 | 2019-01-24 | International Business Machines Corporation | Dual-index concept extraction |
US10713306B2 (en) * | 2017-09-22 | 2020-07-14 | Microsoft Technology Licensing, Llc | Content pattern based automatic document classification |
US11269934B2 (en) | 2018-06-13 | 2022-03-08 | Oracle International Corporation | Regular expression generation using combinatoric longest common subsequence algorithms |
US11580166B2 (en) | 2018-06-13 | 2023-02-14 | Oracle International Corporation | Regular expression generation using span highlighting alignment |
US11354305B2 (en) | 2018-06-13 | 2022-06-07 | Oracle International Corporation | User interface commands for regular expression generation |
-
2019
- 2019-06-11 US US16/438,313 patent/US11269934B2/en active Active
- 2019-06-11 US US16/438,321 patent/US11321368B2/en active Active
- 2019-06-11 US US16/438,316 patent/US20190384796A1/en active Pending
- 2019-06-11 US US16/438,327 patent/US11347779B2/en active Active
- 2019-06-11 US US16/438,330 patent/US11263247B2/en active Active
- 2019-06-11 US US16/438,325 patent/US11797582B2/en active Active
- 2019-06-12 WO PCT/US2019/036815 patent/WO2019241416A1/en unknown
- 2019-06-12 JP JP2020568989A patent/JP7393357B2/ja active Active
- 2019-06-12 CN CN201980037104.0A patent/CN112236747A/zh active Pending
- 2019-06-12 CN CN201980037345.5A patent/CN112236763A/zh active Pending
- 2019-06-12 WO PCT/US2019/036834 patent/WO2019241428A1/en unknown
- 2019-06-12 WO PCT/US2019/036829 patent/WO2019241425A1/en unknown
- 2019-06-12 CN CN201980035772.XA patent/CN112262390A/zh active Pending
- 2019-06-12 EP EP19737319.4A patent/EP3807785B1/en active Active
- 2019-06-12 JP JP2020569026A patent/JP7386818B2/ja active Active
- 2019-06-12 CN CN201980036133.5A patent/CN112166430A/zh active Pending
- 2019-06-12 EP EP19737323.6A patent/EP3807786A1/en not_active Withdrawn
- 2019-06-12 JP JP2020569146A patent/JP7393358B2/ja active Active
- 2019-06-12 JP JP2020569203A patent/JP7493462B2/ja active Active
- 2019-06-12 EP EP19737324.4A patent/EP3807787A1/en active Pending
- 2019-06-12 WO PCT/US2019/036824 patent/WO2019241422A1/en unknown
- 2019-06-12 EP EP19737326.9A patent/EP3807788A1/en active Pending
-
2022
- 2022-04-01 US US17/711,907 patent/US11755630B2/en active Active
-
2023
- 2023-11-14 JP JP2023193644A patent/JP2024020386A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070198565A1 (en) | 2006-02-16 | 2007-08-23 | Microsoft Corporation | Visual design of annotated regular expression |
JP2008146162A (ja) | 2006-12-06 | 2008-06-26 | Mitsubishi Electric Corp | 正規表現生成装置及び正規表現生成方法及び正規表現生成プログラム |
US20100205201A1 (en) | 2009-02-11 | 2010-08-12 | International Business Machines Corporation | User-Guided Regular Expression Learning |
JP2010250450A (ja) | 2009-04-13 | 2010-11-04 | Fujitsu Ltd | データベース・メッセージ分析支援プログラム、方法及び装置 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7393357B2 (ja) | 陽性パターンマッチング例および陰性パターンマッチング例に基づく正規表現生成 | |
US11354305B2 (en) | User interface commands for regular expression generation | |
JP2022538704A (ja) | スパン強調表示整列を用いた正規表現生成 | |
JP2022538703A (ja) | 正規表現生成のためのユーザインターフェイスコマンド | |
JP7546571B2 (ja) | コンテキストを用いた陰性例のための正規表現生成 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220524 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220524 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230718 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231018 |
|
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: 20231031 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7393357 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |