神经元网络地名识别模型

neurotpr的Python项目详细描述


神经病

总体说明

neurtpr是一种地名识别模型,用于从社交媒体消息中提取位置。它基于一个通用的双向长短期记忆网络(BiLSTM),具有许多附加功能,如双层字符嵌入、手套字嵌入和上下文化单词嵌入ELMo。在

该模型的目标是提高从具有各种语言不规则性的社交媒体消息中识别地名的准确性,如非正式句子结构、大小写不一致(例如,“camino和springbrook路附近有一场大火”)、姓名缩写(例如。,“bsu”代表“博伊西州立大学”),以及拼写错误。我们基于2017年Harvey飓风的推特数据集,在灾难响应的应用环境中测试了Neuropr。在

更多细节可以在我们的论文中找到:Wang, J., Hu, Y., & Joseph, K. (2020): NeuroTPR: A Neuro-net ToPonym Recognition model for extracting locations from social media messages. Transactions in GIS, 24(3), 719-735.


图1。神经系统的整体结构 在

使用预训练神经pr模型

使用预训练神经网络模型进行地名识别需要以下步骤:

  1. 设置虚拟环境:请使用Anaconda创建一个新的虚拟环境,并使用以下命令安装依赖包(请按以下相同顺序运行它们):
   conda create -n NeuroTPR python=3.6
   conda activate NeuroTPR
   conda install keras -c conda-forge
   pip install git+https://www.github.com/keras-team/keras-contrib.git
   pip install neurotpr
  1. 下载pretrained model,并将其解压缩到您喜欢的文件夹中。在

  2. 使用neurtpr从文本中识别地名。下面是一个代码片段:

^{pr2}$

“topo_recog”函数的输入是一个字符串,输出是一个JSON对象的列表,在输入字符串中包含已识别的地名及其起始和结束索引。在

将neurtpr与地理定位服务相结合

neurtpr是一种地名识别模型,它不为识别的地名指定地理坐标。{a3}如果你想加上^ a4}其他的地名,你可以加上^ a4}坐标。请注意,这些服务并没有为您消除地名歧义,因为它们不知道这些地名是在什么上下文中提到的。但是,如果你的文本中的地名不是很含糊的话,使用其中一种服务是可以的。在

项目依赖性:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在OSGI中使用cxf生成的客户端时出现Java类装入器问题和JaxB异常   java为什么要在javamail中迭代多部分电子邮件中的部分?   并发编程问题   JFileChooser&&System中未调用java windowClosing。退出功能不正常?   SQL查询的java语法分析   java如何使用AspectJ声明字段上的警告   什么是java向量。元素()C#等价物   java解析Android应用程序中tornado web服务中的CSV文件   java我试过c2dm,我需要服务器端   java调整JPanel大小以适应新的JLabel图标   Java与Python脚本的通信   java使用Saxon通过XSLT生成URL   java net::ERR_complete_CHUNKED_编码200(OK)来自struts应用程序中的tomcat   java如何为我的窗格设置不同的位置?   java使用Cypher Neo4j获取给定类型的所有节点(从SQL世界中的tablename中选择*)   nio使用Java解析文件值   java使用WSDL生成REST客户端会是错误的方向吗?   java如何在我的应用程序中构建类映射?   java按钮。setEnabled在第一个循环中不起作用   xPath适用于最后一页,但不适用于第一页