2017-05-15 21 views
0

我有一個英文文本,我想處理它以檢測Python中另一個字典中的特定條目(示例條目:質譜)。這些條目非常重要,因爲它們需要與以後的註釋匹配。爲了做到這一點,我需要爲每個條目添加許多形式(如複數形式,首字母縮寫詞等),或者找到一種方法來進行智能處理。蠻力方法不僅需要更多的時間(對我來說),但我可能無法解決所有情況(我想要質譜,可能是光譜,但不是質量)。我不是在尋找解決方案,我只需要指導如何解決問題和使用哪個工具箱。字典越來越多,智能的方法將是首選。文本處理和python中的特定字典中的檢測

我在Python中找到了NLTK,但我不知道如何使用我的dict,或者不使用內置的語料庫。

示例 - 我有一句話: [u'Liquid',u'biopsies',u'based',u'on',u'circulating',u'cell-free',u'DNA' u'(cfDNA)',uanalysis',u'are',u'described',u'as',u'surrogate',u'samples',u'for',u'molecular',uanalysis ''] 我有一個字典{'Liquid biopsy':['Blood for analysis'],'cfDNA':['Blood for analysis']}。數組被有意使用,所以它們都是同一個對象,因此試圖在字典中創建別名。

如何將我的條目與文本匹配?

在此先感謝!

+0

如果您向我們展示了您想象中的工作流程的代碼示例,那將會更有幫助。 –

+0

歡迎來到StackOverflow。請閱讀並遵守幫助文檔中的發佈準則。 [在主題](http://stackoverflow.com/help/on-topic)和[如何提問](http://stackoverflow.com/help/how-to-ask)適用於此處。 StackOverflow不是一個設計,編碼,研究或教程服務;它集中於特定的編程問題。 – Prune

+0

對不起,我從我的用例中添加了一個非常具體的例子。文本和字典都大得多。 –

回答

1

如果我沒有誤解你,你想檢查與列表項目的字典項目。然後將結果打印到控制檯。

dict_1={"Liquid Biopsy":"Blood for analysis","cfDNA":"Blood for analysis","Liquid Biopsies":"Blood for analysis"} 
list_1=[u'Liquid', u'biopsies', u'based', u'on', u'circulating', u'cell-free', u'DNA', u'(cfDNA)', u'analysis', u'are', u'described', u'as', u'surrogate', u'samples', u'for', u'molecular', u'analysis.'] 
string_1=" ".join(list_1).lower() 
for i in dict_1: 
    if i.lower() in string_1: 
     print("Key: {}\nValue: {}\n".format(i,dict_1[i])) 

我用上面的代碼和控制檯打印了下面的結果。

Key: Liquid Biopsies 
Value: Blood for analysis 

Key: cfDNA 
Value: Blood for analysis 


Process finished with exit code 0