我要求在语料库中对我的文件进行POS标记。 我已成功遵循SharpNlp的安装说明 我正在使用二进制版本
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这样做
请提供相关步骤。
答案 0 :(得分:10)
简而言之, SharpNLP 是
应该注意的是,OpenNLP库的端口是相对非正式的,具有各种类和属性名称更改,可能是对特性和语义的松散保留,并且与原始Java项目的生命周期没有明显的联系。这种情况可能会确保SharpNLP的OpenNLP部分会比孪生姐妹更类似于远房兄弟......
从不如此,可以使用OpenNLP中的示例和文档来补充SharpNLP提供的相对较薄的支持材料。在SharpNLP的源代码和OpenNLP API reference以及OpenNLP wiki之类的资源之间,人们通常可以映射事物并相应地进行调整。
一个松散的指挥可能是对这个source file的研究,它以一种看似接近你可能需要的方式使用OpenNLP。注意OpenNLP和SharpNLP之间的名称更改,例如 POSTTaggerME 类变为 MaximumEntropyPosTagger 和 Parse()方法,并且其重载变为 TagSentence()等。
更一般的提示是理解......
... 执行POS标记通常所需的步骤序列
这是一个非常高级的近似描述,但我认为是有用的。
请注意上述顺序假定模型随时可用
该模型表示一般文本的统计“概况”,通过使用一组易于标记的文本训练Tagger获得。
SharpNLP附带通用英语语言模型,但为了标记其他语言或者标记的特定语料库属于特定领域(例如医学报告或推文或......),最好重新训练标记器以提高其精度。
Open / SharpNLP作为大多数POS标签器,无论是独立的还是它们的API,通常都包含训练它们的功能(=生成一个模型,给出一组容易标记的文本样本),并验证所生成的模型/标记器的质量(=将测试集上生成的标签与该集合预期的标签进行比较)。
答案 1 :(得分:1)
请仔细阅读我为此撰写的文章。它将为您提供详细的分步方法,并提供示例代码段。
Easy way of Integrating SharpNLP into your project in Visual Studio
我希望这很有用。