gpt4 book ai didi

nlp - 从非结构化文本中提取信息

转载 作者:行者123 更新时间:2023-12-04 15:22:46 25 4
gpt4 key购买 nike

我有一系列“文章”,每篇文章长 1 到 10 个句子,用嘈杂的非正式英语(即社交媒体风格)写成。
我需要从每篇文章中提取一些信息(如果有),例如日期和时间。我还需要了解文章在说什么,谁是主要的“ Actor ”。

例如,给定句子:“明天早上 10.30 开始,每个人都需要出席讨论公司的财务预测。”,我需要提取:

  • 日期/时间 =>“明天早上 10.30”。
  • 主题=>“公司财务预测”。
  • Actor =>“每个人”。

  • 据我所知,可以在不使用 NLP 技术的情况下提取日期和时间,但我没有在 Python 中找到像 Natty ( http://natty.joestelmach.com/ ) 那样好的东西。

    在阅读了 NLTK 书籍的一些章节并在 Coursera 上观看了 NLP 类(class)的一些视频后,我对如何进行的理解如下:
  • 使用部分数据创建带注释的语料库。由于文本的非正式性质(例如拼写错误、无意义的大写、单词缩写等),我无法使用现成的语料库。
  • 使用 Penn TreeBank 标签集中的标签手动(叹气...)注释每篇文章。 有什么方法可以自动执行此步骤并检查/修复结果吗?
  • 在带注释的文章上训练 POS 标注器。我发现 NLTK-trainer 项目似乎很有前途( http://nltk-trainer.readthedocs.org/en/latest/train_tagger.html )。
  • 分块/分块,这意味着我必须再次使用 IOB 符号手动注释语料库 (...)。不幸的是,根据此错误报告,n-gram 分块器已损坏:https://github.com/nltk/nltk/issues/367 .这似乎是一个主要问题,让我想知道我是否应该继续使用 NLTK,因为它已经有一年多的历史了。
  • 在这一点上,如果我做的一切都正确,我假设我会在块中找到 Actor 、主题和日期时间。 正确的 ?

  • 我可以(暂时)跳过 1,2 和 3 并生成一个有效但可能具有高错误率的实现吗? 我应该使用哪个语料库?

    我也在考虑一个预处理步骤来纠正常见的拼写错误或快捷方式,比如"is"、“c u”和其他令人厌恶的东西。 我可以利用任何已经存在的东西?

    简而言之,问题是:我解决这个问题的方法是否正确?如果没有,我做错了什么?

    最佳答案

    Could I (temporarily) skip 1,2 and 3 and produce a working, but possibly with a high error rate, implementation ? Which corpus should I use ?

    I was also thinking of a pre-process step to correct common spelling mistakes or shortcuts like "yess", "c u" and other abominations. Anything already existing I can take advantage of ?



    我建议您首先尝试处理标准语言文本。您所指的预处理本身就是一项 NLP 任务,称为规范化。这是 Twitter 规范化的资源: http://www.ark.cs.cmu.edu/TweetNLP/ ,此外,您可以使用拼写检查、句子边界检测、...

    THE question, in a nutshell, is: is my approach at solving this problem correct ? If not, what am I doing wrong ?



    如果您对规范化进行抽象,我认为您的方法是有效的。关于注释过程的自动化:您可以首先使用现成的组件来引导过程,然后在不同的迭代中进行更正、重新训练等等。要获得可接受的结果,您需要多次执行步骤 2、3 和 4。

    如果您有兴趣了解问题并能够优化现有解决方案,我建议您专注于允许您开发自己的模型的工具。如果您优先考虑获得结果而不是能够开发自己的模型,我建议您查看现有的开源文本工程框架,例如 Gate( https://gate.ac.uk/)UIMA( http://uima.apache.org/)和 DKPro(扩展 UIMA)( https://code.google.com/p/dkpro-core-asl/) )。所有三个框架都封装了现有组件,因此您拥有广泛的可能解决方案。

    关于nlp - 从非结构化文本中提取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22642668/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com