Skip to content

비버웍스 자연어 처리를 활용한 메뉴 표준화 해커톤

Notifications You must be signed in to change notification settings

LeeJuHwan/beaverworks_hackerthon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

비버웍스 키오스크 음식 메뉴 표준화 해커톤

1.27 ~ 1.29

팀원

이름 협업 깃허브
김택관 최초 사전 구축 알고리즘 구현, 단어간 유사도 및 우선 순위 알고리즘 구현 https://github.com/KimTaekGwan
이주환 전처리 알고리즘 구현, 불용어 데이터, 옵션 데이터, 고유명사 데이터 수집 https://github.com/LeeJuHwan

image

Process

image

Model Algorithm

image

Architecture

image

principle

image

Algorithm to function

algo = Algorithm()

def preprocessing(text) :
    res = {'메뉴':None, '맛/재료':None, 
        '단위':None, '세트/옵션':None}

    x = algo.bascket_remove(text)
    x = algo.stop_words_func(x)
    x = algo.bascket_remove(x)
    x = algo.option_func(x)
    if x[-1] :
        res["세트/옵션"] = "옵션"
        res["메뉴"] = x[0]
        return {"menu" : x,
                "std" : res}
        
    x = algo.special_char(x[0]) 
    if type(x) == list  : 
        res["세트/옵션"] = "세트"
        return {"menu" : " ".join(x),
                "std" : res}
    rs = jh.morph(x)
    try : 
        if rs[-1] :
            res["단위"] = "".join(rs[-1]) 
        x = algo.spacing_text(rs[0])
    except TypeError as e:
        pass

    x = algo.nnp_remove(x)
    x = algo.word_standard(x)
    output = algo.member_menu(x)
    res["맛/재료"] = ",".join(output[0]); res["메뉴"] = output[1]

    token_result = jh.kiwi.tokenize(x)
    ls = [i.form for i in token_result if i.tag[0] == "N"]
    return {"menu" : " ".join(ls),
            "std" : res}
  • return

image

Keyword

  • 사용자 사전 포맷

  • 형태소 분석을 통한 알고리즘 구현

  • 단어의 우선 순위

TIL

트라이(Trie) 구조

  • 문자열을 저장하고 효율적으로 탐색하기 위한 트리 형태의 자료구조

  • 자동완성 기능, 사전 검색 등 문자열을 탐색하는데 특화되어있는 자료구조

  • 래딕스 트리(radix tree) or 접두사 트리(prefix tree) or 탐색 트리(retrieval tree)라고도 한다. 트라이는 retrieval tree에서 나온 단어

image

해커톤 수료

About

비버웍스 자연어 처리를 활용한 메뉴 표준화 해커톤

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published