나는 시끄럽고 비공식적 인 영어 (즉, 소셜 미디어 스타일)로 작성된 1 ~ 10 문장 길이의 "기사"모음집을 가지고 있습니다. 날짜 및 시간과 같이 가능한 경우 각 기사에서 일부 정보를 추출해야합니다. 나는 또한이 기사가 말하는 것과 주된 "배우"가 누구인지 이해할 필요가있다.구조화되지 않은 텍스트에서 정보 추출
예제 : 문장이 인 경우 "내일 아침 10시 30 분부터 모든 사람의 존재가 필요합니다. 회사의 재무 예측에 대해 논의하십시오.", 추출해야합니다 :
- 날짜/시간 => "10.30 내일 아침".
- 주제 => "회사의 재정적 예측".
- 배우 => "모두".
는 지금까지 내가 아는 한, 날짜와 시간은 NLP 기법을 사용하지 않고 추출 할 수 있지만 파이썬에서 단정 (http://natty.joestelmach.com/)만큼 좋은 아무것도 발견하지 않았습니다. 데이터의
- 사용 부분은 주석 코퍼스를 만들 :
코 세라에 NLP 과정의 일부 동영상을 NLTK 책의 일부 챕터를 읽어보고 후 진행 방법에 대한 나의 이해는이 다음이다. 텍스트의 비공식 성 (예 : 맞춤법 오류, 정보가없는 대소 문자, 단어 약어 등) 때문에 기성품을 사용할 수 없습니다.
- 수동으로 (한숨 ...) 각 기사에 Penn TreeBank 태그 세트의 태그로 주석을 달아주십시오. 이 단계를 자동화하고 결과를 확인/수정하는 방법이 있습니까?
- 주석 처리 된 아티클에 POS 태그 지정자를 교육하십시오. 유망한 것으로 보이는 NLTK 트레이너 프로젝트를 발견했습니다 (http://nltk-trainer.readthedocs.org/en/latest/train_tagger.html).
- Chunking/Chinking. IOB 표기법을 사용하여 수동으로 다시 코퍼스에 주석을 추가해야합니다. 불행히도이 버그 보고서에 따르면 n-gram 덩어리는 깨졌습니다 : https://github.com/nltk/nltk/issues/367. 이것은 중요한 이슈로 보입니다. NLTK를 계속 사용해야 할지를 궁금하게 만드는 것은 그것이 1 년 이상이라는 것입니다.
- 모든 것을 제대로했으면 배우, 주제 및 날짜 시간을 청크에서 찾을 수 있다고 가정합니다. 맞습니까?
1,2,3 번을 건너 뛰고 작동하지만 오류율이 높은 구현이 가능합니까? 어떤 코퍼스를 사용해야합니까?
나는 또한 "yess", "c u"및 다른 가증함과 같은 일반적인 맞춤법 오류나 바로 가기를 수정하기위한 전처리 단계를 고려하고있었습니다. 이미 존재하는 것은 무엇이든 사용할 수 있습니까?
문제는 간단히 말해서 :이 문제를 해결하기위한 나의 접근 방식은 맞습니까? 그렇지 않다면 내가 뭘 잘못하고 있니?
를 학문적 차원에서이 http://en.wikipedia.org/wiki/Semantic_role_labeling입니다 여기 내가 당신의 예문에 대한 참조 것입니다. – cyborg