WO2023177321A1 - Method of organizing a document search in applied databases - Google Patents
Method of organizing a document search in applied databases Download PDFInfo
- Publication number
- WO2023177321A1 WO2023177321A1 PCT/RU2022/050305 RU2022050305W WO2023177321A1 WO 2023177321 A1 WO2023177321 A1 WO 2023177321A1 RU 2022050305 W RU2022050305 W RU 2022050305W WO 2023177321 A1 WO2023177321 A1 WO 2023177321A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- document
- memory
- keywords
- documents
- binary
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 40
- 238000012545 processing Methods 0.000 claims abstract description 41
- 230000009977 dual effect Effects 0.000 claims abstract description 7
- 230000000295 complement effect Effects 0.000 claims abstract description 3
- 230000004044 response Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 19
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 238000005755 formation reaction Methods 0.000 claims description 7
- 238000011161 development Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 claims description 4
- 238000004377 microelectronic Methods 0.000 claims description 2
- 238000010187 selection method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 16
- 238000004458 analytical method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008447 perception Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 239000011782 vitamin Substances 0.000 description 3
- 229940088594 vitamin Drugs 0.000 description 3
- 229930003231 vitamin Natural products 0.000 description 3
- 235000013343 vitamin Nutrition 0.000 description 3
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- MYMOFIZGZYHOMD-UHFFFAOYSA-N Dioxygen Chemical compound O=O MYMOFIZGZYHOMD-UHFFFAOYSA-N 0.000 description 1
- 102000012004 Ghrelin Human genes 0.000 description 1
- 101800001586 Ghrelin Proteins 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 150000007513 acids Chemical class 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000035045 associative learning Effects 0.000 description 1
- 229910002092 carbon dioxide Inorganic materials 0.000 description 1
- 239000001569 carbon dioxide Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010353 genetic engineering Methods 0.000 description 1
- GNKDKYIHGQKHHM-RJKLHVOGSA-N ghrelin Chemical compound C([C@H](NC(=O)[C@@H](NC(=O)[C@H](CO)NC(=O)CN)COC(=O)CCCCCCC)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CO)C(=O)N1[C@@H](CCC1)C(=O)N[C@@H](CCC(O)=O)C(=O)N[C@@H](CC=1N=CNC=1)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H](CCCNC(N)=N)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H](CCCNC(N)=N)C(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CCC(O)=O)C(=O)N[C@@H](CO)C(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CCCCN)C(=O)N1[C@@H](CCC1)C(=O)N1[C@@H](CCC1)C(=O)N[C@@H](C)C(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCC(N)=O)C(=O)N1[C@@H](CCC1)C(=O)N[C@@H](CCCNC(N)=N)C(O)=O)C1=CC=CC=C1 GNKDKYIHGQKHHM-RJKLHVOGSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/93—Document management systems
Definitions
- the claimed technical solution relates to the use of large application databases (hereinafter referred to as DBs) with unstructured or weakly structured data, for example, libraries.
- DBs large application databases
- the invention is intended for searching and selecting documents from large databases of documents that best meet the user's needs.
- the documents are printed publications, such as books, magazines, articles, brochures, reports, etc.
- DBMS relational database management systems
- a dictionary of keywords is created based on a selection of words from information stored in a database (DB).
- the dictionary can include any number of words sufficient, from the developer’s point of view, to select the necessary information.
- application programs for conducting lexical, morphological, syntactic, and semantic analyzes are used. To select words, a wide range of well-established methods are used, based on alphabetical sampling, B-trees, thematic division and other methods.
- the proposed data structures can be supplemented with various parameters (frequency, semantic and other characteristics of words and documents). Lists of documents and word positions are compiled and these lists are analyzed for the intersection of the lists and the formation of a new list in which all keywords appear. As a prototype for the proposed method, an approach is adopted that is accurate to the document [4].
- the advantage of the first option is its simplicity and minimal index size.
- the disadvantage is the large amount of processing required when the number of keywords analyzed increases. High sensitivity to word processing order. For example, after selecting documents using the first combination of keywords, you need to specify the following additional words, but the search will be carried out on many already found documents. The order in which keywords are processed when analyzing, adjusting and changing a query is important.
- the advantage of the second option is that it is convenient when processing a small number of keywords.
- the disadvantage is the large volume of the stored index, which may exceed the amount of memory occupied by the processed documents. It depends on the number of keywords that need to be optimized. The complexity of storing and processing variable-length lists increases. Large volume of processing with an increase in the analyzed number of keywords and a growing database.
- each trigger stores one bit of information (the figure shows 4 rows of triggers, 3 in each row-register).
- the memory contains four 3-bit words. Each operation reads or writes an entire 3-bit word.
- the logic circuit contains 8 input lines, in particular 3 data inputs - Io, Ii, h; 2 inputs for addresses - Ao and Ats 3 control inputs - CS (Chip Select - selection of a memory element), RD (ReaD - reading, this signal allows distinguish between reading and writing) and OE (Output Enable - permission to issue output signals), as well as 3 output lines for data - Oo, Oi and Og.
- the state of the address input determines which four bits of memory are allowed to input or output a value.
- Prototype Fig. 3.27 [7] does not allow writing binary strings according to position numbers in memory cells (registers) of Fig. 13 and 14 (in fact, according to columns St.0, St.1, St.2 of Fig. 14).
- the technical problem being solved is the ability to process document keywords and present the processing results in a visual and concise form - accurate to the pages of documents. This allows you to quickly, without reading documents from the database, assess the document’s compliance with the formulated request. In this case, the user will make the final decision within the analysis of the found page independently or interactively add/change keywords and see the results of the changes on the screen.
- the technical result provided by the claimed technical solutions is the hardware implementation of the process of representing an ordered set of lists of binary strings of fixed length ⁇ Stn,Str2,. . .,Stfk> into a tabular form, where each row of Stfj is a table column.
- the ability to read and analyze table rows line by line is provided - register mapping ⁇ RI,R2, . . . , R n > - which is also a set of binary strings, when each number j of register Rj corresponds to the j-th bit position in the lists ⁇ Stn,Str2,. . .,Stfk>,. This allows you to eliminate the operation of crossing the lists ⁇ Stn,Str2,. .
- the technical result of the method is the proposed data structure, including a table of keywords (index dictionary), a table of documents, a table of binary lists and a table of binary document strings.
- the proposed data structure allows you to search for documents using sets of keywords accurate to the pages of documents, without reading the documents themselves from the database and presenting the search result in the form of an Answer Table, which facilitates the procedure for selecting documents in accordance with specified criteria.
- the method allows you to determine the priority in the list of keywords and assign importance to each keyword, the system can clarify and offer options based on the collected statistics, including personal ones for building individual user models;
- the length of the binary string must correspond to the maximum number of documents in the database. because the bit number in the binary string must correspond to the document number in the database. For example, a 128 kB binary string corresponds to 1 million documents;
- the final answer tables selected by the user are a convenient tool for constructing applied formal algorithms for document analysis, constructing various metrics and document classification spaces, and constructing personal models of the user’s information space;
- the essence of the claimed method is that the user forms a request and specifies keywords and logical operations with them. Then the keywords in the query are selected in the query keyword processing block, the inverted index is used with programs for the formation, development and maintenance of the inverted index, while the mentioned programs interact with the indexing block, which interacts with the database, programs for selecting lists by keywords, characterized in that:
- - programs generate auxiliary tables: keywords, documents, binary strings of document numbers and binary strings that complement the inverted index, while
- the keyword table contains a list of keywords, each keyword has a link to a binary string of documents and a link to a string of the document table, and additional information is also indicated here: the number of documents where the keyword is used, other data about the keyword: term, abbreviation , set or element of a set;
- the document table contains lists of pairs associated with a keyword, the pair is the number of the document in which the keyword is used and a link to the binary string in the binary string tables;
- the table of binary strings contains a list of binary strings of a fixed length, each line is associated with a document number from the document table, with each bit of the binary string corresponding to one page of document text, the bit number in the string corresponds to the page number of this document, and 1 or 0 standing on a certain positions indicate the presence or absence of a given keyword on a given page;
- a table of binary document strings consists of many binary strings of a fixed length, with each bit number in the binary string corresponding to a document number, and 1 in this bit means that the specified keyword occurs in the document with this number;
- a response table is formed for each document, while loading binary strings from the table of binary strings into double memory, sorting and analyzing them, while in the response table each column corresponds to its own keyword, the columns are ordered in according to their importance, with each keyword column corresponding to a binary row of the binary string table, the response table allows you to reflect the keywords contained in the document with page accuracy without loading the document itself from the database.
- dual memory for organizing document searches in applied unstructured databases is a logical memory circuit that provides the ability to write data at a given memory cell address, as well as the ability to read from memory cells at a given cell address of the recorded data and output read data into the output lines in accordance with the control signals CS, RD, OE and SM, characterized in that:
- bit strings are written to a given bit (column number) of a memory cell in all memory cells simultaneously, while the length of the bit string is equal to the number of memory cells, and the number and width of memory cells is limited by the technological capabilities of microelectronics;
- - SM input configured to switch the operation of the circuit from a regular memory mode - writing input data to memory cells, to a dual memory mode - writing input data to a given bit of each memory cell;
- - contains a block for addressing bit numbers in memory cells (column numbers), which specify the general bit number for all memory cells into which data is written;
- a switch is installed that passes or blocks the memory cell address signal depending on the control signal CM;
- - contains logical switches installed at all inputs of memory flip-flops to switch the channel for receiving addresses from the addresses of memory cells to the addresses of bits in memory cells (columns), depending on the control signal CM;
- the output of the write/read control block CS, RD, OE is connected to the output of the bit number selection block (column address).
- St.0, St.1, St.2, St.Z - columns (bit numbers in the memory cell);
- the method of organizing a search for documents in large databases includes the following typical steps:
- keywords in the query are selected.
- the address of the binary string is read from the resulting list by document number from the Document Table (12 Fig. 2), and then the binary document string itself from the Binary String Table (13 Fig. 2) for each key word.
- the block for processing document pages by keywords generates a response table for each document (Fig. 4), while loading binary strings into double memory, then DM (Fig. 17), sorting and analyzing them in accordance with the specified parameters to soften or tighten the correspondence of responses to the request.
- User can interactively select and view document pages, change the query, keyword importance and other page selection parameters.
- a final list of selected documents (10) is displayed as a response to the submitted request.
- the database (1) is a repository of all accumulated documents.
- the format and structure of the data is determined by the selected standard data management system. Accompanied by all necessary software: tools for writing documents, manipulating data, reading data, languages for working with data (data description, data manipulation, query).
- Programs for the formation, development and maintenance of the inverted index (3) carry out recording, reading, sorting, making changes, creating a working data structure and generating working vectors of keywords (pointers to documents), dividing or merging indexes, including or excluding words, analyzing and etc.
- the proposed method is focused, first of all, on searching printed publications for factual information in professional libraries (for example, biology, genetic engineering, pharmacology - information on drugs, the mechanisms of their effect on the body, methods of treating diseases, etc.).
- m is the number of documents, for example, 700’000 documents or more.
- a document is a book, journal, articles, archival documents, protocols and research results, etc., i.e. any printed publication convenient for processing and display on a computer screen.
- the proposed method includes the following data structure, which is used in blocks 8, 9 and 10: tables of keywords (I), tables of documents (12), tables of binary strings (13) and tables of binary strings of documents (14 ).
- the structure of the mentioned tables is shown in Fig.2.
- the keyword table (11) contains a list of r strings. Each line contains:
- the table of keywords (11) can be divided into an arbitrary number of sections - subtables. These sections are related to the semantics of keywords: literary words, words of the subject area, abbreviations, synonyms, names, etc.
- the table of keywords (11) can be supplemented with columns reflecting the properties of words and their various groupings: synonyms, antonyms, various classes (sets of words), thematic terms (mathematics, chemistry, biology, etc.), semantic classes, artificial metrics and etc.
- pairs are ordered in accordance with document numbers Ndj.
- the Ci number from the keyword table (11) indicates the number of pairs in the document table (12) associated with a given keyword.
- the document table (12) lists all document numbers that contain keywords from the keyword table (11).
- New keywords can also form combinations of existing keywords.
- the structure of the binary string Stn is shown in Fig. 3, where each cell is one bit corresponding to one page of document text, the bit number in the line corresponds to the page number of this document, and 1 or 0 standing at a certain position indicate the presence or absence of a given word on this page.
- the document Dj have 2 million characters, which corresponds to approximately 1000 pages of text. Then it will correspond to a binary string of 1000 bits or 128 bytes in length. The number of bits in a binary string will be greater (a multiple of the power of 2) - reserve bits appear. It is assumed that there are very few books with a large number of pages, and those found are divided into volumes (an artificial division is possible).
- the proposed data structure is open and can always be supplemented with the parameters necessary for processing, reflecting the frequency, semantic, logical, morphological and other characteristics of words and documents. This is reflected in the increase in the dimension of tables and/or the inclusion of additional ones, reflecting additional characteristics of documents and words.
- Table 11 could be supplemented with links to an additional table of double/triple keywords, abbreviations, etc.
- the structure can be supplemented with a table of sets/subsets of keywords, for example, a set of vitamins with a list of vitamins, a set of trees with a list of species, etc.
- Tables 12 and 13 may also include additional parameters, especially since each binary string has a reserve of 24 bytes.
- Fig. 1 When forming a request (5) (Fig. 1), the user specifies a list of keywords ⁇ S1,S2,. . .,Sk>, ordered by their importance to the user. It is possible to build a classic query language using the logical symbols AND, OR, NOT. Keywords are set by the user himself based on his personal understanding of the required content of the document being sought. Level of importance - individual The user's perception of the keywords he sets (numerical value or simply word order) of keywords can be:
- the degree of importance allows you to discard the least important words and focus more on combinations of more important words.
- the number of specified keywords is limited only by logic and the level of user perception, you can conditionally stop at 64 words, although for individual applications it may be necessary to significantly more - when processing multiple keywords.
- a response table (16) is built (Fig. 5), in which each column has its own keyword.
- FIG. 5 ready-made binary strings of a fixed length from the table of binary strings (13) and arranges them in accordance with the user-specified order of importance in the columns of the response table (16) of FIG. 5.
- the order of writing words is such that the further to the left (conditionally, by default) a word is located in the answer table, the more important it is.
- the word Si+i is more important than the word Si (Fig. 5).
- FIG. 5 shows an example of a response table (16) for one document of six pages with sixteen keywords.
- Each i-th row of the response table (16) of FIG. 5 reflects all the keywords that were found on this i-th page of the document in question Dj and is a sixteen-bit string that is read as an integer in the range from 0 to 65536 or 2 16 .
- Null rows or rows with a user-specified low dropout rate are excluded for visualization.
- the remaining, not excluded, rows can be ordered depending on the number of 1s and on the specified order by the degree of importance of the keywords.
- An example of the transformed response table (16) shown in FIG. 5 is shown in FIG. 6 It is possible to enable any text processing algorithms on the page: highlighting words at a distance, phrases, processing word permutations, appearing explanations, synonyms, etc. c) Selection of keywords by eliminating minimal combinations of the least important words in order to obtain a complete filling of the remaining number of words with units. For example, for the response table (16) in FIG.
- Pages on which the share of the number of keywords is below the specified level £ x n will not be included in the resulting answer table (16) (the result is rounded).
- n is the number of keywords in the query.
- the answer table (16) FIG. 5 will look like shown in FIG. 7. e) at any stage it is possible to view the results, add new keywords, exclude existing ones, determine different orders of importance of keywords (the order determines the system of preferences, changes the calculated metrics, classification of documents and the amount of information displayed).
- Example 1 Stages of forming service tables 1, 2 and 3 using the example of a fragment of book text (Fig. 8). A generalized typical document processing scheme with its description and examples is shown in Fig. 9.
- Keywords from the temporary file W are written into the keyword table line (11). If the word is new, then a line is added to the keyword table (11). Next, the information is added to the document table (12) and the binary string table (13).
- the first 1 is the number of documents in which this word appeared. Since the first document is loaded, one is set.
- the second 1 is the address of the link to the first list in the document table (12).
- each bit number corresponds to a page number in the document (for example, the binary string ⁇ 1,0,0,0, 1,1, 0,0,0,...> indicates that the given word occurred on the first, fifth, and sixth pages).
- Fig. 5 can be formed (columnwise) in a dual memory microchip DM. Each column corresponds to one keyword, and the register address corresponds to the page number of the document. Thus, one DM load allows you to process one document from the database (1).
- the set of keywords of a given subject area can be optimized by setting the keyword cutoff boundary in the general dictionary of the keyword table (I). For example, a limit is set on the frequency with which a given keyword occurs in documents (the entire database or a section of the database) in no more than 20% of documents. Keywords that appear more frequently are excluded from the keyword table (11).
- Example 3 The result of document processing is displayed in the form of a response table (16) Fig. 6. Here pages on which the keywords are not found are not listed. All pages given in the table are ordered in accordance with the number of keywords encountered; if the same number of keywords are encountered, then the pages are listed in order of the importance of the keywords, and then in the arithmetic order of page numbers.
- the user can specify the cutoff level £ of pages shown in the Answer Table (16) of FIG. 5.
- the number £ reflects the level of requirement for compliance of the viewed materials with the user's request. Pages on which the share of the number of keywords is below a given level £ x n will not be included in the resulting response table (16) FIG. 5 (result is rounded).
- n is the number of keywords in the query.
- the found document page selected in accordance with the selection criteria, is entered onto the screen for the user to evaluate it and consider possible clarification options - including additional keywords, excluding specified ones, formulating new variants of word combinations.
- response table (16) is the basis for the design of the DM memory logic circuit.
- Double Memory allows you to process independent lists of binary strings Stri, Str2, . . . Str .
- binary strings are presented in the form of a conditional table (17) (Fig. 11), where the columns are binary strings, and the rows are the numbers of bits in the binary strings. An operation is performed to recognize the bit level (table row) of the intersection of binary strings.
- the binary string Stri ⁇ 01001000001... 1>.
- the length of the string is m bits.
- the number of lines is indicated by the number of bits in the longest line from the processed list of lines; short lines are padded with zero bits.
- FIG. 12 An example of the same table (17) formed from 6 columns of 12 bits in length is shown in Fig. 12.
- the integer value of the third line is 4.
- the logical block diagram for 4 x 3 memory is known from the prototype [7] p. 200 and is shown in Fig. 13.
- Real circuits are also built with the only difference that the width of memory cells (registers) can be 8, 16, 32 or 64 bits, and the number of memory cells can be hundreds of thousands or more (the circuit has been increased many times), but for understanding the logic of all processes the examples and generalizations presented are sufficient.
- each trigger stores 1 bit of information, inputs/outputs and control signals.
- Each trigger can be in one of two states 1 or 0.
- the triggers are arranged in a structure - 4 lines (registers) with 3 triggers in each line. It is assumed that input information, arriving in the form of binary strings, is written into memory cells (registers - strings).
- the registers are numbered and their numbers are called addresses of memory cells (registers).
- FIG. 15 shows a generalized logic diagram of classical memory for r memory cells (registers), where each register consists of n bits intended for recording input signals Io, Ii, . . . ,I n and reading the output signals Oo,Oi, . . . ,O P .
- RAM chips Examples of RAM chips are known from analogue [7] in Fig. 3.30 p. 204.
- FIG. 16 shows the proposed generalized block diagram of a 4x4 DM memory example. Each horizontal row consists of 4 triggers that make up one word. 4 memory locations (register or 4 words) are shown.
- DM can work like classical memory - write and read words by registers (their addresses), and also additionally allows you to write binary strings Stn, Stu, . . . Stu supplied sequentially to inputs ⁇ Jo, Ji, J2, 1 ⁇ >.
- the information is read in a standard way - by registers (words) to the outputs ⁇ Oo, 01, Og, O 3 >.
- the CM (Change Memory) input switches the memory operating mode from normal to DM. In conventional memory mode, it operates in accordance with the classical memory circuit of Fig. 13.
- DM An example of a generalized logical circuit of DM memory with r registers of n bits each is shown in Fig. 17. An additional data input Jo,Ji,...,J m is shown, where m ⁇ g.
- Jo,Ji,...,J m An additional data input Jo,Ji,...,J m is shown, where m ⁇ g.
- DM just like regular memory, can be performed with registers of any size 16, 32, 64 bits or more, as well as with any number of memory cells (registers) from 1024 (as in the example with pages) to hundreds of millions - for processing large lists of documents.
- Example of DM memory 4 x 4 FIG. 18 and its generalized form is shown in FIG. 17. It is shown that the CM input switches the operation of the circuit from regular memory mode to DM mode. In normal memory mode (1 at the CM output), the logic circuit operates in the same way as the circuit shown in Fig. 13. In the supplemented DM memory mode (0 at the CM output), the logic circuit switches to inputting data from inputs Jo, Ji, J2, J 3 , see shown in Fig. 18 and fig. 17. The logical diagram of Fig. 13 is supplemented, see Fig. 18: - block of addressing columns CLo and CLi, specifying the current address of the column into which the data Jo, Ji, J2, J3 will be written.
- drivers are installed, which, depending on the control signal CM (1 - pass the register address signal, 0 - blocks the register address signal).
- Multiplexers installed at the C input of the trigger synchronizing signal (the signal opens the trigger data input) on all inputs of memory triggers. Multiplexers switch the channel for receiving addresses from register addresses to column addresses (points To, Ti, T2, T3) depending on the control signal CM.
- the columns are addressed using the address lines CL0 and CL1 in the upper part of the circuit, similar to the addressing of registers, and the input lines Io, Ii, I2, 13 are locked by the CM signal on multiplexers installed in front of the signal input D on trigger.
- the external logic To select a memory column, the external logic must set the CS signal to 1 and also set the RD signal to 1 for reading and 0 for writing.
- the column address lines should indicate which of the four 4-bit columns the information should be written to. When reading, all input data lines are not used. When writing, the bits found on the Jo, Ji, J2, J3 data input lines are loaded into the selected memory column; the output lines are not used.
- the memory shown in FIG. 18 works as follows. Four AND gates for selecting columns at the top of the circuit form a decoder. Next, the input inverters are arranged so that each gate is triggered by a specific address. Each gate drives a column selection line. When the microcircuit must write, the vertical line CS' RD receives the value 1, triggering one of the four write gates - points To, Ti, T2, T3. The choice of gate depends on which column select line is 1. The output of the write gate drives all C signals (flip-flop input) for the selected column, loading the input data into that column's flip-flops. Writing is performed only if the CS signal is 1 and RD is 0, and only the column selected by addresses CL0 and CL1 is written.
- the reading process is similar to the standard reading process as shown in FIG. 13 -
- the CM switches to normal memory mode (1 at the output), the register address (Ao, Ai) is indicated, the CS RD line takes the value 0, so all write gates are blocked, and none of the flip-flops change. Instead, the word select line fires the AND gates associated with the Q bits (flip-flop output) of the selected word.
- the selected word passes its data to the 4-input OR gates located at the bottom of the circuit, and the remaining three words output 0. Therefore, the output of the OR gates is identical to the value stored in the given word. The remaining three words have no effect on the output.
- DM memory can be manufactured in various versions. As an optimal option, it can contain 1024 registers (words) by 64 bits (columns - the number of keywords).
- the memory can be installed stand-alone or as a cache memory with the processor, which will speed up the algorithm.
- the application therefore proposes a page-accurate search approach.
- binary lists of document strings are formed (Fig. 3), and their processing replaces the stage of full-text analysis of the document.
- Document parsing has been replaced by paging through the Response Table of FIG. 4. The technical problem is solved due to the fact that:
- DM memory allows you to simultaneously process many (dozens) of keywords (binary lists) for their intersection.
- DM provides fast conversion of multiple binary lists of given keywords into a page-by-page display of a document (each memory register into a document page) for quickly viewing and selecting document pages with given keywords without performing an operation to intersect the lists;
- the applied interpretation of binary strings is not limited in any way.
- the result can be read in the form of integers (line of the Answer Table in Fig. 4), depending on: binary values of numbers located in the same positions of binary strings, the sequence of writing binary strings into DM memory (the order of keywords in the request);
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention relates to the field of computing. In the proposed data structure, auxiliary tables of key words, documents, document number bit strings and bit strings are generated, which complement an inverted index. Lists of documents represented by bit strings in a result list processing unit are processed, wherein the bit strings are uploaded to a dual memory for processing. In a unit for processing document pages according to key words, an answer table is generated for each document. The dual memory is a logical memory schema and contains data input channels, a CM input for switching the working mode of the schema from conventional memory to dual memory, a unit for addressing bit numbers in the memory cells, a switch, and logic switches. An output of a write/read control unit (CS, RD, ОЕ) is connected to an output of a bit number selection unit. The invention makes it possible to carry out keyword searches for documents with page-level precision without reading the documents in a database and to present the search results in the form of an answer table to simplify the document selection procedure.
Description
СПОСОБ ОРГАНИЗАЦИИ ПОИСКА ДОКУМЕНТОВ В ПРИКЛАДНЫХ БАЗАХ METHOD FOR ORGANIZING DOCUMENT SEARCH IN APPLICATION DATABASES
Заявляемое техническое решение относится к области использования больших прикладных базах данных (далее БД) с неструктурированными или слабо структурированными данными, например, библиотеки. Изобретение предназначено для поиска и отбора документов из больших БД документов, в максимальной степени соответствующих запросам пользователя. При этом документами являются печатные издания, такие как книги, журналы, статьи, брошюры, отчеты и т.д. The claimed technical solution relates to the use of large application databases (hereinafter referred to as DBs) with unstructured or weakly structured data, for example, libraries. The invention is intended for searching and selecting documents from large databases of documents that best meet the user's needs. In this case, the documents are printed publications, such as books, magazines, articles, brochures, reports, etc.
Быстрый рост объемов накапливаемых данных, в сочетании с возрастающими информационными потребностями людей, требует постоянного совершенствования сопутствующих информационных систем с целью получения документов (информации) максимально удовлетворяющих потребностям потребителя (пертинентной информации). Требование проведения поиска, необходимых пользователям документов, при неопределенных и нечетко формулируемых запросах нуждается в интерактивном участии пользователя системы. При этом, выводимые на экран документы должны: The rapid growth in the volume of accumulated data, combined with the increasing information needs of people, requires constant improvement of related information systems in order to obtain documents (information) that best meet the needs of the consumer (pertinent information). The requirement to search for documents needed by users, with vague and unclearly formulated queries, requires the interactive participation of the system user. In this case, the documents displayed on the screen must:
- не перегружать пользователя объемом излишней информацией (сотни найденных релевантных документов); - do not overload the user with unnecessary information (hundreds of relevant documents found);
- максимально соответствовать потребностям пользователя, что обеспечивается удобным механизмом анализа результатов поиска, наглядностью предоставляемой информации и возможностью интерактивной корректировки запросов. - meet the needs of the user as much as possible, which is ensured by a convenient mechanism for analyzing search results, the clarity of the information provided and the ability to interactively adjust queries.
И при этом информационная система должна работать с полным охватом всей базы данных (БД) и не занимать много времени на обработку запроса (по разным оценкам, не более 20 секунд). Для информационных систем со структурированными данными (таблицами) поиск и обработка данных уже достаточно эффективно работает и встроено в бизнес процессы, это реляционные системы управления базами данных (СУБД), например, Oracle, Microsoft, MySQL. Однако в работе с неструктурированными данными еще очень далеко до получения качественного результата. And at the same time, the information system must work with full coverage of the entire database (DB) and not take much time to process the request (according to various estimates, no more than 20 seconds). For information systems with structured data (tables), searching and processing data already works quite effectively and is built into business processes; these are relational database management systems (DBMS), for example, Oracle, Microsoft, MySQL. However, when working with unstructured data, there is still a long way to go before obtaining a high-quality result.
К информационно-поисковым системам, ориентированным на работу с неструктурированными данными NoSQL (Shashank Tiwari. Professional NoSQL. — John Wiley & Sons Inc, 2011. — 384 p. — ISBN 9780470942246, [1]), хранимыми в интернете можно отнести, например, Google, Yandex, Rambler, библиотечные поисковые системы. К
основным недостаткам способа организации поиска документов этих систем можно отнести: Information retrieval systems focused on working with unstructured NoSQL data (Shashank Tiwari. Professional NoSQL. - John Wiley & Sons Inc, 2011. - 384 p. - ISBN 9780470942246, [1]) stored on the Internet include, for example, Google, Yandex, Rambler, library search engines. TO The main disadvantages of the method of organizing the search for documents of these systems include:
- низкая степень релевантности документов запросу. - low degree of relevance of documents to the request.
- большое количество документов, выдаваемых по запросу. - a large number of documents issued upon request.
- сложный отсев непрофессиональной и недостоверной информации. - difficult screening of unprofessional and unreliable information.
В существующих поисковых системах для нахождения необходимой информации отработан механизм поиска информации, основанный на построении инвертированного индекса (Маннинг К. Д., Рагхаван П., Шютце X. "Введение в информационный поиск". Пер. с англ. - М, ООО «Вильямс», 2011 - 528с., [2]). Создается словарь ключевых слов, основанных на выборке слов из хранимой в базе данных (БД) информации. Словарь может включать любое количество слов, достаточное, с точки зрения разработчика, для отбора необходимой информации. При этом используются прикладные программы проведения лексического, морфологического, синтаксического, семантического анализов. Для выборки слов используется большой спектр отлаженных методов, основанных на алфавитной выборке, В-деревьях, тематическом разделении и других методах. In existing search systems, to find the necessary information, an information search mechanism has been developed, based on the construction of an inverted index (Manning K.D., Raghavan P., Schutze X. “Introduction to information retrieval.” Translated from English - M, Williams LLC ", 2011 - 528 pp., [2]). A dictionary of keywords is created based on a selection of words from information stored in a database (DB). The dictionary can include any number of words sufficient, from the developer’s point of view, to select the necessary information. In this case, application programs for conducting lexical, morphological, syntactic, and semantic analyzes are used. To select words, a wide range of well-established methods are used, based on alphabetical sampling, B-trees, thematic division and other methods.
При построении инвертированного индекса (структура данных) для поиска документов используются два основных подхода: When constructing an inverted index (data structure) for searching documents, two main approaches are used:
1) с точностью до документа (US2004030686A1 «Method and system of searching a database of records» (CARDNO ANDREW JOHN; MULGAN NICHOL AS JOHN, 12.02.2004), [3]; US2009030892 «SYSTEM OF EFFECTIVELY SEARCHING TEXT FOR KEYWORD, AND METHOD THEREOF» (IBM, 29.01.2009), [4]). В указанных аналогах [3, 4] каждому слову индекса сопоставляется список документов, где встречается данное слово. Далее осуществляется полнотекстовая обработка документа по всем ключевым словам. 1) accurate to the document (US2004030686A1 “Method and system of searching a database of records” (CARDNO ANDREW JOHN; MULGAN NICHOL AS JOHN, 02.12.2004), [3]; US2009030892 “SYSTEM OF EFFECTIVELY SEARCHING TEXT FOR KEYWORD, AND METHOD THEREOF" (IBM, 01/29/2009), [4]). In the indicated analogues [3, 4], each index word is associated with a list of documents where this word occurs. Next, full-text processing of the document is carried out using all keywords.
2) с точностью до слова (US5696963 «System, method and computer program product for searching through an individual document and a group of documents» (SMARTPATENTS INC, 09.12.1997), [5]; US2004177064 «Selecting effective keywords for database searches» (IBM, 09.09.2004), [6]). В указанных аналогах [5, 6] Каждому слову индекса сопоставляется список документов, где встречается данное слово, а также указываются позиции слова в документе. 2) accurate to the word (US5696963 “System, method and computer program product for searching through an individual document and a group of documents” (SMARTPATENTS INC, 12/09/1997), [5]; US2004177064 “Selecting effective keywords for database searches” (IBM, 09.09.2004), [6]). In the indicated analogues [5, 6], each index word is associated with a list of documents where this word occurs, and the position of the word in the document is also indicated.
В обоих подходах предлагаемые структуры данных могут дополняться различными параметрами (частотные, семантические и др. характеристики слов, документов). Составляются списки документов, позиций слов и эти списки анализируются на предмет пересечения списков и формирования нового списка в котором все ключевые слова встречаются.
В качестве прототипа к заявляемому способу принят подход с точностью до документа [4]. In both approaches, the proposed data structures can be supplemented with various parameters (frequency, semantic and other characteristics of words and documents). Lists of documents and word positions are compiled and these lists are analyzed for the intersection of the lists and the formation of a new list in which all keywords appear. As a prototype for the proposed method, an approach is adopted that is accurate to the document [4].
Достоинством первого варианта является простота и минимальный объем индекса.The advantage of the first option is its simplicity and minimal index size.
Недостатком является большой объем обработки при увеличении анализируемого количества ключевых слов. Высокая чувствительность к порядку обработки слов. Например, после выбора документов по первому сочетанию ключевых слов необходимо задать следующие дополнительные слова, но поиск будет вестись на множестве уже найденных документов. Важен порядок обработки ключевых слов при анализе, корректировке и изменении запроса. The disadvantage is the large amount of processing required when the number of keywords analyzed increases. High sensitivity to word processing order. For example, after selecting documents using the first combination of keywords, you need to specify the following additional words, but the search will be carried out on many already found documents. The order in which keywords are processed when analyzing, adjusting and changing a query is important.
Во втором варианте сразу для каждого слова извлекаются списки документов, где встречается данное слово, как в первом варианте, и дополнительно списки номеров позиций с точностью до позиции слова, начала и окончания слов (или длину), после чего производится операция анализа их пересечения. In the second option, for each word, lists of documents where this word occurs are immediately retrieved, as in the first option, and additionally lists of position numbers accurate to the position of the word, the beginning and end of words (or length), after which the operation of analyzing their intersection is performed.
Достоинством второго варианта является удобно при обработке небольшого количества ключевых слов. Возможность восстановления текста, с некоторыми потерями качества, при его утрате. The advantage of the second option is that it is convenient when processing a small number of keywords. The ability to restore text, with some loss of quality, if it is lost.
Недостатком является большой объем хранимого индекса, который может превышать объем памяти, занимаемой обрабатываемыми документами. Это зависит от количества ключевых слов, которое надо оптимизировать. Возрастает сложность хранения и обработки списков переменной длины. Большой объем обработки при увеличении анализируемого количества ключевых слов и росте БД. The disadvantage is the large volume of the stored index, which may exceed the amount of memory occupied by the processed documents. It depends on the number of keywords that need to be optimized. The complexity of storing and processing variable-length lists increases. Large volume of processing with an increase in the analyzed number of keywords and a growing database.
В качестве прототипа к заявляемому устройству принята типовая классическая память для записи и считывания слов (Э. Таненбаум, Т. Остин. Архитектура компьютера, стр. 200, рис. 3.27, [7]). Работа оперативной памяти рассмотрена на примере, состоящем из 4 ячеек памяти (регистров), каждый регистр состоит из 3 бит. В общем случае память не ограничена ни по разрядности регистров, ни по количеству ячеек памяти (регистров). Существуют микросхемы на 8, 16, 32 и 64 бита при 512, 1024 и более ячеек памяти [7] стр. 204, отс.3.30. При увеличении памяти принцип ее работы не изменяется, а показанная на рис. 3.27, [7] схема многократно тиражируется с соответствующим увеличением разрядности регистров, количества входов/выходов и адресов. Здесь каждый триггер хранит один бит информации (на рисунке показаны 4 ряда триггеров по 3 в каждом ряду- регистре). Память содержит четыре 3 -разрядных слова. Каждая операция считывает или записывает целое 3 -разрядное слово. Логическая схема содержит 8 входных линий, в частности 3 входа для данных - Io, Ii, h; 2 входа для адресов - Ао и Ац 3 входа управления - CS (Chip Select - выбор элемента памяти), RD (ReaD - чтение, этот сигнал позволяет
отличать считывание от записи) и ОЕ (Output Enable - разрешение выдачи выходных сигналов), а также 3 выходные линии для данных - Оо, Oi и Ог. Состояние адресного входа определяет, каким четырем битам памяти разрешается ввод или вывод значения. Логика процесса такова, что бинарная строка <1о, Е, 1г> (здесь значение Е равно 0 или 1, i=0,l,2) записывается в ячейку памяти (регистр) по адресу бинарной строки <Ао, Ai> в соответствии с командами, поступающими на входы <CS,RD,OE>. А также информация может считываться в соответствии с командами <CS,RD,OE> из регистров, указанных в адресе <Ao,Ai> в выходную бинарную строку <Оо, О1,Ог> • As a prototype for the claimed device, a typical classical memory for writing and reading words was adopted (E. Tanenbaum, T. Austin. Computer Architecture, p. 200, Fig. 3.27, [7]). The operation of RAM is considered using an example consisting of 4 memory cells (registers), each register consisting of 3 bits. In general, memory is not limited either by the width of the registers or by the number of memory cells (registers). There are 8, 16, 32 and 64 bit microcircuits with 512, 1024 or more memory cells [7] p. 204, ref. 3.30. As the memory increases, the principle of its operation does not change, but the one shown in Fig. 3.27, [7] the circuit is replicated many times with a corresponding increase in the register capacity, the number of inputs/outputs and addresses. Here, each trigger stores one bit of information (the figure shows 4 rows of triggers, 3 in each row-register). The memory contains four 3-bit words. Each operation reads or writes an entire 3-bit word. The logic circuit contains 8 input lines, in particular 3 data inputs - Io, Ii, h; 2 inputs for addresses - Ao and Ats 3 control inputs - CS (Chip Select - selection of a memory element), RD (ReaD - reading, this signal allows distinguish between reading and writing) and OE (Output Enable - permission to issue output signals), as well as 3 output lines for data - Oo, Oi and Og. The state of the address input determines which four bits of memory are allowed to input or output a value. The logic of the process is such that the binary string <1o, E, 1r> (here the value of E is 0 or 1, i=0,l,2) is written to a memory cell (register) at the address of the binary string <Ao, Ai> in accordance with commands arriving at the inputs <CS,RD,OE>. And also information can be read in accordance with the commands <CS,RD,OE> from the registers specified in the address <Ao,Ai> into the output binary string <Oo, O1,Og> •
Представим логическую схему рис. 3.27 [7] в обобщенном виде фиг. 13, оставив только важные для понимания элементы: внешние выводы (входы, выходы, адреса, управляющие сигналы) и триггеры памяти. Let's imagine the logical diagram in Fig. 3.27 [7] in a generalized form of Fig. 13, leaving only the elements that are important for understanding: external pins (inputs, outputs, addresses, control signals) and memory triggers.
Прототип рис. 3.27 [7] не позволяет записывать бинарные строки по номерам позиций в ячейках памяти (регистрах) фиг.13 и 14 (по сути, по столбцам Ст.0, Ст.1, Ст2 фиг. 14). Prototype Fig. 3.27 [7] does not allow writing binary strings according to position numbers in memory cells (registers) of Fig. 13 and 14 (in fact, according to columns St.0, St.1, St.2 of Fig. 14).
Решаемой технической проблемой является возможность обработки ключевых слов документов и представлении результатов обработки в наглядной и сжатой форме - с точностью до страниц документов. Это позволяет быстро, без чтения документов из БД оценить соответствие документа сформулированному запросу. При этом окончательное решение в рамках анализа найденной страницы, пользователь примет самостоятельно или интерактивно дополнит/изменит ключевые слова и увидит результаты изменений на экране. The technical problem being solved is the ability to process document keywords and present the processing results in a visual and concise form - accurate to the pages of documents. This allows you to quickly, without reading documents from the database, assess the document’s compliance with the formulated request. In this case, the user will make the final decision within the analysis of the found page independently or interactively add/change keywords and see the results of the changes on the screen.
Техническим результатом, обеспечиваемым заявляемыми техническими решениями, является аппаратная реализация процесса представления упорядоченного множества списков бинарных строк фиксированной длины <Stn,Str2,. . .,Stfk> в табличную форму, где каждая строка Stfj является столбцом таблицы. Обеспечивается возможность построчного чтения и анализа строк таблицы - регистровое отображение <RI,R2, . . . , Rn> - которое также является множеством бинарных строк, когда каждому номеру j регистра Rj соответствует j-ая позиция бита в списках <Stn,Str2,. . .,Stfk>,. Это позволяет исключить операцию по пересечению списков <Stn,Str2,. . .,Stfk>, относящихся к различным ключевым словам, считая, что каждый i-ый список Stn связан с i-ым ключевым словом, а номер j-ro бита в строке Stn отражает номер документа/страницы, что ускоряет процесс отбора документов/страниц документов, т.к. вся строка <RI,R2, . . . , Rn> относится к одному j-ому документу/странице.
Техническим результатом способа является предложенная структура данных, включающая таблицу ключевых слов (индексный словарь), таблицу документов, таблицу бинарных списков и таблицу бинарных строк документов. Предложенная структура данных позволяет проводить поиск документов по множествам ключевых слов с точностью до страниц документов, без чтения самих документов из БД и представление результата поиска в виде Таблицы ответа, что облегчает процедуру отбора документов в соответствии с заданными критериями. The technical result provided by the claimed technical solutions is the hardware implementation of the process of representing an ordered set of lists of binary strings of fixed length <Stn,Str2,. . .,Stfk> into a tabular form, where each row of Stfj is a table column. The ability to read and analyze table rows line by line is provided - register mapping <RI,R2, . . . , R n > - which is also a set of binary strings, when each number j of register Rj corresponds to the j-th bit position in the lists <Stn,Str2,. . .,Stfk>,. This allows you to eliminate the operation of crossing the lists <Stn,Str2,. . .,Stfk>, related to various keywords, considering that each i-th list Stn is associated with the i-th keyword, and the j-ro bit number in the Stn line reflects the document/page number, which speeds up the document/page selection process documents, because entire line <RI,R2, . . . , R n > refers to one j-th document/page. The technical result of the method is the proposed data structure, including a table of keywords (index dictionary), a table of documents, a table of binary lists and a table of binary document strings. The proposed data structure allows you to search for documents using sets of keywords accurate to the pages of documents, without reading the documents themselves from the database and presenting the search result in the form of an Answer Table, which facilitates the procedure for selecting documents in accordance with specified criteria.
Также техническими результатами являются: Also technical results are:
- При поиске документов не требуется чтение самих документов из БД, при этом выбираются для просмотра только страницы, точно удовлетворяющие требованиям запроса без чтения документов; - When searching for documents, there is no need to read the documents themselves from the database; in this case, only pages that exactly meet the requirements of the request are selected for viewing without reading the documents;
- Возможность интерактивного взаимодействия с системой и постоянное циклическое уточнение или изменение запроса путем добавления и исключения ключевых слов в процессе анализа страниц, при этом документы подставляются или исключаются в список или из списка обрабатываемых документов, а слова - в список ключевых слов для поиска документов; - The ability to interact interactively with the system and constantly cyclically refine or change the request by adding and excluding keywords in the process of analyzing pages, while documents are inserted or excluded into the list or from the list of processed documents, and words - into the list of keywords for searching documents;
- Процесс поиска документов хорошо масштабируется и распараллеливается; - The document search process is highly scalable and parallelizable;
- Способ позволяет определять приоритет в списке ключевых слов и придавать важность каждому ключевому слову, система может уточнять и предлагать варианты исходя из собираемой статистики, в том числе и персональной для построения индивидуальных моделей пользователя; - The method allows you to determine the priority in the list of keywords and assign importance to each keyword, the system can clarify and offer options based on the collected statistics, including personal ones for building individual user models;
- Задание различных множеств на множестве ключевых слов {Si} (например, множество витаминов, кислот, деревьев и т.д.) с целью уточнения смыслов документов и поиска дополнительных вариантов ответов; - Setting various sets on a set of keywords {Si} (for example, a set of vitamins, acids, trees, etc.) in order to clarify the meaning of documents and search for additional answer options;
- Фиксация длины бинарных строк для номеров страниц документа на уровне 128 байт позволяет отказаться от сортировки списков страниц и реализовать простой механизм наглядного анализа страниц документов; - Fixing the length of binary strings for document page numbers at 128 bytes allows you to abandon sorting lists of pages and implement a simple mechanism for visual analysis of document pages;
- Фиксация длины бинарных строк на уровне 128 кбайт и более для больших БД (более десятков миллионов документов) при реализации DM памяти позволяет отказаться от сортировки списков документов. В этом случае длина бинарной строки должна соответствовать максимальному количеству документов в БД. т.к. номер бита в бинарной строке должен соответствовать номеру документа в БД. Например, бинарная строка 128 кБайт соответствует 1 млн. документов; - Fixing the length of binary strings at 128 kB or more for large databases (more than tens of millions of documents) when implementing DM memory makes it possible to avoid sorting lists of documents. In this case, the length of the binary string must correspond to the maximum number of documents in the database. because the bit number in the binary string must correspond to the document number in the database. For example, a 128 kB binary string corresponds to 1 million documents;
- Возможность параллельной обработки множеств (десятков и сотен) ключевых слов;
- Свободный просмотр результатов обработки ключевых слов в любой последовательности - последовательность задает индивидуальную важность ключевых слов для пользователя и определяется простой перестановкой столбцов в таблице ответа, что позволяет при отборе страниц учитывать эти приоритеты и при необходимости отбрасывать менее важные слова; - Possibility of parallel processing of sets (tens and hundreds) of keywords; - Free viewing of the results of processing keywords in any sequence - the sequence specifies the individual importance of keywords for the user and is determined by a simple rearrangement of columns in the response table, which allows you to take into account these priorities when selecting pages and, if necessary, discard less important words;
- Итоговые отобранные пользователем таблицы ответов являются удобным средством для построения прикладных формальных алгоритмов анализа документов, построения различных метрик и пространств классификации документов, построения персональных моделей информационного пространства пользователя; - The final answer tables selected by the user are a convenient tool for constructing applied formal algorithms for document analysis, constructing various metrics and document classification spaces, and constructing personal models of the user’s information space;
- Точность обработки ограничена страницей документа, при этом страница будет выведена пользователю для его окончательной оценки на предмет ее пертинентности, кроме того при необходимости, можно легко дополнить обработку ключевых слов, в объеме одной страницы. - The accuracy of processing is limited to the page of the document, while the page will be displayed to the user for his final assessment regarding its relevance; in addition, if necessary, you can easily supplement the processing of keywords in the amount of one page.
Сущность заявленного способа состоит в том, что пользователь формирует запрос и указывает ключевые слова и логические операции с ними. Затем происходит выделение ключевых слов в запросе в блоке обработки ключевых слов запроса, использования инвертированного индекса с программами формирования, развития и сопровождения работы инвертированного индекса, при этом упомянутые программы взаимодействуют с блоком индексации, который взаимодействует с базой данных, программами выборки списков по ключевым словам, отличающийся тем, что: The essence of the claimed method is that the user forms a request and specifies keywords and logical operations with them. Then the keywords in the query are selected in the query keyword processing block, the inverted index is used with programs for the formation, development and maintenance of the inverted index, while the mentioned programs interact with the indexing block, which interacts with the database, programs for selecting lists by keywords, characterized in that:
- программы формируют вспомогательные таблицы: ключевых слов, документов, бинарных строк номеров документов и бинарных строк, дополняющие инвертированный индекс, при этом - programs generate auxiliary tables: keywords, documents, binary strings of document numbers and binary strings that complement the inverted index, while
- таблица ключевых слов содержит список ключевых слов, каждое ключевое слово имеет ссылку на бинарную строку документов и ссылку на строку таблицы документов, а также здесь же указывается дополнительная информация: количество документов, где используется ключевое слово, другие данные о ключевом слове: термин, сокращение, множество или элемент множества; - the keyword table contains a list of keywords, each keyword has a link to a binary string of documents and a link to a string of the document table, and additional information is also indicated here: the number of documents where the keyword is used, other data about the keyword: term, abbreviation , set or element of a set;
- таблица документов содержит списки пар, связанных с ключевым словом, пара - это номер документа, в котором используется ключевое слово и ссылка на бинарную строку в таблицы бинарных строк; - the document table contains lists of pairs associated with a keyword, the pair is the number of the document in which the keyword is used and a link to the binary string in the binary string tables;
- таблица бинарных строк содержит список бинарных строк фиксированной длины, каждая строка связана с номером документа из таблицы документов, при этом каждый бит бинарной строки - соответствует одной странице текста документа, номер бита в строке соответствует номеру страницы этого документа, а 1 или 0, стоящие на определенной
позиции, указывают на присутствие или отсутствие заданного ключевого слова на данной странице; - the table of binary strings contains a list of binary strings of a fixed length, each line is associated with a document number from the document table, with each bit of the binary string corresponding to one page of document text, the bit number in the string corresponds to the page number of this document, and 1 or 0 standing on a certain positions indicate the presence or absence of a given keyword on a given page;
- таблица бинарных строк документов состоит из множества бинарных строк фиксированной длины, при этом каждый номер бита в бинарной строке соответствует номеру документа, а 1 в этом бите означает, что в документе с данным номером встречается заданное ключевое слово; - a table of binary document strings consists of many binary strings of a fixed length, with each bit number in the binary string corresponding to a document number, and 1 in this bit means that the specified keyword occurs in the document with this number;
- после выборки списков по ключевым словам из инвертированного индекса, осуществляют обработку списков документов, представленных в виде бинарных строк в блоке обработки результирующего списка, при этом бинарные строки загружаются для обработки в двойную память, в которой числовое значение строки равна 2П , где п - разрядность регистра памяти, в случае, если все заданные ключевые слова встречаются в документе с номером равным номеру строки в двойной памяти, это позволяет не прибегать к операции пересечения списков, при этом - after selecting lists by keywords from the inverted index, they process lists of documents presented in the form of binary strings in the resulting list processing block, while the binary strings are loaded for processing into double memory, in which the numerical value of the string is 2 P , where n - capacity of the memory register, if all the specified keywords occur in a document with a number equal to the line number in double memory, this allows you not to resort to the operation of crossing lists, while
- в блоке обработки страниц документов по ключевым словам формируется для каждого документа таблица ответа, при этом происходит загрузка бинарных строк из таблицы бинарных строк в двойную память, их сортировка и анализ, при этом в таблице ответа каждому столбцу соответствует свое ключевое слово, столбцы упорядочены в соответствии с их важностью, причем каждый столбец ключевого слова соответствует бинарной строке таблицы бинарных строк, таблица ответа позволяет отразить содержащиеся в документе ключевые слова с точностью до страницы без загрузки самого документа из базы данных. - in the block for processing document pages based on keywords, a response table is formed for each document, while loading binary strings from the table of binary strings into double memory, sorting and analyzing them, while in the response table each column corresponds to its own keyword, the columns are ordered in according to their importance, with each keyword column corresponding to a binary row of the binary string table, the response table allows you to reflect the keywords contained in the document with page accuracy without loading the document itself from the database.
Сущность заявленного устройства состоит в том, что двойная память для организации поиска документов в прикладных неструктурированных базах данных представляет собой логическую схему памяти, обеспечивающую возможность записи данных по заданному адресу ячейки память, а также возможность чтения из ячеек памяти по заданному адресу ячейки записанных данных и вывод считанных данных в выходные линии в соответствии с сигналами управления CS, RD, ОЕ и СМ, отличающаяся тем, что: The essence of the claimed device is that dual memory for organizing document searches in applied unstructured databases is a logical memory circuit that provides the ability to write data at a given memory cell address, as well as the ability to read from memory cells at a given cell address of the recorded data and output read data into the output lines in accordance with the control signals CS, RD, OE and SM, characterized in that:
- содержит второй канал ввода данных, обеспечивающий запись битовых строк в заданный бит (номер столбца) ячейки памяти во все ячейки памяти одновременно, при этом длина битовой строки равна количеству ячеек памяти, а количество и разрядность ячеек памяти ограничено технологическими возможностями микроэлектроники; - contains a second data input channel that ensures that bit strings are written to a given bit (column number) of a memory cell in all memory cells simultaneously, while the length of the bit string is equal to the number of memory cells, and the number and width of memory cells is limited by the technological capabilities of microelectronics;
- вход СМ, выполненный с возможностью переключения работы схемы из режима обычной памяти - записи входных данных в ячейки памяти, в режим двойной памяти - записи входных данных в заданный бит каждой ячейки памяти;
- содержит блок адресации номеров бита в ячейках памяти (номера столбцов), задающих общий номер бита для всех ячеек памяти, в которые осуществляется запись данных; - SM input, configured to switch the operation of the circuit from a regular memory mode - writing input data to memory cells, to a dual memory mode - writing input data to a given bit of each memory cell; - contains a block for addressing bit numbers in memory cells (column numbers), which specify the general bit number for all memory cells into which data is written;
- после блока адресации ячеек установлен переключатель, который пропускает или блокирует сигнал адреса ячейки памяти в зависимости от управляющего сигнала СМ; - after the cell addressing block, a switch is installed that passes or blocks the memory cell address signal depending on the control signal CM;
- содержит логические переключатели, установленные на всех входах триггеров памяти, для переключения канала поступления адресов с адресов ячеек памяти на адреса битов в ячейках памяти (столбцов), в зависимости от управляющего сигнала СМ; - contains logical switches installed at all inputs of memory flip-flops to switch the channel for receiving addresses from the addresses of memory cells to the addresses of bits in memory cells (columns), depending on the control signal CM;
- содержит логические переключатели, установленные на всех входах поступления данных триггеров памяти, для переключения каналов получения данных в зависимости от управляющего сигнала СМ; - contains logical switches installed at all data inputs of memory triggers to switch data acquisition channels depending on the CM control signal;
- выход блока управления записью/чтением CS, RD, ОЕ, соединен с выходом блока выбора номера бита (адреса столбца). - the output of the write/read control block CS, RD, OE is connected to the output of the bit number selection block (column address).
Краткое описание чертежей. Brief description of the drawings.
На фиг. 1 показана обобщенная схема способа организации поиска документов в больших БД; на фиг. 2 - структура данных рабочих таблиц; на фиг. 3 - бинарная строка; на фиг. 4 - пример таблицы ответа документов, по столбцам бинарные строки номеров документов ASDi; на фиг. 5 - пример таблицы ответа страниц, по столбцам показаны строки Stri соответствующие ключевым словам; на фиг. 6 - пример уплотненной и упорядоченной таблицы ответа; на фиг. 7 - пример таблицы ответа, £=0,2; на фиг. 8 - пример фрагмента анализируемого текста; на фиг. 9 - блок схема этапов обработки анализируемого текста примера 1; на фиг. 10 - заполнение таблиц примера 1; на фиг. 11 - общий вид условной таблицы ответа; на фиг. 12 - пример таблицы из шести бинарных столбцов длиною в 12 бит каждая; на фиг. 13 - логическая блок-схема для памяти 4 х 3; на фиг. 14 - обобщенная блок- схема схема памяти 4x3, показанной на фиг. 13; на фиг. 15 - обобщенная блок-схема схема памяти на г ячеек памяти разрядностью в п бит; на фиг. 16 - обобщенная блок-схема схема DM памяти 4x4; на фиг. 17 - обобщенная блок-схема схема памяти на г ячеек памяти разрядностью в п бит; на фиг. 18 - пример исполнения логической схемы DM памяти 4x4. In fig. Figure 1 shows a generalized diagram of a method for organizing document searches in large databases; in fig. 2 - data structure of work tables; in fig. 3 - binary string; in fig. 4 - example of a document response table, in columns there are binary strings of ASDi document numbers; in fig. 5 - an example of a page response table, the columns show the Stri lines corresponding to the keywords; in fig. 6 is an example of a compacted and ordered response table; in fig. 7 - example of a response table, £=0.2; in fig. 8 - example of a fragment of the analyzed text; in fig. 9 - block diagram of the stages of processing the analyzed text of example 1; in fig. 10 - filling out the tables of example 1; in fig. 11 - general view of the conditional response table; in fig. 12 is an example of a table of six binary columns, each 12 bits long; in fig. 13 - logical block diagram for 4 x 3 memory; in fig. 14 is a generalized block diagram of the 4x3 memory shown in FIG. 13; in fig. 15 - generalized block diagram of a memory circuit for g memory cells with a width of n bits; in fig. 16 is a general block diagram of a 4x4 DM memory circuit; in fig. 17 - generalized block diagram of a memory circuit for g memory cells with a width of n bits; in fig. 18 is an example of the implementation of a 4x4 DM memory logic circuit.
Перечень обозначений фиг. 13 - 17: List of symbols of figs. 13 - 17:
Io, Ii, h, 1з - входные данные для записи в регистры; Io, Ii, h, 1з - input data for writing to registers;
Ао, А1- два входа для адресации ячеек памяти; Ao, A1 - two inputs for addressing memory cells;
CS - выбор элемента памяти; CS - memory element selection;
RD - чтение (позволяет отличать считывание от записи); RD - read (allows you to distinguish reading from writing);
ОЕ - разрешение выдачи данных, OE - permission to issue data,
Jo, Ji, J2, J3 - входные данные для записи столбцов;
CLo, CLi- два входа для адресации столбцов; Jo, Ji, J2, J3 - input data for writing columns; CLo, CLi - two inputs for addressing columns;
Ст.0, Ст.1, Ст.2, Ст.З - столбцы (номера бит в ячейке памяти); St.0, St.1, St.2, St.Z - columns (bit numbers in the memory cell);
Оо, 01, Ог, Оз - выходные данные для чтения из ячеек памяти. Oo, 01, Og, Oz - output data for reading from memory cells.
Разрешение вывода данных CS RD OE. Data output resolution CS RD OE.
Осуществление способа. Implementation of the method.
Способ организации поиска документов в больших БД (фиг. 1) включает следующие типовые этапы: The method of organizing a search for documents in large databases (Fig. 1) includes the following typical steps:
- Пользователь (4), являющийся заинтересованным потребителем информации, формирует запрос (5) на языке близком к SQL, при этом пользователь указывает ключевые слова и логические операции с ними, причем запрос преимущественно ограничивается простым перечислением слов; - User (4), who is an interested consumer of information, generates a query (5) in a language close to SQL, while the user specifies keywords and logical operations with them, and the query is mainly limited to a simple listing of words;
- В блоке обработки ключевых слов запроса (6) происходит выделение ключевых слов в запросе. - In the query keyword processing block (6), keywords in the query are selected.
- Программы формирования, развития и сопровождения работы инвертированного индекса формируют инвертированный индекс (3), при этом упомянутые программы взаимодействуют с блоком индексации (2), который взаимодействует БД (1), выбирают списки документов по ключевым словам (7), проводят пересечение списков ключевых слов на предмет поиска множества документов, в которых одновременно встречаются заданные ключевые слова и выполняют над ними заданные логические условия, получают результирующий список. Этот список документов уже является промежуточным результатом поиска и может выводиться пользователю. В настоящее время поисковые системы дополняют обработку этого списка полнотестовым поиском всех документов этого списка, что позволяет при выводе информации на экран текста документов подсвечивать цветом все найденные ключевые слова, что облегчает пользователю его просмотр. - Programs for the formation, development and maintenance of the inverted index form an inverted index (3), while the mentioned programs interact with the indexing block (2), which interacts with the database (1), select lists of documents by keywords (7), and intersect lists of keywords words in order to search for a set of documents in which the given keywords simultaneously appear and the given logical conditions are fulfilled over them, the resulting list is obtained. This list of documents is already an intermediate search result and can be displayed to the user. Currently, search engines supplement the processing of this list with a full-test search of all documents in this list, which allows the text of documents to be highlighted in color when displaying information on the screen, which makes it easier for the user to view it.
Как отмечено на схеме блоки фиг. 1 с первого по седьмой предусматривают типовые функции построения и использования инвертированных индексов в существующих информационно-поисковых системах. As noted in the block diagram of FIG. 1 from the first to the seventh provide typical functions for constructing and using inverted indexes in existing information retrieval systems.
- В блоке обработки результирующего списка документов (8) из результирующего списка по номеру документа из Таблицы документов (12 фиг. 2) считывается адрес бинарной строки, а затем и сама бинарная строка документа из Таблицы бинарных строк (13 фиг. 2) по каждому ключевому слову. - In the block for processing the resulting list of documents (8), the address of the binary string is read from the resulting list by document number from the Document Table (12 Fig. 2), and then the binary document string itself from the Binary String Table (13 Fig. 2) for each key word.
- Блок обработки страниц документов по ключевым словам (9) формирует для каждого документа таблицу ответа (фиг. 4), при этом происходит загрузка бинарных строк в двойную память, далее DM (фиг.17), их сортировка и анализ в соответствии с заданными параметрами по смягчению или ужесточению соответствия ответов запросу. Пользователь
может в интерактивном режиме выбирать и просматривать страницы документа, изменять запрос, важность ключевых слов и другие параметры отбора страниц. - The block for processing document pages by keywords (9) generates a response table for each document (Fig. 4), while loading binary strings into double memory, then DM (Fig. 17), sorting and analyzing them in accordance with the specified parameters to soften or tighten the correspondence of responses to the request. User can interactively select and view document pages, change the query, keyword importance and other page selection parameters.
- Выводится итоговый список отобранных документов (10) в качестве ответа на поданный запрос. - A final list of selected documents (10) is displayed as a response to the submitted request.
В существующих поисковых системах осуществляется выборка списков документов, по ключевым словам, (блок 7, фиг.1). Далее программно проводится операция пересечения этих списков на предмет нахождения результирующего списка документов в котором в каждом документе присутствовали все ключевые слова. In existing search systems, lists of documents are selected using keywords (block 7, Fig. 1). Next, a programmatic operation is carried out to intersect these lists to find the resulting list of documents in which all the keywords were present in each document.
В предлагаемом варианте возможно проведение операции пересечения списков документов в DM памяти. Для этого необходимо представлять списки документов в виде бинарных списков фиг. 3 также, как и в случае с бинарными списками страниц Stn, только большего объема (в миллионы бит). При этом потребуется DM память значительно большего размера, что выразится в ее стоимости. Например, для обработки бинарных списков страниц достаточна длина бинарной строки в 128 байт, а для обработки бинарных списков документов потребуется строка порядка 128 Кбайт и более, для единовременной загрузки списка на 1 млн. документов. В этом случае номер бита в бинарной строке будет соответствовать номеру документа, в котором ключевое слово встретилось. Тогда обработка списка, например, в 14 миллионов документов приведет к 14-ти циклическим загрузкам DM памяти. Все, проводимые операции в DM памяти полностью идентичны операциям со списками страниц документов. В этом случае, как осуществляют в системах сейчас, документ выбирают из Таблицы ответов документов (15) и вносят в результирующий список документов блока 7 фиг. 1 в случае полного присутствия всех ключевых слов строке - документе, например, на фиг. 4 это документы 8 и 11 в строках 8 и 11. In the proposed version, it is possible to carry out the operation of intersecting lists of documents in DM memory. To do this, it is necessary to represent lists of documents in the form of binary lists of Fig. 3 is the same as in the case of binary lists of Stn pages, only of a larger size (millions of bits). This will require a much larger DM memory, which will be reflected in its cost. For example, to process binary lists of pages, a binary string length of 128 bytes is sufficient, and to process binary lists of documents, a string of about 128 KB or more will be required to simultaneously load a list of 1 million documents. In this case, the bit number in the binary string will correspond to the document number in which the keyword occurred. Then processing a list of, for example, 14 million documents will lead to 14 cyclic loads of DM memory. All operations performed in DM memory are completely identical to operations with lists of document pages. In this case, as is currently done in systems, the document is selected from the Document Response Table (15) and added to the resulting list of documents in block 7 of FIG. 1 in the case of the complete presence of all keywords in a line - document, for example, in FIG. 4 is documents 8 and 11 in lines 8 and 11.
БД (1) является хранилищем всех накопленных документов. Формат и структура данных задается выбранной типовой системой управления данными. Сопровождается всем необходимым программным обеспечением: средства записи документов, манипулирования данными, чтения данных, языки работы с данными (описания данных, манипулирования данными, запроса). The database (1) is a repository of all accumulated documents. The format and structure of the data is determined by the selected standard data management system. Accompanied by all necessary software: tools for writing documents, manipulating data, reading data, languages for working with data (data description, data manipulation, query).
Программы формирования, развития и сопровождения работы инвертированного индекса (3) осуществляют запись, чтение, сортировки, внесение изменений, формирование рабочей структуры данных и формирование рабочих векторов ключевых слов (указатели на документы), разделение или объединение индексов, включение или исключение слов, анализ и т.д.
Предлагаемый способ ориентирован, прежде всего, на поиск в печатных изданиях фактографической информации в профессиональных библиотеках (например, биология, генная инженерия, фармакология - информация по лекарствам, механизмам их воздействия на организм, способах лечения болезней и т.д.). Programs for the formation, development and maintenance of the inverted index (3) carry out recording, reading, sorting, making changes, creating a working data structure and generating working vectors of keywords (pointers to documents), dividing or merging indexes, including or excluding words, analyzing and etc. The proposed method is focused, first of all, on searching printed publications for factual information in professional libraries (for example, biology, genetic engineering, pharmacology - information on drugs, the mechanisms of their effect on the body, methods of treating diseases, etc.).
Пусть Q = {Dj } - множество документов Dj, где j=l,m. Здесь m - количество документов, например, 700’000 документов и более. Документом является книга, журнал, статьи, архивные документы, протоколы и результаты исследований и т.д., т.е. любое печатное издание, удобное для обработки и вывода на экран компьютера. Let Q = {Dj } be the set of documents Dj, where j=l,m. Here m is the number of documents, for example, 700’000 documents or more. A document is a book, journal, articles, archival documents, protocols and research results, etc., i.e. any printed publication convenient for processing and display on a computer screen.
В отличие от прототипа [2] предлагаемый способ включает следующую структуру данных, которая используется в блоках 8, 9 и 10: таблицы ключевых слов (И), таблицы документов (12), таблицы бинарных строк (13) и таблицы бинарных строк документов (14). Структура упомянутых таблиц показана на фиг.2. Unlike the prototype [2], the proposed method includes the following data structure, which is used in blocks 8, 9 and 10: tables of keywords (I), tables of documents (12), tables of binary strings (13) and tables of binary strings of documents (14 ). The structure of the mentioned tables is shown in Fig.2.
Таблица ключевых слов (11) содержит список из г строк. Каждая строка содержит:The keyword table (11) contains a list of r strings. Each line contains:
- ключевое слово { Si}i=i.r, - keyword { Si}i=i. r ,
- число {Cj}j=i.k, указывающее количество документов, в которых встречается данное ключевое слово, - number {Cj}j=i.k, indicating the number of documents in which this keyword occurs,
- адрес ссылки { ASDi}i=i,n на строку из таблицы бинарных строк документов (14),- link address {ASDi}i=i, n to a line from the table of binary document strings (14),
- адрес ссылки { Adi}i=i,n на строку из таблицы документов (12). - link address { Adi}i=i, n to a line from the document table (12).
При этом слов больше, чем ссылок. Например, слово “дом” и слова “домик”, “домом” и др. могут иметь одну общую ссылку. Moreover, there are more words than links. For example, the word “house” and the words “house”, “house”, etc. may have one common link.
Таблица ключевых слов (11) может быть разбита на произвольное количество разделов - подтаблиц. Эти разделы связаны с семантикой ключевых слов: слова литературные, слова предметной области, сокращения, синонимы, наименования и т.д. Таблица ключевых слов (11) может быть дополнена столбцами, отражающими свойства слов и их различную группировку: синонимы, антонимы, различные классы (множества слов), тематические термины (математика, химия биология и т.д.), семантические классы, искусственные метрики и т.д. The table of keywords (11) can be divided into an arbitrary number of sections - subtables. These sections are related to the semantics of keywords: literary words, words of the subject area, abbreviations, synonyms, names, etc. The table of keywords (11) can be supplemented with columns reflecting the properties of words and their various groupings: synonyms, antonyms, various classes (sets of words), thematic terms (mathematics, chemistry, biology, etc.), semantic classes, artificial metrics and etc.
Таблица документов (12) содержит t строк {<Sp>i }i=i,t, где каждая строка Spi состоит из списка пар: The document table (12) contains t rows {<Sp>i }i=i,t, where each row Spi consists of a list of pairs:
Spi = { <Ndi, Asti>i, <Nd2, Ast2>2, <Nds, Ast3>3, . . . <Ndt, Astt> t}i, где Ndj, j= 1 ,t - номер документа, в котором используется ключевое слово из таблицы ключевых слов (11); Spi = { <Ndi, A s ti>i, <Nd2, A s t2>2, <Nds, A s t3>3, . . . <Ndt, A s tt> t}i, where Ndj, j= 1 ,t is the number of the document in which the keyword from the keyword table (11) is used;
Astri - адрес ссылки на бинарную строку в таблицы бинарных строк (13). Astri - address of the link to the binary string in the binary string table (13).
В каждой строке таблицы документов (12) пары упорядочены в соответствии с номерами документов Ndj. Число Ci из таблицы ключевых слов (11) указывает на
количество пар в таблице документов (12), связанных с заданным ключевым словом. В таблице документов (12) перечислены все номера документов, в которых встречаются ключевые слова из таблицы ключевых слов (11). In each row of the document table (12), pairs are ordered in accordance with document numbers Ndj. The Ci number from the keyword table (11) indicates the number of pairs in the document table (12) associated with a given keyword. The document table (12) lists all document numbers that contain keywords from the keyword table (11).
Это позволяет оценить информативность каждого ключевого слова и установить границу отсечения излишних ключевых слов или построить новые. Слово, которое встречается в 95% документов не позволяет эффективно различать документы и выделить среди них требуемое, которое относят к стоп-словам. Новые ключевые слова могут образовывать и сочетания существующих ключевых слов. This allows you to evaluate the information content of each keyword and set a cutoff limit for unnecessary keywords or build new ones. A word that appears in 95% of documents does not allow you to effectively distinguish between documents and select among them the required one, which is classified as a stop word. New keywords can also form combinations of existing keywords.
Таблица бинарных строк (13) содержит список из ш бинарных строк фиксированной длины {Stri}i=i,m. Структура бинарной строки Stn показана на фиг. 3, где каждая клетка - это один бит, соответствующий одной странице текста документа, номер бита в строке соответствует номеру страницы этого документа, а 1 или 0, стоящие на определенной позиции, указывают на присутствие или отсутствие заданного слова на данной странице. The binary string table (13) contains a list of n binary strings of fixed length {Stri}i=i, m . The structure of the binary string Stn is shown in Fig. 3, where each cell is one bit corresponding to one page of document text, the bit number in the line corresponds to the page number of this document, and 1 or 0 standing at a certain position indicate the presence or absence of a given word on this page.
Пусть документ Dj имеет 2 млн. знаков, что соответствует примерно 1000 страницам текста. Тогда ему будет соответствовать бинарная строка длиной в 1000 Бит или 128 байт. Количество бит в бинарной строке будет больше (кратно степени 2) - появляются резервные биты. Предполагается, что книг с большим количеством страниц крайне мало, а встречающиеся разбиваются на тома (возможно искусственное разбиение). Let the document Dj have 2 million characters, which corresponds to approximately 1000 pages of text. Then it will correspond to a binary string of 1000 bits or 128 bytes in length. The number of bits in a binary string will be greater (a multiple of the power of 2) - reserve bits appear. It is assumed that there are very few books with a large number of pages, and those found are divided into volumes (an artificial division is possible).
Предлагаемая структура данных является открытой и всегда может быть дополнена необходимыми для обработки параметрами, отражающие частотные, семантические, логические, морфологические и др. характеристики слов и документов. Это отражается в увеличении размерности таблиц и/или включении дополнительных, отражающие дополнительные характеристики документов и слов. Например, Таблица 11 может пополниться ссылками на дополнительную таблицу двойных/тройных ключевых слов, сокращениями и т.д. Структура может быть дополнена таблицей множеств/под множеств ключевых слов, например, множество витаминов с перечнем витаминов, множество деревьев с перечнем видов и т.д. Таблицы 12 и 13 могут также включать дополнительные параметры, тем более в каждой бинарной строке есть резерв в 24 байта. The proposed data structure is open and can always be supplemented with the parameters necessary for processing, reflecting the frequency, semantic, logical, morphological and other characteristics of words and documents. This is reflected in the increase in the dimension of tables and/or the inclusion of additional ones, reflecting additional characteristics of documents and words. For example, Table 11 could be supplemented with links to an additional table of double/triple keywords, abbreviations, etc. The structure can be supplemented with a table of sets/subsets of keywords, for example, a set of vitamins with a list of vitamins, a set of trees with a list of species, etc. Tables 12 and 13 may also include additional parameters, especially since each binary string has a reserve of 24 bytes.
Этапы формирования таблиц (11), (12) и (13) показаны на фиг. 8, 9, 10. The stages of generating tables (11), (12) and (13) are shown in Fig. 8, 9, 10.
При формировании запроса (5) (фиг. 1) пользователь указывает список ключевых слов <S1,S2,. . .,Sk>, упорядоченных по их важности для пользователя. Возможно построение классического языка запросов с использованием логических символов И, ИЛИ, НЕ. Ключевые слова задает сам пользователь исходя из личного представления о требуемом содержании искомого документа. Степень важности - индивидуальное
восприятие пользователем задаваемых им ключевых слов (числовое значение или просто порядок слов) ключевых слов можно: When forming a request (5) (Fig. 1), the user specifies a list of keywords <S1,S2,. . .,Sk>, ordered by their importance to the user. It is possible to build a classic query language using the logical symbols AND, OR, NOT. Keywords are set by the user himself based on his personal understanding of the required content of the document being sought. Level of importance - individual The user's perception of the keywords he sets (numerical value or simply word order) of keywords can be:
- задавать линейной или иной функцией, которую можно рассчитывать строя индивидуальные модели предметной области для каждого пользователя в отдельности; - set a linear or other function that can be calculated by building individual models of the subject area for each user individually;
- самому пользователю при их перечислении (вводе) расстановки слов: - to the user himself when listing (entering) the arrangement of words:
- автоматически исходя из частотных характеристик слов. - automatically based on the frequency characteristics of words.
Степень важности позволяет отбрасывать наименее важные слова и больше сосредотачиваться на сочетаниях более важных слов. Количество задаваемых ключевых слов ограничено только логикой и уровнем восприятия пользователя условно можно остановиться на 64 словах, хотя для отдельных приложений может потребоваться и значительно больше - при обработке множеств ключевых слов. The degree of importance allows you to discard the least important words and focus more on combinations of more important words. The number of specified keywords is limited only by logic and the level of user perception, you can conditionally stop at 64 words, although for individual applications it may be necessary to significantly more - when processing multiple keywords.
На основе запроса по каждому документу строится таблица ответа (16) (фиг. 5), в которой каждому столбцу соответствует свое ключевое слово. Based on the query for each document, a response table (16) is built (Fig. 5), in which each column has its own keyword.
Столбцы упорядочены в соответствии с их важностью. Каждый столбец ключевого слова соответствует бинарной строке таблицы бинарных строк (13). Поэтому при формировании таблицы ответа программа блока (9) считывает и собирает по каждому документу и по каждому ключевому слову в таблицу ответа (16) фиг. 5 готовые бинарные строки фиксированной длины из таблицы бинарных строк (13) и располагает их в соответствии с заданным пользователем порядком важности в столбцах таблицы ответа (16) фиг. 5. При этом порядок записи слов такой, что чем левее (условно, по умолчанию) в таблице ответа расположено слово, тем оно важнее. Слово Si+i важнее слова Si (фиг. 5). The columns are ordered according to their importance. Each keyword column corresponds to a binary row in the binary string table (13). Therefore, when generating the response table, the block program (9) reads and collects for each document and for each keyword into the response table (16) FIG. 5 ready-made binary strings of a fixed length from the table of binary strings (13) and arranges them in accordance with the user-specified order of importance in the columns of the response table (16) of FIG. 5. In this case, the order of writing words is such that the further to the left (conditionally, by default) a word is located in the answer table, the more important it is. The word Si+i is more important than the word Si (Fig. 5).
На фиг. 5 показан пример таблицы ответа (16) на один документ из ш страниц по шестнадцать ключевым словам. Каждая i-ая строка таблицы ответа (16) фиг. 5 отражает все ключевые слова, которые встретились на данной i-ой странице рассматриваемого документа Dj и представляет собой шестнадцатибитную строку, которая читается как целое число в диапазоне от 0 до 65536 или 216. In fig. Figure 5 shows an example of a response table (16) for one document of six pages with sixteen keywords. Each i-th row of the response table (16) of FIG. 5 reflects all the keywords that were found on this i-th page of the document in question Dj and is a sixteen-bit string that is read as an integer in the range from 0 to 65536 or 2 16 .
Эти числа (битовая строка по каждой странице) хорошо интерпретируются и показывают, какие ключевые слова встретились на данной странице (строке). Максимальное значение числа соответствует строке, полностью заполненной единицами, т.е. все ключевые слова встретились на данной странице. Это позволяет строить простые, понятные и адаптивные алгоритмы: а) Просмотр таблицы и выделение страниц у которых есть совпадение по все ключевым словам - бинарное число строки равно 2П, где п - количество ключевых слов или 65536 для 216. Документ, в котором больше таких страниц больше соответствует запросу, с учетом заданных логических конструкций. В большинстве запросов пользователей (до
98%) они не прибегают к логическим условиям поиска, а ограничиваются перечислением ключевых слов; б) Возможно уплотнение таблицы для визуального анализа выбранных документов. Для визуализации исключаются нулевые строки или строки с заданным пользователем низким уровнем отсева. Оставшиеся, не исключенные строки, могут упорядочиваться в зависимости от количества 1 и от заданного порядка по степени важности ключевых слов. Пример преобразованной таблицы ответа (16), приведенной на фиг. 5 показан на фиг. 6 Возможны включения любых алгоритмов обработки текста на странице: выделения слов на расстоянии, фраз, обработки перестановок слов, появления пояснений, синонимов и т.д. в) Подбор ключевых слов путем исключения минимальных сочетаний наименее важных слов с целью получения полного заполнения остаточного количества слов единицами. Например, для таблицы ответа (16) на фиг. 5 если исключают ключевые слова SI, S6, S8, S 14, то получают документ, в котором на странице 1 будет полное совпадение остаточных ключевых слов при минимальных исключениях. Соответствующее число будет равно 212. Возможно использование различных семантических алгоритмов, учитывающих семантические значения слов, особенности предметной области документов и требований пользователя. г) Индивидуальная настройка просмотра. При большом количестве ключевых слов в запросе (оценка индивидуальна обычно более 20 и зависит от области знаний и квалификации пользователя) пользователь может указать уровень отсечения £ страниц, приведенных в таблице ответа (16) фиг. 5. Здесь These numbers (a bit string for each page) are well interpreted and show which keywords were found on a given page (row). The maximum value of the number corresponds to a line completely filled with units, i.e. all keywords appeared on this page. This allows you to build simple, understandable and adaptive algorithms: a) View the table and select pages that have a match for all keywords - the binary number of the line is 2 P , where n is the number of keywords or 65536 for 2 16 . A document with more such pages is more consistent with the request, taking into account the given logical constructs. In most user requests (up to 98%) they do not resort to logical search conditions, but limit themselves to listing keywords; b) It is possible to compress the table for visual analysis of selected documents. Null rows or rows with a user-specified low dropout rate are excluded for visualization. The remaining, not excluded, rows can be ordered depending on the number of 1s and on the specified order by the degree of importance of the keywords. An example of the transformed response table (16) shown in FIG. 5 is shown in FIG. 6 It is possible to enable any text processing algorithms on the page: highlighting words at a distance, phrases, processing word permutations, appearing explanations, synonyms, etc. c) Selection of keywords by eliminating minimal combinations of the least important words in order to obtain a complete filling of the remaining number of words with units. For example, for the response table (16) in FIG. 5 if the keywords SI, S6, S8, S 14 are excluded, then you get a document in which on page 1 there will be a complete match of the remaining keywords with minimal exceptions. The corresponding number will be 2 12 . It is possible to use various semantic algorithms that take into account the semantic meanings of words, features of the subject area of documents and user requirements. d) Individual viewing settings. If there are a large number of keywords in the query (the individual score is usually more than 20 and depends on the user’s field of knowledge and qualifications), the user can specify the cut-off level £ of pages shown in the response table (16) in Fig. 5. Here
0 < £ < 1, где число £ отражает уровень требования на соответствие просматриваемых материалов запросу пользователя. 0 < £ < 1, where the number £ reflects the level of requirement for compliance of the viewed materials with the user’s request.
Страницы, на которых доля количества ключевых слов ниже заданного уровня £ х п не будут включаться в результирующую таблицу ответа (16) (результат округляется). Здесь п - количество ключевых слов в запросе. Например, для таблицы ответа (16) фиг. 5 с 16- тью ключевыми словами он может указать уровень отсечения £ = 0,2 (16x0,2=3,2 или 3 ключевых слова), тогда таблица ответа (16) фиг. 5 будет выглядеть так, как показано на фиг. 7. д) на любом этапе возможен просмотр результатов, добавление новых ключевых слов, исключение существующих, определение различного порядка важности ключевых слов (порядок определяет систему предпочтений, изменяет расчетные метрики, классификацию документов и объем выводимой информации). Pages on which the share of the number of keywords is below the specified level £ x n will not be included in the resulting answer table (16) (the result is rounded). Here n is the number of keywords in the query. For example, for the response table (16) of FIG. 5 with 16 keywords, he can specify the cut-off level £ = 0.2 (16x0.2=3.2 or 3 keywords), then the answer table (16) FIG. 5 will look like shown in FIG. 7. e) at any stage it is possible to view the results, add new keywords, exclude existing ones, determine different orders of importance of keywords (the order determines the system of preferences, changes the calculated metrics, classification of documents and the amount of information displayed).
Примеры конкретного выполнения.
Пример 1. Этапы формирования служебных таблиц 1, 2 и 3 на примере фрагмента текста книги (фиг. 8). Обобщенная типовая схема обработки документа с ее описанием и примерами показана на фиг. 9. Examples of specific implementation. Example 1. Stages of forming service tables 1, 2 and 3 using the example of a fragment of book text (Fig. 8). A generalized typical document processing scheme with its description and examples is shown in Fig. 9.
1) на этапе чтения документа выписывают всех ключевые слова этого документа S1, S2, S3, . . . Sn во временный файл W: 1) at the stage of reading the document, write down all the keywords of this document S1, S2, S3, . . . Sn to temporary file W:
Файл W = {Sl= “ВВЕДЕНИЕ”, S2=“ Данные”, 83=“зарубежной”, S3= “литературы”, 84=“многочисленные”, 85=“исследования”, S6= “грелиновой”, . . . }. Строчные и прописные буквы одинаковы, не различимы. File W = {Sl= “INTRODUCTION”, S2=“Data”, 83=“foreign”, S3= “literature”, 84=“numerous”, 85=“research”, S6= “ghrelin”, . . . }. Lowercase and uppercase letters are the same, indistinguishable.
2) Обработка слова на предмет требований к формированию словаря. 2) Processing the word for requirements for the formation of a dictionary.
3) В строку таблицы ключевых слов (11) записывают ключевые слова из временного файла W. Если слово новое, то в таблицу ключевых слов (11) дописывается строка. Далее информация дописывается в таблицу документов (12) и таблицу бинарных строк (13). 3) Keywords from the temporary file W are written into the keyword table line (11). If the word is new, then a line is added to the keyword table (11). Next, the information is added to the document table (12) and the binary string table (13).
Строка в таблице ключевых слов (11) (фиг. 9): {<Введение,1,1>} Первая 1 - количество документов в которых встретилось это слово. Поскольку загружают первый документ, то ставится единица. Вторая 1 - адрес ссылки на первый список в таблице документов (12). Row in the table of keywords (11) (Fig. 9): {<Introduction,1,1>} The first 1 is the number of documents in which this word appeared. Since the first document is loaded, one is set. The second 1 is the address of the link to the first list in the document table (12).
4) В первый список Spl таблицы документов (12) записывают номер документа (в таблице документов (12) это первый документ) и адрес ссылки на бинарную строку в таблице бинарных строк (13): 4) In the first list Spl of the document table (12), record the document number (in the document table (12) this is the first document) and the address of the link to the binary string in the binary string table (13):
Список Spl - {<1,1> }. Здесь первая 1 - номер документа, а вторая 1 - первая бинарная строка. List Spl - {<1,1> }. Here the first 1 is the document number, and the second 1 is the first binary string.
5) В первую бинарную строку таблицы бинарных строк (13) ставят 1 на первом бите, что означает - данное слово из Таблицы 11 (Введение) встретилось на первой странице. В бинарной строке каждый номер бита соответствует номеру страницы в документе (например, бинарная строка <1,0,0,0, 1,1, 0,0,0,.. .> указывает, что заданное слово встретилось на первой, пятой и шестой страницах). 5) In the first binary row of the table of binary strings (13) put 1 on the first bit, which means that this word from Table 11 (Introduction) was found on the first page. In a binary string, each bit number corresponds to a page number in the document (for example, the binary string <1,0,0,0, 1,1, 0,0,0,...> indicates that the given word occurred on the first, fifth, and sixth pages).
6) Чтение следующего слова из списка временного файла W и переход к выполнению пункта 2. При этом осуществляется контроль за длиной списка слов в файле W. При окончании обработки всех слов из файла W переходим к чтению нового документа, т.е. к выполнению пункта 6. 6) Reading the next word from the list of temporary file W and proceeding to step 2. In this case, the length of the list of words in file W is monitored. When all words from file W are processed, we proceed to reading a new document, i.e. to fulfill point 6.
7) Осуществляют контроль за окончанием списка обрабатываемых документов. Единицы в первой позиции всех показанных бинарных строк фиг. 10 таблицы бинарных строк (13) указывают на то, что все ключевые слова из таблицы ключевых слов (11) находятся на первой странице документа.
Пример 2. Таблица ответа (16) фиг. 5 может быть сформирована (по столбцам) в микрочипе двойной памяти DM. Каждый столбец соответствует одному ключевому слову, а адрес регистра - номеру страницы документа. Таким образом, одна загрузка DM позволяет обработать один документ из БД (1). Множество ключевых слов заданной предметной области можно оптимизировать, задавая границу отсечения ключевых слов в общем словаре таблицы ключевых слов (И). Например, устанавливается граница по частоте, с которой встречается данное ключевое слово в документах (всей БД или раздела БД) не более чем в 20% документах. Ключевые слова, которые встречаются чаще, исключаются из таблицы ключевых слов (11). 7) Monitor the completion of the list of processed documents. The ones in the first position of all binary strings shown in FIG. 10 binary string table (13) indicates that all keywords from the keyword table (11) are on the first page of the document. Example 2. Answer table (16) Fig. 5 can be formed (columnwise) in a dual memory microchip DM. Each column corresponds to one keyword, and the register address corresponds to the page number of the document. Thus, one DM load allows you to process one document from the database (1). The set of keywords of a given subject area can be optimized by setting the keyword cutoff boundary in the general dictionary of the keyword table (I). For example, a limit is set on the frequency with which a given keyword occurs in documents (the entire database or a section of the database) in no more than 20% of documents. Keywords that appear more frequently are excluded from the keyword table (11).
Можно устанавливать границы отбора документов и вывода страниц на экран. Например, выводятся только те страницы документа, где количество ключевых слов на странице более установленной границы, например, 80% (в случае определения веса ключевых слов, то граница отсечения может быть и в виде числа). Можно установить требование вывода страниц на которых встречаются все ключевые слова 100%, т.е. отбираются страницы (для примера фиг. 5) с числом равным 65536 для 16 ключевых слов. You can set boundaries for selecting documents and displaying pages on the screen. For example, only those pages of the document are displayed where the number of keywords on the page is more than the established limit, for example, 80% (in the case of determining the weight of keywords, the cutoff limit can be in the form of a number). You can set the requirement to display pages on which all keywords occur 100%, i.e. pages are selected (for example, Fig. 5) with a number equal to 65536 for 16 keywords.
Можно задавать произвольные семантические правила: устанавливают обязательные и заменяемые слова, определяют обязательное присутствие не разделяемых сочетаний слов (например, «концентрация кислорода», «увеличение проникновения углекислоты»), задают расстояние (количество символов) между словами. You can set arbitrary semantic rules: set mandatory and replaceable words, determine the mandatory presence of non-separable combinations of words (for example, “oxygen concentration”, “increased penetration of carbon dioxide”), set the distance (number of characters) between words.
Реализовывать все классические логические операции над ключевыми словами И, ИЛИ, НЕ-И, НЕ-ИЛИ. Implement all classic logical operations on the keywords AND, OR, NAND, NOR.
Пример 3. Результат обработки документа выводится в виде таблицы ответа (16) фиг. 6. Здесь страницы, на которых не встретились ключевые слова, не указаны. Все приведенные в таблице страницы упорядочены в соответствии с количеством встретившихся ключевых слов, если встретилось одинаковое количество ключевых слов, то страницы указываются в порядке с важностью ключевых слов, а далее в арифметическом порядке номеров страниц. Example 3. The result of document processing is displayed in the form of a response table (16) Fig. 6. Here pages on which the keywords are not found are not listed. All pages given in the table are ordered in accordance with the number of keywords encountered; if the same number of keywords are encountered, then the pages are listed in order of the importance of the keywords, and then in the arithmetic order of page numbers.
Это позволяет наглядно увидеть всю общую картину соответствия документа сформулированному запросу. При наведении курсора на: This allows you to clearly see the overall picture of the document’s compliance with the formulated request. When the cursor is on:
- индекс столбца (Si), на экране возникает полное наименование ключевого слова.- column index (Si), the full name of the keyword appears on the screen.
- номер страницы, на экране появляется весь текст данной страницы, и пользователь может просмотреть ее на предмет соответствия своим потребностям. - page number, the entire text of this page appears on the screen, and the user can view it to see if it meets his needs.
- все ключевые слова, на выводимой на экран странице, выделяются цветом, при этом важность слов отражается в цвете. Оттенок цвета слова отражается в частотном
спектре цвета слова (синий соответствует низкой важности, а красный - наиболее важное слово). - all keywords on the page displayed on the screen are highlighted in color, and the importance of the words is reflected in color. The color tone of a word is reflected in the frequency word color spectrum (blue represents low importance and red represents the most important word).
Дополнительная индивидуальная настройка доступа. Пользователь может указать уровень отсечения £ страниц, приведенных в Таблице ответа (16) фиг. 5. Здесь Additional individual access settings. The user can specify the cutoff level £ of pages shown in the Answer Table (16) of FIG. 5. Here
0 < £ < 1 0 < £ < 1
Число £ отражает уровень требования на соответствие просматриваемых материалов запросу пользователя. Страницы, на которых доля количества ключевых слов ниже заданного уровня £ х п не будут включаться в результирующую таблицу ответа (16) фиг. 5 (результат округляется). Здесь п - количество ключевых слов в запросе. Например, для таблицы фиг. 5 с 16-тью ключевыми словами он может указать уровень отсечения £ = 0,2 (16x0,2=3,2 или 3 ключевых слова), тогда таблица ответа (16) фиг. 5 будет выглядеть так, как показано на фиг. 7. The number £ reflects the level of requirement for compliance of the viewed materials with the user's request. Pages on which the share of the number of keywords is below a given level £ x n will not be included in the resulting response table (16) FIG. 5 (result is rounded). Here n is the number of keywords in the query. For example, for the table of Fig. 5 with 16 keywords, he can indicate the cut-off level £ = 0.2 (16x0.2=3.2 or 3 keywords), then the answer table (16) FIG. 5 will look like shown in FIG. 7.
Для дополнительного анализа информации на найденной странице можно использовать все традиционные алгоритмы обработки текстов (элементы семантического анализа). For additional analysis of information on the found page, you can use all traditional text processing algorithms (elements of semantic analysis).
Найденная выделенная в соответствии с критериями отбора страница документа вводится на экран для ее оценки пользователем и рассмотрения возможных вариантов уточнения - включение дополнительных ключевых слов, исключение заданных, формулировка новых вариантов сочетаний слов. The found document page, selected in accordance with the selection criteria, is entered onto the screen for the user to evaluate it and consider possible clarification options - including additional keywords, excluding specified ones, formulating new variants of word combinations.
По сути, таблица ответа (16) является основой для проектирования логической схемы DM памяти. Essentially, the response table (16) is the basis for the design of the DM memory logic circuit.
Осуществление устройства. Implementation of the device.
Двойная память Double Memory (далее DM) позволяет обрабатывать независимые списки бинарных строк Stri, Str2, . . . Strn. Для наглядности бинарные строки представлены в виде условной таблицы (17) (фиг. 11), где столбцами являются бинарные строки, а строками - номера битов в бинарных строках. Производится операция распознавания побитного уровня (строки таблицы) пересечения бинарных строк. Double Memory (hereinafter referred to as DM) allows you to process independent lists of binary strings Stri, Str2, . . . Str . For clarity, binary strings are presented in the form of a conditional table (17) (Fig. 11), where the columns are binary strings, and the rows are the numbers of bits in the binary strings. An operation is performed to recognize the bit level (table row) of the intersection of binary strings.
Здесь бинарная строка Stri = <01001000001... 1>. Длина строки равна m бит. В представленной таблице количество строк указывается по количеству бит в наиболее длинной строке из обрабатываемого списка строк, короткие строки дополняются нулевыми битами. Here the binary string Stri = <01001000001... 1>. The length of the string is m bits. In the presented table, the number of lines is indicated by the number of bits in the longest line from the processed list of lines; short lines are padded with zero bits.
Рассмотрим i-ую строку данной таблицы. В ней показано - в каких столбцах на i-ой позиции бита находятся единицы, а в каких строках стоят нули. Например, в строке 11 для всех столбцов в 11-ой позиции стоят единицы (считают, что в строках с 6 по п-1 стоят единицы). Целочисленное (в виде десятичного числа) представление строки позволяет
«зашифровать» всю двоичную строку. Так для одиннадцатой строки — это число будет равно 2П. Consider the i-th row of this table. It shows which columns contain ones at the i-th bit position, and which rows contain zeros. For example, in line 11 for all columns in the 11th position there are ones (we consider that in lines from 6 to n-1 there are ones). The integer (decimal) representation of a string allows "encrypt" the entire binary string. So for the eleventh line, this number will be equal to 2 P.
Пример этой же таблицы (17) сформированной из 6 столбцов длиной в 12 бит представлен на фиг. 12. Та же одиннадцатая строка (при всех единицах в строке) ее целочисленное значение будет равно 26 = 64. Целочисленное значение третьей строки равно 4. An example of the same table (17) formed from 6 columns of 12 bits in length is shown in Fig. 12. The same eleventh line (with all units in the line), its integer value will be equal to 2 6 = 64. The integer value of the third line is 4.
Таким образом, считывая строку таблицы по полученному целому числу, можно точно знать в каких позициях стоят единицы. Причем пользователь, задавая определенный порядок расположения столбцов в таблице задает условную степень важности столбцов, которая обозначена символом . Тогда столбец с номером (j+1) j будем интерпретировать как столбец Stfj+i важнее столбца Str . Это позволяет использовать семантические алгоритмы предварительной оценки страниц заявленного способа. Thus, by reading a table row using the resulting integer, you can know exactly in which positions the units are located. Moreover, the user, by specifying a certain order of arrangement of columns in the table, sets a conditional degree of importance of the columns, which is indicated by the symbol. Then the column with number (j+1) j will be interpreted as the column Stfj+i is more important than the column Str. This allows the use of semantic algorithms for preliminary evaluation of pages of the claimed method.
Логическая блок-схема для памяти 4 x 3 известна из прототипа [7] стр.200 и представлена на фиг. 13. Обобщенная схема этой же классической памяти, состоящей из 4 регистров (ячеек памяти), каждый регистр которой состоит из 3 бит, показана на фиг. 14. Реальные схемы построены также с той лишь разницей, что разрядность ячеек памяти (регистров) может составлять 8, 16, 32 или 64 бита, а количество ячеек памяти от сотен тысяч и более (схема многократно увеличена), но для понимания логики всех процессов представленных на примерах и обобщениях достаточно. The logical block diagram for 4 x 3 memory is known from the prototype [7] p. 200 and is shown in Fig. 13. A generalized diagram of the same classical memory, consisting of 4 registers (memory cells), each register of which consists of 3 bits, is shown in Fig. 14. Real circuits are also built with the only difference that the width of memory cells (registers) can be 8, 16, 32 or 64 bits, and the number of memory cells can be hundreds of thousands or more (the circuit has been increased many times), but for understanding the logic of all processes the examples and generalizations presented are sufficient.
Далее приводим обобщенную схему памяти - это позволяет не сосредотачиваться на элементном исполнении триггеров и переключающих элементов, т.к. они могут выполняться многовариантно в зависимости от предпочтений разработчика и применяемой технологии, но сохраняет логику всех основных функции памяти - записи/чтения строки в ячейку памяти (регистр) по заданному адресу ячейки памяти. Below we present a generalized memory diagram - this allows you not to focus on the elemental execution of triggers and switching elements, because they can be performed in many ways depending on the preferences of the developer and the technology used, but retains the logic of all basic memory functions - writing/reading a string into a memory cell (register) at a given memory cell address.
На обобщенной схеме фиг. 14 зафиксированы только важные элементы - 12 триггеров памяти, каждый триггер хранит 1 бит информации, входы/выходы и управляющие сигналы. Каждый триггер может находиться в одном из двух состояний 1 или 0. Триггеры выстроены в структуру - 4 строки (регистры) по 3 триггера в каждой строке. Предполагается, что входная информация, поступающая в виде бинарных строк, записывается в ячейки памяти (регистры - строки). Регистры пронумерованы и их номера называются адресами ячеек памяти (регистров). Логика процесса такова - бинарная строка <Io, Ii, Ь> (здесь значение р равно 0 или 1, i=0, 1,2) записывается в регистр по адресу бинарной строки <Ao,Ai> в соответствии с командами, поступающими на входы <CS,RD,OE>. А также информация может считываться в соответствии с командами
<CS,RD,OE> из регистров, указанных в адресе <Ao,Ai> в выходную бинарную строку <0о,01,0г>. In the generalized diagram of Fig. 14 only important elements are recorded - 12 memory triggers, each trigger stores 1 bit of information, inputs/outputs and control signals. Each trigger can be in one of two states 1 or 0. The triggers are arranged in a structure - 4 lines (registers) with 3 triggers in each line. It is assumed that input information, arriving in the form of binary strings, is written into memory cells (registers - strings). The registers are numbered and their numbers are called addresses of memory cells (registers). The logic of the process is as follows - the binary string <Io, Ii, b> (here the value of p is 0 or 1, i=0, 1,2) is written to the register at the address of the binary string <Ao, Ai> in accordance with the commands received at the inputs <CS,RD,OE>. And also information can be read in accordance with commands <CS,RD,OE> from the registers specified in the address <Ao,Ai> to the output binary string <0о,01,0г>.
На фиг. 15 показана обобщенная логическая схема классической памяти для г ячеек памяти (регистров), где каждый регистр состоит из п бит, предназначенных для записи входных сигналов Io,Ii, . . . ,In и чтения выходных сигналов Oo,Oi, . . . ,ОП . In fig. Figure 15 shows a generalized logic diagram of classical memory for r memory cells (registers), where each register consists of n bits intended for recording input signals Io, Ii, . . . ,I n and reading the output signals Oo,Oi, . . . ,O P .
Примеры микросхем оперативной памяти известны из аналога [7] на рис. 3.30 стр. 204. Examples of RAM chips are known from analogue [7] in Fig. 3.30 p. 204.
На фиг. 16 показана предлагаемая обобщенная блок-схема схема примера DM памяти 4x4. Каждый горизонтальный ряд состоит из 4 триггеров, составляющих одно слово. Показаны 4 ячейки памяти (регистра или 4 слова). In fig. Figure 16 shows the proposed generalized block diagram of a 4x4 DM memory example. Each horizontal row consists of 4 triggers that make up one word. 4 memory locations (register or 4 words) are shown.
В отличие от прототипа [7], DM может работать, как и классическая память - записывать и читать слова по регистрам (их адресам), а также дополнительно позволяет записывать бинарные строки Stn, Stu, . . . Stu подаваемые последовательно на входы <Jo, Ji, J2, 1з>. Здесь бинарная строка Stn, = < Jo, Ji, J2, J3>i где i=l,4 записывается в i-ый столбец по адресу из Стд из списка адресов Ст.0, Ст.1, Ст.2, Ст.З, указывая адрес столбца на входах <CLo, Cli>. Информация при этом читается стандартно - по регистрам (словам) на выходы <Оо, 01, Ог, О3>. Здесь вход CM (Change Memory) - переключает режим работы памяти с обычной на DM. В режиме обычной памяти она работает в соответствии со схемой классической памяти фиг.13. Unlike the prototype [7], DM can work like classical memory - write and read words by registers (their addresses), and also additionally allows you to write binary strings Stn, Stu, . . . Stu supplied sequentially to inputs <Jo, Ji, J2, 1з>. Here the binary string Stn, = < Jo, Ji, J2, J 3 >i where i=l,4 is written in the i-th column at the address from Std from the list of addresses St.0, St.1, St.2, St. 3, indicating the column address at the inputs <CLo, Cli>. In this case, the information is read in a standard way - by registers (words) to the outputs <Oo, 01, Og, O 3 >. Here, the CM (Change Memory) input switches the memory operating mode from normal to DM. In conventional memory mode, it operates in accordance with the classical memory circuit of Fig. 13.
Пример обобщенной логической схемы DM памяти на г регистров по п бит каждый показан на фиг. 17. Показан дополнительный вход данных Jo,Ji,...,Jm , где m < г. Для удобства восприятия логической схемы можно рассматривать таблицу ответа фиг. 11 , где строки соответствуют регистрам памяти, а столбцы - бинарным строкам. Разумеется, что DM также, как и обычная память может выполняться с регистрами любых размеров 16, 32, 64 бит и более, а также с любым количеством ячеек памяти (регистров) от 1024 (как в примере со страницами) до сотен миллионов - для обработки больших списков документов. An example of a generalized logical circuit of DM memory with r registers of n bits each is shown in Fig. 17. An additional data input Jo,Ji,...,J m is shown, where m < g. For ease of perception of the logic circuit, you can consider the response table of Fig. 11, where the rows correspond to memory registers, and the columns correspond to binary strings. Of course, DM, just like regular memory, can be performed with registers of any size 16, 32, 64 bits or more, as well as with any number of memory cells (registers) from 1024 (as in the example with pages) to hundreds of millions - for processing large lists of documents.
Описание работы. Description of work.
Пример исполнения DM памяти 4 x 4 фиг. 18 и ее обобщенный вид показан фиг. 17. Показано, что вход СМ - переключает работу схемы из режима обычной памят7и в режим DM. В режиме обычной памяти (1 на выходе СМ) логическая схема работает также, как и схема, изображенная на фиг. 13. В дополненном DM режиме памяти (0 на выходе СМ) логическая схема переключается на ввод данных со входов Jo, Ji, J2, J3 см. изображенная на фиг. 18 и фиг. 17. Логическая схема рис.13 дополнена см. фиг. 18:
- блоком адресации столбцов CLo и CLi, задающих текущий адрес столбца, в который будет осуществлена запись данных Jo, Ji, J2, J3. Example of DM memory 4 x 4 FIG. 18 and its generalized form is shown in FIG. 17. It is shown that the CM input switches the operation of the circuit from regular memory mode to DM mode. In normal memory mode (1 at the CM output), the logic circuit operates in the same way as the circuit shown in Fig. 13. In the supplemented DM memory mode (0 at the CM output), the logic circuit switches to inputting data from inputs Jo, Ji, J2, J 3 , see shown in Fig. 18 and fig. 17. The logical diagram of Fig. 13 is supplemented, see Fig. 18: - block of addressing columns CLo and CLi, specifying the current address of the column into which the data Jo, Ji, J2, J3 will be written.
- в блоке адресации регистров Ао и Ац на выходе логических элементов И установлены драйверы, которые в зависимости от управляющего сигнала СМ (1- пропускают сигнал адреса регистра, 0 - блокирует сигнал адреса регистра). - in the addressing block of registers Ao and At at the output of logic elements AND, drivers are installed, which, depending on the control signal CM (1 - pass the register address signal, 0 - blocks the register address signal).
- мультиплексорами, установленными на входе С синхронизирующего сигнала триггера (сигнал открывает вход данных триггера) на всех входах триггеров памяти. Мультиплексоры переключают канал поступления адресов с адресов регистра на адреса столбцов (точки То, Ti, Т2, Тз) в зависимости от управляющего сигнала СМ. - multiplexers installed at the C input of the trigger synchronizing signal (the signal opens the trigger data input) on all inputs of memory triggers. Multiplexers switch the channel for receiving addresses from register addresses to column addresses (points To, Ti, T2, T3) depending on the control signal CM.
- мультиплексорами, установленными на всех входах поступления данных D триггеров памяти. Управляющий сигнал СМ переключает каналы получения данных от 1о, Ii, h, 1з (при СМ=1) на Jo, Ji, J2, J3 (при СМ=0) на всех входах D триггеров памяти. - multiplexers installed at all data inputs of D memory triggers. The control signal CM switches the channels for receiving data from 1о, Ii, h, 1з (at CM=1) to Jo, Ji, J2, J3 (at CM=0) on all inputs D of memory triggers.
- выход элемента И после блока управления записью/чтением (CS, RD, ОЕ) продлен точкой Т4 до блока выбора адреса столбца. - the output of the AND element after the write/read control block (CS, RD, OE) is extended by point T4 to the column address selection block.
При переключении входа СМ (0 на выходе) в режим DM памяти адресация столбцов осуществляется адресными линиями CL0 и CL1 в верхней части схемы, аналогично адресации регистров, а входные линии Io, Ii, I2, 1з запираются сигналом СМ на мультиплексорах, установленных перед входом сигнала D на триггер. Для выбора столбца памяти, внешняя логика должна установить сигнал CS в 1, а также установить сигнал RD в 1 для чтения и в 0 для записи. Адресные линии столбцов должны указывать, в какой из четырех 4-разряд ных столбцов нужно записывать информацию. При считывании все входные линии для данных не используются. При записи биты, находящиеся на входных линиях Jo, Ji, J2, J3 для данных, загружаются в выбранный столбец памяти; выходные линии при этом не используются. When switching the CM input (0 at the output) to the DM memory mode, the columns are addressed using the address lines CL0 and CL1 in the upper part of the circuit, similar to the addressing of registers, and the input lines Io, Ii, I2, 13 are locked by the CM signal on multiplexers installed in front of the signal input D on trigger. To select a memory column, the external logic must set the CS signal to 1 and also set the RD signal to 1 for reading and 0 for writing. The column address lines should indicate which of the four 4-bit columns the information should be written to. When reading, all input data lines are not used. When writing, the bits found on the Jo, Ji, J2, J3 data input lines are loaded into the selected memory column; the output lines are not used.
Память, изображенная на фиг. 18 работает следующим образом. Четыре вентиля И для выбора столбцов в верхней части схемы формируют декодер. Далее входные инверторы расположены так, что каждый вентиль запускается определенным адресом. Каждый вентиль приводит в действие линию выбора столбцов. Когда микросхема должна производить запись, вертикальная линия CS' RD получает значение 1, запуская один из четырех вентилей записи - точки То, Ti, Т2, Тз. Выбор вентиля зависит от того, какая именно линия выбора столбца равна 1. Выходной сигнал вентиля записи приводит в действие все сигналы С (вход триггера) для выбранного столбца, загружая входные данные в триггеры этого столбца. Запись производится только в том случае, если сигнал CS равен 1, a RD - 0, при этом записывается только столбец, выбранный адресами CL0 и CL1.
Процесс считывания аналогичен стандартному процессу считывания по схеме фиг. 13 - СМ переключается в режим обычной памяти (1 на выходе), указывается адрес регистра (Ao, Ai), линия CS RD принимает значение 0, поэтому все вентили записи блокируются, и ни один из триггеров не меняется. Вместо этого линия выбора слов запускает вентили И, связанные с битами Q (выход триггера) выбранного слова. Таким образом, выбранное слово передает свои данные в 4-входовые вентили ИЛИ, расположенные в нижней части схемы, а остальные три слова выдают 0. Следовательно, выход вентилей ИЛИ идентичен значению, сохраненному в данном слове. Остальные три слова никак не влияют на выходные данные. The memory shown in FIG. 18 works as follows. Four AND gates for selecting columns at the top of the circuit form a decoder. Next, the input inverters are arranged so that each gate is triggered by a specific address. Each gate drives a column selection line. When the microcircuit must write, the vertical line CS' RD receives the value 1, triggering one of the four write gates - points To, Ti, T2, T3. The choice of gate depends on which column select line is 1. The output of the write gate drives all C signals (flip-flop input) for the selected column, loading the input data into that column's flip-flops. Writing is performed only if the CS signal is 1 and RD is 0, and only the column selected by addresses CL0 and CL1 is written. The reading process is similar to the standard reading process as shown in FIG. 13 - The CM switches to normal memory mode (1 at the output), the register address (Ao, Ai) is indicated, the CS RD line takes the value 0, so all write gates are blocked, and none of the flip-flops change. Instead, the word select line fires the AND gates associated with the Q bits (flip-flop output) of the selected word. Thus, the selected word passes its data to the 4-input OR gates located at the bottom of the circuit, and the remaining three words output 0. Therefore, the output of the OR gates is identical to the value stored in the given word. The remaining three words have no effect on the output.
Таким образом, после записи столбцов в память DM обеспечивается возможность считывать информацию, хранящуюся в регистрах DM по схеме - по адресам регистров считываем содержание регистров. В результате содержимое i-ro регистра показывает всю i-ую позицию в бинарных списках, записанных по столбцам, а целочисленное значение регистра содержит всю эту информацию в сжатом виде, что полностью соответствует таблице ответа (16) фиг. 5 для примера четырех ключевых слов и четырех страницах документа. Thus, after writing the columns to the DM memory, it is possible to read the information stored in the DM registers according to the scheme - we read the contents of the registers at the register addresses. As a result, the contents of the i-ro register show the entire i-th position in the binary lists written in columns, and the integer value of the register contains all this information in a compressed form, which fully corresponds to the answer table (16) of Fig. 5 for an example of four keywords and four document pages.
DM память может изготавливаться в различных вариантах. Как оптимальный вариант, она может содержать 1024 регистров (слов) на 64 бита (столбцов - количество ключевых слов). Память может устанавливаться автономно или в качестве кэш-памяти с процессором, что ускорит работу алгоритма. DM memory can be manufactured in various versions. As an optimal option, it can contain 1024 registers (words) by 64 bits (columns - the number of keywords). The memory can be installed stand-alone or as a cache memory with the processor, which will speed up the algorithm.
Модификации логической схемы: Logic circuit modifications:
- использование одних и тех же каналов для входных данных для записи в регистры (на примере Io, 11, 1г, 1з) и для входных данных для записи в столбцы (на примере Jo, Ji, J2, J3). Поскольку эти канала одновременно не используются. - use of the same channels for input data for writing to registers (for example, Io, 11, 1g, 1z) and for input data for writing to columns (for example, Jo, Ji, J2, J3). Because these channels are not used at the same time.
- увеличение разрядности регистров для работы с большим количеством ключевых слов - 1024 регистра по 128 бит; - increasing the capacity of registers to work with a large number of keywords - 1024 registers of 128 bits each;
- для специальных приложений - произвольное количество регистров (десятки миллионов) для работы с большим количеством документов. - for special applications - an arbitrary number of registers (tens of millions) for working with a large number of documents.
- Построение нескольких входных портов (групп регистров) для параллельной работы с несколькими списками. - Construction of several input ports (register groups) for parallel work with several lists.
Таким образом в заявке предлагается подход, основанный на поиске с точностью до страницы. Дополнительно к спискам документов в которых встречается ключевое слово формируются бинарные списки строк документов (фиг. 3), а их обработка заменяет этап полнотекстового анализа документа. Анализ документа заменен страничным просмотром Таблицы ответа Фиг. 4.
Техническая задача решается благодаря тому, что: The application therefore proposes a page-accurate search approach. In addition to the lists of documents in which the keyword occurs, binary lists of document strings are formed (Fig. 3), and their processing replaces the stage of full-text analysis of the document. Document parsing has been replaced by paging through the Response Table of FIG. 4. The technical problem is solved due to the fact that:
- бинарные списки страниц документа являются списками фиксированной длины, что удобно для обработки; - binary lists of document pages are lists of fixed length, which is convenient for processing;
- все страницы документа по заданному ключевому слову представлены в одной бинарной строке; - all pages of a document for a given keyword are presented in one binary string;
- аппаратная реализация DM памяти позволяет исключить операции сортировки страниц различных ключевых слов; - hardware implementation of DM memory allows you to eliminate the operations of sorting pages of various keywords;
- DM память позволяет одновременно обрабатывать множество (десятки) ключевых слов (бинарных списков), на предмет их пересечения. DM обеспечивает быстрое преобразование множества бинарных списков заданных ключевых слов в постраничное отображение документа (каждый регистр памяти в страницу документа) для быстрого просмотра и отбора страниц документа с заданными ключевыми словами без проведения операции по пересечению списков; - DM memory allows you to simultaneously process many (dozens) of keywords (binary lists) for their intersection. DM provides fast conversion of multiple binary lists of given keywords into a page-by-page display of a document (each memory register into a document page) for quickly viewing and selecting document pages with given keywords without performing an operation to intersect the lists;
- прикладная интерпретация бинарных строк ничем не ограничена. Результат при этом может считываться в виде целых чисел (строка Таблицы ответа фиг. 4), зависящих от: бинарных значений чисел, расположенных в одинаковых позициях бинарных строк, последовательности записи бинарных строк в DM память (порядка ключевых слов в запросе); - the applied interpretation of binary strings is not limited in any way. The result can be read in the form of integers (line of the Answer Table in Fig. 4), depending on: binary values of numbers located in the same positions of binary strings, the sequence of writing binary strings into DM memory (the order of keywords in the request);
- просмотр найденной страницы не затруднит пользователя своим объемом; - viewing the found page will not make it difficult for the user due to its volume;
- в поисковом алгоритме не понадобится строить различные сложные логические конструкции, такие как, расстояние между ключевыми словами, порядок упоминания ключевых слов, их применение в рамках предложения, абзаца и т.д. Все ключевые слова на странице подсвечиваются фоном и этого достаточно пользователю для ее предметной оценки.
- in the search algorithm there is no need to build various complex logical structures, such as the distance between keywords, the order in which keywords are mentioned, their use within a sentence, paragraph, etc. All keywords on the page are highlighted in the background and this is enough for the user to evaluate it in detail.
Claims
1. Способ организации поиска документов в прикладных базах неструктурированных данных включает формирование запроса пользователем, при этом пользователь указывает ключевые слова и логические операции с ними, выделение ключевых слов в запросе в блоке обработки ключевых слов запроса, использования инвертированного индекса с программами формирования, развития и сопровождения работы инвертированного индекса, при этом упомянутые программы взаимодействуют с блоком индексации, который взаимодействует с базой данных, программами выборки списков по ключевым словам, отличающийся тем, что: 1. A method for organizing a search for documents in application databases of unstructured data includes the formation of a query by the user, while the user specifies keywords and logical operations with them, the selection of keywords in the query in the block for processing query keywords, the use of an inverted index with programs for the formation, development and maintenance operation of an inverted index, while the mentioned programs interact with the indexing unit, which interacts with the database, programs for selecting lists by keywords, characterized in that:
- программы формируют вспомогательные таблицы: ключевых слов, документов, бинарных строк номеров документов и бинарных строк, дополняющие инвертированный индекс, при этом - programs generate auxiliary tables: keywords, documents, binary strings of document numbers and binary strings that complement the inverted index, while
- таблица ключевых слов содержит список ключевых слов, каждое ключевое слово имеет ссылку на бинарную строку документов и ссылку на строку таблицы документов, а также здесь же указывается дополнительная информация: количество документов, где используется ключевое слово, другие данные о ключевом слове: термин, сокращение, множество или элемент множества; - the keyword table contains a list of keywords, each keyword has a link to a binary string of documents and a link to a string of the document table, and additional information is also indicated here: the number of documents where the keyword is used, other data about the keyword: term, abbreviation , set or element of a set;
- таблица документов содержит списки пар, связанных с ключевым словом, пара - это номер документа, в котором используется ключевое слово и ссылка на бинарную строку в таблицы бинарных строк; - the document table contains lists of pairs associated with a keyword, the pair is the number of the document in which the keyword is used and a link to the binary string in the binary string tables;
- таблица бинарных строк содержит список бинарных строк фиксированной длины, каждая строка связана с номером документа из таблицы документов, при этом каждый бит бинарной строки - соответствует одной странице текста документа, номер бита в строке соответствует номеру страницы этого документа, а 1 или 0, стоящие на определенной позиции, указывают на присутствие или отсутствие заданного ключевого слова на данной странице; - the table of binary strings contains a list of binary strings of a fixed length, each line is associated with a document number from the document table, with each bit of the binary string corresponding to one page of document text, the bit number in the string corresponds to the page number of this document, and 1 or 0 standing at a certain position, indicate the presence or absence of a given keyword on a given page;
- таблица бинарных строк документов состоит из множества бинарных строк фиксированной длины, при этом каждый номер бита в бинарной строке соответствует номеру документа, а 1 в этом бите означает, что в документе с данным номером встречается заданное ключевое слово; - a table of binary document strings consists of many binary strings of a fixed length, with each bit number in the binary string corresponding to a document number, and 1 in this bit means that the specified keyword occurs in the document with this number;
- после выборки списков по ключевым словам из инвертированного индекса, осуществляют обработку списков документов, представленных в виде бинарных строк в блоке обработки результирующего списка, при этом бинарные строки загружаются для обработки в двойную память, в которой числовое значение строки равна 2П , где п -- after selecting lists by keywords from the inverted index, they process lists of documents presented in the form of binary strings in the resulting list processing block, while the binary strings are loaded for processing into double memory, in which the numerical value of the string is 2 P , where n -
23
разрядность регистра памяти, в случае, если все заданные ключевые слова встречаются в документе с номером равным номеру строки в двойной памяти, это позволяет не прибегать к операции пересечения списков, при этом 23 capacity of the memory register, if all the specified keywords occur in a document with a number equal to the line number in double memory, this allows you not to resort to the operation of crossing lists, while
- в блоке обработки страниц документов по ключевым словам формируется для каждого документа таблица ответа, при этом происходит загрузка бинарных строк из таблицы бинарных строк в двойную память, их сортировка и анализ, при этом в таблице ответа каждому столбцу соответствует свое ключевое слово, столбцы упорядочены в соответствии с их важностью, причем каждый столбец ключевого слова соответствует бинарной строке таблицы бинарных строк, таблица ответа позволяет отразить содержащиеся в документе ключевые слова с точностью до страницы без загрузки самого документа из базы данных. - in the block for processing document pages based on keywords, a response table is formed for each document, while loading binary strings from the table of binary strings into double memory, sorting and analyzing them, while in the response table each column corresponds to its own keyword, the columns are ordered in according to their importance, with each keyword column corresponding to a binary row of the binary string table, the response table allows you to reflect the keywords contained in the document with page accuracy without loading the document itself from the database.
2. Двойная память для организации поиска документов в прикладных неструктурированных базах данных по и. 1, представляющая собой логическую схему памяти, обеспечивающую возможность записи данных по заданному адресу ячейки память, а также возможность чтения из ячеек памяти по заданному адресу ячейки записанных данных и вывод считанных данных в выходные линии в соответствии с сигналами управления CS, RD, ОЕ и СМ, отличающаяся тем, что: 2. Double memory for organizing document searches in applied unstructured databases by and. 1, which is a logical memory circuit that provides the ability to write data at a given memory cell address, as well as the ability to read written data from memory cells at a given cell address and output the read data to the output lines in accordance with the control signals CS, RD, OE and CM , characterized in that:
- содержит второй канал ввода данных, обеспечивающий запись битовых строк в заданный бит ячейки памяти во все ячейки памяти одновременно, при этом длина битовой строки равна количеству ячеек памяти, а количество и разрядность ячеек памяти ограничено технологическими возможностями микроэлектроники; - contains a second data input channel that ensures that bit strings are written to a given bit of a memory cell in all memory cells simultaneously, while the length of the bit string is equal to the number of memory cells, and the number and width of memory cells is limited by the technological capabilities of microelectronics;
- вход СМ, выполненный с возможностью переключения работы схемы из режима обычной памяти - записи входных данных в ячейки памяти, в режим двойной памяти - записи входных данных в заданный бит каждой ячейки памяти; - SM input, configured to switch the operation of the circuit from a regular memory mode - writing input data to memory cells, to a dual memory mode - writing input data to a given bit of each memory cell;
- содержит блок адресации номеров бита в ячейках памяти, задающих общий номер бита для всех ячеек памяти, в которые осуществляется запись данных; - contains a block for addressing bit numbers in memory cells, which specify the common bit number for all memory cells into which data is written;
- после блока адресации ячеек устанавливается переключатель, который пропускает или блокирует сигнал адреса ячейки памяти в зависимости от управляющего сигнала СМ; - after the cell addressing block, a switch is installed that passes or blocks the memory cell address signal depending on the control signal CM;
- содержит логические переключатели, установленные на всех входах триггеров памяти, для переключения канала поступления адресов с адресов ячеек памяти на адреса битов в ячейках памяти, в зависимости от управляющего сигнала СМ; - contains logical switches installed at all inputs of memory flip-flops to switch the channel for receiving addresses from the addresses of memory cells to the addresses of bits in memory cells, depending on the control signal CM;
- содержит логические переключатели, установленные на всех входах поступления данных триггеров памяти, для переключения каналов получения данных в зависимости от управляющего сигнала СМ;
- выход блока управления записью/чтением CS, RD, ОЕ, соединен с выходом блока выбора номера бита.
- contains logical switches installed at all data inputs of memory triggers to switch data acquisition channels depending on the CM control signal; - the output of the write/read control unit CS, RD, OE is connected to the output of the bit number selection unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202280008696.5A CN117355827A (en) | 2022-03-16 | 2022-09-28 | Method for organizing document search in unstructured database of application program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2022106802A RU2792584C1 (en) | 2022-03-16 | Method for organizing the search for documents in applied unstructured data bases and a hardware version of dual memory for its implementation | |
RU2022106802 | 2022-03-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023177321A1 true WO2023177321A1 (en) | 2023-09-21 |
Family
ID=88023677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/RU2022/050305 WO2023177321A1 (en) | 2022-03-16 | 2022-09-28 | Method of organizing a document search in applied databases |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117355827A (en) |
WO (1) | WO2023177321A1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6980976B2 (en) * | 2001-08-13 | 2005-12-27 | Oracle International Corp. | Combined database index of unstructured and structured columns |
US20070203893A1 (en) * | 2006-02-27 | 2007-08-30 | Business Objects, S.A. | Apparatus and method for federated querying of unstructured data |
EP1483693B1 (en) * | 2002-02-27 | 2008-08-06 | France Telecom Sa | Computer representation of a data tree structure and the associated encoding/decoding methods |
US7600001B1 (en) * | 2003-05-01 | 2009-10-06 | Vignette Corporation | Method and computer system for unstructured data integration through a graphical interface |
RU2398272C2 (en) * | 2004-05-14 | 2010-08-27 | Майкрософт Корпорейшн | Method and system for indexing and searching in databases |
RU2409849C2 (en) * | 2008-07-24 | 2011-01-20 | Закрытое Акционерное Общество "ТЕЛЕФОРМ" | Method of searching for information in multi-topic unstructured text arrays |
US8046353B2 (en) * | 2007-11-02 | 2011-10-25 | Citrix Online Llc | Method and apparatus for searching a hierarchical database and an unstructured database with a single search query |
US9355152B2 (en) * | 2013-12-02 | 2016-05-31 | Qbase, LLC | Non-exclusionary search within in-memory databases |
-
2022
- 2022-09-28 WO PCT/RU2022/050305 patent/WO2023177321A1/en active Application Filing
- 2022-09-28 CN CN202280008696.5A patent/CN117355827A/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6980976B2 (en) * | 2001-08-13 | 2005-12-27 | Oracle International Corp. | Combined database index of unstructured and structured columns |
EP1483693B1 (en) * | 2002-02-27 | 2008-08-06 | France Telecom Sa | Computer representation of a data tree structure and the associated encoding/decoding methods |
US7600001B1 (en) * | 2003-05-01 | 2009-10-06 | Vignette Corporation | Method and computer system for unstructured data integration through a graphical interface |
RU2398272C2 (en) * | 2004-05-14 | 2010-08-27 | Майкрософт Корпорейшн | Method and system for indexing and searching in databases |
US20070203893A1 (en) * | 2006-02-27 | 2007-08-30 | Business Objects, S.A. | Apparatus and method for federated querying of unstructured data |
US8046353B2 (en) * | 2007-11-02 | 2011-10-25 | Citrix Online Llc | Method and apparatus for searching a hierarchical database and an unstructured database with a single search query |
RU2409849C2 (en) * | 2008-07-24 | 2011-01-20 | Закрытое Акционерное Общество "ТЕЛЕФОРМ" | Method of searching for information in multi-topic unstructured text arrays |
US9355152B2 (en) * | 2013-12-02 | 2016-05-31 | Qbase, LLC | Non-exclusionary search within in-memory databases |
Also Published As
Publication number | Publication date |
---|---|
CN117355827A (en) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Buttcher et al. | Information retrieval: Implementing and evaluating search engines | |
CA2419776C (en) | Associative memory | |
KR100756921B1 (en) | Method of classifying documents, computer readable record medium on which program for executing the method is recorded | |
US5940624A (en) | Text management system | |
AU2001282106A1 (en) | Associative memory | |
Navarro | Approximate text searching | |
US9159584B2 (en) | Methods and systems of retrieving documents | |
Cattuto et al. | Vocabulary growth in collaborative tagging systems | |
CN100498773C (en) | Method for indexing and retrieving documents, computer program and data carrier | |
Shaw | Bibliographic database searching by graduate students in language and literature: Search strategies, system interfaces, and relevance judgments | |
RU2792584C1 (en) | Method for organizing the search for documents in applied unstructured data bases and a hardware version of dual memory for its implementation | |
WO2023177321A1 (en) | Method of organizing a document search in applied databases | |
CN109815328A (en) | A kind of abstraction generating method and device | |
Gnoli | Ranganathan’s principles and a fully “freely faceted” classification | |
Kropp et al. | A graph structured text field index based on word fragments | |
EP0592402B1 (en) | A text management system | |
KR100289332B1 (en) | Automatic Word Construction System for Electronic Documents and Method | |
JP2009181524A (en) | Document search system and document search method | |
Nowick et al. | A model search engine based on cluster analysis of user search terms | |
Bornales et al. | Gunita: Visualizing the evolution of the Philippines’ languages with a historical Philippine text corpora | |
Oldervoll | CENSSYS—A System for Analyzing Census-Type Data | |
Levitskaya | Inferring Research Fields in Administrative Records Using Text Data | |
CN111460229A (en) | Method and system for optimizing JSON (Java Server object notation) analysis among single-user and multiple workloads | |
Hutchinson et al. | Exploring Bibliographic Records as Research Data | |
AU2013205566B2 (en) | Associative memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 202280008696.5 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22932425 Country of ref document: EP Kind code of ref document: A1 |