摘要:準備字典文件為了更加準確的將失蹤地址中的省市縣三級單位提取出來,最好能夠直接以省市縣區(qū)的名稱為字典,這樣通過分詞以上的詞都能準確的切分出來。在網(wǎng)上搜索發(fā)現(xiàn),根據(jù)最新的國家統(tǒng)計區(qū)位碼之作的現(xiàn)成的字典文件,并沒有。
在失蹤兒童信息保存在本地之后,有一個字段是失蹤地點,字段內(nèi)容通常比較詳細,具體到了失蹤的街道或者村,我打算通過某種方法將失蹤地點中的省、市、縣/區(qū)三級地址提取出來。
確定分詞技術(shù)知道要干什么之后,那就將這個“某種方法”確定下來,根據(jù)以往的知識積累,利用分詞的原理來做,可能會更簡單。這次就不用php來寫了,換成python,在我的電腦上已經(jīng)安裝了python的開發(fā)環(huán)境,在python下使用的分詞組件,搜索了一下,jieba用的比較多,而且調(diào)用也非常的容易。
準備字典文件為了更加準確的將失蹤地址中的省、市、縣三級單位提取出來,最好能夠直接以省、市、縣、區(qū)的名稱為字典,這樣通過分詞99%以上的詞都能準確的切分出來。
在網(wǎng)上搜索發(fā)現(xiàn),根據(jù)最新的國家統(tǒng)計區(qū)位碼之作的現(xiàn)成的字典文件,并沒有。但是有同學之前開發(fā)過爬蟲將這些區(qū)位關(guān)系存在了mysql數(shù)據(jù)庫,并且在網(wǎng)上有他放出來的sql備份文件,下載下來恢復(fù)到數(shù)據(jù)庫中即可。
這個文件包含70多萬行數(shù)據(jù),在導入數(shù)據(jù)庫的過程大約花了十來分鐘。數(shù)據(jù)表如下:
因此,還需要將數(shù)據(jù)表中province_name,city_name,county_name提取出來即可,逐行存入文件就成為可以使用的字典文件。
import pymysql class AnManMysql: phost = "127.0.0.1" pyuer = "root" password = "123456" database = "anman_org" def pyMyConnection(phost,pyuser,password,database): db = pymysql.connect(phost,pyuser,password,database,charset="utf8") # cursor = db.cursor() return db # 導出省市縣鎮(zhèn)村字典 def getDict(db): cursor = db.cursor() cursor.execute("select distinct province_name from j_position") data = cursor.fetchall() # 打開字典文件my.dict fo = open("my.dict","w+") for da in data: print(da[0]) fo.seek(0,2) fo.write(da[0]+" ") print(len(data)) cursor.execute("select distinct city_name from j_position") data = cursor.fetchall() for da in data: print(da[0]) fo.seek(0, 2) fo.write(da[0] + " ") print(len(data)) cursor.execute("select distinct county_name from j_position") data = cursor.fetchall() for da in data: print(da[0]) fo.seek(0, 2) fo.write(da[0] + " ") print(len(data)) cursor.execute("select distinct town_name from j_position") data = cursor.fetchall() for da in data: print(da[0]) fo.seek(0, 2) fo.write(da[0] + " ") print(len(data)) # cursor.execute("select distinct village_name,village_id from j_position") # data = cursor.fetchall() # for da in data: # print(da[0]) # print(da[1]) # fo.seek(0, 2) # fo.write(da[0] + " ") # print(len(data)) fo.close()
在python里新建一個類,增加一個方法,打開一個字典文件,逐個從數(shù)據(jù)庫中distinct字段,然后逐行追加到字典文件中。
cursor = AnManMysql.pyMyConnection(AnManMysql.phost,AnManMysql.pyuer,AnManMysql.password,AnManMysql.database) AnManMysql.getDict(cursor)最后再來看看得到的字典文件
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/41623.html
摘要:需求展示西安市各區(qū)縣的地圖,點擊各區(qū)縣下鉆到各鄉(xiāng)鎮(zhèn)街道,只能內(nèi)網(wǎng)環(huán)境使用,不可用通過百度高德地圖來實現(xiàn)。利用展示自定義的地圖關(guān)于具體如何導入格式數(shù)據(jù)到的方法,可以參考官方示例。 需求 展示西安市各區(qū)縣的地圖,點擊各區(qū)縣下鉆到各鄉(xiāng)鎮(zhèn)/街道,只能內(nèi)網(wǎng)環(huán)境使用,不可用通過百度/高德地圖來實現(xiàn)。 解決 利用地圖數(shù)據(jù)生成區(qū)域的geojson 網(wǎng)絡(luò)上大部分地圖數(shù)據(jù)只是到省市,最多到區(qū)縣,再往下的數(shù)...
摘要:實現(xiàn)全國城市三級聯(lián)動傳統(tǒng)模式,監(jiān)聽下拉選擇框的事件實現(xiàn)全國城市三級聯(lián)動傳統(tǒng)方式省份請選擇城市請選擇區(qū)縣請選擇三級聯(lián)動用到的全國城市數(shù)據(jù) extjs 6.2.0 實現(xiàn)全國城市三級聯(lián)動 傳統(tǒng)模式,監(jiān)聽下拉選擇框的change事件實現(xiàn) 全國城市三級聯(lián)動-傳統(tǒng)方式 function ge...
摘要:寫省市區(qū)三級聯(lián)動插件的關(guān)鍵是在于你如何編寫自己的省市縣區(qū)文件,你要是把數(shù)據(jù)格式寫對了,可以很輕松的寫一省市區(qū)插件出來。 最近剛做完一個版本的項目,閑暇時間,就索性把項目中需要用到的插件都自己寫了一個,畢竟自己動手豐衣足食才是最重要,自己寫的,可以應(yīng)對各種項目需求,今天又把手機端的省市區(qū)三級聯(lián)動選擇功能編寫了一個插件出來,代碼很簡單,樣式也是應(yīng)用的跟日期時間選擇插件的一樣。寫省市區(qū)三級聯(lián)...
摘要:寫省市區(qū)三級聯(lián)動插件的關(guān)鍵是在于你如何編寫自己的省市縣區(qū)文件,你要是把數(shù)據(jù)格式寫對了,可以很輕松的寫一省市區(qū)插件出來。 最近剛做完一個版本的項目,閑暇時間,就索性把項目中需要用到的插件都自己寫了一個,畢竟自己動手豐衣足食才是最重要,自己寫的,可以應(yīng)對各種項目需求,今天又把手機端的省市區(qū)三級聯(lián)動選擇功能編寫了一個插件出來,代碼很簡單,樣式也是應(yīng)用的跟日期時間選擇插件的一樣。寫省市區(qū)三級聯(lián)...
閱讀 3785·2023-04-26 02:07
閱讀 3671·2021-10-27 14:14
閱讀 2859·2021-10-14 09:49
閱讀 1624·2019-08-30 15:43
閱讀 2611·2019-08-29 18:33
閱讀 2369·2019-08-29 17:01
閱讀 915·2019-08-29 15:11
閱讀 582·2019-08-29 11:06