1. names = ['James John', 'Robert David', 'Paul' ... the list has 5K items]
2.
3. text1 = 'I saw James today'
4. text2 = 'I saw James John today'
5. text3 = 'I met Paul'
6.
7. is_name_in_text(text1,names) # this returns false 'James' in not in list
8. is_name_in_text(text2,names) # this returns 'James John'
9. is_name_in_text(text3,names) # this return 'Paul'
is_name_in_text()如果有名單的是文本搜索。
簡單的方法是使用'in
'運算符來檢查名稱是否在列表中,但列表中有5,000個項目,所以效率不高。我可以將文本拆分爲單詞,並檢查單詞是否爲in
列表,但如果您有多個單詞匹配,則這不起作用。在這種情況下,第7行將失敗。
您是否已經有了一種將名稱拉出短語的機制? –
是的,我可以做出改變。它也可以在字典中。 '['詹姆斯約翰':'詹姆斯約翰']' – Sam
恰好提出的問題。顯示測試數據的好工作。 –