您使用哪些工具来分析文本?

时间:2009-05-28 22:52:44

标签: language-agnostic analysis taxonomy

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

例如:

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

我一直在阅读很多关于分类法的内容,最后,无论我读到什么都认为所有人都标记不同,因此系统必然会失败。

我考虑了标记化的输入和停止单词列表,但它们当然需要很多工作来构建。建立单词和主题之间的相关联系似乎令人筋疲力尽,也永远不会因为你处理的任何语言而结束,它非常丰富,大多数语言也严重依赖于语境。更别说保持它了。

我想我需要提出某些东西智能,并用我希望它能够猜测的主题来训练它。有点像Eliza bot

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

3 个答案:

答案 0 :(得分:2)

你好。我首先期待OpenCalais在文本或输入中查找实体。这很棒,而且我自己也使用过很多(来自路透社的人)。

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

至于如何将它们整合在一起,你可以做很多事情;以上,或两次或三次通过模型,试图找出什么是单词和意思。或者,如果您控制输入,请构建一个更易于解析的格式,或者按下murky path of NLP(这很有趣)。

或者您可以查看Jena之类的内容来解析任意RDF片段,尽管我自己并不喜欢RDF前提(我是一个主题映射器)。我写过在WikiPedia中查找单词或短语或名字的内容,并根据WikiPedia页面中的语义对其命中率进行评级(如果需要,我可以告诉你更多详细信息,但是工作它不是更有趣出去自己,拿出比我更好的东西?:),即。链接数量,SeeAlso数量,文本数量,讨论页面大小等等。

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

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

答案 1 :(得分:2)

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

  • “伊拉克之路”>社会/问题/战争与冲突/特定冲突
  • “Halloumni”> N / A
  • “BMW”>娱乐/摩托车/制造和模型
  • “奥巴马”>社会/政治/保守
  • “Impala”>娱乐/汽车/制造和模型/雪佛兰
  • “柏林墙”>区域/欧洲/德国/美国
  • “Bratwurst”>家/烹饪/肉
  • “芝士汉堡”>家/烹饪/食谱收藏;区域/北美/美国/马里兰州/地方

答案 2 :(得分:0)

听起来您正在寻找贝叶斯网络实施。您可以使用类似Solr的内容。

同时查看CI-Bayes。 Joseph Ottinger今年早些时候在theserverside.net上写了an article。{/ p>