【问题标题】:extracting nouns,noun phrases,adjectives verbs from text file corpus using visual c#使用Visual C#从文本文件语料库中提取名词、名词短语、形容词动词
【发布时间】:2011-05-09 01:18:59
【问题描述】:

我正在做一个项目,其中我必须从文本文件(.doc)格式中提取名词形容词名词短语和动词。 我有大约 75 个此类文件的语料库。我已经访问了网络以查找它,并且我遇到了使用 nltk 在 python 中进行 POS 标记。 因为我的项目在 c# 中(使用 Visual Studio 2008),所以我需要一个代码来执行此操作。 我已经尝试过相同的 wordnet api 甚至是sharpnlp,但由于我是新手,我发现这些很难与我的项目集成。 任何人都可以建议我使用词汇等更简单的代码来做到这一点。请帮助我。 谢谢。

【问题讨论】:

  • 这是一个独立的研究领域。不确定是否有任何易于使用的 C# 库。可以在barbar.cs.lth.se:8081 找到在线资源的示例(我认为它是开源的),更多信息请在code.google.com/p/mate-tools 找到。但是,这不是在 C# 中完成的,但也许可以提供一些想法。
  • 我使用了几年前您在学校项目中提到的 SharpNLP。我记得它工作得很好,所以我绝对建议你检查一下。如果您不熟悉自然语言解析,则需要花一些时间来理解解析树等。codeproject.com/KB/recipes/englishparsing.aspx
  • @Ozzy 我不认为 OP 担心解析,标记通常在解析之前(并且在标记化之后),所以如果他只需要 POS 标签,他永远不必担心它。

标签: c# nlp


【解决方案1】:

我曾在 NLP(自然语言处理)领域为行业领导者工作过一段时间,而您想做的事绝非易事。我认识nltk 的创建者之一,我自己也用过;它是一个高质量的开源工具,我建议您使用它(您是否有特别令人信服的理由使用 C#?)

POS 标记通常通过在人工注释数据上训练语言模型,然后将该模型应用于新文本、预测词性并给出置信度来实现。 nltk 有工具可以做到这一点,他们也有一些模型(如果我没记错的话)。

您会发现大多数工具都是用 C++、Java 和 Python 编写的。如果您不会任何一种语言,请将此视为学习的绝佳机会!

请参阅Wikipedia,尤其是底部的链接,了解更多信息和其他可用于此类标记的软件。

【讨论】:

    【解决方案2】:

    Christopher 的说法是正确的,即 NLP 实施不是野餐。但是,我最近在一个带有基本 PoS 解析器的 .NET 项目中研究了一个使用 OpenNLP 的可行解决方案。在我的示例中,我正在寻找名词短语,但要找到其他片段也不应该太难。我发现 1.5 的 OpenNLP Tools Models 足以满足我的目的。

    我意识到这个答案对于提问者来说已经很晚了,但希望它能给其他人一些启发,让他们了解这个难以进入的领域。

    Extracting noun phrases with contextual relevance in .NET using OpenNLP

    【讨论】:

      【解决方案3】:

      请仔细阅读这篇文章。

      Easy Integration of SharpNLP with C# Visual Studio Project

      在本文中,我逐步介绍了将 SharpNLP 与 C# 项目集成的方法,并提供了示例代码 sn-ps 用于专门解决您的问题,例如句子拆分、标记化和 POSTagging。

      试试这个,我会帮你解决你遇到的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-03
        • 2019-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-01
        相关资源
        最近更新 更多