首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从作者从属关系中提取国家名称

从作者从属关系中提取国家名称
EN

Stack Overflow用户
提问于 2011-03-15 21:06:32
回答 3查看 2.6K关注 0票数 7

我目前正在探索从作者从属关系(PubMed文章)中提取国家名称的可能性。我的样本数据如下:

Mechanical and Production Engineering Department, National University of Singapore.

Cancer Research Campaign Mammalian Cell DNA Repair Group, Department of Zoology, Cambridge, U.K.

Cancer Research Campaign Mammalian Cell DNA Repair Group, Department of Zoology, Cambridge, UK.

Lilly Research Laboratories, Eli Lilly and Company, Indianapolis, IN 46285.

最初,我尝试删除标点符号并将向量分成单词,然后将其与维基百科中的国家名称列表进行比较,但我在这方面做得不成功。

有没有人能给我推荐一个更好的方法呢?我更喜欢在R中的解决方案,因为我必须在R中做进一步的分析和生成图形。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-15 21:45:57

这里有一个简单的解决方案,可能会让你开始一些工作。它利用了一个在地图包中包含城市和国家数据的数据库。如果你能得到一个更好的数据库,那么修改代码应该很简单。

代码语言:javascript
运行
AI代码解释
复制
library(maps)
library(plyr)

# Load data from package maps
data(world.cities)

# Create test data
aa <- c(
    "Mechanical and Production Engineering Department, National University of Singapore.",
    "Cancer Research Campaign Mammalian Cell DNA Repair Group, Department of Zoology, Cambridge, U.K.",
    "Cancer Research Campaign Mammalian Cell DNA Repair Group, Department of Zoology, Cambridge, UK.",
    "Lilly Research Laboratories, Eli Lilly and Company, Indianapolis, IN 46285."
)

# Remove punctuation from data
caa <- gsub(aa, "[[:punct:]]", "")    ### *Edit*

# Split data at word boundaries
saa <- strsplit(caa, " ")

# Match on cities in world.cities
# Assumes that if multiple matches, the last takes precedence, i.e. max()
llply(saa, function(x)x[max(which(x %in% world.cities$name))])

# Match on country in world.countries
llply(saa, function(x)x[which(x %in% world.cities$country.etc)])

这是城市的结果:

代码语言:javascript
运行
AI代码解释
复制
[[1]]
[1] "Singapore"

[[2]]
[1] "Cambridge"

[[3]]
[1] "Cambridge"

[[4]]
[1] "Indianapolis"

对国家和地区的结果是:

代码语言:javascript
运行
AI代码解释
复制
[[1]]
[1] "Singapore"

[[2]]
[1] "UK"

[[3]]
[1] "UK"

[[4]]
character(0)

通过一些数据清理,您也许能够对此做一些事情。

票数 9
EN

Stack Overflow用户

发布于 2011-03-15 21:29:29

一种方法是拆分字符串以隔离地理信息(例如,删除第一个coma之前的所有内容),然后将结果提交给地理编码服务。

例如,Google地理编码API允许发送地址,并返回本地化和相应的地理信息,如国家。我不认为有现成的R包可以做到这一点,但你可以在这里找到一些函数,例如:

Geocoding in R with Google Maps

还有其他语言的扩展,比如Ruby:

http://geokit.rubyforge.org/

这也取决于你的观察次数,例如,如果我没记错的话,免费的Google API被限制在大约200个地址/ IP /天。

票数 1
EN

Stack Overflow用户

发布于 2019-10-31 14:36:16

@Andrie的答案很好,但它忽略了超过一个单词的城市和国家,例如新西兰或纽约。第二个例子令人担忧,因为它将被标记为与英国约克匹配,而不是与美国纽约匹配。

这个替代方案应该能更好地捕捉到这些情况。

代码语言:javascript
运行
AI代码解释
复制
library(maps)
library(plyr)

# Load data from package maps
data(world.cities)

# Create test data
aa <- c(
    "Mechanical and Production Engineering Department, National University of Singapore.",
    "Cancer Research Campaign Mammalian Cell DNA Repair Group, Department of Zoology, Cambridge, U.K.",
    "Cancer Research Campaign Mammalian Cell DNA Repair Group, Department of Zoology, Cambridge, UK.",
    "Lilly Research Laboratories, Eli Lilly and Company, Indianapolis, IN 46285."
)

saa <- sapply(aa, strsplit, split = ", ", USE.NAMES = FALSE)
llply(saa, function(x)x[which(x %in% world.cities$name)])
llply(saa, function(x)x[which(x %in% world.cities$country.etc)])

缺点是,任何没有特定国家或城市字段的条目都不会返回任何内容,例如新加坡大学的例子。

城市:

代码语言:javascript
运行
AI代码解释
复制
[[1]]
character(0)

[[2]]
[1] "Cambridge"

[[3]]
[1] "Cambridge"

[[4]]
[1] "Indianapolis"

对我来说,这不是一个问题,而是多个单词的城市/国家问题。选择更适合您的数据的选项。也许有一种方法可以将两者结合起来?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5318076

复制
相关文章
​从句子里提取出基因名称
"To ascertain whether a pre-existing subset of endoderm progenitors were responsible for generating endoderm cells in EZH2-/- cultures, we used flow cytometry to separate KIT+/CXCR4+ (endoderm primed) and KIT-/CXCR4- (not endoderm primed) EZH2-/- populations and subjected the cells to endoderm differentiation"
小洁忘了怎么分身
2023/04/19
3150
python:如何从 URL 中快速提取域名?
有时候,我们要从一段很长的 URL 里面提取出域名。例如从https://www.kingname.info/2020/10/02/copy-from-ssh/,我需要获取的是kingname.info。
王图思睿
2021/06/16
9.4K0
Hive 正则提取英文名称和中文名称
Hive 正则提取英文名称和中文名称 提取英文名称 select regexp_extract("Aptamil 爱他美(德国)",'([A-Z][a-z]*(\\s|$))+', 1); select regexp_extract("Skin 伊思",'(\\w*(\\s|$))+', 1); select regexp_extract("SKIN 伊思",'(\\w*(\\s|$))+', 1); 提取中文名称 select regexp_extract("Aptamil 爱他美(德国)",'(
大数据工程师-公子
2019/03/14
5.2K0
从ceph对象中提取RBD中的指定文件
之前有个想法,是不是有办法找到rbd中的文件与对象的关系,想了很久但是一直觉得文件系统比较复杂,在fs 层的东西对ceph来说是透明的,并且对象大小是4M,而文件很小,可能在fs层进行了合并,应该很难找到对应关系,最近看到小胖有提出这个问题,那么就再次尝试了,现在就是把这个实现方法记录下来 这个提取的作用个人觉得最大的好处就是一个rbd设备,在文件系统层被破坏以后,还能够从rbd提取出文件,我们知道很多情况下设备的文件系统一旦破坏,无法挂载,数据也就无法读取,而如果能从rbd中提取出文件,这就是保证了即使文件系统损坏的情况下,数据至少不丢失
用户2772802
2018/08/06
5K0
如何从内存提取LastPass中的账号密码
简介 首先必须要说,这并不是LastPass的exp或者漏洞,这仅仅是通过取证方法提取仍旧保留在内存中数据的方法。之前我阅读《内存取证的艺术》(The Art of Memory Forensics)时,其中有一章节就有讨论从浏览器提取密码的方法。当你使用标准的用户名/密码方式登录一个网页,通常会发送一个包含了你的用户名及密码的post请求,这些都是以明文方式发送(这里不过多讨论SSL,在SSL内部也是明文发送的)。 本文描述如何找到这些post请求并提取信息,当然如果你捕获到浏览器登录,这些方法就很实用。
FB客服
2018/02/09
5.9K0
如何从内存提取LastPass中的账号密码
Git账号-自定义提交时作者名称和邮箱信息
我们如果已经在本地创建了一个Git账号并进行了使用。而该git上配置的用户名和邮箱都是我们私下的账号信息。
zinyan.com
2023/07/13
4340
Git账号-自定义提交时作者名称和邮箱信息
如何从网站提取数据?
在当今时代,根据数据情况来制定业务决策是许多公司的头等大事。为了推动这些决策,公司全天候跟踪,监视和记录相关数据。幸运的是,很多网站的服务器上存储了大量公共数据,可以帮助企业在竞争激烈的市场中保持领先地位。
用户7850017
2021/01/29
3.2K0
如何从 Debian 系统中的 DEB 包中提取文件?
DEB 包是 Debian 系统中常见的软件包格式,用于安装和管理软件。有时候,您可能需要从 DEB 包中提取特定的文件,以便查看其内容、修改或进行其他操作。本文将详细介绍如何从 Debian 系统中的 DEB 包中提取文件,并提供相应的示例。
网络技术联盟站
2023/06/08
3.7K0
如何从 Debian 系统中的 DEB 包中提取文件?
Netty中的线程名称
创建的第一个步骤就是创建线程执行器ThreadPerTaskExecutor, 这个线程执行器就是用来创建Netty底层的线程的. 在学习Java的Thread时候,线程默认名称类似thread-0,thread-1,thread-2...以此类推. 而线程的名称对于我们排查问题的时候也是起到很大作用的, 因此我们在设计线程池, 也会根据一定的规则给线程池中的线程命名, 这也是一个好的习惯.
书唐瑞
2022/06/02
1.2K0
Netty中的线程名称
python 从字典中提取子集
prices = { 'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37.20, 'FB': 10.75 } Make a dictionary of all prices over 200 p1 = {key: value for key, value in prices.items() if value > 200} Make a dictionary of tech stocks tech_names = {'AAPL', 'IB
用户5760343
2019/09/25
1.4K0
从wrfout 提取站点数据
数据准备是机器学习的基础,俗话说巧妇难为无米之炊,没有数据的机器学习就是耍流氓。
MeteoAI
2019/07/22
9K4
Python 从视频中提取图像
视频由图像连续切换构成,本文记录python提取视频中图像的方法。 核心方法 使用opencv 库 中的VideoCapture 方法: import cv2 cap = cv2.VideoCapture(url) cap.set(1, 1) # 取它的第一帧 rval, frame = cap.read() # rval 为是否成功的标记(True为正常), frame 为截取的图像 工具代码 # -*- coding: utf-8 -*- import cv2 from PIL import
为为为什么
2022/08/06
1.2K0
Python 从视频中提取图像
Linux运维必知:如何从其 PID 中查找进程名称
ps 命令用于进程相关的操作,在上面的命令中,-p PID提供进程 ID 并-o comm=要求它输出与给定 PID 关联的命令。
网络技术联盟站
2022/03/02
5.6K0
Linux运维必知:如何从其 PID 中查找进程名称
dedecms提取某栏目及子栏目名称到首页怎么弄
  我们建网站时有不同的需求,例如为页面创建一个栏目导航,用dedecms如何提取某栏目及子栏目名称和链接呢?如下图所示,先列出指定的顶级栏目,在下方再列出此栏目的所有子栏目。   之前ytkah说过
ytkah
2018/03/06
7.8K0
dedecms提取某栏目及子栏目名称到首页怎么弄
JCIM|MIT团队:从科学文献中自动提取化学反应
近期,麻省理工学院计算机科学与人工智能实验室的Jiang Guo等人在J Chem Inf Model杂志发表文章,介绍了一种从化学文献中提取反应的自动化方法。该方法将这类任务表述为结构预测问题,并通过一个由产物提取和反应角色标记组成的两个阶段的深度学习架构来解决。
智药邦
2022/06/08
2.3K0
JCIM|MIT团队:从科学文献中自动提取化学反应
一日一技:如何从 URL 中快速提取域名?
有时候,我们要从一段很长的 URL 里面提取出域名。例如从https://www.kingname.info/2020/10/02/copy-from-ssh/,我需要获取的是kingname.info。
青南
2020/11/03
5K0
一日一技:如何从 URL 中快速提取域名?
Python | 从 PDF 中提取文本内容
本来打算推一篇如何使用 Python 从 PDF 中提取文本内容的文章,但是因为审核原因,公众号上发不出来。尝试排查了一个小时,还是没有搞定,索性就放弃挣扎了。我在这里放出来文章的第一部分,如果有兴趣,可以前往我的 Github 或者码云上查看全文。
PyStaData
2020/07/21
3.2K0
如何从Docker镜像中提取Dockerfile?
今天在技术群摸鱼,有朋友问个docker的问题,替换配置文件不生效,也没有原先的Dockerfile,所以就在想,有没有什么方式可以直接从容器或镜像生成Dockerfile
李俊鹏
2021/05/27
5.9K0
使用DeepWalk从图中提取特征
作者 | PRATEEK JOSHI 编译 | VK 来源 | Analytics Vidhya 概述 从表格或图像数据中提取特征的方法已经众所周知了,但是图(数据结构的图)数据呢? 学习如何使用De
磐创AI
2019/12/03
2.2K0
使用DeepWalk从图中提取特征
以下文章来源于磐创AI,作者VK 来源:公众号 磐创AI 授权转 概述 从表格或图像数据中提取特征的方法已经众所周知了,但是图(数据结构的图)数据呢? 学习如何使用DeepWalk从图中提取特征 我们
OpenCV学堂
2019/12/09
1.1K0
使用DeepWalk从图中提取特征

相似问题

从地址中提取国家名称

17

通过Python从PubMed获得作者从属关系

25

使用rentrez从pubmed中解析出作者和从属关系

35

从R中的城市名称中提取国家名称

33

从Magento中提取国家名称(或缩写)

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档