【问题标题】:Natural Language Programming solutions in C#? [closed]C# 中的自然语言编程解决方案? [关闭]
【发布时间】:2013-05-29 11:43:32
【问题描述】:

C# 中是否有任何用于自然语言处理的库?给出诸如“<xyz> 是什么?”之类的问题'<xyz> 什么时候到期?'我想提取有助于我搜索某些数据源并返回有意义的结果的属性。

例如问题中的“什么”给了我“定义”这个词,而“何时”给了我“时间线”。我可以使用一个有限的单词数据库来简单地编程这个问题,并将它们映射到这些类别,但是 NLP 会更好地处理这个问题吗?

另外,我有各种数据源,比如一、二、三,我需要一长串关键字来帮助我确定数据源,

例如。 xyz 将映射到“一”,而 abc 将映射到“二”。

如何使用自然语言处理来理解哪个单词属于哪个类别?还是有更好的方法来做同样的事情?这里有全文搜索的应用吗?

【问题讨论】:

  • 我更喜欢微软的解决方案而不是开源的
  • 您会考虑为此提供网络服务吗?或者你绝对需要本地处理?
  • 我可以考虑使用 Web 服务,但我需要实时处理。这将用于 IM 请求 - 几乎立即响应的情况。 Web 服务能提供这样的性能吗?我不确定。你能建议我如何制作自己的自然语言处理器,因为它似乎是一个更简单的选择......?我正在考虑过滤掉诸如介词、常用名词之类的东西,并提取将与列表进行比较的专有名称。这是一种明智的做法吗?

标签: c# sql full-text-search nlp artificial-intelligence


【解决方案1】:

你可以试试 Proxem 的 Antelope 和 SharpNLP 用 c# 制作的第三方库用于自然语言处理,不幸的是,微软制作的库目前在 NLP 中不存在。但是您可以使用 SQL Server 查看semantic search 可能对您的问题有所帮助。

【讨论】:

    【解决方案2】:

    看看OpenNLP。我用它从文本中提取名词、动词等。但它还有其他功能。您可以使用 IKVM 将其移植到 C#。

    另外,请查看Mallet,尽管它是基于 JAVA 的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多