מציאת מילים בעלי סמיכות בניתוח (Parsing) טקסט - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

מציאת מילים בעלי סמיכות בניתוח (Parsing) טקסט


prager

Recommended Posts

אני מעוניין לבצע ניתוח (Parsing) על טקסט ולזהות סמיכות בין מילים. אני שומר את המילים בתוך dictionary מסוג <string, int> (ז"א, סוג של list אשר שומר string מסויים ואת מספר הפעמים - ה-count-ים - שהופיע בטקסט).

אם יש לי את המילים "בית ספר", "עורך דין", "בית משפט" בטקסט, אני מעוניין שהאלגוריתם יזהה (למשל) שהמילה "בית" ושהמילה "ספר" הן מילים סמוכות ושיחשיב את שתי המילים בתור "צירוף" / כמקום אחד ב-dictionary עם count יחיד ולא כ-2 מקומות עם שני count-ים נפרדים.

חשבתי על אפשרות השוואה של כל מילה ומילה בטקסט למאגר של כל מילות הסמיכות הקיימות. אם המילה הנוכחית היא התחלה של אחד מה"צירופים" שבמאגר, תתבצע השוואה בין המילה העוקבת לנוכחית לבין הסיומת של ה"צירוף" שנמצא (כמובן שאבצע מיון על המאגר בכדי לחפש בו ביעילות של log n).

האם קיים מאגר כמו המאגר שהוזכר לעיל? אשמח לקישור לאתר / להורדה.

אם אין כזה מאגר:

אני לא מודע לעובדות המדוייקות, אבל אני מניח שאי אפשר לבצע זאת ע"י אלגוריתם בנכונות של 100%. כל אלגוריתם שמתקרב לנכונות של 80-90% יתקבל בברכה.

קישור לתוכן
שתף באתרים אחרים

אם יש לך כמות מספיק גדולה של טקסט אז אתה יכול לספור את זוגות המילים, ואם יש זוג מילים שכמות המופעים שלו גדולה ביחס לכמות המופעים של כל אחת מהמילים שמרכיבות אותו (נניח, המילה "בית" והמילה "ספר" מופיעות 10 פעמים כל אחת, והצמד "בית ספר" מופיע 7 פעמים) אז אתה יכול להניח שמדובר בסמיכות. כמובן תצטרך כמות טקסט גדולה ולשחק עם זה קצת על מנת לקבוע את החסמים הנכונים.

קישור לתוכן
שתף באתרים אחרים

הבעיה היא כמובן שלהשיג מאגר של כל צירופי המילים בשפה העברית הוא לא משהו שנראה לי קיים איפשהו.

אתה בעצם מדבר על מסד נתונים של מילון לשפה העברית, לא מכיר שום דבר כזה זמין.

קישור לתוכן
שתף באתרים אחרים

התבלבלתי, חשבתי שאתה מחפש על דרך לעשות זאת וזה מה שכתבתי. לא חשבתי שאתה מחפש מאגר. הפתרון של שניצל נראה לי הכי הגיוני. אשמח לעבוד על זה במידה ותתקע.

.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...