久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Cpca 模塊:自動識別文字中的省市區并繪圖

     憤怒的蔥花 2024-08-06

    在做NLP(自然語言處理)相關任務時,經常會遇到需要識別并提取省、城市、行政區的需求。雖然我們自己通過關鍵詞表一個個查找也能實現提取目的,但是需要先搜集省市區關鍵詞表,相對而言比較繁瑣。

    今天給大家介紹一個模塊,你只需要把字符串傳遞給這個模塊,他就能給你返回這個字符串內的省、市、區關鍵詞,并能給你在圖片上標注起來,它就是 Cpca 模塊。

    1.準備

    開始之前,你要確保Pythonpip已經成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。

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

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

    請選擇以下任一種方式輸入命令安裝依賴

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

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

    在 windows 上可能會出現類似如下問題:

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

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

    2.基本使用

    通過兩行代碼就能實現最基本的省市區提取:

    # 公眾號: Python 實用寶典
    # 2022/06/23
    
    import cpca
    
    location_str = [
        "廣東省深圳市福田區巴丁街深南中路1025號新城大廈1層",
        "特斯拉上海超級工廠是特斯拉汽車首座美國本土以外的超級工廠,位于中華人民共和國上海市。",
        "三星堆遺址位于中國四川省廣漢市城西三星堆鎮的鴨子河畔,屬青銅時代文化遺址"
    ]
    df = cpca.transform(location_str)
    print(df)
    

    效果如下:

    省 市 區 地址 adcode
    0 廣東省 深圳市 福田區 巴丁街深南中路1025號新城大廈1層 440304
    1 上海市 None None 。310000
    2 四川省 德陽市 廣漢市 城西三星堆鎮的鴨子河畔,屬青銅時代文化遺址 510681
    

    注意第三條的廣漢市,cpca 不僅識別到了語句中的縣級市廣漢市,還能自動匹配到其代管市的德陽市,不得不說非常強大。

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

    # 公眾號: Python 實用寶典
    # 2022/06/23
    
    import cpca
    
    location_str = [
        "廣東省深圳市福田區巴丁街深南中路1025號新城大廈1層",
        "特斯拉上海超級工廠是特斯拉汽車首座美國本土以外的超級工廠,位于中華人民共和國上海市。",
        "三星堆遺址位于中國四川省廣漢市城西三星堆鎮的鴨子河畔,屬青銅時代文化遺址"
    ]
    df = cpca.transform(location_str, pos_sensitive=True)
    print(df)
    

    效果如下:

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

    它標記出了識別到省、市、區的關鍵位置(index),當然如果是德陽市這種特殊的識別會被標記為-1.

    3.高級使用

    它還可以從大段文本中批量識別多個地區:

    # 公眾號: Python 實用寶典
    # 2022/06/23
    
    import cpca
    
    long_text = "對一個城市的評價總會包含個人的感情。如果你喜歡一個城市,很有可能是喜歡彼時彼地的自己。"
        "在廣州、香港讀過書,工作過,在深圳買過房、短暫生活過,去北京出了幾次差。"
        "想重點比較一下廣州、深圳和香港,順帶說一下北京。總的來說,覺得廣州舒適、"
        "香港精致、深圳年輕氣氛好、北京大氣又粗糙。答主目前選擇了廣州。"
    df = cpca.transform_text_with_addrs(long_text, pos_sensitive=True)
    print(df)
    

    效果如下:

    (base) G:push20220623 >python 1.py
              省 市 區 地址 adcode 省_pos 市_pos 區_pos
    0       廣東省 廣州市 None     440100     -1     44     -1
    1   香港特別行政區 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   香港特別行政區 None  None     810000     92     -1     -1
    7       北京市 None  None     110000    100     -1     -1
    8       廣東省 廣州市 None     440100     -1    110     -1
    9   香港特別行政區 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
    

    不僅如此,模塊中還自帶一些簡單繪圖工具,可以在地圖上將上面輸出的數據以熱力圖的形式畫出來:

    # 公眾號: Python 實用寶典
    # 2022/06/23
    
    import cpca
    from cpca import drawer
    
    long_text = "對一個城市的評價總會包含個人的感情。如果你喜歡一個城市,很有可能是喜歡彼時彼地的自己。"
        "在廣州、香港讀過書,工作過,在深圳買過房、短暫生活過,去北京出了幾次差。"
        "想重點比較一下廣州、深圳和香港,順帶說一下北京。總的來說,覺得廣州舒適、"
        "香港精致、深圳年輕氣氛好、北京大氣又粗糙。答主目前選擇了廣州。"
    df = cpca.transform_text_with_addrs(long_text, pos_sensitive=True)
    drawer.draw_locations(df[cpca._ADCODE], "df.html")
    

    運行的時候可能會報這個錯:

    (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
    

    然后重新運行代碼,會在當前目錄下生成 df.html, 雙擊打開,效果如下:

    圖片

    怎么用,是不是感覺非常方便?以后地點的識別用這個模塊就完全夠了。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 亚洲国产成人综合精品| 亚洲av无码精品蜜桃| 日韩免费无砖专区2020狼| 国产一二三五区不在卡| 日本一区二区在线高清观看| 高清看男人插曲女人视频 | 成人网站国产在线视频内射视频| 国产真实乱人偷精品人妻| 日韩av日韩av在线| 曰韩亚洲AV人人夜夜澡人人爽| 久久精品一本到99热免费| 成人午夜看黄在线尤物成人| 亚洲日韩精品无码av海量| 日本一卡二卡3卡四卡网站精品| 午夜无码大尺度福利视频| 国产成人无码A区在线观| 欧美性受XXXX黑人XYX性爽| 国产超高清麻豆精品传媒麻豆精品| 饥渴的少妇2中文字幕| 最新国产精品好看的精品| 久久久久无码精品国产| 亚洲爆乳WWW无码专区| 国产精品国产自线拍免费软件| 亚洲日本高清一区二区三区| 欧美丰满熟妇xxxx性| 国产裸体美女视频全黄| 国产高清在线不卡一区| 国产精品永久免费视频| 国产明星精品无码AV换脸| 亚洲欧美日韩国产精品专区| 午夜福利试看120秒体验区| 国产对白老熟女正在播放| 小12萝8禁用铅笔自慰喷水| 中文字幕理伦午夜福利片| 中文字幕少妇人妻精品| 一本一道久久A久久精品综合| 又粗又紧又湿又爽的视频| 亚洲人妻一区二区精品| 午夜无码区在线观看亚洲| 丰满人妻AV无码一区二区三区| 国内老熟妇乱子伦视频|