2016-08-19 39 views
0

給定電子郵件From:標題的顯示名稱,我想確定它是代表某人的姓名還是其他名稱。別的東西往往可能是一個組織的名稱,或者可能是一個標題/角色。區分一個人與一個組織的名稱

一些例子:

  • 愛麗絲·史密斯=>一個人
  • 谷歌公司=>不是一個人的名字的名字(這是一個組織)
  • 亞馬遜客戶支持=>不一個人(這是一個標題/角色)的名稱
  • 工程總監=>不是一個人(這是一個標題/角色)

我怎樣才能爲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」)。

  • 以標題(先生,女士,小姐,女士,博士,教授,中尉,中士等)開頭的短語更可能是一個名稱。以共同名稱後綴(Jr.,Sr.,Phd,Esq)結尾的短語更可能是一個名稱。以公司指標(Inc.,Corp.,Corporation)結尾的短語可能不是名稱(可能是一個組織)。

  • 可以從美國人口普查中下載list最常見的名字和姓氏。如果該短語包含其中一個字符串,則更可能是一個名稱。或者,可以使用現有的詞典,例如BaLIE或Oak詞典。

  • 如果該短語包含詞典中找到的單詞,則它更可能不是名稱(例如,組織/標題/角色)。

  • 如果名稱中的單詞與相應電子郵件地址的域名中的單詞匹配,則更可能不是某個人的名稱(例如,Paypal客戶服務)。

  • 如果一個單詞包含一個內部撇號或連字符,它更可能是一個人的名字(例如,奧康納,讓 - 克勞德)。

但我不知道什麼會實際工作。我應該使用哪些功能?或者,是否有任何預先訓練的分類器或任何經驗報告來描述什麼可行?

我已經讀了一些關於命名實體識別的內容,但這似乎是一個更難的問題。

+0

你可以使用NER,它不難。你可以檢查:第5點 - 命名實體識別 - http://www.nltk.org/book/ch07.html – RAVI

回答

1

看看OpenNLP NER很多支持已經在那裏。

他們有這些預先訓練模型的名稱,組織,地點等, here

this blog可以讓你開始和節奏了你的東西。

OpenNLP的預訓練模型對我來說工作得非常好,它在美國/英國的名字訓練,所以它必須爲你工作。它也是基於上下文的。它承認X先生,儘管模型由於稱呼而不知道名稱X.

它對我來說非常好。一旦你有良好的訓練數據,你就可以訓練你自己的模型(15000個句子以獲得好的結果)。而且我在上面提到的博客中很好地解釋了培訓過程。

希望這會有所幫助。

相關問題