【问题标题】:Extracting a particular type of data from unstructured text namely Institutes从非结构化文本中提取特定类型的数据,即研究所
【发布时间】:2019-10-01 07:48:11
【问题描述】:

我需要从给定的数据中提取研究所的名称。机构名称看起来很相似(安娜大学、马什萨技术学院、班加罗尔工程学院、模型工程学院)。会有很多类似的数据。我想从文本中提取这些。如何创建模型以从数据中提取这些名称(我需要从简历-C.V 中提取)

我尝试在 spacy 中添加新的 NER,但即使在训练之后,损失也没有减少,并且预测是错误的。这就是为什么我想为此制作一个新模型。

【问题讨论】:

    标签: python nlp information-extraction


    【解决方案1】:

    你正在做文本解析。

    我知道你想为此建立一个模型,但如果没有目标数据(文本示例和这些文本中的学校名称列表),你就无法做到,我认为你没有。我建议你自己做,没有自学模型。

    你最好的选择是正则表达式。

    import re
    sub_patterns = ['[A-Z][a-z]* University',
                    'University of [A-Z][a-z]*',
                    'Ecole [A-Z][a-z]*']
    pattern = '({})'.format('|'.join(sub_patterns))
    matches = re.findall(pattern, mystring)
    

    我使用了来自this site 的文字,我得到了:

    matches
    ['University of Cambridge',
     'University of Oxford',
     'Harvard University',
     'Columbia University',
     'Princeton University',
     'University of Chicago',
     'Stanford University',
     'Yale University',
     'University of California',
     'Humboldt University',
     'Cornell University',
     'University of Pennsylvania',
     'University of London',
     'Uppsala University',
     'University of Edinburgh',
     'Heidelberg University',
     'University of California',
     'York University',
     'University of Michigan',
     'Hopkins University',
     'University of Vienna',
     'University of G',
     'State University',
     'University of Bologna',
     'Leipzig University',
     'Maximilian University',
     'University of Southern',
     'University of Tokyo',
     'Leiden University',
     'Lund University',
     'Charles University',
     'University of Copenhagen',
     'Ecole Normale',
     'University of Manchester',
     'Ecole Polytechnique',
     'University of Bonn',
     'University of Texas',
     'Duke University',
     'Mellon University',
     'Azhar University',
     'University of Helsinki',
     'University of Virginia',
     'Hebrew University',
     'University of Toronto',
     'University of Illinois',
     'Sapienza University',
     'University of Zurich',
     'University of Washington',
     'University of Minnesota',
     'Georgetown University',
     'University of Wisconsin',
     'Gill University',
     'University of Glasgow',
     'University of Oslo',
     'Peking University',
     'State University',
     'Brown University',
     'University of T',
     'Jagiellonian University',
     'State University',
     'Free University',
     'Kyoto University',
     'University of Padua',
     'Waseda University',
     'University of Florida',
     'University of Geneva',
     'State University',
     'University of Jena',
     'Keio University',
     'University of Arizona',
     'University of Maryland',
     'Stockholm University',
     'Boston University',
     'University of Strasbourg',
     'University of Tartu',
     'Rutgers University',
     'University of Warsaw',
     'Utrecht University',
     'University of North',
     'Rockefeller University',
     'Luther University',
     'Tsinghua University',
     'University of St',
     'University of Amsterdam',
     'Northwestern University',
     'University of Notre',
     'Technical University',
     'University of Coimbra',
     'Indiana University']
    

    你可以看到Massachusetts Institute of Technology没有出现,我们得到Ecole Normale而不是Ecole Normale SuperieureUniversity of G而不是University of Göttingen(因为ö不在[az]中)并且还有其他错误.

    这些是完全正常的,因为我写的模式还不够好。现在,您的工作就是为您的数据构建良好的模式。

    您可能还需要文本预处理来简化此任务,例如将文本转换为 ascii 小写字符。

    【讨论】:

    • 这可能是一个很好的起点,但是推文(大部分)是由人类编写的。一些你的逻辑无法捕捉到的转移示例:MTSU(中田纳西州立大学)、UCLA(加州大学洛杉矶分校、加州大学洛杉矶分校、加州大学洛杉矶分校)、UT-Knoxville(真实示例)和田纳西大学诺克斯维尔分校等缩写,或者让我们以 CSU Fresno aka Fresno State aka California State University Fresno 等为例。
    【解决方案2】:

    专门的文本搜索和文本分析工具可以解决您面临的问题。使用语音分析和索引。

    流行的文本分析工具之一是 Elasticsearch。 您可以使用 REST api 索引您的文档并搜索它们。

    Google 还提供此类工具用于文本分析和索引。

    Oracle 和 PostgresSQL 等现代 RDBMS 工具也提供此类功能。

    祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      • 2012-07-13
      • 2010-09-11
      • 2014-04-27
      相关资源
      最近更新 更多