python - 是否有 NLP 包或函数知道或可以从文档中找到位置?

标签 python nlp spacy

我正在使用 Spacy 以及一些自定义代码来进行一些自然语言处理工作。我们想做一些事情,我们可以通过使用论文中的位置来找到论文的撰写位置,并且很好奇是否有一个包可以找到国家、城市、州等位置?感谢您抽出时间。

最佳答案

Spacy 拥有命名实体识别 (NER)。预训练模型具有的一种实体类型是 LOC(位置)。某些模型中还包含GPE(地缘政治实体)。我下面使用的 en_core_web_sm 同时具有 LOCGPE。 (完整列表位于https://spacy.io/api/annotation#named-entities)。另请参阅:https://spacy.io/usage/linguistic-features#named-entities

它不会是完美的开箱即用,但它可能很有用。

最小示例:

import spacy          # install cmd: pip3 install spacy --user
import en_core_web_sm # install cmd: python3 -m spacy download en_core_web_sm --user

text='San Fransisco is in California and my friend Frank lives there, close to the bay. He purchased his first house last January.'
NLP = en_core_web_sm.load()
output = NLP(text)
for item in output.ents:
    print(item.label_, item)

有这个输出:

GPE San Fransisco
GPE California
PERSON Frank
DATE last January

关于python - 是否有 NLP 包或函数知道或可以从文档中找到位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59327441/

相关文章:

python - 工作进程中的异常

python - 基于字典键值和字符串编号的列表排序

parsing - 英语有正式的语法吗?

python - TfIDf 矢量器权重

python - 将 spacy(python) 标记写入 excel 文件

python - 每个 PowerShell 调用 Python 脚本并传递 PSObject 并返回解析的数据

python - python 中的 Spacy 问题

python - 将可变变量传递给第二个变量并不总是按预期工作。为什么?是否有解决方法来保留原始变量引用?

python - 如何判断句子中两个对象之间是否存在比较?

python - 为什么异步库比这个 I/O 绑定(bind)操作的线程慢?