2017-08-10 50 views
0

我的問題是算法拆分連在一起的名稱

我的全名與連在一起的名稱,如「davidrobert瓊斯」。我想將它分成「大衛羅伯特瓊斯」。

我用名字字典測試了使用最長前綴匹配算法的解決方案,但並不是那麼簡單,因爲名稱可以用很多方式編寫。 我也添加了語音匹配算法,但也有許多名字可能有相同的發音,所以他們很模糊。

這樣做的最佳解決方案是什麼?我相信機器學習可以有一個答案,但我不太瞭解機器學習。

+1

這可能是一個愚蠢的問題,但我想名稱不會通常在分割點有一個大寫字母,對吧?如上所述,無論如何,這個問題過於寬泛,而且界定不明確;例如,「Jeanmarie」,「Jean-Marie」和「Jean Marie」都是合情合理的名字。 – jdehesa

+0

嗯,我認爲這是一個具有挑戰性的問題。我編輯了這個問題來更清楚地解決問題,全名全是小寫字母。如果一個名字似乎是合理的名字並不意味着它是該名字的正確名稱。 –

+1

你的問題也很不明確。你說你想要爲同一個名字捕捉不同的拼寫,但是你不想讓不同的拼寫聽起來相同的名字。然後你想猜出「正確的名字」,但是無法判斷「Jeanmarie」或「Jean Marie」是否是正確的答案。數據驅動的方法(例如使用機器學習)可能會幫助您獲得最合理的方法(不一定是正確的方法),但您似乎不希望那樣做...... – lenz

回答

1

我認爲你的問題類似於Named Entity Recognizer命名實體識別(NER)在文本中標註單詞序列,這些單詞是事物名稱,如人名和公司名稱。在第5節中,article的python方法爲Named Entity Recognition

0

一個可能的算法解決方案是創建代表所有可能LAST_NAMEFIRST_NAME您好更長的成分字典。然後,對於任何給定的令牌列表(以空格分隔的詞),對於每個令牌,找到與該令牌具有最短編輯距離的所有字典輸入組