3

我需要一些灵感。对于一个爱好项目,我正在玩内容分析。我基本上是在尝试分析输入以将其与主题图相匹配。

例如:

  • “伊拉克之路” > 历史,中东
  • “Halloumni” > 中东美食
  • “宝马” > 德国,汽车
  • “奥巴马” > 美国
  • “黑斑羚” > 美国,汽车
  • “柏林墙” > 历史,德国
  • “Bratwurst” > 食品,德国
  • “芝士汉堡” > 食品,美国
  • ...

我一直在阅读很多关于分类学的内容,最后,无论我读到什么,都得出结论,所有人的标签都不一样,因此系统必然会失败。

我考虑过标记化输入和停用词列表,但它们当然需要大量的工作来提出和构建。建立单词和主题之间的相关链接似乎很累,而且永远不会结束,因为无论你处理什么语言,它都非常丰富,而且大多数语言也严重依赖于上下文。更别说维护了。

我想我需要想出一些聪明的东西,并用我希望它能够猜测的主题来训练它。有点像Eliza 机器人

无论如何,我不相信有什么东西可以开箱即用,但是有没有人有任何技术线索或示例可用于分析输入以提取含义

4

3 回答 3

2

喂。我首先会在OpenCalais中查找文本或输入中的实体。很棒,而且我自己也用过很多次(来自路透社的人)。

之后,您可以进一步分析文本,在实体和单词之间创建关联。我可能会在WordNet之类的东西中查找它们并尝试对它们进行典型化,或者甚至自动生成一些与您要映射的域相匹配的本体。

至于如何将它们整合在一起,您可以做很多事情;以上,或试图弄清楚单词是什么和意思的两遍或三遍模型。或者,如果您控制输入,则制作一种更易于解析的格式,或者走NLP 的阴暗道路(这很有趣)。

或者您可以使用Jena之类的工具来解析任意 RDF 片段,尽管我自己不喜欢 RDF 前提(我是主题映射器)。我写了一些东西,在 WikiPedia 中查找单词、短语或名称,并根据 WikiPedia 页面中找到的语义对它们的命中率进行评分(如果需要,我可以告诉你更多细节,但工作不是更有趣吗?走出自己,想出比我更好的东西吗?:),即。链接的数量、SeeAlso 的数量、文本的数量、讨论页面的大小等。

这些年来,我写了很多东西(甚至用 PHP 和 Perl;看看Robert Barta 在 CPAN 上的 Topic Maps 东西,尤其是 TM 模块中的一些有趣的东西),从引擎到解析器,再到中间奇怪的东西。关联数组将单词和短语分开,创建累积直方图以对其组件进行排序等等。这都是有趣的东西,但至于收缩包装的工具,我不太确定。每个人的目标和需求似乎都不一样。这取决于你想变得多么复杂和复杂。

无论如何,希望这会有所帮助。干杯! :)

于 2009-05-28T23:50:52.270 回答
2

SemanticHacker完全符合您的要求,开箱即用,并且具有友好的 API。它在短句上有些不准确,但对于长文本来说却是完美的。

  • “伊拉克之路” > 社会/问题/战争与冲突/具体冲突
  • “Halloumni” > 不适用
  • “BMW” > 休闲/摩托车/品牌和型号
  • “奥巴马” > 社会/政治/保守主义
  • “黑斑羚” > 娱乐/汽车/品牌和型号/雪佛兰
  • “柏林墙” > 地区/欧洲/德国/国家
  • “Bratwurst” > 家/烹饪/肉类
  • “芝士汉堡” > 主页/烹饪/食谱收藏;地区/北美/美国/马里兰/地方
于 2009-05-29T20:41:10.530 回答
0

听起来您正在寻找贝叶斯网络实现。你可以通过使用Solr 之类的东西来获得。

另请查看CI-Bayes。Joseph Ottinger今年早些时候在 theserverside.net 上写了一篇关于它的文章。

于 2009-05-28T23:05:35.700 回答