KR101714932B1 - Apparatus and method for extracting items using a bloom filter - Google Patents
Apparatus and method for extracting items using a bloom filter Download PDFInfo
- Publication number
- KR101714932B1 KR101714932B1 KR1020150185240A KR20150185240A KR101714932B1 KR 101714932 B1 KR101714932 B1 KR 101714932B1 KR 1020150185240 A KR1020150185240 A KR 1020150185240A KR 20150185240 A KR20150185240 A KR 20150185240A KR 101714932 B1 KR101714932 B1 KR 101714932B1
- Authority
- KR
- South Korea
- Prior art keywords
- bloom filter
- item
- filtering
- condition
- avoidance
- Prior art date
Links
Images
Classifications
-
- G06F17/30699—
-
- G06F17/30628—
-
- G06F17/30657—
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 블룸 필터를 이용한 아이템 추출 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for extracting an item using a Bloom filter.
알레르기 반응이 있는 사용자는 특정 재료가 포함된 음식을 먹었을 경우, 가려움증, 두드러기, 피부 발진에서부터 심하면 천식 등의 반응까지도 보일 수 있다. 따라서, 알레르기 반응이 있는 사용자는 외부 식당을 방문하였을 때, 식당의 음식 메뉴들 중에 특정 재료가 포함된 음식이 있는지 여부를 검색해야 한다.Users with allergic reactions can also see reactions such as itching, urticaria, skin rash, and even severe asthma if they eat food containing certain ingredients. Thus, a user with an allergic reaction should, when visiting an outside restaurant, search for food items in a restaurant that contain certain ingredients.
또한, 알레르기 이외에도 복수의 아이템들 중에서 사용자가 원하지 않는 조건이 포함된 아이템을 검색하고자 하는 경우가 발생할 수 있다.In addition to the allergies, it may happen that a user desires to search for an item including an undesirable condition among a plurality of items.
따라서, 복수의 아이템들 중에서 사용자가 원하지 않는 조건이 포함된 아이템을 필터링하여 사용자에게 제공하는 방법이 요청되고 있다.Accordingly, there is a demand for a method of filtering an item including a condition that the user does not want among a plurality of items and providing the filtered item to the user.
본 발명은 기피 조건에 대응하는 블룸 필터로 후보 아이템들을 필터링하고, 필터링 결과가 음성인 후보 아이템을 최종 아이템으로 추출함으로써, 복수의 후보 아이템들 중에서 기피 조건을 만족하지 않는 아이템을 용이하고 정확하게 추출하는 장치 및 방법을 제공할 수 있다.The present invention easily and accurately extracts an item that does not satisfy the avoidance condition among a plurality of candidate items by filtering the candidate items with the Bloom filter corresponding to the avoidance condition and extracting the candidate item in which the filtering result is negative as the final item Apparatus and method.
본 발명의 일실시예에 따른 블룸 필터를 이용한 아이템 추출 방법은 복수의 후보 아이템들을 필터링하기 위한 기피 조건을 입력받는 단계; 상기 기피 조건에 대응하는 블룸 필터를 검색하는 단계; 상기 복수의 후보 아이템들을 상기 블룸 필터로 필터링하는 단계; 및 블룸 필터의 필터링 결과에 따라 상기 복수의 후보 아이템들 중 기피 조건을 만족하지 않는 최종 아이템을 추출하는 단계를 포함할 수 있다.A method for extracting an item using a Bloom filter according to an embodiment of the present invention includes receiving an avoidance condition for filtering a plurality of candidate items; Retrieving a Bloom filter corresponding to the avoided condition; Filtering the plurality of candidate items with the Bloom filter; And extracting an end item that does not satisfy the avoidance condition among the plurality of candidate items according to a filtering result of the Bloom filter.
본 발명의 일실시예에 따른 블룸 필터를 이용한 아이템 추출 방법의 최종 아이템을 추출하는 단계는, 상기 복수의 후보 아이템들 중에서 필터링 결과가 음성인 아이템들을 최종 아이템으로 결정할 수 있다.The step of extracting the final item of the item extracting method using the Bloom filter according to an embodiment of the present invention may determine the items having the filtered result as the final item among the plurality of candidate items.
본 발명의 일실시예에 따른 블룸 필터를 이용한 아이템 추출 방법의 블룸 필터는, 상기 기피 조건 각각에 대하여 상기 기피 조건이 포함된 아이템들을 이용하여 생성될 수 있다.The bloom filter of the item extracting method using the bloom filter according to an embodiment of the present invention can be generated by using the items including the avoiding condition for each of the avoiding conditions.
본 발명의 일실시예에 따른 블룸 필터를 이용한 아이템 추출 방법의 필터링하는 단계는, 상기 블룸 필터의 생성에 사용한 해시 함수를 이용하여 복수의 후보 아이템들의 해시 인덱스를 결정하고, 상기 해시 인덱스에서 상기 블룸 필터 주소의 값을 확인하여 음성(Negative)인지 여부를 판단할 수 있다.The filtering of the item extracting method using the Bloom filter according to an embodiment of the present invention includes the steps of determining a hash index of a plurality of candidate items using the hash function used for generating the Bloom filter, It is possible to determine whether the voice is negative by checking the value of the filter address.
본 발명의 일실시예에 따른 블룸 필터를 이용한 아이템 추출 방법의 최종 아이템을 추출하는 단계는, 상기 기피 조건이 복수인 경우, 복수의 기피 조건들 각각에 대응하는 블룸 필터들의 필터링 결과들이 모두 음성인 아이템들을 최종 아이템으로 결정할 수 있다.The step of extracting the final item of the item extracting method using the Bloom filter according to an exemplary embodiment of the present invention may include extracting final items of the Bloom filter based on the filtering results of the Bloom filters corresponding to each of the avoidance conditions, Items can be determined as final items.
본 발명의 일실시예에 따른 블룸 필터를 이용한 아이템 추출 장치는 복수의 후보 아이템들을 필터링하기 위한 기피 조건을 입력받는 기피 조건 입력부; 상기 기피 조건에 대응하는 블룸 필터를 검색하는 블룸 필터 검색부; 상기 복수의 후보 아이템들을 상기 블룸 필터로 필터링하는 필터링부; 및 블룸 필터의 필터링 결과에 따라 상기 복수의 후보 아이템들 중 기피 조건을 만족하지 않는 최종 아이템을 추출하는 아이템 추출부를 포함할 수 있다.The apparatus for extracting items using a Bloom filter according to an embodiment of the present invention includes: an avoidance condition input unit receiving an avoidance condition for filtering a plurality of candidate items; A bloom filter search unit for searching for a bloom filter corresponding to the avoidance condition; A filtering unit for filtering the plurality of candidate items with the Bloom filter; And an item extracting unit for extracting an end item that does not satisfy the avoidance condition among the plurality of candidate items according to the filtering result of the Bloom filter.
본 발명의 일실시예에 따른 블룸 필터를 이용한 아이템 추출 장치의 아이템 추출부는, 상기 복수의 후보 아이템들 중에서 필터링 결과가 음성인 아이템들을 최종 아이템으로 결정할 수 있다.The item extracting unit of the item extracting apparatus using the Bloom filter according to an embodiment of the present invention can determine the items having the filtered result as the final item among the plurality of candidate items.
본 발명의 일실시예에 따른 블룸 필터를 이용한 아이템 추출 장치의 블룸 필터는, 상기 기피 조건 각각에 대하여 상기 기피 조건이 포함된 아이템들을 이용하여 생성될 수 있다.The bloom filter of the item extracting apparatus using the bloom filter according to an embodiment of the present invention may be generated by using the items including the avoiding condition for each of the avoiding conditions.
본 발명의 일실시예에 따른 블룸 필터를 이용한 아이템 추출 장치의 필터링부는, 상기 블룸 필터의 생성에 사용한 해시 함수를 이용하여 복수의 후보 아이템들의 해시 인덱스를 결정하고, 상기 해시 인덱스에서 상기 블룸 필터 주소의 값을 확인하여 음성(Negative)인지 여부를 판단할 수 있다.The filtering unit of the item extracting apparatus using the Bloom filter according to an embodiment of the present invention determines a hash index of a plurality of candidate items using a hash function used for generating the Bloom filter, It is possible to determine whether the voice is negative or not.
본 발명의 일실시예에 따른 블룸 필터를 이용한 아이템 추출 장치의 아이템 추출부는, 상기 기피 조건이 복수인 경우, 복수의 기피 조건들 각각에 대응하는 블룸 필터들의 필터링 결과들이 모두 음성인 아이템들을 최종 아이템으로 결정할 수 있다.The item extracting unit of the item extracting apparatus using the Bloom filter according to the embodiment of the present invention extracts the items in which the filtering results of the Bloom filters corresponding to each of the plurality of avoidance conditions are all negative, .
본 발명의 일실시예에 의하면, 기피 조건에 대응하는 블룸 필터로 후보 아이템들을 필터링하고, 필터링 결과가 음성인 후보 아이템을 최종 아이템으로 추출함으로써, 복수의 후보 아이템들 중에서 기피 조건을 만족하지 않는 아이템을 용이하고 정확하게 추출할 수 있다.According to an embodiment of the present invention, candidate items are filtered with a Bloom filter corresponding to an avoidance condition, and a candidate item in which the filtering result is negative is extracted as a final item. Thus, among the plurality of candidate items, Can be easily and accurately extracted.
도 1은 본 발명의 일실시예에 따른 아이템 추출 장치를 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 기피 조건 입력 과정의 일례이다.
도 3은 본 발명의 일실시예에 따른 기피 조건의 제1 실시예이다.
도 4는 본 발명의 일실시예에 따른 기피 조건의 제2 실시예이다.
도 5는 본 발명의 일실시예에 따른 아이템 추출 방법을 도시한 플로우차트이다.1 is a view illustrating an item extracting apparatus according to an embodiment of the present invention.
2 is an example of an avoidance condition input process according to an embodiment of the present invention.
FIG. 3 is a first embodiment of an avoidance condition according to an embodiment of the present invention.
4 is a second embodiment of an avoidance condition according to an embodiment of the present invention.
5 is a flowchart illustrating an item extracting method according to an embodiment of the present invention.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 일실시예에 따른 아이템 추출 방법은 아이템 추출 장치에 의해 수행될 수 있다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The item extracting method according to an embodiment of the present invention can be performed by an item extracting apparatus.
도 1은 본 발명의 일실시예에 따른 아이템 추출 장치를 나타내는 도면이다. 1 is a view illustrating an item extracting apparatus according to an embodiment of the present invention.
아이템 추출 장치(100)는 도 1에 도시된 바와 같이 블룸 필터 생성부(110), 기피 조건 입력부(120), 블룸 필터 검색부(130), 필터링부(140), 및 아이템 추출부(150)를 포함할 수 있다. 아이템 추출 장치(100)는 아이템 추출 방법을 수행하는 프로세서일 수도 있고, 아이템 추출 방법을 수행하기 위한 프로그램이 기록된 기록 매체일 수도 있다. 또한, 블룸 필터 생성부(110), 기피 조건 입력부(120), 블룸 필터 검색부(130), 필터링부(140), 및 아이템 추출부(150)는 각각의 동작을 수행하는 하드웨어일 수도 있고, 프로그램에 포함된 알고리즘일 수도 있다.1, the
블룸 필터 생성부(110)는 복수의 후보 아이템들을 필터링하기 위한 기피 조건 각각에 대하여 블룸 필터를 생성할 수 있다. 블룸 필터는 블룸 필터에 입력된 정보가 기 설정된 집합에 포함되어 있는가 여부를 판단할 수 있다. 그리고, 블룸 필터 생성부(110)는 기피 조건이 포함된 아이템들을 이용하여 기피 조건에 대응하는 블룸 필터를 생성할 수 있다. 이때, 기 설정된 집합은 기피 조건이 포함된 아이템들의 집합일 수 있다.The bloom
구체적으로, 블룸 필터 생성부(110)는 블룸 필터의 모든 비트를 0으로 초기화 시킬 수 있다. 다음으로, 블룸 필터 생성부(110)는 집합에 속한 원소에 대하여 해시 인덱스(hash index)를 결정할 수 있다. 이때, 블룸 필터 생성부(110)는 블룸 필터에서 해시 인덱스에 해당하는 블룸 필터 주소의 비트-벡터 값을 1로 변경할 수 있다. 또한, 집합에 속한 원소는 기피 조건이 포함된 아이템일 수 있다.Specifically, the bloom
예를 들어, 블룸 필터가 m비트이고, 집합에 속한 원소의 개수가 n인 경우, 블룸 필터의 크기 m은 일 수 있다. 또한, 각 원소에 대한 해시 인덱스의 개수 k는 일 수 있다.For example, if the Bloom filter is m bits and the number of elements in the set is n, the size m of the Bloom filter is Lt; / RTI > Also, the number k of hash indexes for each element is Lt; / RTI >
예를 들어, 기피 조건이 알레르기 반응을 유발하며 음식에 포함될 수 있는 재료일 수 있다.For example, avoidance conditions can cause allergic reactions and may be ingredients that can be included in food.
이때, 블룸 필터 생성부(110)는 음식점에 있는 모든 음식 메뉴에 대해 알레르기 종류별로 알레르기 반응을 유발하는 재료를 가진 음식 메뉴들을 추출할 수 있다. 그리고, 블룸 필터 생성부(110)는 추출한 음식 메뉴들의 집합을 이용하여 알레르기 종류 별로 각각 하나의 블룸 필터를 생성할 수 있다.At this time, the bloom
예를 들어, 기피 조건이 해산물 알레르기인 경우, 블룸 필터 생성부(110)는 음식 메뉴들 중에서 해산물이 포함된 음식 메뉴들을 추출할 수 있다. 그리고, 블룸 필터 생성부(110)는 해산물이 포함된 음식 메뉴들의 집합을 해시 함수에 통과시켜 해시 인덱스를 결정할 수 있다. 그리고, 블룸 필터 생성부(110)는 결정한 인덱스에 해당하는 블룸 필터 주소의 비트-벡터를 1로 변경하여 해산물에 대응하는 블룸 필터를 생성할 수 있다.For example, if the avoidance condition is seafood allergy, the bloom
이때, 음식점에 있는 음식 메뉴들 중에서 알레르기 반응을 유발하는 재료가 포함된 음식 메뉴의 개수에 따라 블룸 필터 크기 공식에 의해 블룸 필터의 크기가 결정될 수 있다.At this time, the size of the Bloom filter can be determined by the Bloom filter size formula according to the number of food menus including materials that cause the allergic reaction among the food menus in the restaurant.
기피 조건 입력부(120)는 복수의 후보 아이템들을 필터링하기 위한 기피 조건을 입력받을 수 있다. 이때, 기피 조건 입력부(120)는 블룸 필터 생성부(110)가 생성한 블룸 필터 각각에 대응하는 기피 조건을 사용자에게 제공하고, 제공한 기피 조건 중에서 사용자가 선택한 기피 조건을 입력받을 수 있다. 그리고, 후보 아이템은 사용자가 블룸 필터를 이용하여 필터링 하고자 하는 대상일 수 있다.The avoidance
기피 조건을 입력하는 과정 및 사용자에게 제공하는 기피 조건은 이하 도 2 내지 도 4를 참조하여 상세히 설명한다.The process of inputting the avoidance condition and the avoidance condition to be provided to the user will be described in detail with reference to FIG. 2 to FIG.
블룸 필터 검색부(130)는 기피 조건 입력부(120)가 입력받은 기피 조건에 대응하는 블룸 필터를 검색할 수 있다.The bloom
필터링부(140)는 복수의 후보 아이템들을 블룸 필터 검색부(130)가 검색한 블룸 필터로 필터링할 수 있다.The
이때, 필터링부(140)는 블룸 필터의 생성에 사용한 해시 함수를 이용하여 복수의 후보 아이템들의 해시 인덱스를 결정할 수 있다. 그리고, 필터링부(140)는 결정한 해시 인덱스에 해당하는 블룸 필터 주소의 비트-벡터의 값을 확인할 수 있다. 비트-벡터의 값이 모두 1인 경우, 필터링부(140)는 필터링 결과를 양성(Positive)으로 판단할 수 있다. 또한, 비트-벡터의 값 중 적어도 하나의 0이 포함된 경우, 필터링부(140)는 필터링 결과를 음성(Negative)으로 판단할 수 있다.At this time, the
아이템 추출부(150)는 블룸 필터의 필터링 결과에 따라 복수의 후보 아이템들 중 기피 조건을 만족하지 않는 최종 아이템을 추출할 수 있다. 이때, 아이템 추출부(150)는 복수의 후보 아이템들 중에서 블룸 필터의 필터링 결과가 음성인 아이템들을 최종 아이템으로 결정할 수 있다.The
블룸 필터의 필터링 결과가 양성이라는 것은 블룸 필터에 입력된 후보 아이템이 기 설정된 집합의 원소인 기피 조건을 포함하는 아이템임을 의미할 수 있다. 그러나, 블룸 필터는 입력 정보가 기 설정된 집합의 원소가 아님에도 양성으로 판단하는 거짓 양성(false negative)이 발생할 수 있다. 반면, 블룸 필터는 입력 정보가 기 설정된 집합의 원소임에도 음성으로 판단하는 거짓 음성(false negative)은 발생하지 않는다.The positive result of the filtering result of the bloom filter may mean that the candidate item input to the bloom filter is an item including an avoidance condition which is an element of the predetermined set. However, the Bloom filter may cause a false negative to judge that the input information is positive even though it is not a predetermined set of elements. On the other hand, the Bloom filter does not generate a false negative (false negative) in which the input information is a predetermined set of elements even though the input information is an element of the predetermined set.
즉, 아이템 추출부(150)는 필터링 결과가 음성인 후보 아이템을 최종 아이템으로 추출함으로써, 거짓 음성이 발생하지 않는 블룸 필터의 특성을 이용하여 후보 아이템들 중에서 기피 조건을 만족하지 않는 아이템을 용이하고 정확하게 추출할 수 있다.That is, the
또한, 기피 조건 입력부(120)가 입력받은 기피 조건이 복수인 경우, 아이템 추출부(150)는 복수의 기피 조건들 각각에 대응하는 블룸 필터들의 필터링 결과들이 모두 음성인 아이템들을 최종 아이템으로 결정할 수 있다.If the avoidance
또한, 블룸 필터를 생성하는 블룸 필터 생성부(110)는 별도의 장치인 블룸 필터 생성 장치로 구성하고, 피 조건을 이용하여 후보 아이템을 필터링하는 기피 조건 입력부(120), 블룸 필터 검색부(130), 필터링부(140), 및 아이템 추출부(150)를 블룸 필터 쿼리 장치로 구성할 수도 있다. 이때, 블룸 필터 쿼리 장치는 블룸 필터 생성 장치로부터 블룸 필터를 수신하여 저장할 수 있다.In addition, the bloom
아이템 추출 장치(100)는 기피 조건의 설정에 따라 다양하게 사용될 수 있다.The
예를 들어, 후보 아이템이 음식 메뉴일 수 있다. 이때, 기피 조건은 사용자에게 알레르기를 유발시키므로, 음식 메뉴에 포함되면 안 되는 재료일 수 있다. 그리고, 사용자는 아이템 추출 장치(100)를 사용함으로써, 알레르기를 유발시키는 음식 메뉴를 제외한 나머지 음식 메뉴들을 제공받을 수 있다.For example, the candidate item may be a food menu. At this time, the avoidance condition induces an allergy to the user, and thus may be a material that should not be included in the food menu. By using the
또한, 기피 조건이 사용자가 설정한 임계값 이상의 칼로리일 수 있다. 이때, 사용자는 아이템 추출 장치(100)를 사용함으로써, 자신이 설정한 임계값 미만의 칼로리를 가지는 음식 메뉴들을 제공받아 다이어트를 하기 위한 음식 메뉴를 선택할 수 있다. Also, the avoidance condition may be a calorie equal to or greater than a threshold set by the user. At this time, the user can use the
그리고, 기피 조건이 사용자가 설정한 임계값 이하의 칼로리일 수 있다. 이때, 사용자는 아이템 추출 장치(100)를 사용함으로써, 자신이 설정한 임계값을 초과하는 칼로리를 가지는 음식 메뉴들을 제공받아 체중을 증가시키기 위한 음식 메뉴를 선택할 수 있다. The avoidance condition may be a calorie equal to or less than a threshold set by the user. At this time, the user can use the
또한, 기피 조건이 사용자가 싫어하는 매운맛, 또는 단맛과 같은 맛의 종류일 수 있다. 이때, 사용자는 아이템 추출 장치(100)를 사용함으로써, 자신이 싫어하는 맛을 제외한 나머지 음식 메뉴들을 제공받을 수 있다. 따라서, 사용자가 모르고 싫어하는 맛의 음식 메뉴를 선택하는 것을 방지할 수 있다.In addition, the avoidance condition may be a kind of taste such as a spicy taste or a sweet taste which the user dislikes. At this time, by using the
그리고, 기피 조건이 사용자가 원하지 않는 원산지일 수도 있다. 예를 들어, 사용자가 기피 조건을 중국산 재료로 설정한 아이템 추출 장치(100)를 사용하는 경우, 사용자는 중국산 재료가 포함되지 않은 음식 메뉴들을 제공받을 수 있다. And, the avoidance condition may be the origin that the user does not want. For example, when the user uses the
또한, 기피 조건이 사용자가 사용할 수 없는 제휴 할인 인 경우, 아이템 추출 장치(100)는 사용자가 사용할 수 있는 제휴 할인에 대한 정보를 제공할 수 있다.In addition, when the avoidance condition is an affiliate discount that the user can not use, the
그리고, 기피 조건이 포장 불가, 또는 배달 불가인 경우, 아이템 추출 장치(100)는 포장 가능한 음식점, 음식 메뉴, 또는 배달 가능한 음식점, 음식 메뉴를 제공할 수 있다.If the avoidance condition is unpackable or undeliverable, the
즉, 아이템 추출 장치(100)는 기피 조건의 설정에 따라 사용자가 원하거나 사용할 수 없는 조건을 제외한 나머지 아이템들을 사용자에게 제공할 수 있다.That is, the
도 2는 본 발명의 일실시예에 따른 기피 조건 입력 과정의 일례이다. 2 is an example of an avoidance condition input process according to an embodiment of the present invention.
단계(210)에서 아이템 추출 장치(100)는 블룸 필터 생성부(110)가 생성한 블룸 필터 각각에 대응하는 기피 조건(212)를 아이템 추출 장치(100)가 포함된 단말의 화면에 표시할 수 있다. 이때, 기피 조건(212)는 도 2에 도시된 바와 같이 사용자가 선택할 수 있는 체크 칸과 함께 표시될 수 있다.The
또한, 아이템 추출 장치(100)는 도 2에 도시된 바와 같이 모든 기피 조건을 선택, 또는 해제할 수 있는 아이콘(211)을 표시할 수도 있다.In addition, the
단계(220)에서 아이템 추출 장치(100)는 사용자가 선택한 기피 조건(Milk, Fish/Seafood)의 체크 칸을 표시하여 사용자가 선택한 기피 조건(Milk, Fish/Seafood)을 사용자에게 표시할 수 있다. In
사용자가 "다음으로" 아이콘을 선택한 경우, 아이템 추출 장치(100)는 기피 조건(Milk, Fish/Seafood)에 대응하는 블룸 필터로 후보 아이템을 필터링하여 기피 조건이 포함되지 않은 최종 아이템을 추출할 수 있다. 그리고, 아이템 추출 장치(100)는 추출한 최종 아이템을 사용자에게 제공할 수 있다.When the user selects the "Next" icon, the
이때, 사용자가 기피 조건으로 Milk만 선택한 경우, 아이템 추출 장치(100)는 Milk에 대응하는 블룸 필터에서 필터링 결과가 음성인 후보 아이템들을 최종 아이템으로 사용자에게 제공할 수 있다.At this time, if only the user Milk is selected as the avoidance condition, the
반면, 사용자가 기피 조건으로 Milk, Fish/Seafood를 선택한 경우, 아이템 추출 장치는 Milk에 대응하는 블룸 필터에서 필터링 결과가 음성인 후보 아이템들과 Fish/Seafood에 대응하는 블룸 필터에서 필터링 결과가 음성인 후보 아이템들 간의 교집합을 최종 아이템으로 사용자에게 제공함으로써, 사용자가 Milk, Fish/Seafood 중 하나를 섭취하는 것을 방지할 수 있다.On the other hand, if the user selects Milk, Fish / Seafood as the avoidance condition, the item extracting device extracts candidate items in which the filtering result is negative in the Bloom filter corresponding to Milk and the filtering result is negative in the Bloom filter corresponding to Fish / By providing the user with the intersection of the candidate items as a final item, the user can be prevented from eating one of Milk, Fish / Seafood.
도 3은 본 발명의 일실시예에 따른 기피 조건의 제1 실시예이다. FIG. 3 is a first embodiment of an avoidance condition according to an embodiment of the present invention.
도 3은 사용자가 기피 조건에 대응하는 수업을 회피하며 수강신청하기 위하여 아이템 추출 장치(100)를 이용하는 일례이다.3 is an example in which the user uses the
이때, 아이템 추출 장치(100)는 서로 다른 타입의 제1 기피 조건(310) 및 제2 기피 조건(320)를 설정할 수 있다.At this time, the
예를 들어, 제1 기피 조건(310)은 1교시 수업, 9 교시 수업과 같이 사용자가 싫어하는 시간대의 수업일 수 있다. 또한, 제2 기피 조건(320)는 학점 D 이하를 많이 주는 교수와 같이 사용자가 피하고 싶은 교수의 조건일 수 있다.For example, the
그리고, 제1 기피 조건(310) 및 제2 기피 조건(320)는 동시에 선택될 수도 있고, 하나만 선택될 수도 있다.The
즉, 아이템 추출 장치(100)는 다양한 기피 조건 별로 블룸 필터를 생성하고, 사용자에게 제공함으로써, 사용자가 원하지 않는 조건의 수업을 제외한 나머지 수업을 사용자에게 제공할 수 있다. 그리고, 사용자는 아이템 추출 장치(100)가 제공한 수업 중에서 자신이 선호하는 수업을 선택하여 수강 신청함으로써, 원하지 않는 조건의 수업을 실수로 선택할 위험 없이 수강 신청을 할 수 있다.That is, the
도 4는 본 발명의 일실시예에 따른 기피 조건의 제2 실시예이다. 4 is a second embodiment of an avoidance condition according to an embodiment of the present invention.
도 4는 사용자가 기피 조건에 대응하는 영화를 회피하며 영화 감상하기 위하여 아이템 추출 장치(100)를 이용하는 일례이다.FIG. 4 shows an example in which the user uses the
이때, 아이템 추출 장치(100)는 서로 다른 타입의 제1 기피 조건(410) 및 제2 기피 조건(420)를 설정할 수 있다.At this time, the
예를 들어, 제1 기피 조건(410)은 조조 상영, 심야 상영과 같이 사용자가 싫어하는 시간대의 상영일 수 있다. 또한, 제2 기피 조건(420)는 공포물, 연애물과 같이 사용자가 피하고 싶은 영화 장르일 수 있다. 그리고, 제1 기피 조건(410) 및 제2 기피 조건(420)는 동시에 선택될 수도 있고, 하나만 선택될 수도 있다.For example, the
즉, 아이템 추출 장치(100)는 다양한 기피 조건 별로 블룸 필터를 생성하고, 사용자에게 제공함으로써, 사용자가 원하지 않는 조건의 영화를 제외한 나머지 영화를 사용자에게 제공할 수 있다. 그리고, 사용자는 아이템 추출 장치(100)가 제공한 영화 중에서 자신이 선호하는 영화를 선택하여 예매함으로써, 원하지 않는 조건의 영화를 실수로 선택할 위험 없이 영화를 예매할 수 있다.That is, the
도 5는 본 발명의 일실시예에 따른 아이템 추출 방법을 도시한 플로우차트이다.5 is a flowchart illustrating an item extracting method according to an embodiment of the present invention.
단계(510)에서 블룸 필터 생성부(110)는 복수의 후보 아이템들을 필터링하기 위한 기피 조건 각각에 대하여 블룸 필터를 생성할 수 있다. 이때, 블룸 필터 생성부(110)는 기피 조건이 포함된 아이템들을 이용하여 기피 조건에 대응하는 블룸 필터를 생성할 수 있다. In
단계(520)에서 기피 조건 입력부(120)는 사용자로부터 복수의 후보 아이템들을 필터링하기 위한 기피 조건을 입력받을 수 있다. In
단계(530)에서 블룸 필터 검색부(130)는 단계(510)에서 생성한 블룸 필터들 중에서 단계(520)에서 입력받은 기피 조건에 대응하는 블룸 필터를 검색할 수 있다.In
단계(540)에서 필터링부(140)는 복수의 후보 아이템들을 단계(530)에서 검색한 블룸 필터로 필터링할 수 있다. 이때, 필터링부(140)는 블룸 필터의 생성에 사용한 해시 함수를 이용하여 복수의 후보 아이템들의 해시 인덱스를 결정할 수 있다. 그리고, 필터링부(140)는 결정한 해시 인덱스에 해당하는 블룸 필터 주소의 비트-벡터의 값을 확인할 수 있다. 비트-벡터의 값 중 적어도 하나의 0이 포함된 경우, 필터링부(140)는 필터링 결과를 음성(Negative)으로 판단할 수 있다.In
단계(550)에서 아이템 추출부(150)는 단계(540)의 필터링 결과에 따라 복수의 후보 아이템들 중 기피 조건을 만족하지 않는 최종 아이템을 추출할 수 있다. 이때, 아이템 추출부(150)는 복수의 후보 아이템들 중에서 필터링 결과가 음성인 아이템들을 최종 아이템으로 결정할 수 있다.In
본 발명은 기피 조건에 대응하는 블룸 필터로 후보 아이템들을 필터링하고, 필터링 결과가 음성인 후보 아이템을 최종 아이템으로 추출함으로써, 복수의 후보 아이템들 중에서 기피 조건을 만족하지 않는 아이템을 용이하고 정확하게 추출할 수 있다.The present invention can easily and accurately extract an item that does not satisfy the avoidance condition among the plurality of candidate items by filtering the candidate items with the Bloom filter corresponding to the avoidance condition and extracting the candidate item in which the filtering result is negative as the final item .
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.
100: 아이템 추출 장치
110: 블룸 필터 생성부
120: 기피 조건 입력부
130: 블룸 필터 검색부
140: 필터링부
150: 아이템 추출부100: Item extracting device
110: Bloom filter generating unit
120: avoidance condition input unit
130: Bloom filter search unit
140:
150: Item extracting unit
Claims (10)
상기 기피 조건에 대응하는 블룸 필터를 검색하는 단계;
상기 복수의 후보 아이템들을 상기 블룸 필터로 필터링하는 단계; 및
상기 복수의 후보 아이템들 중 상기 블룸 필터의 필터링 결과가 음성인 아이템을 기피 조건을 만족하지 않는 최종 아이템으로 추출하는 단계
를 포함하고,
상기 블룸 필터는,
상기 기피 조건 각각에 대하여 상기 기피 조건이 포함된 아이템들을 이용하여 생성되며,
상기 최종 아이템으로 추출하는 단계는,
상기 기피 조건이 복수인 경우, 복수의 기피 조건들 각각에 대응하는 블룸 필터들의 필터링 결과들이 모두 음성인 아이템들을 최종 아이템으로 결정하는 블룸 필터를 이용한 아이템 추출 방법.Receiving an avoidance condition for filtering a plurality of candidate items;
Retrieving a Bloom filter corresponding to the avoided condition;
Filtering the plurality of candidate items with the Bloom filter; And
Extracting an item in which the filtering result of the Bloom filter is negative among the plurality of candidate items as an end item that does not satisfy the avoidance condition
Lt; / RTI >
Wherein the bloom filter comprises:
Wherein the avoiding condition is generated using items including the avoiding condition for each of the avoiding conditions,
The step of extracting as the final item comprises:
And determining, as a final item, items in which the filtering results of the bloom filters corresponding to each of the plurality of avoidance conditions are all negative when the avoidance condition is a plurality.
상기 필터링하는 단계는,
상기 블룸 필터의 생성에 사용한 해시 함수를 이용하여 복수의 후보 아이템들의 해시 인덱스를 결정하고, 상기 해시 인덱스에서 상기 블룸 필터 주소의 값을 확인하여 음성(Negative)인지 여부를 판단하는 블룸 필터를 이용한 아이템 추출 방법.The method according to claim 1,
Wherein the filtering comprises:
A method of determining a hash index of a plurality of candidate items by using a hash function used for generating the bloom filter, checking a value of the bloom filter address in the hash index, Extraction method.
상기 기피 조건에 대응하는 블룸 필터를 검색하는 블룸 필터 검색부;
상기 복수의 후보 아이템들을 상기 블룸 필터로 필터링하는 필터링부; 및
상기 복수의 후보 아이템들 중 상기 블룸 필터의 필터링 결과가 음성인 아이템을 기피 조건을 만족하지 않는 최종 아이템으로 추출하는 아이템 추출부
를 포함하고,
상기 블룸 필터는,
상기 기피 조건 각각에 대하여 상기 기피 조건이 포함된 아이템들을 이용하여 생성되며,
상기 아이템 추출부는,
상기 기피 조건이 복수인 경우, 복수의 기피 조건들 각각에 대응하는 블룸 필터들의 필터링 결과들이 모두 음성인 아이템들을 최종 아이템으로 결정하는 블룸 필터를 이용한 아이템 추출 장치.An avoidance condition input unit receiving an avoidance condition for filtering a plurality of candidate items;
A bloom filter search unit for searching for a bloom filter corresponding to the avoidance condition;
A filtering unit for filtering the plurality of candidate items with the Bloom filter; And
An item extracting unit for extracting an item in which the filtering result of the Bloom filter is negative among the plurality of candidate items as an end item that does not satisfy the avoidance condition;
Lt; / RTI >
Wherein the bloom filter comprises:
Wherein the avoiding condition is generated using items including the avoiding condition for each of the avoiding conditions,
The item extracting unit,
And determines, as a final item, items in which the filtering results of the bloom filters corresponding to each of the plurality of avoidance conditions are all negative when the avoidance condition is a plurality of conditions.
상기 필터링부는,
상기 블룸 필터의 생성에 사용한 해시 함수를 이용하여 복수의 후보 아이템들의 해시 인덱스를 결정하고, 상기 해시 인덱스에서 상기 블룸 필터 주소의 값을 확인하여 음성(Negative)인지 여부를 판단하는 블룸 필터를 이용한 아이템 추출 장치.The method according to claim 6,
Wherein the filtering unit comprises:
A method of determining a hash index of a plurality of candidate items by using a hash function used for generating the bloom filter, checking a value of the bloom filter address in the hash index, Extraction device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150185240A KR101714932B1 (en) | 2015-12-23 | 2015-12-23 | Apparatus and method for extracting items using a bloom filter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150185240A KR101714932B1 (en) | 2015-12-23 | 2015-12-23 | Apparatus and method for extracting items using a bloom filter |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101714932B1 true KR101714932B1 (en) | 2017-03-09 |
Family
ID=58402486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150185240A KR101714932B1 (en) | 2015-12-23 | 2015-12-23 | Apparatus and method for extracting items using a bloom filter |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101714932B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180300204A1 (en) * | 2017-04-17 | 2018-10-18 | Oracle International Corporation | Instance recovery using bloom filters |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101061833B1 (en) * | 2010-03-03 | 2011-09-05 | 이화여자대학교 산학협력단 | Method and apparatus for packet classification using bloom filter |
KR20150136315A (en) * | 2014-05-27 | 2015-12-07 | 삼성전자주식회사 | Display apparatus and Method for controlling display apparatus thereof |
-
2015
- 2015-12-23 KR KR1020150185240A patent/KR101714932B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101061833B1 (en) * | 2010-03-03 | 2011-09-05 | 이화여자대학교 산학협력단 | Method and apparatus for packet classification using bloom filter |
KR20150136315A (en) * | 2014-05-27 | 2015-12-07 | 삼성전자주식회사 | Display apparatus and Method for controlling display apparatus thereof |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180300204A1 (en) * | 2017-04-17 | 2018-10-18 | Oracle International Corporation | Instance recovery using bloom filters |
US10809916B2 (en) * | 2017-04-17 | 2020-10-20 | Oracle International Corporation | Instance recovery using bloom filters |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8510287B1 (en) | Annotating personalized recommendations | |
TWI472720B (en) | Systems and methods for presenting point of interest (poi) information map, and storage medium thereof | |
JP4497309B2 (en) | Information providing apparatus, information providing method, and information providing program | |
US20140172821A1 (en) | Generating filters for refining search results | |
KR102266517B1 (en) | System for recommending product using execution pattern of user, method of recommending product using execution pattern of user and apparatus for the same | |
US20170160878A1 (en) | Control method, processing apparatus, and non-transitory computer-readable recording medium | |
CN109558538B (en) | Input association word construction method and device, storage medium and electronic equipment | |
WO2021129122A1 (en) | Display method for book query page, electronic device and computer storage medium | |
JP2018504686A (en) | Method and apparatus for processing search data | |
JP2017134744A (en) | Information processing system, information processing method, and information processing program | |
KR101624420B1 (en) | Method and System for searching using Related Keywords of Searching object | |
JP2009087151A (en) | Information providing system, information providing device, mobile terminal, information providing method, and program | |
KR101714932B1 (en) | Apparatus and method for extracting items using a bloom filter | |
US10613828B2 (en) | Dynamic and personalized filtering of media content | |
JP6731178B2 (en) | Video search device and program | |
US20120290568A1 (en) | System and method for providing search results | |
RU2605001C2 (en) | Method for processing user's search request and server used therein | |
JP2012048324A (en) | Information processor, processing method of the same, and program | |
JP6721043B2 (en) | Display control program, display control device, and display control method | |
JP6010162B2 (en) | Information providing apparatus, information providing method, and program | |
JP2002259409A (en) | Information extraction method, information extraction device, computer-readable recording medium and computer program | |
CN110704358B (en) | Display method, device and storage medium for presentation information | |
US20160148095A1 (en) | Electronic calculating apparatus, method thereof and non-transitory machine-readable medium thereof for sensing context and recommending information | |
JP6604608B2 (en) | Information processing apparatus, information processing method, and information processing program | |
US8782030B1 (en) | Using a query log from a two-box interface to identify standalone locations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200102 Year of fee payment: 4 |