2013-11-21 8 views
0

시간, 장소 및 이름이 포함 된 웹 페이지에서 엔티티를 구문 분석하려고합니다. 나는 자연어 처리와 엔티티 추출에 대해 조금 읽었지 만 잘못된 경로로 향하고 있는지 확신 할 수 없어 여기에서 묻습니다.자연 언어 처리 또는 다른 기술을 사용하여 html에서 엔티티를 추출하는 방법

아직 어떤 것도 구현하지 않았기 때문에 특정 오픈 소스 라이브러리가 특정 언어에만 적합하면 괜찮습니다. (- 이벤트의 이름 - 아레나 이름 예를 들어,

  • 2013년 2월 1일)

    데이터가 문장에서 찾을 수없는 것 많은 시간, 대신리스트와 같은 HTML 구조이다.

    웹 페이지의 구조가 크게 달라집니다 (일부는 목록을 사용하거나 일부는 테이블에 넣을 수 있습니다).

    이것을 달성하는 방법에 대해 더 자세히 알아 보려면 어떤 주제를 연구해야합니까? 엔티티 추출을 할 때 html의 구조를 고려한 오픈 소스 라이브러리가 있습니까? CSS 스타일링으로 인해 구조화되지 않은 텍스트의 중요한 부분 (이름, 시간, 위치)을 쉽게 구별 할 수있는 머신 비전을 사용하여 html에서 이러한 (이름, 시간, 장소) 엔티티를 추출하는 것이 더 좋을까요?

    제가 연구 할 수있는 주제/오픈 소스 프로젝트에 대한 지침은 제 생각에 도움이 될 것입니다.

답변

1

많은 프로그래밍 언어에는 다양한 형식 (예 : Java의 경우 SimpleDateFormat을 사용)에서 표준 날짜 스탬프를 생성하는 외부 라이브러리가 있습니다. 말하자면 웹 페이지의 구조는 크게 달라질 수 있지만 날짜는 몇 가지 변형만을 사용하여 표현할 수 있으므로 몇 가지 형식의 정규 표현식을 작성하면됩니다. 모든 HTML 페이지가 아닌 대부분의 날짜 추출이 가능합니다.

그러나 장소와 이름을 추출하는 것은 어렵습니다. 여기서 자연어 처리을 입력해야합니다. 찾고있는 것은 Named Entity Recognition 시스템입니다. 가장 좋은 오픈 소스 NER 시스템 중 하나는 Standford NER입니다. 사용하려면 먼저 online demo을 확인해야합니다. 이 데모에는 선택할 수있는 세 가지 분류 기준 (영어)이 있습니다. 대부분의 작업에서 해당 english.all.3class.distsim 분류자가 매우 정확한 것으로 나타났습니다.

추출한 장소와 이름이 문장에서 발생하면 NER이 잘 수행됩니다. HTML 레이블로 표시 될 경우이 방법이 도움이되지 않을 수도 있습니다.

+0

일반적인 시나리오는 웹 페이지가 이름/장소/날짜가 문장에 포함되지 않도록 구성되므로 다른 아이디어를 찾고 있다고 생각합니다. 또한 날짜가 목록 항목의 본문에있는 동안 페이지 제목에 월 (예 : 연도)이있을 수 있으므로 사용자 지정 논리가 필요할 수 있습니다. 필자는 컴퓨터 비전에 대해 읽고 유용한 웹 페이지를 분류하는 데 어떻게 사용되는지 알아보기 시작했습니다. 이름/날짜를 선택할 때 대용량 글꼴을 고려할 수 있습니다. 그것이 그것에 관한 더 많은 정보를 발견하려고 노력하는 것. –