Een synoniem is een woord dat precies of bijna hetzelfde betekent als een ander woord. Normaal gesproken gebruiken we synoniemen om te voorkomen dat we hetzelfde woord herhaaldelijk gebruiken. Als ontwikkelaar moet u mogelijk alle woorden met dezelfde betekenis vinden voor uw zoekdoeleinden of documentanalyse. In dit artikel leest u hoe u alle synoniemen van een specifiek woord in C# kunt achterhalen met behulp van .NET API. Bovendien kunt u ook verschillende groepen van deze synoniemen krijgen die zijn gerangschikt volgens de verschillende betekenissen van datzelfde woord.

De volgende onderwerpen komen hieronder aan bod:

.NET API voor het vinden van synoniemen

GroupDocs.Search biedt de .NET API waarmee u synoniemen van elk woord kunt vinden. Het maakt het ook mogelijk om dat woord en al zijn synoniemen te doorzoeken in meerdere documenten in een map. Het ondersteunt verschillende zoektechnieken om te zoeken in een grote lijst met documentindelingen.

U kunt de DLL’s of het MSI-installatieprogramma downloaden van de downloadsectie of de API in uw .NET-toepassing installeren via NuGet.

PM> Install-Package GroupDocs.Search

Vind synoniemen van elk woord in C#

Hier kun je vinden wat mogelijk de synoniemen zijn van het woord dat in je opkomt. Om de lijst met synoniemen van elk woord in uw .NET-toepassing te krijgen, kunt u gewoon de volgende stappen en C#-code hieronder gebruiken:

  • Definieer de vraag/het woord om de synoniemen te vinden.
  • Maak een index met de klasse Index.
  • Haal de verzameling synoniemen op uit het synoniemenwoordenboek met de methode GetSynonyms.
  • Blader door de synoniemenverzameling om met elk synoniemwoord te werken.
// Krijg alle synoniemen van elk woord in C#
string query = "make";
string[] synonyms = new Index().Dictionaries.SynonymDictionary.GetSynonyms(query);
Console.WriteLine("Synonyms for '" + query + "':");

for (int i = 0; i < synonyms.Length; i++)
{
    Console.WriteLine("- " + synonyms[i]);
}

Het volgende is de uitvoer van de bovenstaande C#-code die alle synoniemen van het opgegeven woord “make” weergeeft.

Synonyms for '**make**':
 - brand
 - construct
 - build
 - cook
 - fix
 - ready
 - prepare
 - induce
 - stimulate
 - cause
 - have
 - get
 - create
 - do
 - produce
 - reach
 - attain
 - hit
 - gain 

Vind synoniemen gegroepeerd op verschillende betekenissen van het woord met C#

Een enkel woord kan veel verschillende betekenissen hebben, afhankelijk van de situatie. De synoniemen kunnen dus ook worden gegroepeerd op basis van het verschillende gebruik. De volgende stappen en broncode bieden u de verschillende groepen synoniemen volgens de verschillende betekenissen van dat woord in C#.

  • Definieer het woord (query) om de synoniemen te vinden.
  • Maak de index met de klasse Index.
  • Haal de verzameling synoniemengroepen op uit het synoniemenwoordenboek met de methode GetSynonymGroups.
  • Blader door de verzameling synoniemengroepen om met elke groep of elk synoniemwoord te werken.
// Krijg groepen synoniemen in C#
string query = "make";
string[][] groups = new Index().Dictionaries.SynonymDictionary.GetSynonymGroups(query);

Console.WriteLine("Synonyms for " + query + ":");
for (int i = 0; i < groups.Length; i++)
{
    Console.Write("- ");
    string[] group = groups[i];
    for (int j = 0; j < group.Length; j++)
    {
        Console.Write(group[j] + " ");
    }
    Console.WriteLine();
}

Het volgende is de uitvoer van de bovenstaande C#-code die alle synoniemen van het verstrekte woord “make” weergeeft, gegroepeerd volgens de verschillende betekenis ervan.

Synonyms for **make**:

 - attain gain hit **make** reach 
 - create **make** produce 
 - do **make** 
 - cause get have induce **make** stimulate 
 - cook fix **make** prepare ready 
 - build construct **make** 
 - brand **make** 

Vervolgens zullen we in een apart artikel zien hoe je elk woord en zijn synoniemen kunt vinden in meerdere bestanden van een map in C#.

Conclusie

Tot slot heb je geleerd hoe je de mogelijke synoniemen van een specifiek woord in C# kunt vinden. Verder hebben we besproken hoe u alle synoniemen kunt krijgen die zijn gegroepeerd op basis van de verschillende betekenissen van datzelfde woord. U kunt proberen uw eigen .NET-toepassing te ontwikkelen voor het zoeken naar synoniemen van elk woord.

Lees meer over de .NET Search Automation API in de documentatie. Om de functies te ervaren, kun je voorbeelden bekijken in de GitHub-repository. Bereik ons voor elke vraag via het forum.

Zie ook