2017-05-23 3 views
0

나는 NLP에서 문장 분할을 시도하는 초보자입니다. NLTK에서 토큰 라이저를 사용할 수 있다는 것을 알고 있습니다. 그러나 Decision Tree와 같은 Machine Learning 알고리즘을 사용하여 내 자신의 문장 분할기를 만들고 싶었습니다. 그러나 나는 그것을위한 훈련 자료를 수집 할 수 없다. 데이터는 어떻게되어야합니다. 먼저 감독 학습을 사용해 보았으므로 어떻게 표시해야합니까? 이미 사용 가능한 샘플 데이터가 있습니까? 어떤 도움이 유용 할 것입니다. 나는 거의 일주일 동안 그물에서 수색했고, 지금 도움을 위해 같은 것을 게시했다. 미리 감사드립니다.NLP - 문장 분할

답변

2

내가 아는 한, 문장 분리자는 전형적으로 일련의 규칙 (고려해야 할 구두점 문자)과 몇 가지 자동 학습 된 가중치 (예외가있는 마침표와 같은 약어와 같은 하이브리드로 구현됩니다. 완전히 멈추다). 무게는 감독없이 배울 수 있습니다.

그러나 일반 ML 기반 시스템을 사용하여이 문제에 접근하는 것은 흥미로운 아이디어입니다. 감독 구성표의 경우 BIO 레이블이있는 문자 기반 시퀀스 라벨링 모델을 사용해 볼 수 있습니다. 예측 된 출력은 다음 또한 BIIIIO... 될 것

This is it! I'm leaving Dr. Smush in his box. 
BIIIIIIIIIIOBIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 

, 당신은 O 표시된 문자에서 원본 텍스트를 분할해야합니다 : 예를 들어, 훈련 데이터는 다음과 같이 할 수있다. 이것이 최선의 방법인지 확신 할 수 없지만 시도해 보면 좋을지 알려주세요. 높은 주문 (3, 4, 5 그램 또는 그 이상)의 n- 그램을 단어 토큰이 아닌 문자이기 때문에 사용하십시오.

교육 데이터의 경우 언어로 주석 처리 된 모든 코퍼스를 사용할 수 있습니다. 왜냐하면 모든 문장 분할 (예 : NLTK에 포함 된 구문보기)이기 때문입니다. 훈련을 위해 BIO 라벨을 생산하기 만하면됩니다.

+1

코끼리는 다음과 같이합니다. http://gmb.let.rug.nl/elephant/about.php – alvas

+0

멋진 덕분입니다. – lenz