[nzemberek commit] r95 - in branches/1.0.x/NZemberek.Cekirdek: . Erisim Mekanizma.Cozumleme

8 views
Skip to first unread message

codesite...@google.com

unread,
Dec 29, 2008, 11:30:55 AM12/29/08
to nzembere...@googlegroups.com
Author: spinodal
Date: Mon Dec 29 07:42:06 2008
New Revision: 95

Added:

branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/CozumlemeSeviyesi .cs
Modified:
branches/1.0.x/NZemberek.Cekirdek/Erisim/Zemberek.cs

branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/IKelimeCozumleyici.cs
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/OneriUretici.cs

branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/StandartCozumleyici.cs

branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/ToleransliCozumleyici.cs
branches/1.0.x/NZemberek.Cekirdek/NZemberek.Cekirdek.csproj

Log:
zemberek rev 154, 155 ve 158 > CozumlemeSeviyesi enum eklendi. Cozumleme
isleminin ne asmada gerceklestirilecegini belirliyor.
Seviye parametresi cozumleme metoduna eklendi. Zemberek sinifi icerisinde
seviye parametreli cozumle ve ascii cozumleme metodlari eklendi.

Modified: branches/1.0.x/NZemberek.Cekirdek/Erisim/Zemberek.cs
==============================================================================
--- branches/1.0.x/NZemberek.Cekirdek/Erisim/Zemberek.cs (original)
+++ branches/1.0.x/NZemberek.Cekirdek/Erisim/Zemberek.cs Mon Dec 29
07:42:06 2008
@@ -183,7 +183,7 @@
*/
public String[] KelimeCozumle(String giris)
{
- return KelimeleriMetneDonustur(_cozumleyici.Cozumle(giris));
+ return KelimeleriMetneDonustur(_cozumleyici.Cozumle(giris,
CozumlemeSeviyesi.TUM_KOK_VE_EKLER));
}

/**
@@ -202,11 +202,18 @@
*/
public String[] AsciiToleransliCozumle(String giris)
{
- Kelime[] sonuclar = _asciiToleransliCozumleyici.Cozumle(giris);
+ Kelime[] sonuclar = _asciiToleransliCozumleyici.Cozumle(giris,
CozumlemeSeviyesi.TUM_KOK_VE_EKLER);
Array.Sort(sonuclar, new KelimeKokFrekansKiyaslayici());
return KelimeleriMetneDonustur(sonuclar);
}

+ public String[] AsciiTolerasnliCozumle(String giris,
CozumlemeSeviyesi seviye)
+ {
+ Kelime[] sonuclar = _asciiToleransliCozumleyici.Cozumle(giris,
seviye);
+ Array.Sort(sonuclar, new KelimeKokFrekansKiyaslayici());
+ return KelimeleriMetneDonustur(sonuclar);
+ }
+
/// <summary>
/// Brings the most probable tukish equivalents of a string that
uses ascii look alikes of
/// those characters. Returns a distinct result set.
@@ -217,7 +224,7 @@
/// <returns>yazilan kelimenin olasi turkce karakter iceren
halleri.</returns>
public String[] TurkceKarakterlereDonustur(String giris)
{
- Kelime[] kelimeler =
_asciiToleransliCozumleyici.Cozumle(giris); ;
+ Kelime[] kelimeler =
_asciiToleransliCozumleyici.Cozumle(giris, CozumlemeSeviyesi.TUM_KOKLER); ;
return IcerikleriMetneCevir(kelimeler);
}

@@ -326,7 +333,7 @@
public IList<IList<String>> OlasiAcilimlariBul(String kelime)
{
IList<IList<String>> sonuclar = new List<IList<String>>();
- Kelime[] cozumler = _cozumleyici.Cozumle(kelime);
+ Kelime[] cozumler = _cozumleyici.Cozumle(kelime,
CozumlemeSeviyesi.TUM_KOK_VE_EKLER);
foreach (Kelime kel in cozumler)
{
sonuclar.Add(_kelimeUretici.Ayristir(kel));

Added:
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/CozumlemeSeviyesi .cs
==============================================================================
--- (empty file)
+++
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/CozumlemeSeviyesi .cs
Mon Dec 29 07:42:06 2008
@@ -0,0 +1,38 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Zemberek Doğal Dil İşleme Kütüphanesi.
+ *
+ * The Initial Developer of the Original Code is
+ * Ahmet A. Akın, Mehmet D. Akın.
+ * Portions created by the Initial Developer are Copyright (C) 2006
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Mert Derman
+ * Tankut Tekeli
+ * ***** END LICENSE BLOCK ***** */
+using System;
+
+namespace NZemberek.Cekirdek.Mekanizma.Cozumleme
+{
+ public enum CozumlemeSeviyesi
+ {
+ /** denetleme isleminde kullanilir. */
+ TEK_KOK,
+ /** kok bulma isleminde kullanilir. tum olasi kokler icin
cozumleri bul. */
+ TUM_KOKLER,
+ /** butun olasi kokler ve her kok icin tum olasi ekler icin
cozumleme yap. */
+ TUM_KOK_VE_EKLER
+ }
+}

Modified:
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/IKelimeCozumleyici.cs
==============================================================================
---
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/IKelimeCozumleyici.cs
(original)
+++
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/IKelimeCozumleyici.cs
Mon Dec 29 07:42:06 2008
@@ -32,7 +32,7 @@
{
public interface IKelimeCozumleyici
{
- Kelime[] Cozumle(String strGiris);
+ Kelime[] Cozumle(String strGiris, CozumlemeSeviyesi seviye);

bool Denetle(String strGiris);
}

Modified:
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/OneriUretici.cs
==============================================================================
--- branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/OneriUretici.cs
(original)
+++ branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/OneriUretici.cs
Mon Dec 29 07:42:06 2008
@@ -128,7 +128,7 @@
Kelime[] asciiTurkceOneriler = new Kelime[0];
if (ayarlar.OneriDeasciifierKullan)
{
- asciiTurkceOneriler =
asciiToleransliCozumleyici.Cozumle(kelime);
+ asciiTurkceOneriler =
asciiToleransliCozumleyici.Cozumle(kelime, CozumlemeSeviyesi.TUM_KOKLER);
}
return asciiTurkceOneriler;
}
@@ -173,7 +173,7 @@
private HashSet<String> ParcayiCozumle(String s)
{
HashSet<String> set = new HashSet<String>();
- Kelime[] kelimeler = cozumleyici.Cozumle(s);
+ Kelime[] kelimeler = cozumleyici.Cozumle(s,
CozumlemeSeviyesi.TUM_KOKLER);
foreach (Kelime kelime in kelimeler)
{
yardimci.KelimeBicimlendir(kelime);

Modified:
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/StandartCozumleyici.cs
==============================================================================
---
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/StandartCozumleyici.cs
(original)
+++
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/StandartCozumleyici.cs
Mon Dec 29 07:42:06 2008
@@ -61,12 +61,7 @@

public bool Denetle(String strGiris)
{
- return yardimci.CepteAra(strGiris) || (Cozumle(strGiris,
false).Length == 1);
- }
-
- public Kelime[] Cozumle(String strGiris)
- {
- return Cozumle(strGiris, true);
+ return yardimci.CepteAra(strGiris) || (Cozumle(strGiris,
CozumlemeSeviyesi.TEK_KOK).Length == 1);
}

/// <summary>
@@ -75,9 +70,9 @@
/// dondurur.bu yontem hiz gerektiren denetleme islemi icin
kullanilir.
/// </summary>
/// <param name="strGiris"></param>
- /// <param name="hepsiniCozumle"></param>
+ /// <param name="seviye">cozumnleme isleminin ne zaman sona
erecegi bu bilesenin degerine gore anlasilir.</param>
/// <returns>tek ya da coklu kelime dizisi</returns>
- public Kelime[] Cozumle(String strGiris, bool hepsiniCozumle)
+ public Kelime[] Cozumle(String strGiris, CozumlemeSeviyesi seviye)
{
//on islemler
String strIslenmis = alfabe.Ayikla(strGiris);
@@ -114,7 +109,7 @@
Kelime kelime = KelimeUret(kok, kokDizi);
if (yardimci.KelimeBicimiDenetle(kelime, strGiris))
{
- if (!hepsiniCozumle)
+ if (seviye == CozumlemeSeviyesi.TEK_KOK)
{
return new Kelime[] { kelime };
}
@@ -125,12 +120,12 @@
else
{
icerikDegisti =
yardimci.KokGirisDegismiVarsaUygula(kok, kokDizi, girisDizi);
- List<Kelime> sonuclar = Coz(kok, kokDizi, girisDizi,
hepsiniCozumle);
+ List<Kelime> sonuclar = Coz(kok, kokDizi, girisDizi,
seviye);
foreach (Kelime sonuc in sonuclar)
{
if (yardimci.KelimeBicimiDenetle(sonuc, strGiris))
{
- if (!hepsiniCozumle)
+ if (seviye == CozumlemeSeviyesi.TEK_KOK)
{
return new Kelime[] { sonuc };
}
@@ -149,7 +144,7 @@
return kelime;
}

- private List<Kelime> Coz(Kok kok, HarfDizisi kokDizi, HarfDizisi
giris, bool tumunuCozumle)
+ private List<Kelime> Coz(Kok kok, HarfDizisi kokDizi, HarfDizisi
giris, CozumlemeSeviyesi seviye)
{
Kelime kelime = KelimeUret(kok, kokDizi);
BasitKelimeYigini kelimeYigini = new BasitKelimeYigini();
@@ -215,7 +210,7 @@

if (harfDizisiKiyaslayici.Kiyasla(kelime.Icerik,
giris) && !incelenenEk.SonEkOlamaz)
{
- if (!tumunuCozumle)
+ if (seviye != CozumlemeSeviyesi.TUM_KOK_VE_EKLER)
{
uygunSonuclar = new List<Kelime>(1);
uygunSonuclar.Add(kelime);

Modified:
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/ToleransliCozumleyici.cs
==============================================================================
---
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/ToleransliCozumleyici.cs
(original)
+++
branches/1.0.x/NZemberek.Cekirdek/Mekanizma.Cozumleme/ToleransliCozumleyici.cs
Mon Dec 29 07:42:06 2008
@@ -35,7 +35,7 @@

namespace NZemberek.Cekirdek.Mekanizma.Cozumleme
{
- public class ToleransliCozumleyici : IKelimeCozumleyici
+ public class ToleransliCozumleyici
{
public static readonly int TOLERANS = 1;
private static readonly ILog logger =
LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
@@ -52,11 +52,6 @@
this.alfabe = alfabe;
this.yardimci = yardimci;
this.kokOzelDurumYonetici = kokOzelDurumYonetici;
- }
-
- public bool Denetle(String strGiris)
- {
- return false;
}

public Kelime[] Cozumle(String strGiris)

Modified: branches/1.0.x/NZemberek.Cekirdek/NZemberek.Cekirdek.csproj
==============================================================================
--- branches/1.0.x/NZemberek.Cekirdek/NZemberek.Cekirdek.csproj (original)
+++ branches/1.0.x/NZemberek.Cekirdek/NZemberek.Cekirdek.csproj Mon Dec 29
07:42:06 2008
@@ -51,6 +51,7 @@
<Compile Include="Benzerlik\JaroWinklerBenzerlikSinayici.cs" />
<Compile Include="Benzerlik\LevenstheinBenzerlikSinayici.cs" />
<Compile Include="Kolleksiyonlar\HashSet.cs" />
+ <Compile Include="Mekanizma.Cozumleme\CozumlemeSeviyesi .cs" />
<Compile Include="MetinOkuma\YaziBirimi.cs" />
<Compile Include="MetinOkuma\YaziBirimiTipi.cs" />
<Compile Include="MetinOkuma\YaziIsleyici.cs" />
Reply all
Reply to author
Forward
0 new messages