This commit is contained in:
66
docs/snippets/csharp/config/keyword_config.cs
Normal file
66
docs/snippets/csharp/config/keyword_config.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using Kreuzberg;
|
||||
using Kreuzberg.Keywords;
|
||||
|
||||
// Example 1: Basic YAKE configuration
|
||||
// Uses YAKE algorithm with default parameters and English stopword filtering
|
||||
var basicYakeConfig = new ExtractionConfig
|
||||
{
|
||||
Keywords = new KeywordConfig
|
||||
{
|
||||
Algorithm = KeywordAlgorithm.Yake,
|
||||
MaxKeywords = 10,
|
||||
MinScore = 0.0f,
|
||||
NgramRange = (1, 3),
|
||||
Language = "en",
|
||||
YakeParams = null,
|
||||
RakeParams = null,
|
||||
}
|
||||
};
|
||||
|
||||
var result = KreuzbergLib.ExtractFileSync("document.pdf", basicYakeConfig);
|
||||
Console.WriteLine($"Keywords: {string.Join(", ", result.Keywords)}");
|
||||
|
||||
// Example 2: Advanced YAKE with custom parameters
|
||||
// Fine-tunes YAKE with custom window size for co-occurrence analysis
|
||||
var advancedYakeConfig = new ExtractionConfig
|
||||
{
|
||||
Keywords = new KeywordConfig
|
||||
{
|
||||
Algorithm = KeywordAlgorithm.Yake,
|
||||
MaxKeywords = 15,
|
||||
MinScore = 0.1f,
|
||||
NgramRange = (1, 2),
|
||||
Language = "en",
|
||||
YakeParams = new YakeParams
|
||||
{
|
||||
WindowSize = 1,
|
||||
},
|
||||
RakeParams = null,
|
||||
}
|
||||
};
|
||||
|
||||
result = KreuzbergLib.ExtractFileSync("document.pdf", advancedYakeConfig);
|
||||
Console.WriteLine($"Keywords: {string.Join(", ", result.Keywords)}");
|
||||
|
||||
// Example 3: RAKE configuration
|
||||
// Uses RAKE algorithm for rapid keyword extraction with phrase constraints
|
||||
var rakeConfig = new ExtractionConfig
|
||||
{
|
||||
Keywords = new KeywordConfig
|
||||
{
|
||||
Algorithm = KeywordAlgorithm.Rake,
|
||||
MaxKeywords = 10,
|
||||
MinScore = 5.0f,
|
||||
NgramRange = (1, 3),
|
||||
Language = "en",
|
||||
YakeParams = null,
|
||||
RakeParams = new RakeParams
|
||||
{
|
||||
MinWordLength = 1,
|
||||
MaxWordsPerPhrase = 3,
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
result = KreuzbergLib.ExtractFileSync("document.pdf", rakeConfig);
|
||||
Console.WriteLine($"Keywords: {string.Join(", ", result.Keywords)}");
|
||||
Reference in New Issue
Block a user