我有一个PDF文件,想要在里面搜索名字。
- 如何使用Ruby打开PDF并获取所有文本?
- 有没有什么算法可以用来查找名字?
- 我应该使用Sphinx或者一些更简单的搜索引擎(只是LIKE SQL查询)?
我有一个PDF文件,想要在里面搜索名字。
在非结构化文本中查找专有名词,你需要解决的技术问题的技术名称是命名实体识别或命名实体抽取。有许多不同的自然语言工具包和研究论文,采用各种算法尝试解决这个问题。它们都无法达到完美的准确度,但可能已经足够满足你的需求。我自己没有尝试过,但斯坦福命名实体识别器的网页上有一个Ruby绑定的链接。
我会使用pdf-reader:https://github.com/yob/pdf-reader
您可以使用布隆过滤器匹配某些词典。您可以假设不匹配词典的单词是名称...这并不总是现实的,但这是一个第一步的方法。 为了获取更多的名称,您可以检查以大写字母开头的单词(不是很好,但我们继续发现一些基本方法)。一些潜在资源:http://snippets.dzone.com/posts/show/4235
对于您的搜索引擎,使用Rails的两个主要选择是Sphinx和SolR。