Heuristik zum Sprachen erkennen
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Heuristik zum Sprachen erkennen
Hat jemand eine Idee für eine Heuristik um Sprachen zu erkennen ?
Ich will also wissen ob ein Text in deutsch, english, italienisch u.s.w. geschrieben ist. Ohne dort grossartig mit Wortlisten oder Datenbanken zu hantieren.
Ich will also wissen ob ein Text in deutsch, english, italienisch u.s.w. geschrieben ist. Ohne dort grossartig mit Wortlisten oder Datenbanken zu hantieren.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: Heuristik zum Sprachen erkennen
Du bist ja lustig.Christian hat geschrieben:Hat jemand eine Idee für eine Heuristik um Sprachen zu erkennen ?
Ich will also wissen ob ein Text in deutsch, english, italienisch u.s.w. geschrieben ist. Ohne dort grossartig mit Wortlisten oder Datenbanken zu hantieren.
Als erstes würde ich mal die Eigenheiten der Alphabete anschauen.
z.B öäü - > Deutsch
éàè Franz oder Italienisch wobei Ital. folgende Buchstaben z.B. nicht im Alphabet hat.
j k w x y
Franz aber nicht Ital: ç
etc pp.
Kann aber immer nur eine Annäherung sein.
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Eine annäherung auf 95% reicht mir schon
Heuristik eben.
Das mit den sonderzeichen is schon ne sehr gute idee.
Artikel sind ach noch im Bereich des möglichen. Wenn noch jemand ideen ha, immer her damit
.
Vllt gibts ne Tabelle wo Bereiche von Unicodezeichen zusammen gefasst sind ?
sprich 1567-1973 = Japanisch, 653-695 = Deutsche umlaute und sonderzeichen sowas in der art oder ne API Funktion die das kann, wird warscheinlich niemand kennen aber man kann ja mal fragen.

Das mit den sonderzeichen is schon ne sehr gute idee.
Artikel sind ach noch im Bereich des möglichen. Wenn noch jemand ideen ha, immer her damit

Vllt gibts ne Tabelle wo Bereiche von Unicodezeichen zusammen gefasst sind ?
sprich 1567-1973 = Japanisch, 653-695 = Deutsche umlaute und sonderzeichen sowas in der art oder ne API Funktion die das kann, wird warscheinlich niemand kennen aber man kann ja mal fragen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Es gibt doch auch, zum bspw. zur dechiffrierung Häufigkeitsverteilungen. (Bspw. treten im Deutschen e und n am häufigsten auf.)
Man bräcuhte dazu halt geeignete Listen, wie diese: http://www-dm.informatik.uni-tuebingen. ... noalph.pdf" onclick="window.open(this.href);return false;
Man könnte also die Häufigkeit der einzelnen Buchstaben zählen, und diese dann mit den Häufigkeitstabellen der Unterschiedlichen Sprachen abgleichen.
Man bräcuhte dazu halt geeignete Listen, wie diese: http://www-dm.informatik.uni-tuebingen. ... noalph.pdf" onclick="window.open(this.href);return false;
Man könnte also die Häufigkeit der einzelnen Buchstaben zählen, und diese dann mit den Häufigkeitstabellen der Unterschiedlichen Sprachen abgleichen.
Johannes
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Soviel wie möglich
Was sich denk ich mal über die Unicode Geschichten machen liesse. Praktisch geht es hauptsächlich darum die Sprache von Mails zu erkennen. ´s prometheus kann ja mittlerweile mit pop3 Konten umgehn und da versuch ich nat. Spam zu filtern. Spam kann man ziemlich gut über die landes sprache filtern
.
Die 2. Anwendung ists Thalia erkennen zu lassen in welcher Sprache mit ihr gesprochen wird und entsprechende Fragekataloge zu verwenden.


Die 2. Anwendung ists Thalia erkennen zu lassen in welcher Sprache mit ihr gesprochen wird und entsprechende Fragekataloge zu verwenden.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Spam kommt bei mir immer Englisch oder mal Deutsch an. Kann mich nicht erinnnern jemals Russischen oder Japanischen Spam bekommen zu haben.Christian hat geschrieben:Soviel wie möglichWas sich denk ich mal über die Unicode Geschichten machen liesse. Praktisch geht es hauptsächlich darum die Sprache von Mails zu erkennen. ´s prometheus kann ja mittlerweile mit pop3 Konten umgehn und da versuch ich nat. Spam zu filtern. Spam kann man ziemlich gut über die landes sprache filtern
.
Die 2. Anwendung ists Thalia erkennen zu lassen in welcher Sprache mit ihr gesprochen wird und entsprechende Fragekataloge zu verwenden.
Ausserdem brauchst du wahrscheinlich schon relativ viel Text um eine Wahrscheinlichkeit zu errechnen. Mit zwei drei Sätzen wird das kaum ohne Wortlisten zu machen sein.
Das mit den Unicode Tabellen hatte ich mal zusammengestellt (und wieder gefunden? 
Vielleicht kannste das ja brauchen.
Die Demo habe ich in der GTK2 IDE gemacht. Die Zeichen sind zweimal Kyrillisch (Russisch) und dreimal Hangul (Koreanisch).
Auf Win musste das vielleicht anders eingeben oder die Zeichen von File laden.
Vielleicht verwurschtelt sie auch der Browser.
procedure TForm1.Button1Click(Sender: TObject);
var WSU:UTF8STring;
WS:WideString;
i:Integer;
begin
WSU:='дл우리글';
WS:=UTF8Decode(WSU);
For i:=1 to Length(WS) do
Memo1.Lines.Add(GetUnicodePageName(WS));
end;
(Button1Click separat, weil der Forum-Highlighter die Zeichen verwurschtelt)

Vielleicht kannste das ja brauchen.
Die Demo habe ich in der GTK2 IDE gemacht. Die Zeichen sind zweimal Kyrillisch (Russisch) und dreimal Hangul (Koreanisch).
Auf Win musste das vielleicht anders eingeben oder die Zeichen von File laden.
Vielleicht verwurschtelt sie auch der Browser.
Code: Alles auswählen
type TUnicodeRange=record
S:Cardinal;
E:Cardinal;
PG:String[50];
end;
const
MaxUnicodeRanges=153;
UnicodeRanges:array[0..MaxUnicodeRanges] of TUnicodeRange = (
(S:$0000;E:$007F;PG:'Basic Latin'),
(S:$0080;E:$00FF;PG:'Latin-1 Supplement'),
(S:$0100;E:$017F;PG:'Latin Extended-A'),
(S:$0180;E:$024F;PG:'Latin Extended-B'),
(S:$0250;E:$02AF;PG:'IPA Extensions'),
(S:$02B0;E:$02FF;PG:'Spacing Modifier Letters'),
(S:$0300;E:$036F;PG:'Combining Diacritical Marks'),
(S:$0370;E:$03FF;PG:'Greek and Coptic'),
(S:$0400;E:$04FF;PG:'Cyrillic'),
(S:$0500;E:$052F;PG:'Cyrillic Supplement'),
(S:$0530;E:$058F;PG:'Armenian'),
(S:$0590;E:$05FF;PG:'Hebrew'),
(S:$0600;E:$06FF;PG:'Arabic'),
(S:$0700;E:$074F;PG:'Syriac'),
(S:$0750;E:$077F;PG:'Arabic Supplement'),
(S:$0780;E:$07BF;PG:'Thaana'),
(S:$07C0;E:$07FF;PG:'NKo'),
(S:$0900;E:$097F;PG:'Devanagari'),
(S:$0980;E:$09FF;PG:'Bengali'),
(S:$0A00;E:$0A7F;PG:'Gurmukhi'),
(S:$0A80;E:$0AFF;PG:'Gujarati'),
(S:$0B00;E:$0B7F;PG:'Oriya'),
(S:$0B80;E:$0BFF;PG:'Tamil'),
(S:$0C00;E:$0C7F;PG:'Telugu'),
(S:$0C80;E:$0CFF;PG:'Kannada'),
(S:$0D00;E:$0D7F;PG:'Malayalam'),
(S:$0D80;E:$0DFF;PG:'Sinhala'),
(S:$0E00;E:$0E7F;PG:'Thai'),
(S:$0E80;E:$0EFF;PG:'Lao'),
(S:$0F00;E:$0FFF;PG:'Tibetan'),
(S:$1000;E:$109F;PG:'Myanmar'),
(S:$10A0;E:$10FF;PG:'Georgian'),
(S:$1100;E:$11FF;PG:'Hangul Jamo'),
(S:$1200;E:$137F;PG:'Ethiopic'),
(S:$1380;E:$139F;PG:'Ethiopic Supplement'),
(S:$13A0;E:$13FF;PG:'Cherokee'),
(S:$1400;E:$167F;PG:'Unified Canadian Aboriginal Syllabics'),
(S:$1680;E:$169F;PG:'Ogham'),
(S:$16A0;E:$16FF;PG:'Runic'),
(S:$1700;E:$171F;PG:'Tagalog'),
(S:$1720;E:$173F;PG:'Hanunoo'),
(S:$1740;E:$175F;PG:'Buhid'),
(S:$1760;E:$177F;PG:'Tagbanwa'),
(S:$1780;E:$17FF;PG:'Khmer'),
(S:$1800;E:$18AF;PG:'Mongolian'),
(S:$1900;E:$194F;PG:'Limbu'),
(S:$1950;E:$197F;PG:'Tai Le'),
(S:$1980;E:$19DF;PG:'New Tai Lue'),
(S:$19E0;E:$19FF;PG:'Khmer Symbols'),
(S:$1A00;E:$1A1F;PG:'Buginese'),
(S:$1B00;E:$1B7F;PG:'Balinese'),
(S:$1D00;E:$1D7F;PG:'Phonetic Extensions'),
(S:$1D80;E:$1DBF;PG:'Phonetic Extensions Supplement'),
(S:$1DC0;E:$1DFF;PG:'Combining Diacritical Marks Supplement'),
(S:$1E00;E:$1EFF;PG:'Latin Extended Additional'),
(S:$1F00;E:$1FFF;PG:'Greek Extended'),
(S:$2000;E:$206F;PG:'General Punctuation'),
(S:$2070;E:$209F;PG:'Superscripts and Subscripts'),
(S:$20A0;E:$20CF;PG:'Currency Symbols'),
(S:$20D0;E:$20FF;PG:'Combining Diacritical Marks for Symbols'),
(S:$2100;E:$214F;PG:'Letterlike Symbols'),
(S:$2150;E:$218F;PG:'Number Forms'),
(S:$2190;E:$21FF;PG:'Arrows'),
(S:$2200;E:$22FF;PG:'Mathematical Operators'),
(S:$2300;E:$23FF;PG:'Miscellaneous Technical'),
(S:$2400;E:$243F;PG:'Control Pictures'),
(S:$2440;E:$245F;PG:'Optical Character Recognition'),
(S:$2460;E:$24FF;PG:'Enclosed Alphanumerics'),
(S:$2500;E:$257F;PG:'Box Drawing'),
(S:$2580;E:$259F;PG:'Block Elements'),
(S:$25A0;E:$25FF;PG:'Geometric Shapes'),
(S:$2600;E:$26FF;PG:'Miscellaneous Symbols'),
(S:$2700;E:$27BF;PG:'Dingbats'),
(S:$27C0;E:$27EF;PG:'Miscellaneous Mathematical Symbols-A'),
(S:$27F0;E:$27FF;PG:'Supplemental Arrows-A'),
(S:$2800;E:$28FF;PG:'Braille Patterns'),
(S:$2900;E:$297F;PG:'Supplemental Arrows-B'),
(S:$2980;E:$29FF;PG:'Miscellaneous Mathematical Symbols-B'),
(S:$2A00;E:$2AFF;PG:'Supplemental Mathematical Operators'),
(S:$2B00;E:$2BFF;PG:'Miscellaneous Symbols and Arrows'),
(S:$2C00;E:$2C5F;PG:'Glagolitic'),
(S:$2C60;E:$2C7F;PG:'Latin Extended-C'),
(S:$2C80;E:$2CFF;PG:'Coptic'),
(S:$2D00;E:$2D2F;PG:'Georgian Supplement'),
(S:$2D30;E:$2D7F;PG:'Tifinagh'),
(S:$2D80;E:$2DDF;PG:'Ethiopic Extended'),
(S:$2E00;E:$2E7F;PG:'Supplemental Punctuation'),
(S:$2E80;E:$2EFF;PG:'CJK Radicals Supplement'),
(S:$2F00;E:$2FDF;PG:'Kangxi Radicals'),
(S:$2FF0;E:$2FFF;PG:'Ideographic Description Characters'),
(S:$3000;E:$303F;PG:'CJK Symbols and Punctuation'),
(S:$3040;E:$309F;PG:'Hiragana'),
(S:$30A0;E:$30FF;PG:'Katakana'),
(S:$3100;E:$312F;PG:'Bopomofo'),
(S:$3130;E:$318F;PG:'Hangul Compatibility Jamo'),
(S:$3190;E:$319F;PG:'Kanbun'),
(S:$31A0;E:$31BF;PG:'Bopomofo Extended'),
(S:$31C0;E:$31EF;PG:'CJK Strokes'),
(S:$31F0;E:$31FF;PG:'Katakana Phonetic Extensions'),
(S:$3200;E:$32FF;PG:'Enclosed CJK Letters and Months'),
(S:$3300;E:$33FF;PG:'CJK Compatibility'),
(S:$3400;E:$4DBF;PG:'CJK Unified Ideographs Extension A'),
(S:$4DC0;E:$4DFF;PG:'Yijing Hexagram Symbols'),
(S:$4E00;E:$9FFF;PG:'CJK Unified Ideographs'),
(S:$A000;E:$A48F;PG:'Yi Syllables'),
(S:$A490;E:$A4CF;PG:'Yi Radicals'),
(S:$A700;E:$A71F;PG:'Modifier Tone Letters'),
(S:$A720;E:$A7FF;PG:'Latin Extended-D'),
(S:$A800;E:$A82F;PG:'Syloti Nagri'),
(S:$A840;E:$A87F;PG:'Phags-pa'),
(S:$AC00;E:$D7AF;PG:'Hangul Syllables'),
(S:$D800;E:$DB7F;PG:'High Surrogates'),
(S:$DB80;E:$DBFF;PG:'High Private Use Surrogates'),
(S:$DC00;E:$DFFF;PG:'Low Surrogates'),
(S:$E000;E:$F8FF;PG:'Private Use Area'),
(S:$F900;E:$FAFF;PG:'CJK Compatibility Ideographs'),
(S:$FB00;E:$FB4F;PG:'Alphabetic Presentation Forms'),
(S:$FB50;E:$FDFF;PG:'Arabic Presentation Forms-A'),
(S:$FE00;E:$FE0F;PG:'Variation Selectors'),
(S:$FE10;E:$FE1F;PG:'Vertical Forms'),
(S:$FE20;E:$FE2F;PG:'Combining Half Marks'),
(S:$FE30;E:$FE4F;PG:'CJK Compatibility Forms'),
(S:$FE50;E:$FE6F;PG:'Small Form Variants'),
(S:$FE70;E:$FEFF;PG:'Arabic Presentation Forms-B'),
(S:$FF00;E:$FFEF;PG:'Halfwidth and Fullwidth Forms'),
(S:$FFF0;E:$FFFF;PG:'Specials'),
(S:$10000;E:$1007F;PG:'Linear B Syllabary'),
(S:$10080;E:$100FF;PG:'Linear B Ideograms'),
(S:$10100;E:$1013F;PG:'Aegean Numbers'),
(S:$10140;E:$1018F;PG:'Ancient Greek Numbers'),
(S:$10300;E:$1032F;PG:'Old Italic'),
(S:$10330;E:$1034F;PG:'Gothic'),
(S:$10380;E:$1039F;PG:'Ugaritic'),
(S:$103A0;E:$103DF;PG:'Old Persian'),
(S:$10400;E:$1044F;PG:'Deseret'),
(S:$10450;E:$1047F;PG:'Shavian'),
(S:$10480;E:$104AF;PG:'Osmanya'),
(S:$10800;E:$1083F;PG:'Cypriot Syllabary'),
(S:$10900;E:$1091F;PG:'Phoenician'),
(S:$10A00;E:$10A5F;PG:'Kharoshthi'),
(S:$12000;E:$123FF;PG:'Cuneiform'),
(S:$12400;E:$1247F;PG:'Cuneiform Numbers and Punctuation'),
(S:$1D000;E:$1D0FF;PG:'Byzantine Musical Symbols'),
(S:$1D100;E:$1D1FF;PG:'Musical Symbols'),
(S:$1D200;E:$1D24F;PG:'Ancient Greek Musical Notation'),
(S:$1D300;E:$1D35F;PG:'Tai Xuan Jing Symbols'),
(S:$1D360;E:$1D37F;PG:'Counting Rod Numerals'),
(S:$1D400;E:$1D7FF;PG:'Mathematical Alphanumeric Symbols'),
(S:$20000;E:$2A6DF;PG:'CJK Unified Ideographs Extension B'),
(S:$2F800;E:$2FA1F;PG:'CJK Compatibility Ideographs Supplement'),
(S:$E0000;E:$E007F;PG:'Tags'),
(S:$E0100;E:$E01EF;PG:'Variation Selectors Supplement'),
(S:$F0000;E:$FFFFF;PG:'Supplementary Private Use Area-A'),
(S:$100000;E:$10FFFF;PG:'Supplementary Private Use Area-B')
);
Function GetUnicodePageName(WC:WideChar):String;
var i:integer;
begin
Result:='';
for i:=0 to MaxUnicodeRanges do
if (Word(WC)>=UnicodeRanges[i].S) and (Word(WC)<=UnicodeRanges[i].E) then
begin
Result:=UnicodeRanges[i].PG;
Exit;
end;
end;
{ TForm1 }
var WSU:UTF8STring;
WS:WideString;
i:Integer;
begin
WSU:='дл우리글';
WS:=UTF8Decode(WSU);
For i:=1 to Length(WS) do
Memo1.Lines.Add(GetUnicodePageName(WS));
end;
(Button1Click separat, weil der Forum-Highlighter die Zeichen verwurschtelt)
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Du bis ja n held theo, ich hab zwar mal angefangen zu suchen aber was wirklich fertiges findet man ja net. Aber das is ja der hammer.
Dort ists dann wieder richtig schön filterbar.
Stimmt aber schon zwischen Europäischen Sprachen und englisch unterscheiden ist noch etwas dümmer.
Mein Windows Widgetset compilier ich schon seit Monaen ständig mit Unicode an, benuz durchgehend unicode.
Aber die Japaner und Chinesen bekommen garantiert unendlich viel englischen spam.Spam kommt bei mir immer Englisch oder mal Deutsch an. Kann mich nicht erinnnern jemals Russischen oder Japanischen Spam bekommen zu haben.
Dort ists dann wieder richtig schön filterbar.
Stimmt aber schon zwischen Europäischen Sprachen und englisch unterscheiden ist noch etwas dümmer.
Mein Windows Widgetset compilier ich schon seit Monaen ständig mit Unicode an, benuz durchgehend unicode.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Hab's noch kurz für den Hausgebrauch verbessert.
procedure TForm1.Button1Click(Sender: TObject);
var WSU:UTF8STring;
WS:WideString;
i:Integer;
begin
WSU:='mal äh sehen дл우리글';
WS:=UTF8Decode(WSU);
GetUnicodePageStats(WS);
for i:=0 to MaxUnicodeRanges do
if UCPageStats>0 then Memo1.Lines.Add(UnicodeRanges.PG+': '+Inttostr(UCPageStats));
end;
Spuckt aus:
Code: Alles auswählen
threadvar UCPageStats: array[0..MaxUnicodeRanges] of Integer;
procedure GetUnicodePageStats(WS:WideString);
var i,j:integer;
begin
for i:=0 to MaxUnicodeRanges do UCPageStats[i]:=0;
for j:=1 to Length(WS) do
for i:=0 to MaxUnicodeRanges do
if (Word(WS[j])>=UnicodeRanges[i].S) and (Word(WS[j])<=UnicodeRanges[i].E) then
begin
UCPageStats[i]:=UCPageStats[i]+1;
Break;
end;
end;
var WSU:UTF8STring;
WS:WideString;
i:Integer;
begin
WSU:='mal äh sehen дл우리글';
WS:=UTF8Decode(WSU);
GetUnicodePageStats(WS);
for i:=0 to MaxUnicodeRanges do
if UCPageStats>0 then Memo1.Lines.Add(UnicodeRanges.PG+': '+Inttostr(UCPageStats));
end;
Spuckt aus:
Code: Alles auswählen
Basic Latin: 12
Latin-1 Supplement: 1
Cyrillic: 2
Hangul Syllables: 3
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Ich finde montas Ansatz garnicht so schlecht - und vom programmiertechnischen her bestimmt weniger aufwendig, als irgendwelche Grammatiken zu prüfen.Christian hat geschrieben:Fürs deusche gut und schön aber wo die anderen Häufigkeiten herbekommen ?
Ich denke das wird zu aufwendig.
Schreib ein Programm und scanne damit für die anderen Häufigkeiten doch einfach Internetseiten von denen du weißt, in welcher Sprache sie geschrieben sind, wie z.B. Seiten des fremdsprachigen Wikipedias. Dürfte doch kein Problem sein?
Euklid
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Dann währe aber wieder eine Datenbank nötig oder nicht ?
Ich habe mal gehört das die Dateigröße von einem Text Aufschluss über die Sprache geben könnte. Das haben Forscher aufjedenfall vor Jahren mal raußgefunden. Aber eine Interessante Frage !
Ich wollte auch schon mal sowas machen.
Ich denke immer noch das ein schlüssel in jeder Sprache gibt. Der eindeutig ist.
Irgendein wert. Irgendwas.
Denn wir wissen ja auch das wenn ein Satzt falsch klingt.
Das liegt wohl an den Context. und genau denn müsste man doch mit Mathe irgendwie herausbekommen.
Wenn ich mir z.b. das Wort ich anschaue. Könnte man es doch irgenwie teilen durch irgendwas z.b.
das dann ein wert rauß kommt. Der genau sagt, das es ein Wort und zwar ein Deutsches.
Ich habe mal gehört das die Dateigröße von einem Text Aufschluss über die Sprache geben könnte. Das haben Forscher aufjedenfall vor Jahren mal raußgefunden. Aber eine Interessante Frage !
Ich wollte auch schon mal sowas machen.
Ich denke immer noch das ein schlüssel in jeder Sprache gibt. Der eindeutig ist.
Irgendein wert. Irgendwas.
Denn wir wissen ja auch das wenn ein Satzt falsch klingt.
Das liegt wohl an den Context. und genau denn müsste man doch mit Mathe irgendwie herausbekommen.
Wenn ich mir z.b. das Wort ich anschaue. Könnte man es doch irgenwie teilen durch irgendwas z.b.
das dann ein wert rauß kommt. Der genau sagt, das es ein Wort und zwar ein Deutsches.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Hier fehlt mir echt wieder die Funktion zum ausblenden von Beiträgen von Benutzern 
Also die Dateigrösse von texten kann keinen Aufschluss auf die Sprache geben. In meinem fall z.b. Subjektfelder von e-Mails wie soll die länge da bitte rückschlüsse auf die Sprache geben ? Absouluter Quatsch.
Es gibt bei begrenzten Texten wie z.b. der Subjektzeile die im einfachsten Fall aus 1-2 Wörtern bestehen kann keie Chance einen textschlüssel zu finden.
Wir wissen das ein Satz falsch klingt, weil unser Hirn die Wörter erkannt hat und wenn dort etwas drin vorkommt was du nicht kennst oder nicht einordnen kannst klingt es eben falsch.
Buchstaben lassen sich schlecht teilen.

Also die Dateigrösse von texten kann keinen Aufschluss auf die Sprache geben. In meinem fall z.b. Subjektfelder von e-Mails wie soll die länge da bitte rückschlüsse auf die Sprache geben ? Absouluter Quatsch.
Es gibt bei begrenzten Texten wie z.b. der Subjektzeile die im einfachsten Fall aus 1-2 Wörtern bestehen kann keie Chance einen textschlüssel zu finden.
Wir wissen das ein Satz falsch klingt, weil unser Hirn die Wörter erkannt hat und wenn dort etwas drin vorkommt was du nicht kennst oder nicht einordnen kannst klingt es eben falsch.
Buchstaben lassen sich schlecht teilen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Ich hab mal ne Funktion geschrieben, die einen Hinweis darauf geben kann, ob ein Wort "echt" ist.Christian hat geschrieben:
Wir wissen das ein Satz falsch klingt, weil unser Hirn die Wörter erkannt hat und wenn dort etwas drin vorkommt was du nicht kennst oder nicht einordnen kannst klingt es eben falsch.
Buchstaben lassen sich schlecht teilen.
z.B. kckolpbp oder sowas wird als ungültig erkannt.