2013-03-14 65 views
0
photos in washington VS show me photos in washington VS I wanna see all my photos in washington taken day before yesterday 

what:photos 
entities:washington (dont want to be too assuming) 
when: 2013-03-14 

我想解析预设查询条件(如上所述)。我想这些品质:实时解析自然语言问题的工具

  1. 我甚至可以在绒毛(“我想看看)和小写的名词存在提取相关条款
  2. 温暖程序可以接受在HTTP请求或允许我补充一些网络通信
  3. 温暖程序50ms的响应和合理的句子atmost需要500MB的内存
  4. 我在Python更有经验,所以少用Java
  5. 分析器数据结构容易处理

我使用NLTK,但它很慢。我将StanfordNLP和OpenNLP视为可行的替代方案,但我发现程序启动延迟太高。如果我没有其他选择,我不介意将它们整合到servlet上。

回答

0

斯坦福分析器是一个坚实的选择,并得到很好的支持(如研究代码所示)。但听起来低延迟对你来说是一个重要的要求,所以我也建议你看一下BUBS Parser(全面披露 - 我是研究BUBS的主要研究人员之一)。

我还没有直接与NLTK进行比较,但我认为您可能会发现斯坦福分析器不符合您的性能需求。 This paper发现总吞吐量约为60字/秒(〜2-3句子/秒)。那些时机相当老旧,所以新硬件肯定会有所改善,但可能仍然不会接近50毫秒的延迟。

正如您所看到的,启动时间将是任何解析器的问题 - 高精度模型必然非常大。 500 MB可能也很紧张(我通常运行1-1.2 GB的BUBS)。但是一旦加载,BUBS延迟一般在每句10毫秒附近(对于大约20-25个字的句子),我们可以在精度开始下降之前将总吞吐量提高大约2500字/秒。我认为这些数字可能会满足您的性能需求,并且我不知道任何其他高速解析器(F1> = 88-89)的解析器速度。

注意:最近的修剪模型尚未发布到网站上,但最快的结果是,如果需要,我可以为您提供一个模型。希望有所帮助,如果您有更多问题,请随时提问。