神经元网络地名识别模型

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第三方库


热门话题
java JavaFX TableView更新单元格,不更新对象值   在扫描器中使用分隔符的java   java OkHttp 4.9.2,连接无法重用,导致端口耗尽   eclipse中的c JNI:运行Java代码   java是否在出厂的所有硬件设备中都有/mnt/sdcard/Android/data文件夹(或等效文件夹)?   Java,在eclipse中访问资源文件夹中的图像   java为什么Bluemix dashDB操作抛出SqlSyntaxErrorException,SQLCODE=1667?   JavaHtmlUnitWebClient。getPage不处理javascript   Google API认证的java问题   java如何将JSON数组反序列化为Apache beam PCollection<javaObject>   ServerSocket停止接收命令,java/安卓   来自Java类的安卓 Toast消息   java如何自动重新加载应用程序引擎开发服务器?   java是否可以尝试/捕获一些东西来检查是否抛出了异常?   java如何做到这一点当我按下load game时,它不仅会加载信息,还会将您带到游戏中?   Java选项Xmx代表什么?   Java映射,它在插入时打印值   设置“ulimit c unlimited”后,java无法生成系统核心转储