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에 해당한다고 볼 수 있기 때문에, 장단점이 존재한다.
- 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 ]
댓글
댓글 쓰기