기본 콘텐츠로 건너뛰기

Discussion

Data in this post is from Quora, Reddit, Stack Overflow and so on, where people usually discuss about concepts.


[ Quora ]

Why are rule based methods becoming unpopular in NLP? [Original]
[정리]
- 질좋은/많은 데이터가 없을 경우 rule-based가 큰 역할을 한다.
- 만약, 어떤 문제를 fast-and-dirty하게 풀 때, pattern(=rule)을 리스트화하는게 가장 좋을 것이다.
- tokenization/ stemming/ sentence_breaking/ morphology와 같이 deterministic을 요구하는 경우(그다지 복잡하지 않은 경우)에 rule-based가 좋다. 즉, linguistic data frame에는 rule-based의 pre/post processing이 필수적이다. 그리고 이러한 pre/post processing은 ML-classifier의 성능에 큰 영향을 준다. 따라서, rule-based와 ml-based는 서로 뗄레야 뗄수없는 하나의 framework이다. 단지 서로의 역할만 정해져 있고, 어디에 초점을 맞추는지에 따라 달라질 것이다.
- 하지만, rule-based는 scale 하기 어렵다.  즉, 수백/수천/수만개의 rule들이 있으면, 서로 매우복잡하게 얽히고 설켜 결국엔 시스템이 엉망이될 수도 있다.  
- 좋은 방법은 시스템을 여러 단계로 나눈 후, 정교한 feature가 정의되면 rule-based로 각 단계를 해결하고 (아마 pre/post processing에 해당), 그 다음 feature들을 combine하고 싶을 때는 ML-based로 가는 것(generalization을 더 잘하기 위해)이다. 참고로 rule-based는 overfitting을 확인할 방법이 없다.
- Classification 문제에서 목표는 적합한 Decision Boundary를(이하DB) 찾는 것이다. rule-based는 복잡한 DB를 찾기 쉽지 않다. 반면, ML-based는 regression을 통해 복잡한 DB를 찾을 수 있다. DB를 찾는 측면에서, rule-based는 discrete spectrum이라 생각할 수 있고, ML-based는 continuous spectrum이라고 생각할 수 있다. 이를 과장해서 보면, 각각discrete과 continuous에 해당한다고 볼 수 있기 때문에, 장단점이 존재한다. 




[ Reddit ]





[ Stack Overflow ]


댓글

이 블로그의 인기 게시물

Pattern Discovery in Data Mining

Coursera Illinois at Urbana-Champaign by Jiawei Han 2015.03.19 CONTENT 1. A brief Introduction to Data Mining 2. Pattern Discovery : Basic Concepts 3. Efficient Pattern Mining Methods 4. Pattern Evaluation 5. Mining Diverse Patterns 6. Constraint-Based Pattern Mining 7. Sequential Pattern Mining 8. Graph Pattern Mining 9. Pattern-Based Classification 10. Exploring Pattern Mining Applications Lecture 1 : A brief Introduction to Data Mining - We'are drowning in data but starving for knowledge ( a lot of data are unstructured ) - Data mining : a misnomer ! -> Knowledge mining from data - Extraction of interesting patterns (non-trivial, implicit, previously unknown and potentially useful) or knowledge from massive data. - Data mining is a interdisciplinary field (machine learning, pattern recognition, statistics, databases, big data, business intelligence..) Knowledge Discovery (KDD) Process Methodology View: Confluence of Multiple Disciplines Lecture 2 : Pattern Discovery : Ba...

Vector Space Model

Motivation When you want to find some information by using Search Engines, you have to make a query used for search. Unfortunately, since you don't know exactly what it means, your query will be ambiguous and not accurate. Therefore, Search Engines give you the information in a ranked list rather than the right position. Intuition In order to make a ranked list, you need to calculate the similarity between the query and documents based on terms or words. One of the calculation of similarity is dot product on a vector space. In the vector space, there are many documents with respect to word dimensions The first to rank is d2, because to see with eyes it's the most similarity with the query. Problem How do we plot those vectors wonderfully and nicely and very very fairly ? - How do we define the dimension ? - How do we place a document vector ? - How do we place a query vector ? - How do we match a similarity ? Consideration 1. The frequency of each word of Query. First, Score in...

Operating System

Operating System Three Phases of OS History Phase 1       Summary :  H/W 비싸고, 인건비는 저렴        Goal : 어떻게 하면 값비싼 CPU를 효율적으로 사용할 수 있을까 ? Phase 1-1 : Operator as OS 하드웨어(애니악 - 진공관 CPU,마그네틱 코어 Memory)가 매우 비싸고, 그에 반해 인건비가 매우 저렴하기 때문에 CPU Utilization을 최대화 시키는게 목표였다. 초창기 컴퓨터 당시 Operator 역할은 사람이었다. 카드 덱 수령, 카드 덱 시스템에 로딩, 수행결과를 프린트, 결과물을 사용자에 전달 등등 Phase 1-2 : Simple batch monitor Human Operator에 의해 job-to-job 전환 속도가 매우 느린점으로 인해 CPU적 관점으로 컴퓨터 시스템의 비효율성을 극복(Utilization 최대화)하기 위해서 최초의 Operating System Software가 등장했다. I/O machine이 추가 되었다. Phase 1-3 : Batch monitor ( OS + I/O device controller ) 하지만, I/O를 추가한 후, I/O를 하고 있을 때 CPU가 idle하게 되었고, 또 다시 CPU Utilization 문제가 대두되었다. 이와 같은 문제를 해결하기 위해 I/O Channel, I/O device controller가 등장했다. I/O Channel은 CPU를 대신해서 I/O device의 operation을 관장해준다. 그 대신 I/O operation의 시작과 끝만 CPU에게 알려준다. ( Asynchronous I/O 방법으로써 Interrupt mechanism 등장 ) 이러한 mechanism 으로 CPU와 I/O가 서로 overlap되며 사용가능해졌다. Phase 1-4 : Multi...