这是基本场景 - 我有一个包含 100,000 篇类似报纸的文章的语料库。至少,它们都将具有明确定义的标题和一定数量的正文内容。
我想做的是在文章中找到应该链接到其他文章的文本运行。
因此,如果文章 Foo 有一系列文本,例如“鼓励 8 年级的学生阅读约翰-保罗·萨特的作品”,而文章栏的标题(以及关于)“约翰-保罗·萨特的重要著作”,我'我想在 Foo 的文本中自动创建从 Foo 到 Bar 的 HTML 链接。
在添加链接之前,您应该问自己一些问题。您希望通过这样做为用户带来什么好处?您可能希望提高网站的可导航性。也许最好创建一种更简单的方法,以用于提交新文章的形式添加指向旧文章的链接。也许可以添加“一键搜索选定文本”功能。也许您可以添加一个类似于 wiki 的功能,让用户为选定的文本提出链接。您可能希望在文章下方添加相关文章的链接(通过标记系统或文本挖掘生成)。
全自动链接添加器的一些潜在问题:您可能需要实现一个好的词义消歧算法,以避免通过使用正则表达式(或简单的子字符串匹配)放置错误的自动链接来混淆甚至激怒用户。
由于文章数量很大,您不想为每个请求生成额外链接的 html,而是缓存它。
您需要对重复的标题或包含其他标题作为子字符串的标题做出决定(采用最长的标题或链接到最近的文章或更喜欢同一类别的文章)。
TLDR 版本:找到为用户提供所需功能的替代解决方案。
您正在寻找的是文本挖掘工具。您可以在http://en.wikipedia.org/wiki/Text_mining找到更多信息和链接。您可能还想在http://lucene.apache.org查看 Lucene 及其端口。使用这些工具,基本思想是根据相关文章(或标题)找到一组相似的文章。您可以搜索文章的各种属性,包括标题和内容或两者兼而有之。La Delicious(或 Stackoverflow)的标记系统也可能会有所帮助。您无需预先创建文章之间的链接,而是在一个界面中显示相关文章,该界面非常类似于此页面右侧的相关问题界面。
如果您想在每篇文章中查找并链接特定文本,我认为您需要进行一些预处理以选择相关的短语作为关键字。即便如此,我认为很难不因为标点符号/拼写错误而错过一些东西,或者出于同样的原因不包含不相关的链接。