小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Cpca 模塊:自動(dòng)識(shí)別文字中的省市區(qū)并繪圖

 憤怒的蔥花 2024-08-06

在做NLP(自然語(yǔ)言處理)相關(guān)任務(wù)時(shí),經(jīng)常會(huì)遇到需要識(shí)別并提取省、城市、行政區(qū)的需求。雖然我們自己通過(guò)關(guān)鍵詞表一個(gè)個(gè)查找也能實(shí)現(xiàn)提取目的,但是需要先搜集省市區(qū)關(guān)鍵詞表,相對(duì)而言比較繁瑣。

今天給大家介紹一個(gè)模塊,你只需要把字符串傳遞給這個(gè)模塊,他就能給你返回這個(gè)字符串內(nèi)的省、市、區(qū)關(guān)鍵詞,并能給你在圖片上標(biāo)注起來(lái),它就是 Cpca 模塊。

1.準(zhǔn)備

開(kāi)始之前,你要確保Pythonpip已經(jīng)成功安裝在電腦上,如果沒(méi)有,可以訪(fǎng)問(wèn)這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南。

請(qǐng)選擇以下任一種方式輸入命令安裝依賴(lài)

  1. Windows 環(huán)境 打開(kāi) Cmd (開(kāi)始-運(yùn)行-CMD)。
  2. MacOS 環(huán)境 打開(kāi) Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install cpca

注意,目前 cpca 模塊僅支持Python3及以上版本。

在 windows 上可能會(huì)出現(xiàn)類(lèi)似如下問(wèn)題:

Building wheel for pyahocorasick (setup.py) ... error

先閱讀原文去下載 Microsoft Visual C++ Build Tools 安裝VC++構(gòu)建工具,再重新 pip install cpca,即可解決問(wèn)題。

2.基本使用

通過(guò)兩行代碼就能實(shí)現(xiàn)最基本的省市區(qū)提?。?/p>

# 公眾號(hào): Python 實(shí)用寶典
# 2022/06/23

import cpca

location_str = [
    "廣東省深圳市福田區(qū)巴丁街深南中路1025號(hào)新城大廈1層",
    "特斯拉上海超級(jí)工廠是特斯拉汽車(chē)首座美國(guó)本土以外的超級(jí)工廠,位于中華人民共和國(guó)上海市。",
    "三星堆遺址位于中國(guó)四川省廣漢市城西三星堆鎮(zhèn)的鴨子河畔,屬青銅時(shí)代文化遺址"
]
df = cpca.transform(location_str)
print(df)

效果如下:

省 市 區(qū) 地址 adcode
0 廣東省 深圳市 福田區(qū) 巴丁街深南中路1025號(hào)新城大廈1層 440304
1 上海市 None None 。310000
2 四川省 德陽(yáng)市 廣漢市 城西三星堆鎮(zhèn)的鴨子河畔,屬青銅時(shí)代文化遺址 510681

注意第三條的廣漢市,cpca 不僅識(shí)別到了語(yǔ)句中的縣級(jí)市廣漢市,還能自動(dòng)匹配到其代管市的德陽(yáng)市,不得不說(shuō)非常強(qiáng)大。

如果你想獲知程序是從字符串的那個(gè)位置提取出省市區(qū)名的,可以添加一個(gè) pos_sensitive=True 參數(shù):

# 公眾號(hào): Python 實(shí)用寶典
# 2022/06/23

import cpca

location_str = [
    "廣東省深圳市福田區(qū)巴丁街深南中路1025號(hào)新城大廈1層",
    "特斯拉上海超級(jí)工廠是特斯拉汽車(chē)首座美國(guó)本土以外的超級(jí)工廠,位于中華人民共和國(guó)上海市。",
    "三星堆遺址位于中國(guó)四川省廣漢市城西三星堆鎮(zhèn)的鴨子河畔,屬青銅時(shí)代文化遺址"
]
df = cpca.transform(location_str, pos_sensitive=True)
print(df)

效果如下:

(base) G:push20220623 >python 1.py
     省 市 區(qū) 地址 adcode 省_pos 市_pos 區(qū)_pos
0  廣東省 深圳市 福田區(qū) 巴丁街深南中路1025號(hào)新城大廈1層 440304      0      3      6
1  上海市 None None 。310000     38     -1     -1
2  四川省 德陽(yáng)市 廣漢市 城西三星堆鎮(zhèn)的鴨子河畔,屬青銅時(shí)代文化遺址 510681      9     -1     12

它標(biāo)記出了識(shí)別到省、市、區(qū)的關(guān)鍵位置(index),當(dāng)然如果是德陽(yáng)市這種特殊的識(shí)別會(huì)被標(biāo)記為-1.

3.高級(jí)使用

它還可以從大段文本中批量識(shí)別多個(gè)地區(qū):

# 公眾號(hào): Python 實(shí)用寶典
# 2022/06/23

import cpca

long_text = "對(duì)一個(gè)城市的評(píng)價(jià)總會(huì)包含個(gè)人的感情。如果你喜歡一個(gè)城市,很有可能是喜歡彼時(shí)彼地的自己。"
    "在廣州、香港讀過(guò)書(shū),工作過(guò),在深圳買(mǎi)過(guò)房、短暫生活過(guò),去北京出了幾次差。"
    "想重點(diǎn)比較一下廣州、深圳和香港,順帶說(shuō)一下北京。總的來(lái)說(shuō),覺(jué)得廣州舒適、"
    "香港精致、深圳年輕氣氛好、北京大氣又粗糙。答主目前選擇了廣州。"
df = cpca.transform_text_with_addrs(long_text, pos_sensitive=True)
print(df)

效果如下:

(base) G:push20220623 >python 1.py
          省 市 區(qū) 地址 adcode 省_pos 市_pos 區(qū)_pos
0       廣東省 廣州市 None     440100     -1     44     -1
1   香港特別行政區(qū) None  None     810000     47     -1     -1
2       廣東省 深圳市 None     440300     -1     58     -1
3       北京市 None  None     110000     71     -1     -1
4       廣東省 廣州市 None     440100     -1     86     -1
5       廣東省 深圳市 None     440300     -1     89     -1
6   香港特別行政區(qū) None  None     810000     92     -1     -1
7       北京市 None  None     110000    100     -1     -1
8       廣東省 廣州市 None     440100     -1    110     -1
9   香港特別行政區(qū) None  None     810000    115     -1     -1
10      廣東省 深圳市 None     440300     -1    120     -1
11      北京市 None  None     110000    128     -1     -1
12      廣東省 廣州市 None     440100     -1    143     -1

不僅如此,模塊中還自帶一些簡(jiǎn)單繪圖工具,可以在地圖上將上面輸出的數(shù)據(jù)以熱力圖的形式畫(huà)出來(lái):

# 公眾號(hào): Python 實(shí)用寶典
# 2022/06/23

import cpca
from cpca import drawer

long_text = "對(duì)一個(gè)城市的評(píng)價(jià)總會(huì)包含個(gè)人的感情。如果你喜歡一個(gè)城市,很有可能是喜歡彼時(shí)彼地的自己。"
    "在廣州、香港讀過(guò)書(shū),工作過(guò),在深圳買(mǎi)過(guò)房、短暫生活過(guò),去北京出了幾次差。"
    "想重點(diǎn)比較一下廣州、深圳和香港,順帶說(shuō)一下北京??偟膩?lái)說(shuō),覺(jué)得廣州舒適、"
    "香港精致、深圳年輕氣氛好、北京大氣又粗糙。答主目前選擇了廣州。"
df = cpca.transform_text_with_addrs(long_text, pos_sensitive=True)
drawer.draw_locations(df[cpca._ADCODE], "df.html")

運(yùn)行的時(shí)候可能會(huì)報(bào)這個(gè)錯(cuò):

(base) G:push20220623 >python 1.py
Traceback (most recent call last):
  File "1.py", line 12, in < module >
    drawer.draw_locations(df[cpca._ADCODE], "df.html")
  File "G:Anaconda3libsite-packagescpcadrawer.py", line 41, in draw_locations
    import folium
ModuleNotFoundError: No module named 'folium'

使用pip安裝即可:

pip install folium

然后重新運(yùn)行代碼,會(huì)在當(dāng)前目錄下生成 df.html, 雙擊打開(kāi),效果如下:

圖片

怎么用,是不是感覺(jué)非常方便?以后地點(diǎn)的識(shí)別用這個(gè)模塊就完全夠了。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多