2013-08-20 100 views
1

我有一個藥物名稱假設列表(crocin,seroflo,oxitab等)。列表很長。現在假設我需要找出列表中是否存在某種特定藥物,但也可能存在拼寫錯誤。假設我打算在列表中找到crocin,但我反而輸入了crosin。我想要機器學習算法克服這與我的印刷錯誤和crocin和crosin的小差異,它應該返回匹配找到機器學習克服打字錯誤

+1

在這裏,在堆棧溢出的拼寫校正,代碼是優於一個鏈接到一個網站,因爲一旦鏈接發生了變化,問題將不再具有歷史價值。訪問[這裏](http://stackoverflow.com/editing-help)尋求格式化代碼到你的問題的幫助。 –

回答

5

我不認爲你需要機器學習一個簡單的編輯距離算法應該這樣做。

https://en.wikipedia.org/wiki/Edit_distance

+0

我不得不降低這一點。看看以下資源 - http://eprints.whiterose.ac.uk/884/1/hodgevj10.pdf http://research.microsoft.com/pubs/68884/spell-correct-acl02.pdf http://research.ihost.com/and2007/cd/Proceedings_files/p79.pdf http://acl.ldc.upenn.edu/acl2002/MAIN/pdfs/Main336.pdf –

+0

另請參閱 - http: //books.google.co.in/books?id=7Mx1Y7bMSiAC&pg=PA384&lpg=PA384&dq=spell+correction+using+neural+networks&source=bl&ots=bPFUmEROUp&sig=H7MjHqdCOs1U_MxaP86Jx-JA4y0&hl=en&sa=X&ei=TcgyU_S_M4OnrAe7sYDwBQ&ved=0CHUQ6AEwBw#v=onepage&q=拼寫%20correction%20using%20neural%20networks&F =假 http://delivery.acm.org/10.1145/1080000/1075255/p286-brill.pdf?ip=115.111.134.66&id=1075255&acc=OPEN&key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35 %2E6D218144511F3437&CFID = 427131815&CFTOKEN = 90074681&__ acm __ = 1395837917_5a6a5e0725f8a9b61a970224a86f8371 –

+0

使用ML進行拼寫校正還有很多資源! –

0

我同意使用ML方法的必要性是值得懷疑的。但是,如果你真的想用「基於學習的方法進行拼寫校正」(我不確定這是否適用於藥品名稱),你可以參考以下文章:

基於winnow的方法,敏感拼寫校正

爲噪聲信道拼寫校正的改進的誤差模型

針對搜索查詢拼寫校正甲大規模基於排名器系統

查詢拼寫校正甲判別模型與潛 結構支持向量機

以圖爲基礎的拼寫修正在域中心搜索。

而本文是關於矯正人的名字:

基於散列的方法來個人姓名

+0

可以使用任何數據庫來解決這個問題。假設我把這兩個表格作爲regular_list和新的_list。然後通過查詢我可以比較上述距離,並讓數據庫相應地返回解決方案? – rohit