WO2011025162A2 - Method for searching for a list of entities belonging to a specific class - Google Patents
Method for searching for a list of entities belonging to a specific class Download PDFInfo
- Publication number
- WO2011025162A2 WO2011025162A2 PCT/KR2010/005248 KR2010005248W WO2011025162A2 WO 2011025162 A2 WO2011025162 A2 WO 2011025162A2 KR 2010005248 W KR2010005248 W KR 2010005248W WO 2011025162 A2 WO2011025162 A2 WO 2011025162A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- class
- instance
- information
- belonging
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
Definitions
- the present invention relates to information retrieval and data mining using a computer or an information communication network. More particularly, the present invention relates to a method for producing a suitable ranking result in accordance with the intention of a search query, and data (primarily non-structured). In the literature).
- search engines are based on simple keyword-based search, and there is no satisfactory technology. In particular, when a search query wants to know a list (or list) of entities belonging to a particular class, it does not show a suitable result corresponding to the query.
- An entity is here a broad term that refers to any one being (including both tangible / intangible, abstract / specific, or material / immaterial beings).
- a class is a term used to refer to a group of entities with common characteristics, similar to the concept of classes used in object-oriented programming theory. This term is synonymous with kind, type, or category, and can be thought of as an abstract entity. For example, Socrates and Plato are each an entity, and man is the class of those entities.
- a query called "cosmetic store list” is thrown, the intention of this query is to obtain a list of instances belonging to the class "cosmetic store” as a search result.
- an instance is a term that refers to an existing entity, and is similar to an instance used in object-oriented programming theory.
- an instance of the class "cosmetic store” is the actual store operator.
- existing search engines often display high rank web page information that is simply co-occurrence terms.
- the search 1 ranking result is a web that consists of a text with the phrase "cosmetics store” and a menu with the phrase "playlist” that has nothing to do with it. Page. That is, the search engine simply displays a web page where the queryed word appears.
- the present invention seeks to automatically and reliably determine the objective ranking of entities belonging to a particular class using a computer.
- the ranking results are applied to information processing such as information retrieval, classification, clustering, and prioritizing.
- information processing such as information retrieval, classification, clustering, and prioritizing.
- grasping the pattern of a query of a search engine user it is determined whether the intention of the query is to obtain list information of instances belonging to a specific class, and if so, the ranking result obtained in the present invention is provided as a search result. To improve the quality of service.
- Extracting sequence ranking information of an instance (exactly, the term for instance) appearing in each document of the collected document collection (103);
- step 105 the calculated ranking score of each instance is stored in a database.
- the method may further include sorting the data (search results) of the instance according to the ranking score of the instance.
- the importance ranking of the entities belonging to a specific class can be determined objectively and at a low cost.
- FIG. 1 is a flowchart illustrating a process of determining a ranking of entities belonging to a specific class in the method for searching a list of the entities belonging to the specific class of the present invention.
- FIG. 2 is a flowchart illustrating a method of providing a result suitable for a user's query in a method for searching a list of entities belonging to a specific class of the present invention.
- FIG. 3 is a view showing an example of a literature collection in the present invention.
- FIG. 4 is a diagram of a database of an abstract structure consisting of a collection of classes and a collection of instances associated with each class (which is an item within that collection), in accordance with the present invention.
- FIG. 5 is a diagram showing an example of an index embodying an abstract database in the present invention.
- FIG. 6 is a view showing an example of the provided search results in the present invention.
- FIG. 7 illustrates an example of a relational database for an entity named enterprise in the present invention.
- FIG. 8 is a diagram illustrating a system for searching a list of entities belonging to a specific class in the present invention.
- a new ranking model is proposed.
- the description of the model is largely divided into how to rank entities belonging to a specific class and how to produce a result suitable for a user's query.
- the ranking method of the present invention is based on the following two empirical rules.
- data or data (mainly unstructured textual documents) to which the above two empirical rules apply can extract information about which instances belong to a particular class and which of those instances are important or their importance sequences.
- Collective intelligence refers to the intelligence (or intelligence) of a group of individuals when they collaborate in groups.
- the term is used in the theory that judgment results are better when multiple individuals come together and cooperate than individual judgments. According to this theory, if an individual makes such a judgment, it is not entirely reliable, but the average (or summation) of the multiple judgments is believed to be reliable.
- the present invention is to disclose a ranking method based on the two empirical rules and the concept of collective intelligence.
- the computer extracts a particular class, its instance information, and the importance of the instance from the data (usually unstructured textual literature) and then ranks them based on them. This method is described step by step with reference to FIG. 1.
- a database storing a collection of classes and information of instances belonging to each class is obtained (101 and 102). If a well-organized database is difficult to obtain, the database can be constructed by extracting the relevant information from the data that is the source of the information (101).
- the search server may use an is-a relationship in that document.
- information about a class and an instance (in other words, class / instance pair) having the information is found and extracted.
- an relationship is a relationship in which an entity is an instance of a particular class. For example, in the English sentence “Socrates is a man.”, We can see that an entity called Socrates is an instance of a class called man. In natural language, such a relationship is called an Iz-word relationship because it is expressed in the following pattern.
- ⁇ entity> (a main noun) is a ⁇ class> (a noun).
- the term is-a word relationship is a term commonly used in object-oriented programming theory.
- the search server analyzes documents written in natural language and tokenizes them and finds out whether they are Iz-related.
- A is a B.
- the statement in the pattern is an explicit Iz-word relationship, but the following sentences (or paragraphs) can also find class / instance pairs in the Iz-word relationship.
- Company D belongs to a large company.
- a elementary school is elementary school.
- Corporation B and Corporation C are public companies.
- Company D is a large company.
- class / instance pair information such as (elementary school / A elementary school), (public corporation / B corporation), (public corporation / C corporation), (large company / D corporation), and (scientist / E) is obtained. Therefore, if the text document is analyzed by the above-described method, the class and instance information thereof can be extracted.
- the data that is the source of information extraction is not a structured text document as described above, but a structured database, and the database has an Is-Ear column.
- class / instance pair information can be extracted.
- the second column is a "company classification” column with a value such as "large company / small business / venture company”
- the first column is the "company name”. "to be.
- the fields in the second column are then classes, and the fields in the first column are instances of that class. That is, the second column and the first column have an Iz-er relationship.
- the pair information of SMEs and the "Venture Company" class and a list of company names (eg, A, D, E and F companies) belonging to the class may be extracted.
- the data source of information extraction in step 101 is not only unstructured text documents and relational databases but also semantic web, microformat HTML documents, and entity-relationship model data. It can also be obtained from WordNet.
- An embodiment of the process of finding and extracting class and instance information 101 is as follows. 3 is an example of a literature collection 301.
- the search server finds and extracts a class / instance pair having an idea-ear relationship from each document of FIG. 3.
- the document 312 extracts information that the class "enterprise group” and the instances G and H belong to it (101).
- a collection refers to a group of data items of the same type.
- Types of collections include lists, sets, multisets / bags, trees, and graphs.
- tables and arrays are not treated as collections, but for the sake of convenience in the present invention, they are considered to be a kind of collection.
- the search server puts the extracted class in the collection 401 and the instance belonging to the class (410) associated with the class ( 402). If there is no collection 402, of course, it creates a collection, then associates it with a class (410) and puts an instance into it.
- a database having a structure as shown in FIG. 4 may be embodied as an index as shown in FIG. 5.
- the collection 401 of the class of FIG. 4 is embodied as a list 501 (commonly referred to as a dictionary) and the collection 402 of instances is embodied as a list 510.
- each item in the list 501 is connected to the other list 510 (520).
- An embodiment of the process 102 of storing the extracted class and instance information belonging thereto is as follows.
- the dictionary 501 of the index 804 having the structure as shown in FIG. 5 checks whether or not a class named "video portal company" exists as an item, and if not, inserts the item and puts the class name in the item ( 102). After creating a list 510 that is linked 520 to the item, the data of the three operators (including name) is put into the item of the list.
- sequence ranking information of an instance appearing in each document of the collected document collection (exactly, the term meaning instance) is extracted (103).
- the rank order of instance i is a term defined in this document and refers to the number of ranks in which instance i appears in the list of instances of the class to which instance i belongs in a document. For example, comparing the instances stored in index 804 by sequentially sequencing tokens in document 311, D, E and F appear in document 311 in the order just described and they are referred to as "video portal vendors". You can see that it belongs to a specific class. If so, D's ranking is first, E's second, and F's third.
- the listing rank is the appearance ranking within the listing of instances belonging to a particular class in a document. For example, if a document appears with a middle school name "X Middle School” and two high school names “Y High School” and “Z High School” appear in that order, then the class "Middle School” appears in the document.
- the list of instances belonging to is "X Middle School”
- the list of instances belonging to a class called "High School” is "Y High School” and "Z High School”. Therefore, in the document, the rank order of "X middle school” is 1, and the rank order of "Y high school” and "Z high school” are 1 and 2, respectively.
- term frequency or / and Boolean term frequency information of an instance appearing in the collected documents is extracted. It may be done (103).
- the term frequency refers to the frequency of occurrence of a specific term in a document.
- terminology terminology is a variation of terminology, the value of which is 1 if a particular term appears in a document and 0 otherwise. For example, in document 311, the instance D appears twice, so that the term frequency of D in 311 is 2 and the term frequency of boolean is 1.
- the ranking score of the instances for the ranking is determined according to the order of ranking of the instances, the term frequency or / and the term term, based on the basic concepts described above (104).
- This ranking score function can be expressed as Equation 1 and Equation 2 below by using a mathematical formula.
- Equation (1) gives a ranking score when given the term i for a specific instance belonging to a specific class c in a collection of documents D consisting of N documents, d 1 , d 2 , ..., d N-1 , d N. Indicates.
- S (i, c) is the ranking score of i belonging to c
- w j is the weight of document d j .
- O i, c, j is the number of ranks (starting at 1) where i appears in the list of instances belonging to class c appearing in document d j , and its value is assumed to be infinity ( ⁇ ).
- Equation 1 is as follows. It is the sum of the product of terms called the inverse of the weight of the document and the number of ranks of the instances.
- the score of instance i in one document is proportional to the inverse of the number of ranks in which instance i appears in the list of instances belonging to class c to which instance i belongs. That is, if an instance appears first in the sequence, its multiplier is (1/1), and if it appears second, the multiplier is (1/2). If an instance does not appear in the document, the multiplier is 0 because it appears to be an infinite equality.
- Another multiplier is the weight of the document. This weight may be arbitrarily determined by the calculator in accordance with the characteristics of the document collection. For example, if the document is a web document, its weight can be determined by a static ranking model such as PageRank.
- the w value of document tag 321 in FIG. 3 is a weight that is metadata for each document.
- the ranking score of E is as follows.
- Company D has a higher ranking score than Company E. Therefore, D ranks higher than E when ranking each instance in the collection of instances belonging to the "Video Portal Vendor" class.
- Equation 2 is a ranking score when given the term i for a specific instance belonging to a specific class c in the document collection D consisting of N documents, d 1 , d 2 , ..., d N-1 , d N Indicates.
- S (i) is the ranking score of i
- w j is the weight of document d j .
- tf i, j is the term frequency or Boolean term frequency of i in document d j (1 if it appears, or 0 otherwise).
- Equation 2 is as follows. The formula is, as you can see, the sum of the weight of the document and the term term frequency (or term term boolean) of the instance. Equation 2, like Equation 1, also meets the above empirical rules and the concept of collective intelligence. Equations 1 and 2 may be combined, or the equations may be modified and used within a range reflecting the basic concept of the present invention. Since the modification formula of the term frequency in Equation 2 can be easily identified in the information search textbook, the description is omitted here. And the use of Equation 2 will be described in detail in the following specific embodiments.
- the calculated ranking score of each instance is stored in the database (105).
- the ranking score of Company D calculated as described above is stored in the ranking score storage area (the area indicated by parentheses, ie, 512) of the item 511.
- the ranking score in FIG. 5 is a score obtained in the following specific examples. This completes the construction of the database (or index).
- additional data other than the instance name and the ranking score may be included as data for each instance.
- data such as contact numbers, addresses, employee numbers, sales, stock prices, etc. can be obtained from the company's mutual telephone number database and the corporate disclosure website. You can take each business-specific data from this database and put it in an item for an instance in the index. This performance will be described in the following specific embodiments.
- the search server grasps the intention and uses the database constructed as described above to obtain a search result corresponding to the query.
- search server 801 receives a search query from client 810 (201).
- operation 202 it is determined whether the intention of the given query is to obtain list information of instances belonging to a specific class. Specifically, when the query pattern is as follows, it may be determined that the list information is desired.
- the above intention may also be determined when a list or the word list does not exist explicitly in a query, but a noun or a pronoun is followed by a suffix indicating "s". Even if this is not the case, the query intent is that you want the list information. If the query is in English, it can be determined that the following are queries of the intention.
- the search server 801 extracts a word for the entity from the query (203).
- a class item matching the word representing the entity is found in the collection 401 of the class in the database as shown in FIG. 4 (204). If the abstract database is implemented with an index as shown in Figure 5, it is found in a dictionary 501. For example, if the query is a "video portal company list”, the word “or video portal company” (or phrase) is extracted from the query (203) and the dictionary class class item 502 matching the word representing the entity is dictionary. Look up (501) (204).
- the data items for the instances in the list are read, the answers are written, and the data (search results) of the instances are sorted according to the ranking score of the instances. (206).
- instance items in the list are sorted in order of ranking score in advance, the sorting operation is unnecessary.
- instance items may be re-ranked by another ranking algorithm before and after the alignment.
- the ranking method described above can be applied not only in the field of information retrieval but also in other information processing fields such as classification, clustering, and prioritizing.
- An example of classifying, clustering, and prioritizing instances belonging to a specific class using the above-described ranking method is as follows.
- a ranking score may be scored for instances belonging to a class called a smartphone vendor, and classified into major smartphone vendors and minor smartphone vendors according to a reference score.
- a ranking score may be assigned to an instance belonging to a class of US universities, and groups of universities with similar scores may be grouped into 1st and 2nd grade schools.
- Formulas 1 and 2 are compared with the tf-idf weighting formula.
- the formula 1 and formula 2 do not have an inverse document frequency (idf) term, unlike the tf-idf weighting formula.
- idf inverse document frequency
- Equations 1 and 2 are based on the idea that instances that are often mentioned are important, so there is no inverse document frequency term. Therefore, there is no inverse frequency term.
- Classes and instances may have an Eze-Eye relationship, but classes and subclasses may also have an Eze-Eye relationship.
- subclasses are considered to be instances for the sake of simplicity.
- the weight of the document may be fixed to a constant equal to one. This can be useful when you can't or don't need to weight documents.
- the weight of the document may be adjusted according to the relevance of the document to the class.
- the term apple can be an instance of a fruit but an instance of an IT enterprise.
- the ranking score for Apple the IT company, if the document is related to IT, the weight is increased. If the document is related to fruit, the weight is decreased.
- This embodiment is constructed in the first and second embodiments of the above-described method of extracting information of entities belonging to a specific class in document collection FIG. 3 and determining the importance ranking of the entities using the formula (2).
- the second embodiment describes a method of producing a search result that matches a user's intention by using the index.
- the search server 801 collects computer readable documents from web servers 803 on the Internet via the information communication network 802. Then, the collected document collection 301 finds and extracts class and instance pair information having an Ez-E relationship (101). The results are shown through the example of FIG. 3 as follows.
- the ID is assigned to the extracted instance as D / 1, E / 2, F / 3, G / 4, H / 5, B / 6, A / 7.
- the extracted information of the class and the instances belonging to it is stored in the index (102).
- the procedure is as follows. Let's say the index in Figure 5 is empty before doing this.
- (c) process the entities that appear in document 313; Examine whether the class "corporate group" is in the index. Since it already exists, find the list that is linked to item 503 of that class. Check if B is in the list, and if not, put it.
- the term frequency information of the instance is extracted in each document as follows (103). That is, in this embodiment, the term frequency information in each document is extracted instead of the order ranking information.
- the importance ranking score of the extracted instance is calculated through Equation 2 (104).
- the weight of the document the w value of the tag 321 is used.
- the weight of each document was obtained through PageRank.
- the term tf of Equation 2 is defined as term frequency, not term term.
- the ranking score of each instance is as follows.
- the ranking score of each calculated instance is stored in the index (105).
- the items in each list in that index are then sorted by the ID of the instance, by name (in alphabetical order), or by the ranking score of the instance.
- the results are as follows when ordered by the ranking score.
- the database 805 of an entity called an enterprise is read and the physical address, homepage address, sales, profit, and number of employees of each enterprise are put into the corresponding item as shown in FIG.
- the search server 801 determines whether the intention of the query is a list of instances belonging to a specific class (202).
- the client is a computing device such as a personal computer, a mobile device. If it is determined that you want a list of instances, it proceeds to extract the entity from the next query, and if not intended, terminates the query processing or passes the query to another module.
- a class name matching the word representing the entity is found in the index as shown in FIG. 5 (204).
- the class name that matches item 503 is shown.
- a list of instances associated with the found item 503 is found (205).
- the answer to the query is made (206).
- the ranking results In the second embodiment, the ranking is determined based on the ranking score determined by the first embodiment, and the results are as follows.
- a table is created with data of each company group's name, ranking score, physical address, homepage address, sales, profit and number of employees.
- the response is sent to the client 810 (207).
- the search results are sorted according to the ranking score, and the attributes of each corporate group are systematically shown, which is convenient for the user to obtain information.
- the ranking scores obtained in the first embodiment can be applied not only to information retrieval fields as in the second embodiment, but also to other information processing fields such as classification, clustering, and prioritizing.
- the web crawler may set the ratio of the frequency of visits to the sites of the instances belonging to the "video portal company" class as the ranking score. Accordingly, the web collector visits the sites D, E, F, and A at a ratio of 8: 5: 3: 2.
- the criterion of being labeled with the first grade among the instances of the class "corporate group" is a ranking score of 0.3 or higher, G and H are classified as the first grade.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 컴퓨터 혹은 정보통신망을 이용한 정보 검색과 데이터 마이닝(data mining)에 관한 것으로, 더 상세하게는 검색 질의자의 의도에 부합하는 적합한 랭킹(ranking) 결과를 내는 방법과 이를 위해 데이터(주로 비구조적인 문헌)에서 정보를 추출하는 방법에 대한 것이다.The present invention relates to information retrieval and data mining using a computer or an information communication network. More particularly, the present invention relates to a method for producing a suitable ranking result in accordance with the intention of a search query, and data (primarily non-structured). In the literature).
인터넷이 대중화함에 따라, 많은 사용자들이 인터넷 검색 서비스를 통해 정보를 얻고 있다. 검색 엔진이 가져야 할 중요한 능력 중 하나가 사용자의 검색 의도를 파악하여 그 의도에 맞는 랭킹 결과를 내는 것이다. 그러나 기존의 검색 엔진은 단순한 키워드 기반 검색에 머무르고 있고 만족할 만한 기술이 나오지 않은 것이 현실이다. 특히 검색 질의자가 특정한 클래스(class)에 속한 엔터티(entity)의 리스트(list, 또는 목록)를 알고 싶어할 때 그 질의에 상응하는 적합한 결과를 보여주지 못하고 있다. As the Internet has become popular, many users are getting information through Internet search services. One of the important abilities a search engine should have is to identify the user's search intent and produce ranking results that match that intent. However, existing search engines are based on simple keyword-based search, and there is no satisfactory technology. In particular, when a search query wants to know a list (or list) of entities belonging to a particular class, it does not show a suitable result corresponding to the query.
여기서 엔터티란 어떤 하나의(any) 존재(유형/무형, 추상적/구체적 또는 물질적/비물질적 존재 모두 포함)를 가리키는 광의의 용어이다. 그리고 클래스는 공통의 특성을 가지는 엔터티들의 집단을 가리키는 용어로 객체 지향 프로그래밍 이론에서 사용되는 클래스 개념과 유사하다. 이 용어는 종류(kind), 유형(type) 또는 카테고리(category)와 비슷한 뜻이고, 추상적인 엔터티라고 볼 수 있다. 예를 들어, 소크라테스와 플라톤은 각각 하나의 엔터티이고 사람(man)은 그 엔터티들의 클래스라 할 수 있다. An entity is here a broad term that refers to any one being (including both tangible / intangible, abstract / specific, or material / immaterial beings). A class is a term used to refer to a group of entities with common characteristics, similar to the concept of classes used in object-oriented programming theory. This term is synonymous with kind, type, or category, and can be thought of as an abstract entity. For example, Socrates and Plato are each an entity, and man is the class of those entities.
전술한 의도의 질의의 일례로, "화장품 매장 리스트"라는 질의가 던져지면, 이 질의의 의도는 "화장품 매장"이라는 클래스에 속하는 인스턴스(instance)에 대한 리스트를 검색 결과로 얻고 싶다는 것이다. 여기서 인스턴스란 구체적으로 실존하는 엔터티를 가리키는 용어로 객체 지향 프로그래밍 이론에서 사용되는 인스턴스와 유사한 개념이다. 따라서, "화장품 매장"이라는 클래스의 인스턴스는 실제 매장 사업자이다. 그러나 그와 같이 질의했을 때, 기존 검색 엔진은 단순히 질의를 구성하는 용어들이 공기하는(co-occurrence) 웹페이지 정보들을 높은 순위로 보여주는 경우가 많다. 실제 어느 유명 검색 엔진에 대해 실험을 한 경우, 검색 1 순위 결과는 "화장품 매장"이라는 문구(phrase)를 가진 본문과 이 본문과 전혀 상관없는 "플레이 리스트"라는 문구를 가진 메뉴로 구성되어있는 웹 페이지이다. 즉 그 검색 엔진은 단순히 질의한 단어가 출현(occurrence)하는 웹 페이지를 보여준다. As an example of the query of intention described above, if a query called "cosmetic store list" is thrown, the intention of this query is to obtain a list of instances belonging to the class "cosmetic store" as a search result. In this context, an instance is a term that refers to an existing entity, and is similar to an instance used in object-oriented programming theory. Thus, an instance of the class "cosmetic store" is the actual store operator. However, when queried as such, existing search engines often display high rank web page information that is simply co-occurrence terms. In fact, if you've experimented with a well-known search engine, the search 1 ranking result is a web that consists of a text with the phrase "cosmetics store" and a menu with the phrase "playlist" that has nothing to do with it. Page. That is, the search engine simply displays a web page where the queryed word appears.
이번에는 "분당 병원 리스트"라는 질의에 대해 생각해보자. 이 질의의 의도는 "분당 병원"이라는 특정 클래스의 인스턴스(여기서는, 실제 분당 병원을 운용하는 사업자)들의 리스트를 알고 싶다는 것이다. 또 다른 유명 키워드 기반의 검색 엔진에 그러한 질의를 하면 우연히 질의 의도에 맞는 결과를 포함하는 웹 페이지의 링크가 높은 순위로 나온다. 하지만 그 웹 페이지에 있는 리스트를 보면 의미 없는 순서로 정렬(sorting)되어 있어서 어느 병원이 사람들에게 더 좋은 평판을 얻고 더 권위가 있는지 알 수 없다. 즉 찾고자 하는 대상의 중요도에 상관없는 순위로 보여지고 있다. 그리고 그 병원들의 주소와 전화번호는 웹 페이지에 기재되어 있어서 좋았으나 그 병원의 웹사이트 URL이나 그 병원 위치를 보여주는 약도 페이지에 대한 하이퍼링크(hyperlink)가 없어서 아쉽다. 즉 요행히 원하는 리스트가 있는 웹 페이지를 찾아도 체계적이고 편리하게 정보가 정리되어 있지 않다.Now think about the query "List of hospitals in Bundang." The intent of this query is to know a list of instances of a particular class called "Bundang Hospital" (here, the actual operators that run Bundang Hospital). Such a query to another well-known keyword-based search engine would inadvertently rank a link to a web page that contains results that match the query's intent. But when you look at the list on the web page, you're sorting in a meaningless order so you don't know which hospital has a better reputation and is more authoritative. In other words, it is shown as a ranking irrespective of the importance of the object to find. And the addresses and phone numbers of the hospitals were good because they were listed on a web page, but there was no hyperlink to the hospital's website URL or directions page showing the location of the hospital. In other words, even if you browse a web page with a list you want, there is no organized and convenient information.
본 발명은 컴퓨터를 이용하여 자동으로 특정 클래스에 속하는 엔터티들의 신뢰할 수 있는 객관적인 랭킹을 정하고자 한다. 그리고 이 랭킹 결과를 정보 검색, 분류(classification), 군집화(clustering), 우선순위 정하기(prioritizing)와 같은 정보 처리에 응용하고자 한다. 특히, 검색 엔진 사용자의 질의어의 패턴을 파악하여 그 질의의 의도가 특정 클래스에 속하는 인스턴스들의 리스트 정보를 얻고자 하는 것인 지를 판단하고, 그럴 경우, 본 발명에서 구한 랭킹 결과를 검색 결과로 제공하여 서비스의 질을 높이고자 한다.The present invention seeks to automatically and reliably determine the objective ranking of entities belonging to a particular class using a computer. The ranking results are applied to information processing such as information retrieval, classification, clustering, and prioritizing. In particular, by grasping the pattern of a query of a search engine user, it is determined whether the intention of the query is to obtain list information of instances belonging to a specific class, and if so, the ranking result obtained in the present invention is provided as a search result. To improve the quality of service.
본 발명 특정 클래스에 속하는 엔터티의 리스트 검색 방법은, List search method of the entities belonging to the specific class of the present invention,
특정 클래스에 속하는 엔터티들의 랭킹을 정하는 방법과 사용자의 질의에 적합한 결과를 내는 방법으로 나누어진다.It is divided into how to rank the entities belonging to a specific class and how to produce the result suitable for the user's query.
먼저, 특정클래스에 속하는 엔터티들의 랭킹을 정하는 방법은, First, the method of ranking the entities belonging to a specific class is
클래스의 컬렉션과 각 클래스에 속하는 인스턴스의 정보를 저장한 데이터베이스를 획득하거나, 직접 정보의 원천이 되는 데이터에서 관련 정보를 추출하여(101) 데이터베이스를 구축하는(102) 과정과, Acquiring a database storing a collection of classes and information of instances belonging to each class, or extracting relevant information from data that is a source of information (101) to build a database (102);
수집된 문헌 컬렉션의 각 문서에서 출현하는 인스턴스(정확히는, 인스턴스를 뜻하는 용어)의 나열 순위 정보를 추출하는 과정과(103), Extracting sequence ranking information of an instance (exactly, the term for instance) appearing in each document of the collected document collection (103);
상술한 인스턴스의 나열 순위 정보 추출 행위와 함께, 수집된 문서들에서 출현하는 인스턴스(정확히는, 인스턴스를 뜻하는 용어)의 용어 빈도(term frequency) 또는/및 불린(Boolean) 용어 빈도 정보를 추출하는 과정과(103), A process of extracting term frequency or / and Boolean term frequency information of an instance (exactly, an term meaning an instance) appearing in collected documents together with the above-described extracting ranking order information of instances. (103),
인스턴스의 나열 순위, 용어 빈도 또는/및 불린 용어 빈도에 따라 특정클래스에 속하는 인스턴스 컬렉션 안에 있는 인스턴스들의 랭킹 스코어를 계산하는 과정과(104), Calculating a ranking score of the instances in the collection of instances belonging to a particular class according to the order of ranking of the instances, the term frequency, and / or the term term frequency (104);
계산된 각 인스턴스의 랭킹 스코어를 데이터베이스에 저장하는 과정으로(105) 이루어지는 것을 특징으로 한다. In
사용자의 질의에 적합한 결과를 내는 방법은, The best way to get the right results for your query is
클라이언트로부터 검색 질의를 받는 과정과(201), Receiving a search query from a
상기 질의의 패턴을 파악하여 그 질의의 의도가 특정 클래스에 속하는 인스턴스들의 리스트 정보를 얻고자 함인지 판단하는 과정과(202), Determining a pattern of the query and determining whether the intention of the query is to obtain list information of instances belonging to a specific class (202);
상기 질의의 의도가 리스트 정보를 요구하는 것인 경우 상기 질의에서 엔터티를 뜻하는 단어를 추출하는 과정과(203), Extracting a word representing an entity from the query if the intention of the query requires list information (203);
그 엔터티를 뜻하는 단어와 일치(match)하는 클래스 아이템을 데이터베이스안의 클래스의 컬렉션(또는 딕셔너리(dictionary)) 안에서 찾는 과정과(204), Finding a class item in the collection (or dictionary) of classes in the database that match the word for that entity (204);
일치하는 클래스 아이템이 있으면, 그 클래스에 대한 아이템(item)에 연결된(관련된) 인스턴스의 컬렉션(또는 리스트)을 찾는 과정과(205), If there is a matching class item, the process of finding a collection (or list) of instances associated with (associated with) the item for that class (205);
찾은 그 인스턴스의 컬렉션 안에 있는 인스턴스에 대한 데이터 아이템들을 읽어 들여서 답변 내용을 작성하는 과정과(206), Reading the data items for the instances in the found collection of instances and writing the answer (206);
그 답변(검색 결과들)을 클라이언트에게 제공하는 과정으로(207) 이루어지는 것을 특징으로 한다. 답변 내용을 작성하는 도중, 인스턴스의 랭킹 스코어에 따라 인스턴스의 데이터(검색 결과)를 정렬(sorting)하는 과정을 더 포함할 수 있다. And providing the answer (search results) to the client (207). While writing the answer content, the method may further include sorting the data (search results) of the instance according to the ranking score of the instance.
이와 같은 본 발명에 따르면, 검색 질의자가 특정한 클래스에 속하는 엔터티의 리스트를 요구할 때, 그 의도에 부합하는 양질의 결과들을 제공할 수 있게 된다. According to the present invention as described above, when a search queryer requests a list of entities belonging to a specific class, it is possible to provide high quality results corresponding to the intention.
또한, 특정 클래스에 속하는 엔터티들의 중요도 랭킹을 객관적이고 신뢰성 있으면서도 저렴한 비용으로 정할 수 있다.In addition, the importance ranking of the entities belonging to a specific class can be determined objectively and at a low cost.
도 1은 본 발명 특정 클래스에 속하는 엔터티의 리스트 검색 방법에 있어서, 특정 클래스에 속하는 엔터티들의 랭킹을 정하는 방법의 실행과정을 나타낸 플로우챠트. 1 is a flowchart illustrating a process of determining a ranking of entities belonging to a specific class in the method for searching a list of the entities belonging to the specific class of the present invention.
도 2는 본 발명 특정 클래스에 속하는 엔터티의 리스트 검색 방법에 있어서, 사용자의 질의에 적합한 결과를 제공하는 방법의 실행과정을 나타낸 플로우챠트. 2 is a flowchart illustrating a method of providing a result suitable for a user's query in a method for searching a list of entities belonging to a specific class of the present invention.
도 3은 본 발명에 있어서, 문헌 컬렉션의 일 예를 나타낸 도면. 3 is a view showing an example of a literature collection in the present invention.
도 4는 본 발명에 있어서, 클래스들의 컬렉션과 각 클래스(그 컬렉션 내의 아이템인)와 연결된 인스턴스들의 컬렉션으로 이루어진 추상적인 구조의 데이터베이스를 도식화한 도면. 4 is a diagram of a database of an abstract structure consisting of a collection of classes and a collection of instances associated with each class (which is an item within that collection), in accordance with the present invention.
도 5는 본 발명에 있어서, 추상적인 데이터베이스를 구체화한 색인의 일 예를 나타낸 도면. 5 is a diagram showing an example of an index embodying an abstract database in the present invention.
도 6은 본 발명에 있어서, 제공된 검색결과의 일 예를 나타낸 도면. 6 is a view showing an example of the provided search results in the present invention.
도 7은 본 발명에 있어서, 기업이라는 엔터티에 대한 관계형 데이터베이스의 일 예를 나타낸 도면. FIG. 7 illustrates an example of a relational database for an entity named enterprise in the present invention. FIG.
도 8은 본 발명에 있어서, 특정 클래스에 속하는 엔터티의 리스트 검색 시스템 구성을 나타낸 도면.8 is a diagram illustrating a system for searching a list of entities belonging to a specific class in the present invention.
본 발명을 구현하기 위하여 새로운 랭킹 모델을 제안한다. 그 모델에 대한 설명은 크게 특정 클래스에 속하는 엔터티들의 랭킹을 정하는 방법과 사용자의 질의에 적합한 결과를 내는 방법으로 나누어진다. In order to implement the present invention, a new ranking model is proposed. The description of the model is largely divided into how to rank entities belonging to a specific class and how to produce a result suitable for a user's query.
본 발명의 랭킹 방법은 아래와 같은 두 가지 경험칙(經驗則)에 기반을 두고 있다. The ranking method of the present invention is based on the following two empirical rules.
첫째, 사람들은 특정한 클래스에 속하는 인스턴스를 언급할 때 보통 중요하다고 생각되는 것들을 기재한다. First, people write things that are usually considered important when referring to instances belonging to a particular class.
둘째, 사람들은 특정한 클래스에 속하는 복수의 인스턴스를 나열할 때 보통 중요하다고 생각되는 것부터 먼저 기재한다. Second, people list things that are usually considered important when listing multiple instances belonging to a particular class.
첫 번째 경험칙을 예를 들어 설명해보자. 우리는 보통 언론 매체가 발표한 한국내 기업 그룹들의 이름이 나열된 기사를 접할 때, "A, B, C 그리고 D 기업 그룹"과 같은 패턴의 문장을 자주 본다. 보통 언론 매체에서 상당히 많은 "기업 그룹"이라는 클래스의 인스턴스(여기서는 "기업 그룹 사업체") 중 상기와 같이 4개 인스턴스들만 자주 언급하는 이유는 그 그룹들의 매출, 자산, 사회적 영향력이 한국내 다른 기업보다 현격하게 더 중요하다고 여겨지기 때문이다. 위와 같이 우리는 일상적인 정보 교환 행위 중 첫 번째 경험칙이 적용되는 것을 자주 체험한다. Let's explain the first rule of thumb. We often see patterns in the pattern "A, B, C, and D Business Groups" when we read articles that list the names of Korean business groups published by the media. Of the many instances of a class called "corporate groups" (here, "corporate group businesses") in the media, only four of these instances are often mentioned because their sales, assets, and social influence are more likely than other firms in Korea. It is considerably more important. As we see above, we often experience the application of the first rule of thumb in everyday information exchange.
이번엔 두 번째 경험칙을 예를 들어 설명해보자. 우리는 보통 언론 매체를 통해 대학교 이름이 나열된 기사를 접할 때, "A대학교, B대학교, C대학교의 입시 요강"과 같은 패턴의 문장을 자주 본다. 대다수의 언론 매체들이 한국내 대학교를 언급할 때 위와 같은 순서로 기재하는 것은 한국내 대학교의 평판도가 A, B, C 순이라고 여겨지기 때문이다. 위와 같이 우리는 일상적인 정보 교환 행위 중 두 번째 경험칙이 적용되는 것을 자주 체험한다. 그러므로 우리는 저러한 데이터에 어떠한 인스턴스가 중요한지 그리고 어떤 인스턴스가 더 중요한지에 대한 글쓴이의 지적인 판단 결과가 암시적으로 포함되어 있음을 알 수 있다. Let's explain the second rule of thumb this time. When we read articles that list university names in the media, we often see sentences with patterns like "Admissions Guidelines for Colleges A, B, and C". When most media refer to universities in Korea, they are listed in the above order because they are considered to be A, B, and C in order. As mentioned above, we often experience the application of the second rule of thumb in everyday information exchange. Therefore, we can implicitly include the author's intelligent judgment of which instance is important to that data and which instance is more important.
따라서 상기의 두 경험칙이 적용되는 데이터 또는 자료(주로 비구조적인 텍스트 문헌)에서 특정 클래스에 어떤 인스턴스가 속하고 그 인스턴스들 중 무엇이 중요한지 또는 그 중요도 서열에 대한 정보를 추출할 수 있다. Thus, data or data (mainly unstructured textual documents) to which the above two empirical rules apply can extract information about which instances belong to a particular class and which of those instances are important or their importance sequences.
물론 일개인의 그러한 판단 정보를 전적으로 신뢰할 수는 없다. 그래서 본 발명에서는 웹2.0(web 2.0)을 설명할 때 사용되는 집단 지성이라는 개념을 도입했다. 집단 지성이란 다수의 개인이 집단을 이루어 협업할 때 그 집단이 가지는 지능(또는 지성)을 말한다. 그 용어는 일개인의 판단보다 다수의 개인들이 모여서 협동할 때의 판단 결과가 더 우수하다는 이론에서 사용된다. 이 이론에 따라, 일개인이 그러한 판단을 할 경우에는 전적으로 신뢰할 수 없지만 다수의 판단의 평균(또는 합산)은 신뢰할 수 있다고 본다.Of course, such judgment information of an individual cannot be completely trusted. Thus, the present invention introduces the concept of collective intelligence used when describing web 2.0. Collective intelligence refers to the intelligence (or intelligence) of a group of individuals when they collaborate in groups. The term is used in the theory that judgment results are better when multiple individuals come together and cooperate than individual judgments. According to this theory, if an individual makes such a judgment, it is not entirely reliable, but the average (or summation) of the multiple judgments is believed to be reliable.
이하, 본 발명은 상기의 두 경험칙과 집단 지성 개념에 기반한 랭킹 방법에 대해 개시하고자 한다. 그 랭킹 방법을 일단 개략적으로 설명하면, 컴퓨터는 데이터(주로 비구조적인 텍스트 문헌)에서 특정 클래스와 그에 속하는 인스턴스 정보 그리고 그 인스턴스의 중요도 정보를 추출한 다음 그것들을 바탕으로 랭킹을 정한다. 이 방법을 도 1을 참조하여 단계적으로 설명하면 다음과 같다. Hereinafter, the present invention is to disclose a ranking method based on the two empirical rules and the concept of collective intelligence. Once the ranking method is outlined, the computer extracts a particular class, its instance information, and the importance of the instance from the data (usually unstructured textual literature) and then ranks them based on them. This method is described step by step with reference to FIG. 1.
먼저, 클래스의 컬렉션과 각 클래스에 속하는 인스턴스의 정보를 저장한 데이터베이스를 획득한다(101과 102). 잘 조직화된 데이터베이스를 구하기 어렵다면, 직접 정보의 원천이 되는 데이터에서 관련 정보를 추출하여(101) 데이터베이스를 구축할 수 있다(102). First, a database storing a collection of classes and information of instances belonging to each class is obtained (101 and 102). If a well-organized database is difficult to obtain, the database can be constructed by extracting the relevant information from the data that is the source of the information (101).
그러한 정보 추출의 원천이 될 데이터가 자연어로 쓰여진 텍스트의 문헌 컬렉션(document collection)이라면, 특정 클래스와 그에 속하는 인스턴스 정보를 획득하기 위해, 검색 서버는 그러한 문서에서 이즈-어 관계(is-a relationship)를 가지는 클래스와 인스턴스(달리 말해, 클래스/인스턴스 쌍(pair)) 정보를 찾아서 추출한다(101). 여기서 이즈-어 관계란 어떤 엔터티가 특정 클래스의 인스턴스인 관계를 말한다. 예를 들어 “Socrates is a man.”의 영어문장에서, 소크라테스(Socrates)라는 엔터티는 인간(man)이라는 클래스의 인스턴스임을 알 수 있다. 보통 자연어에서 그러한 관계는 아래와 같은 패턴으로 표현되기 때문에 이즈-어 관계라고 불린다. If the data that would be the source of such information extraction is a document collection of text written in natural language, in order to obtain a particular class and its associated instance information, the search server may use an is-a relationship in that document. In
"<entity>(주격(主格) 명사) is a <class>(보격(補格) 명사)". "<entity> (a main noun) is a <class> (a noun).
(여기서는, 복합 명사도 하나의 명사로 본다.)(In this case, compound nouns are seen as one noun.)
이 이즈-어 관계라는 용어는 주로 객체 지향 프로그래밍 이론에서 많이 쓰이는 용어이다. 검색 서버는 자연어로 쓰여진 문서를 분석하여 토큰화(tokenize)하고 그 토큰들과의 관계가 이즈-어 관계인지 알아낸다.The term is-a word relationship is a term commonly used in object-oriented programming theory. The search server analyzes documents written in natural language and tokenizes them and finds out whether they are Iz-related.
"A는 B이다(A is a B)." 패턴의 문장이 명시적인 이즈-어 관계의 문장이지만 다음 문장(또는 문단)들에서도 이즈-어 관계의 클래스/인스턴스 쌍을 찾아낼 수 있다."A is a B." The statement in the pattern is an explicit Iz-word relationship, but the following sentences (or paragraphs) can also find class / instance pairs in the Iz-word relationship.
나는 A초등학교 출신이다. I'm from A elementary school.
나는 B공사, C공단에 입사하고 싶다. 그러한 공기업은 안정적이기 때문이다. I want to join B Corporation and C Corporation. Such a public company is stable.
D기업은 대기업에 속한다.Company D belongs to a large company.
그는 E와 같은 과학자가 되기 위해 노력했다.He tried to be a scientist like E.
위 문장들로부터 다음과 같은 이즈-어 관계 정보를 추출할 수 있다.From the above sentences, the following Iz-e relationship information can be extracted.
A초등학교는 초등학교이다. A elementary school is elementary school.
B공사와 C공단은 공기업이다. Corporation B and Corporation C are public companies.
D기업은 대기업이다. Company D is a large company.
E는 과학자이다.E is a scientist.
즉, 위 문장들로부터 (초등학교/A초등학교), (공기업/B공사), (공기업/C공단), (대기업/D기업) 그리고 (과학자/E)라는 클래스/인스턴스의 쌍 정보를 얻는다. 따라서 상술한 방법으로 텍스트 문서를 분석하면 클래스와 그에 속하는 인스턴스 정보를 추출할 수 있다.That is, from the above sentences, class / instance pair information such as (elementary school / A elementary school), (public corporation / B corporation), (public corporation / C corporation), (large company / D corporation), and (scientist / E) is obtained. Therefore, if the text document is analyzed by the above-described method, the class and instance information thereof can be extracted.
클래스와 인스턴스 정보를 찾아서 추출하는 과정(101)에서의 정보 추출의 원천이 되는 데이터가 위에서 말한 비구조적인 텍스트 문헌이 아니라, 구조적인 데이터베이스이고, 그 데이터베이스가 이즈-어 관계를 가진 칼럼(column)을 포함할 경우, 클래스/인스턴스 쌍 정보를 추출할 수 있다. 예를 들어, 도 7과 같은 기업이라는 엔터티에 대한 관계형 데이터베이스(805)를 보면, 둘째 칼럼은 "대기업/중소기업/벤처기업"과 같은 값을 가지는 "기업 분류" 칼럼이고, 첫째 칼럼은 "기업 이름"이다. 그러면 둘째 칼럼의 필드는 클래스이고, 첫째 칼럼의 필드는 그 클래스에 속하는 인스턴스라고 볼 수 있다. 즉 둘째 칼럼과 첫째 칼럼은 이즈-어 관계이다. 도 7과 같은 데이터베이스에서 (중소기업/C사) 쌍 정보 및 "벤처기업"이라는 클래스와 그 클래스에 속하는 기업 이름 리스트(예: A, D, E 그리고 F사)를 추출할 수 있다. In the process of finding and extracting class and instance information (101), the data that is the source of information extraction is not a structured text document as described above, but a structured database, and the database has an Is-Ear column. If includes, class / instance pair information can be extracted. For example, in the
그리고 101 단계에서의 정보 추출의 원천이 되는 데이터는 비구조적인 텍스트 문헌, 관계형 데이터베이스뿐 아니라 시맨틱 웹(semantic web), 마이크로포맷(microformat)의 HTML 문서, 엔터티-관계(entity-relationship) 모델의 데이터, 워드넷(WordNet) 등에서도 구할 수 있다. The data source of information extraction in
클래스와 인스턴스 정보를 찾아서 추출하는 과정(101)의 일 실시 예는 다음과 같다. 도 3은 문헌 컬렉션(301)의 일 예이다. 검색 서버는 도 3의 각 문서에서 이즈-어 관계를 갖는 클래스/인스턴스 쌍을 찾아서 추출한다. An embodiment of the process of finding and extracting class and
(a) 문서(311)를 분석하면 문장 "동영상 포털 업체인 D, E, F사와…"에서 "D, E, F사는 동영상 포털 업체이다."라는 이즈-어 관계 정보를 찾을 수 있다. (a) Analyzing the
따라서, 문서(311)에서 "동영상 포털 업체"라는 클래스와 인스턴스 D, E, F사(社)가 그에 속한다는 정보를 추출한다(101). Therefore, in the
(b) 문서(312)를 분석하면 "G기업 그룹"과 "H 기업 그룹"이라는 문구에서 "G와 H는 기업 그룹이다"라는 이즈-어 관계 정보를 찾아낸다. (b) Analyzing
따라서, 문서(312)에서 "기업 그룹"이라는 클래스와 인스턴스 G, H가 그에 속한다는 정보를 추출한다(101).Accordingly, the
이후, 그 추출된 클래스와 그에 속하는 인스턴스 정보를 데이터베이스에 넣는다.(102)Thereafter, the extracted class and the instance information belonging to the extracted class are put into the database.
도 4는 클래스들의 컬렉션(401)과 각 클래스(그 컬렉션 내의 아이템인)와 연결된(410) 인스턴스들의 컬렉션(402)으로 이루어진 추상적인 구조의 데이터베이스를 도식화한 것이다. 여기서, 컬렉션이란 같은 유형(type)을 가진 데이터 아이템(data item)들의 집단을 말한다. 컬렉션의 종류로는 리스트(list), 집합(set), 멀티세트(multiset)/백스(bags), 트리(tree) 및 그래프(graph)가 있다. 보통 테이블(table)과 배열(array)은 컬렉션으로 취급하지 않지만 본 발명에서는 편의상 그것들도 컬렉션의 일종이라고 간주하기로 한다.4 illustrates a database of abstract structures consisting of a collection of
추출된 클래스와 그에 속하는 인스턴스 정보를 데이터베이스에 저장하는 과정(102)를 좀 더 상세히 설명하면, 검색 서버는 추출된 클래스를 컬렉션(401)에 넣고 그에 속하는 인스턴스는 그 클래스에 연결된(410) 컬렉션(402)에 넣는다. 컬렉션(402)이 없다면 당연히 그 컬렉션을 생성한 다음 클래스와 연결시키고(410) 그 컬렉션에 인스턴스를 넣는다. In more detail, the process of storing the extracted class and the instance information belonging to the
도 4와 같은 구조의 데이터베이스는 도 5와 같은 색인(index)으로 구체화될 수 있다. 도 4의 클래스의 컬렉션(401)은 리스트(501)(보통, 딕셔너리(dictionary)라고 불린다)로 구체화되었고 인스턴스의 컬렉션(402)은 리스트(510)로 구체화되었다. 도 4에서의 연결(410)과 마찬가지로 리스트(501) 내부의 각 아이템은 다른 리스트(510)와 연결되어(520) 있다. A database having a structure as shown in FIG. 4 may be embodied as an index as shown in FIG. 5. The
이러한 추출된 클래스와 그에 속하는 인스턴스 정보를 데이터베이스에 저장하는 과정(102)의 일 실시 예는 다음과 같다. An embodiment of the
(a) 전술한대로, 검색 서버(801)는 클래스와 인스턴스정보를 추출하는 과정(101)에서는 문서(311)에서 "동영상 포털 업체"라는 클래스와 D, E, F사(社)라는 인스턴스가 이즈-어 관계라는 정보를 추출했다(101). (a) As described above, in the process of extracting class and instance information from the
그 후, 도 5와 같은 구조의 색인(804)의 딕셔너리(501)에 "동영상 포털 업체"라는 클래스가 아이템으로 존재하는지 조사하고, 없으면, 해당 아이템을 삽입한 후 그 클래스 이름을 아이템에 넣는다(102). 그 아이템에 연결(520)되는 리스트(510)를 생성한 후 그 3 개 사업자의 데이터(이름 포함)를 그 리스트의 아이템으로 넣는다.Thereafter, the
(b) 문서(314)에서 위와 유사하게 "동영상 포털 업체"라는 클래스가 E, D, A사라는 인스턴스와 이즈-어 관계라는 정보를 추출한다(101). 그 클래스 아이템은 이미 딕셔너리(501)에 존재하므로 인스턴스들만 색인에 추가하면 된다. 인스턴스들 중 E, D는 이미 해당리스트에 존재하는 상태이므로 A만 추가한다(102). 문서(312),(313)에서의 클래스/인스턴스 쌍도 위와 동일한 방식으로 데이터베이스에 저장한다. 상술한 방법으로 특정 클래스에 어떠한 인스턴스들이 속해있는지 알 수 있는 데이터베이스 또는 색인을 구축할 수 있다. (b) In the
이후, 수집된 문헌 컬렉션의 각 문서에서 출현하는 인스턴스(정확히는, 인스턴스를 뜻하는 용어)의 나열 순위 정보를 추출한다(103). 여기서 인스턴스 i의 나열 순위란 본 문서에서 정의된 용어로, 하나의 문서에서 그 인스턴스 i가 속하는 클래스의 인스턴스들의 나열에서 그 인스턴스 i가 출현하는 순위 수를 말한다. 예를 들어, 문서 311에서 토큰을 순차적으로 뽑아서 색인(804)에 저장되어 있는 인스턴스들과 비교하면, D, E 그리고 F는 문서 311에서 방금 전술한 순서로 출현하고 그것들은 "동영상 포털 업체"이라는 특정 클래스에 속하는 인스턴스라는 사실을 알 수 있다. 그럴 경우, D의 나열 순위는 1위이고, E는 2위 그리고 F는 3위이다. Then, sequence ranking information of an instance appearing in each document of the collected document collection (exactly, the term meaning instance) is extracted (103). The rank order of instance i is a term defined in this document and refers to the number of ranks in which instance i appears in the list of instances of the class to which instance i belongs in a document. For example, comparing the instances stored in
이 인스턴스들이 나열되는 순위 정보를 한 문장(문단) 범위가 아닌 전체 문서 범위에서 탐색할 수도 있다. 예를 들어, 색인을 이용하여 문서(312)를 분석하면 G, H라는 색인(도5)에 저장된 인스턴스가 문서(312)에 출현하고, 이것들은 "기업 그룹"이라는 특정 클래스에 속함을 알 수 있다. 이 경우, G 기업 그룹의 나열 순위는 1위, H는 2위이다. You can also search the ranking information in which these instances are listed in the entire document range, rather than in a single paragraph. For example, analyzing the
주의할 것은, 그 나열 순위는 한 문서에서 하나의 특정 클래스에 속하는 인스턴스들의 나열 안에서의 출현 순위라는 것이다. 예를 들어, 어느 한 문서에 중학교 이름으로는 "X중학교" 하나가 출현하고, 고등학교 이름으로는 "Y고등학교," "Z고등학교" 2개가 그 순서로 출현한다면, 그 문서에서 "중학교"라는 클래스에 속하는 인스턴스의 나열은 "X중학교"이고, "고등학교"라는 클래스에 속하는 인스턴스의 나열은 "Y고등학교," "Z고등학교"이다. 따라서, 그 문서에서 "X중학교"의 나열 순위는 1이고, "Y고등학교," "Z고등학교"의 나열 순위는 각각 1, 2이다. Note that the listing rank is the appearance ranking within the listing of instances belonging to a particular class in a document. For example, if a document appears with a middle school name "X Middle School" and two high school names "Y High School" and "Z High School" appear in that order, then the class "Middle School" appears in the document. The list of instances belonging to is "X Middle School", and the list of instances belonging to a class called "High School" is "Y High School" and "Z High School". Therefore, in the document, the rank order of "X middle school" is 1, and the rank order of "Y high school" and "Z high school" are 1 and 2, respectively.
이후, 상술한 인스턴스의 나열 순위 정보 추출 행위와 함께, 수집된 문서들에서 출현하는 인스턴스(정확히는, 인스턴스를 뜻하는 용어)의 용어 빈도(term frequency) 또는/및 불린(Boolean) 용어 빈도 정보를 추출할 수 있다(103). 여기서 용어 빈도란 하나의 문서에서 특정 용어가 출현한 빈도 수를 말한다. 그리고 불린 용어 빈도는 용어 빈도의 변형으로 하나의 문서에서 특정 용어가 출현하면 그 값이 1이고 그렇지 않으면 0이다. 예를 들어 설명하면, 문서 311에서 D라는 인스턴스는 2번 출현하므로 311에서의 D의 용어 빈도는 2이고 불린 용어 빈도는 1이라고 계산된다. Then, along with the above-described extracting ranking order information of the instances, term frequency or / and Boolean term frequency information of an instance appearing in the collected documents (exactly, the term meaning an instance) is extracted. It may be done (103). Here, the term frequency refers to the frequency of occurrence of a specific term in a document. And terminology terminology is a variation of terminology, the value of which is 1 if a particular term appears in a document and 0 otherwise. For example, in
이하, 특정클래스에 속하는 인스턴스 컬렉션 안에 있는 인스턴스들의 랭킹을 정하는 방법에 대해 설명한다. 그 랭킹을 위한 인스턴스들의 랭킹 스코어(ranking score)는 상술한 기본 개념에 의거하여 인스턴스의 나열 순위, 용어 빈도 또는/및 불린 용어 빈도에 따라 정해진다(104). The following describes how to rank the instances in an instance collection belonging to a specific class. The ranking score of the instances for the ranking is determined according to the order of ranking of the instances, the term frequency or / and the term term, based on the basic concepts described above (104).
이러한 랭킹 스코어를 매기는 함수를 수학 공식으로 표현하면 하기의 수학식 1 및 수학식 2와 같이 나타낼 수 있다. This ranking score function can be expressed as Equation 1 and Equation 2 below by using a mathematical formula.
수학식 1
수학식 1은 N개의 문서, d1,d2, ..., dN-1, dN 으로 이루어진 문헌 컬렉션 D에서 특정 클래스 c에 속하는 특정 인스턴스를 뜻하는 용어 i가 주어졌을 때 랭킹스코어를 나타낸다. Equation (1) gives a ranking score when given the term i for a specific instance belonging to a specific class c in a collection of documents D consisting of N documents, d 1 , d 2 , ..., d N-1 , d N. Indicates.
여기서, S(i,c)는 c에 속하는 i의 랭킹스코어,Here, S (i, c) is the ranking score of i belonging to c,
wj는 문서 dj의 가중치,w j is the weight of document d j ,
Oi,c,j는 문서 dj에서 출현하는 클래스 c에 속하는 인스턴스들의 나열에서 i가 출현하는 나열 순위수(1부터 시작), 출현하지 않으면 그 값은 무한대(∞)로 본다.O i, c, j is the number of ranks (starting at 1) where i appears in the list of instances belonging to class c appearing in document d j , and its value is assumed to be infinity (∞).
수학식 1에 대한 설명은 다음과 같다. 문서의 가중치와 인스턴스의 나열 순위 수의 역수라는 항(term)의 곱(product)의 합(sum)이다. 하나의 문서에서의 인스턴스 i의 득점은 인스턴스 i가 속하는 클래스 c에 속하는 인스턴스들의 나열에서 인스턴스 i가 출현하는 나열 순위 수의 역수에 비례한다. 즉, 인스턴스가 그 나열에서 첫 번째로 출현하면, 그 승수(multiplier)는 (1/1), 두 번째로 출현하면, 그 승수는(1/2)가 된다. 만약 문서에 인스턴스가 출현하지 않으면 무한대 등수로 출현한다고 보아 승수는 0이 된다. Description of Equation 1 is as follows. It is the sum of the product of terms called the inverse of the weight of the document and the number of ranks of the instances. The score of instance i in one document is proportional to the inverse of the number of ranks in which instance i appears in the list of instances belonging to class c to which instance i belongs. That is, if an instance appears first in the sequence, its multiplier is (1/1), and if it appears second, the multiplier is (1/2). If an instance does not appear in the document, the multiplier is 0 because it appears to be an infinite equality.
그리고 또 다른 승수로는 문서의 가중치(weight)가 있다. 이 가중치는 계산하는 자가 그 문헌 컬렉션의 특성에 따라 임의로 정할 수 있다. 예를 들어, 그 문서가 웹 문서라면 그 가중치를 페이지랭크(PageRank)와 같은 정적인 랭킹 모델에 의해 정할 수 있다. Another multiplier is the weight of the document. This weight may be arbitrarily determined by the calculator in accordance with the characteristics of the document collection. For example, if the document is a web document, its weight can be determined by a static ranking model such as PageRank.
수학식 1을 분석하면, 하나의 문서에서 인스턴스 i의 순위 등수의 역수와 문서 가중치의 곱을 통해 얻는 스코어는 상기의 경험칙에 부합(compatible)한다는 것을 알 수 있다. 그리고 특정 인스턴스의 문헌 컬렉션에서의 랭킹 스코어는 각 문서에서의 득점의 합산이라는 것을 알 수 있다. 이것은 상술한 집단 지성의 정신에 부합한다. Analyzing Equation 1, it can be seen that the score obtained through the product of the inverse of the rank rank of instance i and the document weight in one document is compatible with the empirical rule. And it can be seen that the ranking score in the document collection of a particular instance is the sum of the scores in each document. This corresponds to the spirit of collective intelligence mentioned above.
위 공식을 통한 랭킹 스코어 산출을 실시 예를 통해 설명하면 다음과 같다. 도 3의 문서 태그(321)의 w 값은 각 문서에 대한 메타데이터인 가중치이다. 도 3에서 출현하는 동영상 포털 업체의 인스턴스인 D사가 얻는 랭킹스코어를 그 가중치를 이용하여 구해보자. "동영상 포털 업체"라는 클래스에 속하는 D사는 문서(311)에서 그 클래스의 나열에서 첫 번째로 출현하고, 문서(312)와 문서(313)에서는 출현하지 않고, 문서(314)에서 그 클래스의 나열에서 두 번째로 출현한다. 그러므로 D사가 얻는 랭킹스코어는 다음과 같다. 아래의 수학 기호 ‘*’는 곱하기(product) 기호를 의미한다. Calculating the ranking score through the above formula through the embodiment as follows. The w value of document tag 321 in FIG. 3 is a weight that is metadata for each document. Let's obtain the ranking score obtained by the company D, which is an instance of the video portal company appearing in FIG. Company D, belonging to the class "Video Portal Company", appears first in the listing of the class in
(D사의 랭킹 스코어)(Ranking score of D company)
= 0.3 * (1/1) + 0.4 * (1/무한대) + 0.1 * (1/무한대) + 0.2 * (1/2)= 0.3 * (1/1) + 0.4 * (1 / infinity) + 0.1 * (1 / infinity) + 0.2 * (1/2)
= 0.4= 0.4
같은 원리로 동영상 포털 업체의 인스턴스인 E사의 랭킹 스코어는 다음과 같다.Similarly, the ranking score of E, an instance of a video portal company, is as follows.
(E사의 랭킹 스코어)(Ranking score of E company)
= 0.3 * (1/2) + 0.4 * (1/무한대) + 0.1 * (1/무한대) + 0.2 * (1/1)= 0.3 * (1/2) + 0.4 * (1 / infinity) + 0.1 * (1 / infinity) + 0.2 * (1/1)
= 0.35= 0.35
따라서 D사가 E사보다 그 랭킹 스코어가 높다. 그러므로 "동영상 포털 업체" 클래스에 속하는 인스턴스들의 컬렉션 내의 각 인스턴스들의 랭킹을 정할 때 D가 E보다 더 높은 순위가 된다.Therefore, Company D has a higher ranking score than Company E. Therefore, D ranks higher than E when ranking each instance in the collection of instances belonging to the "Video Portal Vendor" class.
특정 클래스에 속하는 인스턴스의 랭킹 스코어는 하기의 수학식 2의 공식에 의해서도 계산될 수 있다(104). 수학식 2는 N개의 문서, d1, d2, ...,dN-1, dN 으로 이루어진 문헌 컬렉션 D에서 특정 클래스 c에 속하는 특정 인스턴스를 뜻하는 용어 i가 주어졌을 때의 랭킹스코어를 나타낸다. The ranking score of an instance belonging to a specific class may also be calculated by the formula of Equation 2 below (104). Equation 2 is a ranking score when given the term i for a specific instance belonging to a specific class c in the document collection D consisting of N documents, d 1 , d 2 , ..., d N-1 , d N Indicates.
수학식 2
여기서, S(i)는 i의 랭킹스코어,Here, S (i) is the ranking score of i,
wj는 문서 dj의 가중치,w j is the weight of document d j ,
tfi,j는 문서 dj에서 출현하는 i의 용어 빈도 또는 불린(Boolean) 용어 빈도(출현하면 1, 아니면 0).tf i, j is the term frequency or Boolean term frequency of i in document d j (1 if it appears, or 0 otherwise).
수학식 2의 대한 해설은 다음과 같다. 그 공식은, 보면 알 수 있듯이, 문서의 가중치와 인스턴스의 용어 빈도(또는 불린 용어 빈도)라는 항의 곱의 합이다. 수학식 2 또한 수학식 1과 마찬가지로 상기의 경험칙과 집단 지성 개념에 부합함을 알 수 있다. 그리고 이 수학식 1과 수학식 2을 조합하거나 본 발명의 기본 개념을 반영한 범위 내에서 수학식을 변형하여 사용할 수도 있다. 수학식 2 내부의 용어 빈도의 변형 공식은 정보 검색 교재에서 쉽게 확인할 수 있으므로 본 명세서에서는 설명을 생략한다. 그리고 수학식 2의 사용은 하기의 구체적인 실시 예에서 상세히 설명하기로 한다. Explanation of Equation 2 is as follows. The formula is, as you can see, the sum of the weight of the document and the term term frequency (or term term boolean) of the instance. Equation 2, like Equation 1, also meets the above empirical rules and the concept of collective intelligence. Equations 1 and 2 may be combined, or the equations may be modified and used within a range reflecting the basic concept of the present invention. Since the modification formula of the term frequency in Equation 2 can be easily identified in the information search textbook, the description is omitted here. And the use of Equation 2 will be described in detail in the following specific embodiments.
마지막 단계로, 계산된 각 인스턴스의 랭킹 스코어를 데이터베이스에 저장한다(105). 예를 들어, 상기와 같이 계산된 D사의 랭킹 스코어를 해당 아이템(511)의 랭킹 스코어 저장 영역(괄호로 표시된 영역, 즉 512)에 저장한다. 참고로 도 5에서의 랭킹 스코어는 하기의 구체적인 실시 예에서 구해진 스코어이다. 이로써, 상기의 데이터베이스(또는 색인)가 구축 완료된다. In the last step, the calculated ranking score of each instance is stored in the database (105). For example, the ranking score of Company D calculated as described above is stored in the ranking score storage area (the area indicated by parentheses, ie, 512) of the
도면에서는 생략했지만, 색인을 저장할 때, 각 인스턴스에 대한 데이터로 인스턴스 이름과 랭킹 스코어 외의 부가적인 데이터를 넣을 수 있다. 예를 들어, 인스턴스가 기업체라면 상호별 전화번호 데이터베이스, 기업 공시 웹사이트 등에서 그 기업의 연락처, 주소, 임직원 수, 매출, 주가 등의 데이터를 알 수 있다. 이 데이터베이스에서 각 사업체 별 데이터를 가져와 색인내의 인스턴스를 위한 아이템에 넣을 수 있다. 이 수행에 대해서는 하기의 구체적인 실시 예에서 설명하기로 한다. Although omitted from the figure, when storing the index, additional data other than the instance name and the ranking score may be included as data for each instance. For example, if an instance is a company, data such as contact numbers, addresses, employee numbers, sales, stock prices, etc. can be obtained from the company's mutual telephone number database and the corporate disclosure website. You can take each business-specific data from this database and put it in an item for an instance in the index. This performance will be described in the following specific embodiments.
이하, 도 2를 참조하여 검색 엔진 사용자가 특정 클래스에 속하는 인스턴스들의 리스트 정보를 얻고자 할 때, 검색 서버는 그 의도를 파악하고 상기와 같이 구축된 데이터베이스를 사용하여 그 질의에 부합하는 검색 결과를 내는 방법에 대해 설명한다. Hereinafter, referring to FIG. 2, when a search engine user wants to obtain list information of instances belonging to a specific class, the search server grasps the intention and uses the database constructed as described above to obtain a search result corresponding to the query. Explain how to pay.
첫 번째 단계로, 검색 서버(801)는 클라이언트(810)로부터 검색 질의를 받는다(201). In a first step,
그리고 그 주어진 질의의 의도가 특정 클래스에 속하는 인스턴스들의 리스트 정보를 얻고자 함인지 판단한다(202). 구체적으로, 그 질의의 패턴이 아래와 같을 경우 리스트 정보를 원한다고 판단할 수 있다. In
"리스트(혹은 목록): <엔터티>", "List (or list): <entity>",
"<엔터티>(의) 리스트(혹은 목록)","<Entity> list (or list)",
"<엔터티>들의 비교"."Compare <entities>".
그 패턴의 실례는 다음과 같다.An example of the pattern is as follows.
"리스트: 웹서버","List: web servers",
"네비게이터 제조업체 리스트", "List of Navigator Manufacturers",
"국산 자동차들의 비교"."Comparison of Domestic Cars".
질의 안에 리스트나 목록이라는 단어가 명시적으로 존재하지는 않지만 명사나 대명사 뒤에 "들"이라는 복수를 나타내는 접미사가 붙은 경우도 상기의 의도로 판단할 수 있다. 꼭 위와 같은 사례가 아니더라도 질의 의도가 리스트 정보를 원하는 것이면 된다. 질의가 영문이라면 다음과 같은 것들이 상기 의도의 질의라고 판단할 수 있다.The above intention may also be determined when a list or the word list does not exist explicitly in a query, but a noun or a pronoun is followed by a suffix indicating "s". Even if this is not the case, the query intent is that you want the list information. If the query is in English, it can be determined that the following are queries of the intention.
"list: <entity or entities>""list: <entity or entities>"
"a list of <entity or entities>""a list of <entity or entities>"
"<entity> list""<entity> list"
"<entiti>es"<entiti> es
"comparison of <entity or entities>""comparison of <entity or entities>"
질의의 의도가 위에서 설명된 것이라고 판단되면, 그 다음 단계로, 검색 서버(801)는 상기 질의에서 엔터티를 뜻하는 단어를 추출한다(203).If it is determined that the intention of the query has been described above, the next step, the
그리고 나서, 그 엔터티를 뜻하는 단어와 일치(match)하는 클래스 아이템을 도 4와 같은 데이터베이스 안의 클래스의 컬렉션(401) 안에서 찾는다(204). 그 추상적인 데이터베이스가 도 5와 같은 색인(index)으로 구현된 경우, 딕셔너리(dictionary)(501) 안에서 찾는다. 예를 들어, 질의어가 "동영상 포털 업체 리스트"이라면, 그 질의어에서 "동영상 포털 업체"라는 단어(또는 문구)를 추출하고(203) 그 엔터티를 뜻하는 단어와 일치하는 클래스 아이템(502)을 딕셔너리(501)에서 찾는다(204). Then, a class item matching the word representing the entity is found in the
일치하는 클래스 아이템을 찾으면, 그 클래스에 대한 아이템(item)에 연결된(관련된)(520) 인스턴스의 리스트를 찾는다(205). When a matching class item is found, a list of instances of (520) instances associated with (item) an item for that class is found (205).
상기 과정(205)를 통해 인스턴스의 리스트를 찾게 되면, 그 리스트 안에 있는 인스턴스에 대한 데이터 아이템들을 읽어 들여서 답변 내용을 작성하고, 인스턴스의 랭킹 스코어에 따라 인스턴스의 데이터(검색 결과)를 정렬(sorting)한다(206). When the list of instances is found through the
물론 원치 않을 경우, 이 정렬 작업은 생략이 가능하다. 또한, 그 리스트 안에 있는 인스턴스 아이템들이 미리 랭킹 스코어 순서로 정렬된 상태라면 그 정렬 작업은 불필요하다. 그리고, 그 정렬 전후에 다른 랭킹 알고리즘(algorithm)에 의해 인스턴스 아이템들이 리랭크(re-rank)될 수도 있다. Of course you can omit this sort if you don't want to. Also, if the instance items in the list are sorted in order of ranking score in advance, the sorting operation is unnecessary. In addition, instance items may be re-ranked by another ranking algorithm before and after the alignment.
마지막으로, 그 답변(검색 결과들)을 클라이언트(810)에게 전달한다(207). Finally, the answer (search results) is forwarded to the client 810 (207).
상술(上述)한 과정(205, 206 그리고 207)을 예를 들어 설명하면, 상기의 "동영상 포털 업체"라는 단어와 일치하는 클래스 이름을 색인(도5)에서 찾는다. 그 색인의 딕셔너리(501)안에서 일치하는 아이템(502)를 찾으면 그 아이템과 연결된(520) 리스트(510)를 찾는다(205). 그 리스트 안에는 D, E, F 그리고 A에 대한 데이터를 담은 아이템들이 있다. 각 아이템에 있는 괄호(512) 안의 랭킹 스코어에 따라 정렬한다. 내림 차순으로 정렬하면 그 결과는 D, E, F 그리고 A가 된다. 그리고 각 인스턴스의 주소, 전화 번호와 같은 속성을 가지고 답변 내용을 작성한다(206). 그리고 이 답변을 클라이언트(810)에게 전송한다(207). The above-described
덧붙여서, 앞서 설명한 랭킹 방법을, 정보 검색 분야에서 뿐만 아니라, 분류(classification), 군집화(clustering), 우선순위 정하기(prioritizing)와 같은 다른 정보 처리 분야에서도 응용할 수 있다. 전술한 랭킹 방법을 이용해서 특정 클래스에 속하는 인스턴스를 분류(classification), 군집화(clustering), 우선순위 정하기(prioritizing)를 한 예는 다음과 같다. (a) 스마트폰 벤더(smartphone vendor)이라는 클래스에 속하는 인스턴스들에 대해 랭킹 스코어를 매기고, 어떤 기준 스코어에 따라 메이저(major) 스마트폰 벤더와 마이너(minor) 스마트폰 벤더로 분류할 수 있다. (b) 미국 대학교라는 클래스에 속하는 인스턴스에 대해 랭킹 스코어를 매기고, 그 스코어가 비슷한 대학교끼리 군집화하여 1등급 학교, 2등급 학교로 그룹을 나눌 수 있다. (c) 블로그(blog) 웹사이트라는 클래스에 속하는 인스턴스에 대해 랭킹 스코어를 매기고, 그 스코어에 따라 웹수집기(web crawler)의 해당 블로그의 방문 우선순위와 방문 빈도를 정한다. In addition, the ranking method described above can be applied not only in the field of information retrieval but also in other information processing fields such as classification, clustering, and prioritizing. An example of classifying, clustering, and prioritizing instances belonging to a specific class using the above-described ranking method is as follows. (a) A ranking score may be scored for instances belonging to a class called a smartphone vendor, and classified into major smartphone vendors and minor smartphone vendors according to a reference score. (b) A ranking score may be assigned to an instance belonging to a class of US universities, and groups of universities with similar scores may be grouped into 1st and 2nd grade schools. (c) Ranking rankings for instances belonging to a class called blog websites, and determine the priority and frequency of visits for the blogs of the web crawler according to the scores.
다음 항목들은 본 발명에 대한 보충 설명이다. The following items are supplementary descriptions of the present invention.
a) 수학식 1과 수학식 2의 공식은 tf-idf 가중치 공식과 비교된다. 그 중 특기할만한 사항은 수학식 1 및 수학식 2 공식에는 tf-idf 가중치 공식과 달리 역 문헌 빈도(inverse document frequency, idf) 항이 없다는 것이다. tf-idf 가중치 공식의 기본 개념은 용어는 특정 문헌에만 출현해야 의미 있다는 것이다. 이와 달리 수학식 1 및 수학시 2는 자주 언급되는 인스턴스가 중요하다는 사상을 밑바탕에 깔고 있어서 역 문헌 빈도 항이 존재하지 않는다. 따라서 역 문헌빈도 항이 없는 것이다. a) Formulas 1 and 2 are compared with the tf-idf weighting formula. Notably, the formula 1 and formula 2 do not have an inverse document frequency (idf) term, unlike the tf-idf weighting formula. The basic concept of the tf-idf weighting formula is that the term is meaningful only when it appears only in certain literature. In contrast, Equations 1 and 2 are based on the idea that instances that are often mentioned are important, so there is no inverse document frequency term. Therefore, there is no inverse frequency term.
b) 하나의 문서에서 특정 클래스에 속하는 인스턴스의 나열 순위 정보를 추출할 때, 어떤 인스턴스가 그 나열에서 여러 번 출현한 경우를 볼 수 있다. 그 경우 그 인스턴스가 출현할 때마다 계산에 넣을 수도 있지만, 처음 출현한 순위 수만 계산에 넣는 것이 더 낫다고 본다. 왜냐하면 처음 출현하는 인스턴스는 그 인스턴스를 설명하는 단락의 주제 문장(또는 서문)의 것이고, 그 다음에 출현하는 인스턴스는 그 주제를 설명하기 위해 문장의 것일 가능성이 높기 때문이다. b) When extracting the ranking information of an instance belonging to a specific class in a document, we can see the case where an instance appeared several times in the listing. In that case, you can count the number of instances each time they appear, but it's better to count only the number of ranks that appear first. For the first instance appears to be the subject sentence (or preface) of the paragraph describing the instance, and the next instance is likely to be the sentence to describe the subject.
c) 클래스와 인스턴스가 이즈-어 관계를 가질 수 있지만 클래스와 서브클래스(subclass)도 이즈-어 관계를 가질 수 있다. 본 발명에서는 설명의 간편함을 위해 서브클래스도 인스턴스로 간주하기로 한다. c) Classes and instances may have an Eze-Eye relationship, but classes and subclasses may also have an Eze-Eye relationship. In the present invention, subclasses are considered to be instances for the sake of simplicity.
d) 수학식 1 및 수학식 2의 공식을 간단화하기 위해, 문서의 가중치를 1과 같은 상수로 고정할 수 있다. 이는 문서에 가중치를 정할 수 없거나 필요 없을 때 유용할 것이다. d) In order to simplify the formulas of Equations 1 and 2, the weight of the document may be fixed to a constant equal to one. This can be useful when you can't or don't need to weight documents.
e) 복수(複數)의 의미를 가지는 용어의 랭킹 스코어를 계산할 때, 문서와 해당 클래스의 관련성에 따라 문서의 가중치를 조정할 수 있다. 예를 들어, 애플(apple)이라는 용어는 과일의 인스턴스일 수 있지만 IT기업의 인스턴스일 수 있다. IT기업 애플에 대한 랭킹 스코어를 계산할 때, 문서가 IT와 관련된 문서이면 가중치를 상향 조정하고, 과일 관련 문서이면 가중치를 하향 조정한다. e) When calculating a ranking score of a term having a plurality of meanings, the weight of the document may be adjusted according to the relevance of the document to the class. For example, the term apple can be an instance of a fruit but an instance of an IT enterprise. When calculating the ranking score for Apple, the IT company, if the document is related to IT, the weight is increased. If the document is related to fruit, the weight is decreased.
이하, 본 발명을 첨부된 도면에 도시된 실시 예를 참조하여 상세히 설명하고자 한다. 본 실시 예는 문헌 컬렉션 도 3에서 특정 클래스에 속하는 엔터티들의 정보를 추출하고 수학식 2의 공식을 사용하여 그 엔터티들의 중요도 랭킹을 정하는 방법을 상술한 제 1실시 예와, 제 1실시 예에서 구축된 색인을 사용하여 사용자의 의도에 부합하는 검색 결과를 내는 방법을 기술한 제 2실시 예로 구성된다. Hereinafter, with reference to the embodiments shown in the accompanying drawings will be described in detail. This embodiment is constructed in the first and second embodiments of the above-described method of extracting information of entities belonging to a specific class in document collection FIG. 3 and determining the importance ranking of the entities using the formula (2). The second embodiment describes a method of producing a search result that matches a user's intention by using the index.
먼저, 제 1실시 예를 예시한다. 먼저, 도 8에 도시된 바와 같이, 검색 서버(801)는 정보통신망(802)을 통해 인터넷 상에 있는 웹 서버(803)들로부터 컴퓨터가 판독 가능한 문서들을 수집한다. 그리고 나서, 수집된 문헌 컬렉션(301)에서 이즈-어 관계를 가진 클래스와 인스턴스 쌍 정보를 찾아서 추출한다(101). 그 결과를 도 3의 예를 통해 나타내면 다음과 같다. First, the first embodiment is illustrated. First, as shown in FIG. 8, the
문서 311에서: (동영상 포털 업체/D, E, F); (클래스는 괄호 안의 각 인스턴스와 쌍을 이룬다.)In Document 311: (Video Portal Vendors / D, E, F); (Classes are paired with each instance in parentheses.)
문서 312에서: (기업 그룹/G, H);In document 312: (corporate group / G, H);
문서 313에서: (기업 그룹/B);In document 313: (corporate group / B);
문서 314에서: (동영상 포털 업체/E, D, A).In Document 314: (Video Portal Vendors / E, D, A).
그리고 추출된 인스턴스에 D/1, E/2, F/3, G/4, H/5, B/6, A/7 와 같이 아이디(ID)를 부여한다.The ID is assigned to the extracted instance as D / 1, E / 2, F / 3, G / 4, H / 5, B / 6, A / 7.
그 다음, 추출된 그 클래스와 그에 속하는 인스턴스들의 정보를 색인에 저장한다(102). 그 절차는 다음과 같다. 이 작업을 하기 전 도 5의 색인은 비어있다고 보자. Then, the extracted information of the class and the instances belonging to it is stored in the index (102). The procedure is as follows. Let's say the index in Figure 5 is empty before doing this.
(a) 문서311에 출현한 엔터티들을 처리한다. "동영상 포털 업체"라는 클래스가 도 5의 색인의 딕셔너리(501)에 있는지 조사하고, 없으면, 삽입한다(502 위치의 아이템에). 삽입 후, 그 클래스의 아이템(502)에 연결되는(520) 리스트(510)를 생성한다. 그 리스트에 그 클래스에 속하는 인스턴스 D, E 그리고 F를 넣는다. (a) Process the entities that appear in
(b) 문서 312에 출현한 엔터티들을 처리한다. "기업 그룹"이라는 클래스가 그 색인에 있는지 조사하고, 없으면, 삽입한다(503 위치의 아이템에). 삽입 후, 그 클래스의 아이템(503)에 연결되는 리스트를 생성한다. 그 리스트에 그 클래스에 속하는 인스턴스 G 그리고 H를 넣는다. (b) Process the entities that appear in
(c) 문서 313에 출현한 엔터티들을 처리한다. "기업 그룹"이라는 클래스가 그 색인에 있는지 조사한다. 이미 존재 하므로, 그 클래스의 아이템(503)에 연결되는 리스트를 찾는다. 그 리스트에 B가 있는지 조사하고, 없으면, 넣는다. (c) process the entities that appear in
(d) 문서 314에 출현한 엔터티들을 처리한다. "동영상 포털 업체"이라는 클래스가 그 색인에 있는지 조사한다. 이미 존재하므로, 그 클래스의 아이템(502)에 연결되는 리스트를 찾는다. 그 리스트에 E, D 그리고 A가 있는지 조사한다. A는 없으므로 리스트에 넣는다. (d) Process the entities that appear in
이와 같이, 추출된 그 클래스와 그에 속하는 인스턴스들의 정보를 색인에 저장한 후에는 각 문서에서 인스턴스의 용어 빈도 정보를 아래와 같이 추출한다(103). 즉, 이 실시 예에서는 나열 순위 정보가 아닌, 각 문서에서의 용어 빈도 정보를 추출한다. As such, after storing the extracted information of the class and the instances belonging to it in the index, the term frequency information of the instance is extracted in each document as follows (103). That is, in this embodiment, the term frequency information in each document is extracted instead of the order ranking information.
도 3에서,In Figure 3,
문서 311에서: D는 2번 출현, E는 1, F는 1;In Document 311: D appears twice, E is 1, F is 1;
문서 312에서: G는 1, H는 1;In Document 312: G is 1, H is 1;
문서 313에서: B는 1;In Document 313: B is 1;
문서 314에서: E는 1, D는 1, A는 1.In Document 314: E is 1, D is 1, A is 1.
추출된 인스턴스의 중요도 랭킹 스코어는 상기 수학식 2를 통해 계산한다(104). 문서의 가중치로는 태그(321)의 w 값을 사용한다. 각 문서의 가중치는 페이지랭크(PageRank)를 통해 구해졌다. 본 실시 예에서 수학식 2의 항 tf는 불린 용어 빈도가 아닌 용어 빈도로 정의되었다. 각 인스턴스의 랭킹 스코어는 아래와 같다. The importance ranking score of the extracted instance is calculated through Equation 2 (104). As the weight of the document, the w value of the tag 321 is used. The weight of each document was obtained through PageRank. In the present embodiment, the term tf of Equation 2 is defined as term frequency, not term term. The ranking score of each instance is as follows.
A: 0.3 * 0 + 0.4 * 0 + 0.1 * 0 + 0.2 * 1 = 0.2A: 0.3 * 0 + 0.4 * 0 + 0.1 * 0 + 0.2 * 1 = 0.2
B: 0.3 * 0 + 0.4 * 0 + 0.1 * 1 + 0.2 * 0 = 0.1B: 0.3 * 0 + 0.4 * 0 + 0.1 * 1 + 0.2 * 0 = 0.1
D: 0.3 * 2 + 0.4 * 0 + 0.1 * 0 + 0.2 * 1 = 0.8D: 0.3 * 2 + 0.4 * 0 + 0.1 * 0 + 0.2 * 1 = 0.8
E: 0.3 * 1 + 0.4 * 0 + 0.1 * 0 + 0.2 * 1 = 0.5E: 0.3 * 1 + 0.4 * 0 + 0.1 * 0 + 0.2 * 1 = 0.5
F: 0.3 * 1 + 0.4 * 0 + 0.1 * 0 + 0.2 * 0 = 0.3F: 0.3 * 1 + 0.4 * 0 + 0.1 * 0 + 0.2 * 0 = 0.3
G: 0.3 * 0 + 0.4 * 1 + 0.1 * 0 + 0.2 * 0 = 0.4G: 0.3 * 0 + 0.4 * 1 + 0.1 * 0 + 0.2 * 0 = 0.4
H: 0.3 * 0 + 0.4 * 1 + 0.1 * 0 + 0.2 * 0 = 0.4H: 0.3 * 0 + 0.4 * 1 + 0.1 * 0 + 0.2 * 0 = 0.4
마지막으로, 계산된 각 인스턴스의 랭킹 스코어를 색인에 저장한다(105). 그 다음, 그 색인 안의 각 리스트의 아이템을 인스턴스의 아이디, 이름(가나다 순) 또는 인스턴스의 랭킹 스코어 순으로 정렬한다. 랭킹 스코어 순으로 정렬되면 그 결과는 다음과 같다. Finally, the ranking score of each calculated instance is stored in the index (105). The items in each list in that index are then sorted by the ID of the instance, by name (in alphabetical order), or by the ranking score of the instance. The results are as follows when ordered by the ranking score.
클래스 "동영상 포털 업체": D(0.8) > E(0.5) > F(0.3) > A(0.2) (괄호 안은 랭킹 스코어)Class "Video Portal Vendor": D (0.8)> E (0.5)> F (0.3)> A (0.2) (Ranked Scores in Brackets)
클래스 "기업 그룹": G(0.4) = H(0.4) > B(0.1)Class "corporate group": G (0.4) = H (0.4)> B (0.1)
부가적으로, 기업체라는 엔터티의 데이터베이스(805)를 읽어 들여서 도 10에서와 같이, 각 기업체의 물리적인 주소, 홈페이지 주소, 매출, 이익 및 임직원 수 데이터를 해당 아이템에 넣는다.In addition, the
이하, 제 1실시 예에서 구축된 색인을 이용하여 제 2실시 예를 예시한다. 클라이언트(810)가 "리스트: 기업 그룹"라는 질의를 하게 되면, 질의를 받은(201) 검색서버(801)는 그 질의의 의도가 특정 클래스에 속하는 인스턴스들의 리스트를 원하는 것인지 판단한다(202). 그 클라이언트는 개인용 컴퓨터, 모바일 장치와 같은 컴퓨팅 디바이스(computing device)이다. 인스턴스들의 리스트를 원하는 것으로 판단되면, 다음의 질의에서 엔터티를 추출하는 과정을 진행하게 되고, 만약 그 의도가 아니라면 그 질의 처리를 종료하거나 다른 모듈에게 그 질의를 넘긴다. Hereinafter, the second embodiment will be exemplified using the index constructed in the first embodiment. When the
그 다음으로, "리스트: 기업 그룹"이라는 질의에서 엔터티를 뜻하는 단어를 추출한다(203). 이러한 경우, "기업 그룹"이라는 엔터티가 추출된다. Next, a word representing an entity is extracted from the query "List: Enterprise Group" (203). In this case, an entity called "corporate group" is extracted.
그 엔터티를 뜻하는 단어와 일치하는 클래스 이름을 도 5와 같은 색인에서 찾는다(204). A class name matching the word representing the entity is found in the index as shown in FIG. 5 (204).
아이템(503)에 일치하는 클래스 이름이 보인다. 찾아진 그 아이템(503)에 연결된 인스턴스의 리스트를 찾는다(205). The class name that matches
이후, 찾은 그 인스턴스의 리스트안에 있는 아이템의 데이터를 가지고 그 질의에 대한 답변 내용을 작성한다(206). 답변을 작성할 때, 그 아이템의 랭킹 스코어에 따라 그 인스턴스의 데이터(검색 결과)를 정렬한다. 즉 랭킹 결과를 낸다. 본 제 2실시 예에서는 제 1실시 예에 의해 정해진 랭킹 스코어 기준으로 랭킹을 정하고 그 결과는 다음과 같다. Then, with the data of the item in the found list of instances, the answer to the query is made (206). When writing an answer, sort the data (search results) of that instance according to the item's ranking score. In other words, the ranking results. In the second embodiment, the ranking is determined based on the ranking score determined by the first embodiment, and the results are as follows.
G(0.4) = H(0.4) > B(0.1)G (0.4) = H (0.4)> B (0.1)
검색 결과들을 체계적으로 보여주기 위해 도 6에서와 같이, 각 기업 그룹의 이름, 랭킹 스코어, 물리적인 주소, 홈페이지 주소, 매출, 이익 그리고 임직원 수 데이터를 가지고 하나의 테이블을 만든다.In order to systematically display the search results, as shown in FIG. 6, a table is created with data of each company group's name, ranking score, physical address, homepage address, sales, profit and number of employees.
그리고 마지막으로, 그 답변을 클라이언트(810)에게 전송한다(207). 도 6을 보면 알 수 있듯이, 검색 결과들이 랭킹 스코어에 따라 정렬되어 있고 각 기업 그룹의 속성이 체계적으로 보여 사용자가 정보를 얻기에 편리하다. And finally, the response is sent to the client 810 (207). As can be seen in Figure 6, the search results are sorted according to the ranking score, and the attributes of each corporate group are systematically shown, which is convenient for the user to obtain information.
제 1 실시 예에서 구한 랭킹 스코어는 제 2 실시 예와 같이 정보 검색 분야에서 응용될 뿐만 아니라, 분류(classification), 군집화(clustering), 우선순위 정하기(prioritizing)와 같은 다른 정보 처리 분야에서도 응용할 수 있다. 예를 들어, 웹수집기(web crawler)는 상기 "동영상 포털 업체" 클래스에 속하는 인스턴스들의 사이트에 대한 방문 빈도의 비율(ratio)를 상기 랭킹 스코어로 정할 수 있다. 이에 따라, 웹 수집기는 D, E, F, A의 사이트를 8:5:3:2의 비율로 방문한다. 또 다른 예로, "기업 그룹"이라는 클래스의 인스턴스들 중에서 1등급으로 라벨링(labeling)되는 기준이 랭킹 스코어 0.3 이상이라면, G와 H가 1 등급으로 분류된다.The ranking scores obtained in the first embodiment can be applied not only to information retrieval fields as in the second embodiment, but also to other information processing fields such as classification, clustering, and prioritizing. . For example, the web crawler may set the ratio of the frequency of visits to the sites of the instances belonging to the "video portal company" class as the ranking score. Accordingly, the web collector visits the sites D, E, F, and A at a ratio of 8: 5: 3: 2. As another example, if the criterion of being labeled with the first grade among the instances of the class "corporate group" is a ranking score of 0.3 or higher, G and H are classified as the first grade.
Claims (7)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20090078569 | 2009-08-25 | ||
| KR10-2009-0078569 | 2009-08-25 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2011025162A2 true WO2011025162A2 (en) | 2011-03-03 |
| WO2011025162A3 WO2011025162A3 (en) | 2011-04-21 |
Family
ID=43628538
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2010/005248 Ceased WO2011025162A2 (en) | 2009-08-25 | 2010-08-11 | Method for searching for a list of entities belonging to a specific class |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2011025162A2 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109299221A (en) * | 2018-09-04 | 2019-02-01 | 广州神马移动信息科技有限公司 | Entity extraction and sort method and device |
| US11379538B1 (en) | 2016-05-19 | 2022-07-05 | Artemis Intelligence Llc | Systems and methods for automatically identifying unmet technical needs and/or technical problems |
| US11392651B1 (en) | 2017-04-14 | 2022-07-19 | Artemis Intelligence Llc | Systems and methods for automatically identifying unmet technical needs and/or technical problems |
| US11762916B1 (en) | 2020-08-17 | 2023-09-19 | Artemis Intelligence Llc | User interface for identifying unmet technical needs and/or technical problems |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100818553B1 (en) * | 2006-08-22 | 2008-04-01 | 에스케이커뮤니케이션즈 주식회사 | A computer-readable recording medium containing a document ranking method and a program capable of performing the same. |
| KR100835290B1 (en) * | 2006-11-07 | 2008-06-05 | 엔에이치엔(주) | Document classification system and document classification method |
| KR100898456B1 (en) * | 2007-01-12 | 2009-05-21 | 엔에이치엔(주) | A method for providing search results and a system for performing the method |
-
2010
- 2010-08-11 WO PCT/KR2010/005248 patent/WO2011025162A2/en not_active Ceased
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11379538B1 (en) | 2016-05-19 | 2022-07-05 | Artemis Intelligence Llc | Systems and methods for automatically identifying unmet technical needs and/or technical problems |
| US11392651B1 (en) | 2017-04-14 | 2022-07-19 | Artemis Intelligence Llc | Systems and methods for automatically identifying unmet technical needs and/or technical problems |
| US11995133B1 (en) | 2017-04-14 | 2024-05-28 | Artemis Intelligence Llc | Systems and methods for automatically identifying unmet technical needs and/or technical problems |
| CN109299221A (en) * | 2018-09-04 | 2019-02-01 | 广州神马移动信息科技有限公司 | Entity extraction and sort method and device |
| US11762916B1 (en) | 2020-08-17 | 2023-09-19 | Artemis Intelligence Llc | User interface for identifying unmet technical needs and/or technical problems |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2011025162A3 (en) | 2011-04-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11954157B2 (en) | Method of and system for conducting personalized federated search and presentation of results therefrom | |
| US9864808B2 (en) | Knowledge-based entity detection and disambiguation | |
| EP2391955A1 (en) | Document analysis system | |
| US6286000B1 (en) | Light weight document matcher | |
| WO2012134180A2 (en) | Emotion classification method for analyzing inherent emotions in a sentence, and emotion classification method for multiple sentences using context information | |
| WO2020009297A1 (en) | Domain extraction based language comprehension performance enhancement apparatus and performance enhancement method | |
| US20070192293A1 (en) | Method for presenting search results | |
| WO2013117147A1 (en) | Method and system for sequencing, seeking, and displaying micro-blog | |
| WO2020082766A1 (en) | Association method and apparatus for input method, device and readable storage medium | |
| US20050091205A1 (en) | Refinement of a search query based on information stored on a local storage medium | |
| US8180751B2 (en) | Using an encyclopedia to build user profiles | |
| WO2012091360A2 (en) | Method and system for providing user-customized content | |
| WO2016003219A1 (en) | Electronic device and method for providing content on electronic device | |
| WO2019177182A1 (en) | Multimedia content search apparatus and search method using attribute information analysis | |
| WO2014044167A1 (en) | Method and computer for indexing and searching structures | |
| WO2011025162A2 (en) | Method for searching for a list of entities belonging to a specific class | |
| WO2011155736A2 (en) | Method for dynamically generating additional terms for each meaning of every natural language expression; dictionary manager, document generator, term annotator, search system, and device for building a document information system based on the method | |
| WO2015037815A1 (en) | Semantic search system in smart device and search method using same | |
| CN107992563B (en) | Recommendation method and system for user browsing content | |
| WO2017057858A1 (en) | Knowledge managing system having search function for each of multiple fields by weighted value | |
| KR100643979B1 (en) | How to provide information search results using the Internet | |
| WO2021246642A1 (en) | Font recommendation method and device for implementing same | |
| WO2018212536A1 (en) | Device for providing detailed numerical information of content | |
| WO2019208872A1 (en) | Method and system for determining representative keyword of application | |
| WO2023172079A1 (en) | Contents-based smart library operating platform system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10812176 Country of ref document: EP Kind code of ref document: A2 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 10812176 Country of ref document: EP Kind code of ref document: A2 |