【问题标题】:Parsing LaTex author tag to extract author names解析 LaTex 作者标签以提取作者姓名
【发布时间】:2018-10-12 02:27:08
【问题描述】:

1.作者标签:

\author{{\small Tanya Araujo$^{a,b}$ and Elsa Fontainha$^{a}$} \and {\small $^{a}$ISEG
(Lisbon School of Economics \& Management) Universidade de Lisboa, } \and
{\small Rua do Quelhas, 6 1200-781 Lisboa Portugal} \and {\small $^{b}$Research
Unit on Complexity and Economics (UECE)} \and {\small Rua Miguel Lupi, 20
1249-078 Lisboa Portugal}}

\author{{\bf R. Vilela Mendes} \and {\small Grupo de Fisica Matematica, Av.
Gama Pinto 2,} \and {\small \ 1699 Lisboa Codex, Portugal
(vilela@cii.fc.ul.pt)} \and {\bf Tanya Araujo and Francisco Lou\cc\a%
} \and {\small Departamento de Economia, ISEG,} \and {\small R. Miguel Lupi
20, 1200 Lisboa, Portugal} \and {\small (tanya@iseg.utl.pt,
flouc@iseg.utl.pt)}}

2。删除了特殊字符、其他标签、电子邮件和数字:

Tanya Araujo 和 Elsa Fontainha ISEG 里斯本经济与管理学院 里斯本大学, Rua do Quelhas, - Lisboa Portugal Research 复杂性和经济学单元 UECE Rua Miguel Lupi, - 葡萄牙里斯本

R。 Vilela Mendes Grupo de Fisica Matematica, Av. Gama Pinto , Lisboa Codex, 葡萄牙 Tanya Araujo 和弗朗西斯科·卢 Departamento de Economia, ISEG, R. Miguel Lupi ,里斯本,葡萄牙,

3.期望的输出: 仅提取名称并删除大学名称或任何位置名称。尝试使用来自 NLTK 的 NER,但它将 Universidade 和 Lisboa 识别为 PERSON 等。

(PERSON Tanya/NNP)
  (PERSON Araujo/NNP)
  and/CC
  (PERSON Elsa/NNP Fontainha/NNP)
  ISEG/NNP
  (/(
  (ORGANIZATION Lisbon/NNP School/NNP)
  of/IN
  (ORGANIZATION Economics/NNP)
  &/CC
  Management/NNP
  )/)
  (PERSON Universidade/NNP)
  de/FW
  (PERSON Lisboa/NNP)
  ,/,
  (PERSON Rua/NNP)
  do/VBP
  (PERSON Quelhas/NNP)
  ,/,
  -/:
  (PERSON Lisboa/NNP Portugal/NNP Research/NNP Unit/NNP)
  on/IN
  (ORGANIZATION Complexity/NNP)
  and/CC
  (GPE Economics/NNP)
  (/(
  (ORGANIZATION UECE/NNP)
  )/)
  (PERSON Rua/NNP Miguel/NNP Lupi/NNP)
  ,/,
  -/:
  (PERSON Lisboa/NNP Portugal/NNP Alessandro/NNP Spelta/NNP)
  corresponding/VBG
  author/NN
  :/:
  and/CC
  (PERSON Tanya/NNP Araujo/NNP))

是否可以使用来自 NLTK 的 NER 来解决这个问题,或者我们应该尝试使用 spaCy 等任何其他库吗?

【问题讨论】:

    标签: python latex nltk author named-entity-recognition


    【解决方案1】:

    您也许可以使用https://github.com/alvinwan/TexSoup,它会像这样提取作者元素。

    >>> from TexSoup import TexSoup
    >>> soup = TexSoup(open('tri7.txt').read())
    >>> for i in soup.find_all('author'):
    ...     i
    ...     
    \author{{\small Tanya Araujo$^{a,b}$ and Elsa Fontainha$^{a}$} \and {\small $^{a}$ISEG
    (Lisbon School of Economics \& Management) Universidade de Lisboa, } \and
    {\small Rua do Quelhas, 6 1200-781 Lisboa Portugal} \and {\small $^{b}$Research
    Unit on Complexity and Economics (UECE)} \and {\small Rua Miguel Lupi, 20
    1249-078 Lisboa Portugal}}
    

    然后您可以提取以

    为示例的字符串
    {{\small Tanya Araujo$^{a,b}$ and Elsa Fontainha$^{a}$}
    

    在这种情况下,可以通过多种方式中的任何一种。 最后,如果您不能让 TexSoup 为您执行此操作,您可以使用正则表达式删除诸如 \small$(a,b)$ 之类的项目。

    【讨论】:

    • 非常感谢您的回复@Bill。这仅限于这种特殊情况,但是如果有许多其他格式与此不相似怎么办。对于仅针对此案例的问题,我深表歉意。
    • 不客气。 “其他格式”是什么意思?
    • 我的意思是不同格式的作者标签。请检查我在描述中更新的另一个作者标签。
    • 我明白了。如果作者的条目是这样不规则的,那么它可能会更具挑战性。我的倾向是尝试找出其中的模式。您也许可以减少所需的编码量——但我希望做大量的分析工作。
    猜你喜欢
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 2015-04-13
    • 2021-02-03
    • 2021-02-08
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多