q{מטרתו של טקסט זה היא לשמש כעזר לבדיקת התוכנה לחלוקת טקסט עברי למשפטים אשר כתבתי.}
,
q{לטקסט זה נלווה טקסט נוסף, מקביל ובו החלוקה למשפטים כבר מוכנה.}
,
q{בהמשך, ארשום סוגים שונים של משפטים אשר אני מקווה שיסווגו נכונה ע"י התוכנה.}
,
q{"מה כבר ניתן לבדוק?"}
,
q{וודאי תשאלו...}
,
q{ובכן, נראה כי כל מופע של נקודה (.), סימן שאלה (?) וסימן קריאה (!) מהווים סימן חד-משמעי לסוף משפט.}
,
q{ובכן, לא כך בפועל.}
,
q{למעשה, סימנים אלה משמשים גם במקומות אחרים, למשל קיצורים שונים השאולי מאנגלית (לדוגמה, השם 'י.ב.מ.' היה, למעשה צריך כנראה להכתב בעברית כ-'יב"מ', אך מעטים אכן כותבים כך).}
,
q{עוד יוצאים מהכלל הם שילובים של סימנים אלה כגון: שלוש נקודות '...', סימן לתמיהה או הפתעה '?!' וכיוצא באלה.}
,
q{מקרים נוספים אשר מסמלים כנראה סוף משפט הם מקרים של יותר מתו אחד של שורה חדשה.}
,
q{הנה, טקסט לדוגמה מתוך מכתב לדיירי בניין מאת יו"ר ועד הדיירים:}
,
q{לגיא ולכל הדיירים שלום,}
,
q{--- תחילת הטקסט ---}
,
q{עפ"י חוות דעת של האגודה לתרבות הדיור – ניתן לכפות החלטת רוב רק על נושאים הקשורים לתחזוקתו התקינה של הבניין.}
,
q{מכיוון שנושא חדר הכושר לא נופל בקטגוריה זו הרי שעל מנת לצאת לדרך צריכים לפעול עפ"י המלצת הוועד (מפגישתנו המשותפת עם חברי הוועדה ובנוכחות אבי ומיקי) ולהפעיל את החדר בשלבים – עפ"י יכולתנו הכספיות.}
,
q{יכול אמנם להיות שזה בניגוד להמלצתם של חלק מחברי הוועדה שבדקה את הנושא אבל בסופו של דבר הוועד הוא המוציא לפועל וההיגיון אומר – הפעלת חדר הכושר בשלבים.}
,
q{בשלב זה קל יותר להקים תשתית בסיסית שיכולה לכלול: מזגן, סורגים, מזרנים ושולחן פינג-פונג – כל זאת תוך גיוס של לא יותר מ300 ₪ מכל דייר.}
,
q{תשתית בסיסית מעין זו תשמש את כל הדיירים ללא יצירת קליקות או קבוצות.}
,
q{התשתית תשמש גם את אלו שרוצים להתעמל, גם לחוגי יוגה או בריאות, גם לילדים וגם סתם כיף של להתגלגל יחד בחדר....}
,
q{התשתית תשרת את כלל האוכלוסייה בבניין.}
,
q{לפיכך, ההיגיון אומר שיהיה קל יחסית להעביר החלטה על גיוס של 300 ש"ח – כפי שהדבר מסתמן גם בטפסים/שאלונים שאני מקבל חזרה מהדיירים.}
,
q{לעומת זאת, ההחלטה לגבי רכישת ציוד כושר מהווה למעלה מ 30% מתקציב ההשקעות הכולל (660 מתוך 1785) ומדובר בסכום משמעותי ביותר.}
,
q{בעיקר, השקעה זו אינה משרתת את כל הדיירים אלא רק חלק מהם ולכן נדרשת עבורה התייחסות שונה – הן עקב משקלה הסגולי הגבוה בסל ההשקעות והן עקב חילוקי הדעות לגביה (שהם חדים יותר מאשר בכל נושא אחר).}
,
q{ההמלצות בעד ונגד משקפות את דעתם של רבים מהדיירים עימם שוחחנו והתכתבנו, ולכן מצאנו לנכון להביא את רוח הדברים והנימוקים בפני הדיירים.}
,
q{(גם קיומם של ימי הולדת לא תתאפשר בשלב ראשון עקב מורכבות הנושא וחילוקי הדעות הקיימים סביבו).}
,
q{יחד עם זאת, הדיירים אמרו את דברם והרוב אמנם מעוניין בחדר כושר.}
,
q{ולכן ניתן לצפות שהרוב גם ירתם לגיוס כספים עבור מכשירים ברוח העדפותיו אלו.}
,
q{לפיכך אמונתי היא שאותם דיירים שהצביעו בעד חדר הכושר יצביעו גם בעד גיוס כסף לרכישת הציוד – ויעשו כן בעדיפות גבוהה ואז נוכל לממן לפחות חלק מהציוד.}
,
q{בכל מקרה, כוונתנו היא להפעיל את חדר הכושר עוד במהלך חופשת הקיץ.}
,
q{שלכם,}
,
q{חנוך}
,
q{--- סוף הטקסט ---}
);
use
constant
NUM_SENTENCES
=>
scalar
((SENTENCES));
binmode
DATA,
":utf8"
;
my
$t
=
join
''
,<DATA>;
ok(
$t
ne
''
,
"Text exists in the data file"
);
my
$sentences
= get_sentences(
$t
);
ok(
defined
$sentences
,
"get_sentences returned a defined scalar"
);
is(
scalar
@$sentences
, NUM_SENTENCES,
"checking the number of sentences returned"
);
is(
$sentences
->[
$_
], (SENTENCES)[
$_
],
"Checking if segmentation of sentence number $_ is as expected"
)
for
0 .. NUM_SENTENCES-1;