首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在我的SharpNlp应用程序中使用C#

如何在我的SharpNlp应用程序中使用C#
EN

Stack Overflow用户
提问于 2010-11-12 15:16:22
回答 2查看 11K关注 0票数 4

我需要在语料库中标注我的文件。我成功地遵循了SharpNlp的安装说明

我正在使用二进制版本

代码语言:javascript
复制
I created a new c# project in:       E:\sharp\sharpapp
location of Models Folder is:        E:\sharp\sharpapp\bin\Models
location of my SharpNlp Binary is:   E:\sharp\SharpNLP-1.0.2529-Bin

我还按照指令修改了.config文件"ParseTree.Exe“和"ToolsExamples.Exe”。

现在,在我的c#项目中,我有一个名为tagging.cs的类,在这个类中,我必须访问我的语料库文本文件,并对这些文件进行POS标记。有人能帮我吗?我如何利用SharpNlp来做到这一点?

请提供这样做的步骤。

EN

回答 2

Stack Overflow用户

发布于 2010-11-12 17:43:00

简而言之,SharpNLP

  • C# of OpenNLP工具OpenNLP MaxEnt的端口
  • 连接到WordNet的连接器
  • 一组预先计算的模型,主要用于英语。
  • 实用程序模块,如与SQLLite的集成

应该注意的是,OpenNLP库的端口相对来说是非正式的,不同的类名和属性名称都会发生变化,可能会松散地保存特性和语义,并且与原始Java项目的生命周期没有明显的联系。这种情况可能会确保随着时间的推移,OpenNLP部分的SharpNLP将更接近远亲,而不是双胞胎姐妹.

无论如何,都可以使用来自OpenNLP的示例和文档来补充SharpNLP提供的相对较薄的支持材料。在SharpNLP的源代码和资源(如OpenNLP API参考OpenNLP维基 )之间,人们通常可以映射事物并进行相应的调整。

一个松散的导体可能是对这个特殊的源文件的研究,它以一种似乎接近你所需要的方式使用了OpenNLP。注意OpenNLP和SharpNLP之间的名称更改,例如POSTTaggerME类变为MaximumEntropyPosTagger,Parse()方法及其重载转向TagSentence()等等。

更普遍的暗示是要理解..。

.执行POS标记所需的步骤序列。

这是一个非常高层次的近似描述,但我认为很有用。

  • 获取要标记的文本=文本字符串
  • 初始化文本解析器
  • 解析它=一个“数组”(或其他容器),其中包含单独的标记,即单词和标点符号。
  • 初始化POS标签,特别是告诉它应该使用哪个模型
  • 将有序的令牌序列传递给POS标签
  • 打打啊!将POS标记用于NLP应用程序的最终目的。

注意上面的序列是如何假设模型是随时可用的。

该模型是一般文本的统计“轮廓”的表示,它是通过对标记者进行一组容易标记的文本的培训而获得的。

SharpNLP提供了通用英语语言的模型,但为了标记其他语言,或者要标记的特定语料库属于特定领域(例如医疗报告、Tweets或.)最好是重新训练标签,以提高其精度。

Open/SharpNLP作为大多数POS tagger,无论是独立的还是它们的API,通常都包含一些特性来训练它们(=生成一个模型,给出一组容易标记的文本),并验证这样生成的模型/标签的质量(=比较测试集上产生的标记,与预期的这组标记)。

票数 10
EN

Stack Overflow用户

发布于 2013-10-18 19:09:23

请仔细阅读我为此写的这篇文章。它将为您提供一个详细的一步一步的方法与样例代码片段。

在Visual中将SharpNLP集成到项目中的简单方法

希望这是有用的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4166041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档