public string GetSynonym(string concept) { string sinonimos = ""; string conceptSynonym = ""; //Cargar la base de datos de WordNet WordNetEngine wordNetEngine = new WordNetEngine(); PartOfSpeech pos = new PartOfSpeech(); //var directory = Directory.GetCurrentDirectory(); var directory = HttpContext.Current.Server.MapPath("./") + "bin\\WordNet"; wordNetEngine.LoadFromDirectory(directory); //Utilizar la librería para traer los sinonimos var synSetList = wordNetEngine.GetSynSets(concept); if (synSetList.Count == 0) { return("(" + concept + " + )"); } foreach (var synSet in synSetList) { var words = string.Join(" + ", synSet.Words); sinonimos = sinonimos + words; } conceptSynonym = "(" + sinonimos + ")"; return(conceptSynonym); }
public static List <SynSet> FindDefinition(string word) { if (!WordNet.IsLoaded) { WordNet.LoadFromDirectory(HostingEnvironment.MapPath("~/App_Data/EBook/Wordnet")); } return(WordNet.GetSynSets(word)); }
//Init wordnet public void WordNetInit() { var directory = System.IO.Directory.GetCurrentDirectory(); wordNet = new WordNetEngine(); Console.WriteLine("Loading database..."); wordNet.LoadFromDirectory(directory); Console.WriteLine("Load completed."); }
// Load wordnet data private void LoadDatabaseButton_Click(object sender, EventArgs e) { string directoryPath = Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName, "Resources"); MessageBox.Show("Loading database"); wordNet.LoadFromDirectory(directoryPath); MessageBox.Show("Load completed"); LoadDatabaseButton.Text = "Database is loaded."; LoadDatabaseButton.Enabled = false; }
private void button4_Click(object sender, EventArgs e) { //var directory = System.IO.Directory.GetCurrentDirectory(); string directory = @"H:\semester 4\IFN 647\project\LuceneAdvancedSearchApplicationSolutions\LuceneAdvancedSearchApplication\bin\Debug\Wordnet"; wordNet = new WordNetEngine(); //MessageBox.Show("Loading database..."); wordNet.LoadFromDirectory(directory); MessageBox.Show("Load completed."); }
public static void LoadWordnet() { string wordNetPath = HttpContext.Current.Server.MapPath("/FileStore/wordnet/"); if (!Directory.Exists(wordNetPath)) { LoggingUtility.LogError(new FileNotFoundException("WordNet data not found.")); return; } var engine = new WordNetEngine(); engine.LoadFromDirectory(wordNetPath); WordNetHarness = engine; }
public List <SynSet> GettingSynSets(string word) { var directory = System.IO.Directory.GetCurrentDirectory(); wordNet = new WordNetEngine(); //Console.WriteLine(directory); //Console.WriteLine("Loading database..."); wordNet.LoadFromDirectory(directory); //Console.WriteLine("Load completed."); if (true) { var synSetList = wordNet.GetSynSets(word); return(synSetList); } }
public TargetIdentificator(string word2VecModelPath) { lexParser = LexicalizedParser.loadModel(@"Resources\englishPCFG.ser.gz"); grammaticalStructureFactory = new PennTreebankLanguagePack().grammaticalStructureFactory(); lemmatizer = IStemmer.GetLemmatizer(); wordNetEngine = new WordNetEngine(); wordNetEngine.LoadFromDirectory(@"Resources\WordNet"); word2VecVocabulary = new Word2VecBinaryReader().Read(word2VecModelPath); MLContext mlContext = new MLContext(); ITransformer mlModel = mlContext.Model.Load("MLModel.zip", out _); predictionEngine = mlContext.Model.CreatePredictionEngine <ModelInput, ModelOutput>(mlModel); wiki = new Wiki("NLP/1.0", "https://en.wikipedia.org", "https://en.wikipedia.org/w/api.php"); caching = new CachingFile(); }
private void LoadWordNet() { string directory = WORDNETDB_PATH;//Directory.GetCurrentDirectory(); wordNet = new WordNetEngine(); Console.WriteLine("Loading database..."); wordNet.LoadFromDirectory(directory); Console.WriteLine("Load completed."); wordNet.AddDataSource(new StreamReader(Path.Combine(directory, "data.adj")), PartOfSpeech.Adjective); wordNet.AddDataSource(new StreamReader(Path.Combine(directory, "data.adv")), PartOfSpeech.Adverb); wordNet.AddDataSource(new StreamReader(Path.Combine(directory, "data.noun")), PartOfSpeech.Noun); wordNet.AddDataSource(new StreamReader(Path.Combine(directory, "data.verb")), PartOfSpeech.Verb); wordNet.AddIndexSource(new StreamReader(Path.Combine(directory, "index.adj")), PartOfSpeech.Adjective); wordNet.AddIndexSource(new StreamReader(Path.Combine(directory, "index.adv")), PartOfSpeech.Adverb); wordNet.AddIndexSource(new StreamReader(Path.Combine(directory, "index.noun")), PartOfSpeech.Noun); wordNet.AddIndexSource(new StreamReader(Path.Combine(directory, "index.verb")), PartOfSpeech.Verb); Console.WriteLine("Loading database..."); wordNet.Load(); Console.WriteLine("Load completed."); }
private void WordNetForm_Load(object sender, EventArgs e) { this.Visible = false; PWF2 = new PleaseWaitForm2(); PWF2.Show(); //--------------------------------Word Net Loading wordNet = new WordNetEngine(); wordNet.LoadFromDirectory(directory); PWF2.Close(); this.Visible = true; //-------------------------------------------------------------- textBox1.Text = ""; //------------------------------------------ dgv.AutoGenerateColumns = false; dgv.RowHeadersVisible = false; dgv.MultiSelect = false; dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dgv.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; dgv.DefaultCellStyle.WrapMode = DataGridViewTriState.True; //---------------------------------------------------------------------------- dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Synonyms", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 100 }); dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Parts of Speech", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 50, //FillWeight = 25 }); dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Gloss", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 300 // Width = 100, }); //---------------------------------------------------1 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Also See", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 2000 //FillWeight = 25 }); //---------------------------------------------------2 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Antonym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 60 //FillWeight = 25 }); //---------------------------------------------------3 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Attribute", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 200 //FillWeight = 25 }); //---------------------------------------------------4 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Cause", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 200 //FillWeight = 25 }); //---------------------------------------------------5 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Derivationally Related", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 200 //FillWeight = 25 }); //---------------------------------------------------6 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Derived from Adjective", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 200 //FillWeight = 25 }); //---------------------------------------------------7 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Entailment", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 100 //FillWeight = 25 }); //---------------------------------------------------8 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Hypernym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 700 //FillWeight = 25 }); //---------------------------------------------------9 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Hyponym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 1600 //FillWeight = 25 }); //---------------------------------------------------10 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Instance Hypernym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 300 //FillWeight = 25 }); //---------------------------------------------------11 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Instance Hyponym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 3000 //FillWeight = 25 }); //---------------------------------------------------12 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Member Holonym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 300 //FillWeight = 25 }); //---------------------------------------------------13 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Member Meronym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 300 //FillWeight = 25 }); //---------------------------------------------------14 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Part Holonym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 300 //FillWeight = 25 }); //---------------------------------------------------15 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Participle of Verb", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 200 //FillWeight = 25 }); //---------------------------------------------------16 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Part Meronym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 1000 //FillWeight = 25 }); //---------------------------------------------------17 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Part Ainym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 100 //FillWeight = 25 }); //---------------------------------------------------18 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Region Domain", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 500 //FillWeight = 25 }); //---------------------------------------------------19 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Region Domain Member", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 700 //FillWeight = 25 }); //---------------------------------------------------20 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Similar To", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 600 //FillWeight = 25 }); //---------------------------------------------------21 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Substance Holonym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 200 //FillWeight = 25 }); //---------------------------------------------------22 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "substance Meronym", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 200 //FillWeight = 25 }); //---------------------------------------------------23 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Topic Domain", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 200 //FillWeight = 25 }); //---------------------------------------------------24 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Topic Domain Member", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 300 //FillWeight = 25 }); //---------------------------------------------------25 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Usage Domain", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 300 //FillWeight = 25 }); //---------------------------------------------------26 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Usage Domain Member", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 200 //FillWeight = 25 }); //---------------------------------------------------27 dgv.Columns.Add(new DataGridViewTextBoxColumn() { HeaderText = "Verb Group", ReadOnly = true, AutoSizeMode = DataGridViewAutoSizeColumnMode.None, Width = 1000 //FillWeight = 25 }); //---------------------------------------------------------------------- }
/// <summary> /// create a wordnet engine /// </summary> public void CreateWordnetEngine() { directory = GlobalData.wordnetDBPath; wordnet.LoadFromDirectory(directory); }
public void button1_Click(object sender, EventArgs e) { querydiaplay.Clear(); if (searchBox1.Text == "") { MessageBox.Show("Please Enter Your Query"); } else { if (PhrasecheckBox1.Checked) { input = ("\"" + searchBox1.Text + "\""); querydiaplay.AppendText("Searching for\n"); querydiaplay.AppendText(input); } if (preprocessing.Checked)//if user choose preprocessing, application will tokenization, remove stop word and extract stemming { input = lucene.preprocessing(searchBox1.Text); querydiaplay.AppendText("Searching for\n"); querydiaplay.AppendText(input); } if (synonym.Checked) { var directory = System.IO.Directory.GetCurrentDirectory(); // Set WordNet directory wordNet = new WordNetEngine(); // Initiate WordNet object wordNet.LoadFromDirectory(directory); MessageBox.Show("loading wornet successful"); string input_text = searchBox1.Text; int letterindex; /* * string temp_s = ""; * bool quotesOpened = false; * for (letterindex = 0; letterindex < input_text.Length; letterindex++) * { * if (input_text[letterindex] == '"') * { * quotesOpened = !quotesOpened; * } * else * { * if (!quotesOpened && input_text[letterindex] == '"') * temp_s = temp_s + input_text[letterindex]; * } * * } */ string[] separators = { ",", ".", "!", "?", ";", ":", "-", " ", "\n", "\"", "'" }; string[] input_array = input_text.Split(separators, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < input_array.Length; i++) { weighted_text += input_array[i] + "^5"; } input = weighted_text + Expansion_query(input_array); querydiaplay.AppendText("Searching for\n"); querydiaplay.AppendText(input); } if (!preprocessing.Checked && !synonym.Checked && !PhrasecheckBox1.Checked) { input = searchBox1.Text; querydiaplay.AppendText("Searching for\n"); querydiaplay.AppendText(input); } stopwatch.Restart(); lucene.CreatParser(); results = lucene.Searching(input); if (results.TotalHits % 10 == 0) { totalpage = results.TotalHits / 10; } else { totalpage = results.TotalHits / 10 + 1; } searchBypage(results, currentpage, pagesize); stopwatch.Stop(); label3.Text = (currentpage + " / " + totalpage); textBox1.Text = results.TotalHits.ToString(); textBox2.Text = stopwatch.Elapsed.ToString(); } }
public string ExpandWeightedQuery(string level, string query) { string expandedquery = ""; WordNetEngine wordnet = new WordNetEngine(); var directory = System.IO.Directory.GetCurrentDirectory(); Dictionary <string, string> thesaurus = new Dictionary <string, string>(); string path = directory + "\\wordnet\\"; wordnet.LoadFromDirectory(path); if (wordnet.IsLoaded) { char[] delimiter = { ' ', ';' }; string[] querylist = query.Split(delimiter, StringSplitOptions.RemoveEmptyEntries); //separate the text inputed into several parts; foreach (string item in querylist) { var synSetList = wordnet.GetSynSets(item); //create a set of synonyms for the item if (synSetList.Count != 0) //if there is synonym, it continues to do the next things { Dictionary <string, int> uniqueword = new Dictionary <string, int>(); foreach (SynSet syns in synSetList) { //syns.Words is a list not a string foreach (string w in syns.Words) { if (uniqueword.ContainsKey(w)) { uniqueword[w] = uniqueword[w] + 1; } else { uniqueword.Add(w, 1); } } //if a user want to expand the query to a certian lexical level, such as hypernym... //if the level is not synonym,it means the uniqueword will be larger if (level != "Synonym") { SynSetRelation relation = (SynSetRelation)Enum.Parse(typeof(SynSetRelation), level); var relationsynset = syns.GetRelatedSynSets(relation, true); foreach (SynSet element in relationsynset) { foreach (string ite in element.Words) { if (uniqueword.ContainsKey(ite)) { uniqueword[ite] = uniqueword[ite] + 1; } else { uniqueword.Add(ite, 1); } } } } }//finish exploring all synonyms for a specific item, so can add them into the dictionary string lexical = ""; foreach (string w in uniqueword.Keys) { if (w != item) { lexical = lexical + " " + w; } } thesaurus.Add(item, lexical); } //this condition is there are synonyms } //end the loop for each item( item is actualy a query) foreach (string term in thesaurus.Keys) { expandedquery = expandedquery + " " + term + "^5" + thesaurus[term]; } }//this condition is that wordnet engine is loaded, if you change the database directory, it can't work. return(expandedquery); }
private static void LoadWordnet(WordNetEngine wordNet) { var directory = Path.Combine(Directory.GetCurrentDirectory(), "wordnet"); wordNet.LoadFromDirectory(directory); }
static void Main(string[] args) { string filepath = null; string curPath = Directory.GetCurrentDirectory(); OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "JSON|*.json"; if (ofd.ShowDialog() == DialogResult.OK) { filepath = ofd.SafeFileName; } string json = File.ReadAllText(filepath); List <records> storeRecords = DeserializeJSON(json); WriteLine("Hello Lucene.Net"); LuceneApplication LuceneApp = new LuceneApplication(); //wrdnet wordne = new wrdnet(); LuceneApp.CreateIndex(curPath); WriteLine(curPath); WriteLine("Adding Documents to Index"); DateTime start = System.DateTime.Now; for (int x = 0; x < storeRecords.Count; x++) { WriteLine("Adding record no #{0}", x + 1); for (int y = 0; y < storeRecords[x].passages.Count; y++) { string single_text = (storeRecords[x].passages[y].url + storeRecords[x].passages[y].passage_text); //WriteLine("URL: {0}", storeRecords[x].passages[y].url.ToString()); //WriteLine("Passage Text: {0}", storeRecords[x].passages[y].passage_text.ToString()); // LuceneApp.IndexText(storeRecords[x].passages[y].url + storeRecords[x].passages[y].passage_text); LuceneApp.IndexText(single_text); //LuceneApp.IndexText(storeRecords[x].passages[y].passage_text); } } DateTime end = System.DateTime.Now; WriteLine("Total time for indexing >> {0}", end - start); WriteLine("All documents added."); // clean up LuceneApp.CleanUpIndexer(); LuceneApp.CreateSearcher(); // var directory = Directory.GetCurrentDirectory(); var directory = @"C:\Users\Suprith Kangokar\Desktop\LuceneTest\LuceneTest\LuceneTest\bin\Debug\Wordnet"; var wordNet = new WordNetEngine(); // wordne.wordnet(); string QUIT = "q"; Write("Enter your query >>"); string queryText = ReadLine(); wordNet.LoadFromDirectory(directory); var synSetList = wordNet.GetSynSets(queryText); if (synSetList.Count == 0) { Console.WriteLine("No SynSet found"); } string ex = "\t"; foreach (var synSet in synSetList) { ex = string.Join(", ", synSet.Words); queryText += ("\t" + ex); } // LuceneApp.CreateParser(); //string QUIT = "q"; //Write("Enter your query >>"); //string queryText = ReadLine(); while (queryText != QUIT) { LuceneApp.DisplayResults(LuceneApp.SearchIndex(queryText)); Write("Enter your query or press 'q' to exit >>"); queryText = ReadLine(); } //WriteLine("Press Enter to exit."); //ReadLine(); }