【问题标题】:algorithm to detect time, date and place from invitation text [closed]从邀请文本中检测时间、日期和地点的算法[关闭]
【发布时间】:2013-10-05 17:56:31
【问题描述】:

我正在研究一些自然语言处理算法来阅读一段文本,如果文本似乎试图建议一个会议请求,它会自动为你设置那个会议。

例如,如果电子邮件文本显示为:

让我们明天见面晚上 7 点在市中心的某个地方

算法应该能够检测到事件的时间、日期和地点。

有人知道我可以为此目的使用一些现有的 NLP 算法吗?我一直在研究一些 NLP 资源(如 NLTKsome tools in R),但没有太大的成功。

谢谢

【问题讨论】:

  • 为什么我的问题得到了“-2”?当人们对一个问题投反对票时,他们是否也能告诉我们做事的正确方法以促进学习?
  • @Darth.Vader 我没有投反对票,但没有人需要通知。但是我只想说,你的帖子只是一个资源请求,可以关闭。

标签: algorithm api machine-learning nlp artificial-intelligence


【解决方案1】:

这个问题今天仍然是头条新闻。如果您(仍在)寻找算法,可以使用 ANTLR 作为解析器生成器的解决方案,可以选择多种编程语言(C/C++/C#/JS/Java/...)。 一些开源参考:

【讨论】:

    【解决方案2】:

    我认为你应该能够用 spacy 做到这一点。 我在 jupyter-notebook 中试过这个

    import spacy
    nlp = spacy.load('en_core_web_sm')
    
    doc = nlp(u'Over the last quarter in 2018-12-02 Apple sold nearly 20 thousand iPods for a profit of $6 million.')
    displacy.render(doc, style='ent', jupyter=True)
    

    输出

    Over the last quarter DATE in 2018-12-02 DATE Apple ORG sold nearly 20 thousand CARDINAL iPods PRODUCT for a profit of $6 million MONEY .
    

    【讨论】:

      【解决方案3】:

      这是information extraction 的应用,可以通过隐马尔可夫模型 (HMM) 或条件随机场 (CRF) 等序列分割算法更具体地解决。

      对于软件实现,您可能希望从 UMass-Amherst 的 MALLET toolkit 开始,它是一个流行的库,它实现了用于信息提取的 CRF。

      您可以将句子中的每个标记视为用您感兴趣的字段(或“x”表示以上都不是)标记的东西,作为单词特征(如词性、大小写、字典)的函数会员资格等)...类似这样的:

      token       label       features
      -----------------------------------
      Let         x           POS=NNP, capitalized
      's          x           POS=POS
      meet        x           POS=VBP
      tomorrow    DATE        POS=NN, inDateDictionary
      someplace   x           POS=NN
      in          x           POS=IN
      Downtown    LOCATION    POS=NN, capitalized
      at          x           POS=IN
      7pm         TIME        POS=CD, matchesTimeRegex
      .           x           POS=.
      

      不过,您需要先提供一些手工标记的训练数据。

      【讨论】:

        【解决方案4】:

        你应该看看http://opennlp.apache.org java toolkit

        【讨论】:

        • 谢谢,但是 open nlp 不支持日期时间/地点实体识别。
        猜你喜欢
        • 2012-09-12
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 2011-03-25
        • 2010-12-11
        • 2010-09-26
        • 2012-10-29
        • 1970-01-01
        相关资源
        最近更新 更多