2016-08-19 3 views
0

이메일의 보낸 사람 : 헤더의 표시 이름이 주어지면 해당 이름이 다른 사람의 이름인지 다른 이름인지 여부를 결정하고 싶습니다. 다른 이름은 종종 조직의 이름 또는 제목/역할 일 수 있습니다.조직의 이름과 사람의 이름을 구별하십시오.

몇 가지 예 : 사람

  • 구글 주식 사람의 =>없는 이름의

    • 앨리스 스미스 => 이름은
    • 아마존 고객 지원 =>이 아니라 (그것은 조직의) 사람 (이 제목/역할이다)의 이름 사람 (이 제목/역할이다)

    가 어떻게 r에 수의 => 이름이 아닌 공학

  • 이사 보낸 사람의 이름이 개인의 이름을 나타내는 지 여부를 확인하십시오.


    가능한 한 가지 방법은 기계 학습을 사용하고 분류자를 훈련시키는 것입니다. 하지만 그렇게하면 어떤 기능을 사용해야합니까?

    • 형태의 문구 "워드 워드"나는 문학을 읽어 봤는데 내가 관련 문제에 사용 된 일부 기능을 본 적이 있지만, 정확히이 문제를 달려 드는 누군가를 발견하지 않았습니다 또는 "Word, Word"또는 "Word, Word Letter"또는 "Word Letter Word"또는 "Word, Word Letter"로 표시됩니다. 또는 "Word Letter. Word"는 이름이 될 가능성이 더 높습니다 ("First Last"와 "Last, First"및 "Last, First MI"및 "First MI Last"라고 생각하십시오).

    • 제목 (Mr., Mrs., Miss, Ms., Dr., Prof., Lt., Sgt. 등)으로 시작하는 구는 이름이 될 가능성이 큽니다. 일반적인 이름 접미사 (Jr., Sr., Phd, Esq)로 끝나는 구문은 이름이 될 가능성이 큽니다. 회사 표시기 (Inc., Corp., Corporation)로 끝나는 구는 아마도 이름이 아닙니다 (아마도 조직 일 것입니다).

    • 미국 인구 조사에서 가장 일반적인 이름과 성을 가진 list을 다운로드 할 수 있습니다. 구문에 문자열 중 하나가 포함되어 있으면 이름이 될 가능성이 큽니다. 또는 기존의 어휘집 (예 : BaLIE 또는 Oak lexicons)을 사용할 수 있습니다.

    • 구문에 사전에있는 단어가 포함되어 있으면 이름 (예 : 조직/제목/역할)이 아닌 것 같습니다.

    • 이름에있는 단어가 해당 이메일 주소의 도메인 이름에있는 단어와 일치하는 경우 이름 (예 : Paypal Customer Service)이 아닌 사람의 이름이 될 가능성이 큽니다.

    • 단어에 내부 아포스트로피 나 하이픈이 포함되어있는 경우 단어의 의미가 사람의 이름 일 가능성이 큽니다 (예 : O'Connor, Jean-Claude).

    하지만 실제로 작동하는지는 알 수 없습니다. 어떤 기능을 사용해야합니까? 또는 사전 훈련 된 분류 자 ​​또는 작동하는 것을 설명하는 경험 보고서가 있습니까?

    명명 된 엔티티 인식에 대해 조금 읽었지만 그게 더 어려운 문제인 것처럼 보입니다.

  • +0

    NER을 사용할 수 있습니다. 확인할 수 있습니다 : 포인트 5 - 명명 된 엔티티 인식 - http://www.nltk.org/book/ch07.html – RAVI

    답변

    1

    OpenNLP NER을 보시고 이미 많은 지원이 있습니다.

    그들은 here

    this blog 당신이 시작하는 당신을 위해 일을 페이스를 수 등 이름, 조직, 위치에 대한 이러한 사전 훈련 모델을 가지고있다.

    OpenNLP의 사전 교육 된 모델은 저에게 매우 효과적이었습니다. 미국/영국 이름으로 훈련되었으므로 잘 작동해야합니다. 또한 컨텍스트 기반입니다. 모델이 인사말 때문에 X라는 이름을 모르더라도 Mr. X 사건을 인식합니다.

    나를 잘 알고있는 조직. 좋은 훈련 데이터 (좋은 결과를 얻으려면 15000 문장)가 있으면 자신의 모델을 훈련시킬 수 있습니다. 그리고 훈련 과정은 위에서 언급 한 블로그에서 잘 설명되어 있습니다.

    희망이 도움이됩니다.

    관련 문제