ÆüËܸì¤Îñ¸ì¤òŬÀڤʰÌÃ֤ǶèÀڤäÆÆɤߤ䤹¤¯²þ¹Ô¤·¤Æ¤¯¤ì¤ë·ÚÎ̤ǥª¡¼¥×¥ó¥½¡¼¥¹¤Ê¥é¥¤¥Ö¥é¥ê¡ÖBudouX¡×¤Îµ¡Ç½¡õºÎÍÑÎã¡õ¥Ç¥â¤Ï¤³¤ó¤Ê´¶¤¸¡¢Chrome 119¤Ë¼ÂÁõͽÄê¤Ç´Êñ¤ËÍøÍѤǤ¤ë¸«¹þ¤ß
ÆüËܸì¤Î¥Ú¡¼¥¸¤ò¥Ö¥é¥¦¥¶¤Ç¸«¤Æ¤¤¤ë¤È¤ª¤«¤·¤Ê°ÌÃ֤Dzþ¹Ô¤µ¤ì¤ë¤³¤È¤¬Â¿¤¤¤Î¤Ç¤¹¤¬¡¢Ã±¸ì¤Èñ¸ì¤Î´Ö¤Ë¥¹¥Ú¡¼¥¹¤òÆþ¤ì¤ë±Ñ¸ì¤Ê¤É¤È°Û¤Ê¤ê¡¢ÆüËܸì¤Ç¤Ïʬ¤«¤Á½ñ¤¤¬¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤¬¸¶°ø¡£Ã±¸ì¤ÎÅÓÃæ¤Çʸ¾Ï¤¬ÀÞ¤êÊÖ¤µ¤ì¤Æ¤·¤Þ¤¦¸¶°ø¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£BudouX¤Ïµ¡³£³Ø½¬¥â¥Ç¥ë¤òÍøÍѤ·¤ÆÍÆÎ̤òÍÞ¤¨¤Ä¤Ä¡¢¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¡¼¤ÎAPI¤ä¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤»¤º¤Ëʬ¤«¤Á½ñ¤¤ò¹Ô¤Ã¤Æ¤¯¤ì¤ë¥ª¡¼¥×¥ó¥½¡¼¥¹¥é¥¤¥Ö¥é¥ê¤Ê¤Î¤Ç¡¢Æɤߤ䤹¤¤²þ¹Ô¤¬¼Â¸½¤Ç¤¤Þ¤¹¡£
https://developers-jp.googleblog.com/2023/09/budoux-adobe.html
BudouX¤Î»ÈÍÑ¥¤¥á¡¼¥¸¤Ï²¼¿Þ¤ÎÄ̤ꡣ½¾Íè¤Ï²èÌÌÉý¤Ë¤è¤Ã¤Æ¤Ï¡ÖºÇÀèü¡×¤ä¡Ö¥Æ¥¯¥Î¥í¥¸¡¼¡×¤Ê¤É¤Îñ¸ì¤ÎÅÓÃæ¤Ç²þ¹Ô¤¬¹Ô¤ï¤ì¤Æ¤·¤Þ¤¦»ö¤¬¤¢¤ê¤Þ¤·¤¿¤¬¡¢BudouX¤ò»ÈÍѤ¹¤ë¤³¤È¤Çñ¸ì¤ÎÁ°¸å¤Ç²þ¹Ô¤òÆþ¤ì¤ë»ö¤¬¤Ç¤¡¢Æɤߤ䤹¤µ¤ò²þÁ±²Äǽ¤Ç¤¹¡£
BudouX¤Ï¿ôʸ»ú¤º¤Äʤ٤¿É½¸½¤Ç¤¢¤ëN¥°¥é¥à¤òÆÃħÎ̤Ȥ·¤Æ»ÈÍѤ·¡¢¤½¤ÎN¥°¥é¥à¤ËÂФ·¤ÆAdaBoost¥¢¥ë¥´¥ê¥º¥à¤òŬÍѤ·¤¿µ¡³£³Ø½¬¥â¥Ç¥ë¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£µ¡³£³Ø½¬¤Î¥â¥Ç¥ë¤¬¤½¤ì¤¾¤ì¤Îʸ»ú¤´¤È¤Ë¡Ö¼¡¤Îʸ»ú¤È¤Î´Ö¤ÇÀÚ¤ë¤Ù¤¤«¡×¤òͽ¬¤¹¤ë¤³¤È¤ÇŬÀڤʲþ¹Ô¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤È¤Î¤³¤È¡£
¥â¥Ç¥ë¤Î³Ø½¬¤Ë¤ÏµþÅÔÂç³Ø¾ðÊó³Ø¸¦µæ²Ê¤ÈNTT¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó²Ê³Ø´ðÁø¦µæ½ê¤Î¶¦Æ±¸¦µæ¥æ¥Ë¥Ã¥È¤Ë¤è¤ë²òÀÏºÑ¤ß¥Ö¥í¥°¥³¡¼¥Ñ¥¹¤ò»ÈÍѤ·¤¿¤È¤Î¤³¤È¤Ç¤¹¡£¤Ê¤ª¡¢³Ø½¬¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ê¼êË¡¤Ï¥ê¥Ý¥¸¥È¥êÆâ¤Îscripts/README¤Ë¤Æ²òÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£
¤Þ¤¿¡¢¼ÂºÝ¤ËBudouX¤ò³èÍѤ·¤Æ¤¤¤ë»öÎã¤È¤·¤Æadobe.com¤ÎÎ㤬Åо줷¤Æ¤¤¤Þ¤¹¡£Adobe¤Ï½¾Íè¤è¤ê¶èÀÚ¤êʸ»ú¤ò¼êÆ°¤ÇÁÞÆþ¤¹¤ë¤³¤È¤ÇŬÀڤʲþ¹Ô¤ò¼Â»Ü¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢adobe.com¤Î¹½ÃÛ¤ËÍøÍѤ¹¤ë¥³¥ó¥Æ¥ó¥Ä´ÉÍý¥·¥¹¥Æ¥à(CMS)¤òAdobe Experience Manager¤«¤éAEM Franklin¤Ë°Ü¹Ô¤¹¤ëºÝ¤ËÆüËܸì¤Î²þ¹Ô½èÍý¤Îµ¡Ç½¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¡¢BudouX¤òƳÆþ¤·¤¿¤È¤Î¤³¤È¡£
¤¿¤À¤·¡¢Æ³Æþ¤ÎºÝ¤Ë¤Ï3¤Ä¤Î²ÝÂ꤬»Ä¤Ã¤Æ¤¤¤¿¤È½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£
1¡§ÀºÅÙ¤ÎÌäÂê
Adobe¤Î¥µ¥¤¥È¤Ç¤è¤¯»ÈÍѤµ¤ì¤Æ¤¤¤ë¸ÀÍդΤ¦¤Á¡¢¡Ö¤ª¡¢¤´¡¢¤Ê¤É¤Îº·É¸ì¡×¡Ö¥Ç¥¸¥¿¥ë¥¨¥¯¥¹¥Ú¥ê¥¨¥ó¥¹¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ê¤É¤ÎŤ¤¥«¥¿¥«¥Ê¤ÎÊ£¹ç̾»ì¡×¤Ê¤É¤Ë¤Ä¤¤¤ÆBudouX¤Îɸ½à¥â¥Ç¥ë¤Ç¤ÏÀºÅÙ¤¬Ä㤤¤È¤¤¤¦ÌäÂ꤬¤¢¤ê¤Þ¤·¤¿¡£¤³¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¤ÏAdobe.com¤Î¥Ç¡¼¥¿¤Ç³Ø½¬¤µ¤»¤ë¤³¤È¤ÇŬÀڤʵ¡³£³Ø½¬¥â¥Ç¥ë¤ò³«È¯¤·¤Æ²ò·è¤·¤¿¤È¤Î¤³¤È¡£
2¡§¶Ø§½èÍý¤ÎÌäÂê
¹ÔƬ¤ä¹ÔËö¤ËÆÃÄê¤Îʸ»ú¤¬Íè¤Ê¤¤¤è¤¦¤Ëʸ»ú¤ÎʤӤòÄ´À°¤¹¤ë½èÍý¤Î¤³¤È¤ò¶Ø§½èÍý¤È¤¤¤¤¤Þ¤¹¡£ÉáÃʤϥ֥饦¥¶¤¬¼«Æ°¤Ç¶Ø§½èÍý¤ò¹Ô¤Ã¤Æ¤¯¤ì¤Þ¤¹¤¬¡¢BudouX¤Î»ÈÍÑ»þ¤Ë¤ÏBudouX¤Î¶èÀÚ¤êʸ»ú¤¬Í¥À褵¤ì¤Æ¹ÔƬ¤Ëµ¿ÌäÉ䤬ÉÕ¤¤¤Æ¤·¤Þ¤¦¤Ê¤É¤ÎÌäÂ꤬ȯÀ¸¤·¤¿¤È¤Î¤³¤È¡£
Adobe¤Ï¥ë¡¼¥ë¥Ù¡¼¥¹¤Î¶Ø§½èÍý¤òÄɲ乤뤳¤È¤Ç¤³¤ÎÌäÂê¤ò²ò·è¤·¤Þ¤·¤¿¡£
3¡§ºÙ¤«¤¤¥«¥¹¥¿¥Þ¥¤¥º¤ÎÌäÂê
¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï¡¢BudouX¤Î¼«Æ°½èÍý¤Ç¤Ï¤Ê¤¯¼êÆ°¤ÇÆÃÄê¤Î°ÌÃ֤˶èÀÚ¤ê¤òÆþ¤ì¤¿¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£Adobe¤Ï¡Ö²þ¹Ô¥ë¡¼¥ë¤ò¼êÆ°¤ÇÄɲ乤ë¡×¡Ö¥Ú¡¼¥¸¤Î°ìÉô¤ËBudouX¤òŬÍѤ·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡×¡ÖBudouX¤ËÅϤ¹¥Ñ¥é¥á¡¼¥¿¡¼¤òÄ´À°¤¹¤ë¡×¤Ê¤É¤ÎÄ´À°¤ò¥Ú¡¼¥¸¤´¤È¤ËÀßÄê¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢Â¿¤¯¤ÎÉôʬ¤ÇBudouX¤Î¼«Æ°½èÍý¤Î²¸·Ã¤ò¼õ¤±¤Ä¤Ä¡¢ºÙ¤«¤¤Éôʬ¤âÍýÁÛÄ̤ê¤Ë²þ¹Ô¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤Ã¤¿¤È¤Î¤³¤È¡£
¤³¤¦¤·¤¿²þ¹Ô½èÍý¤Î¡Ö¤¢¤ê¡×¡Ö¤Ê¤·¡×¤Î°ã¤¤¤ò°ì¸«¤·¤Æʬ¤«¤ëÈæ³Ó²èÁü¤¬·ÇºÜ¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¡£²þ¹Ô½èÍý¤¬Ìµ¤¤¾ì¹ç¡¢¡Ö¥Ä¡¼¥ë¡×¡ÖÄɲáס֥¢¥¯¥»¥¹¡×¤Ê¤É¤Îñ¸ì¤ÎÅÓÃæ¤Ç²þ¹Ô¤¬Æþ¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
BudouX¤ò»ÈÍѤ·¤¿²þ¹Ô½èÍý¤òÆþ¤ì¤ë¤³¤È¤Ç²¼µ¤Î¤è¤¦¤ËÆɤߤ䤹¤¤É½¼¨¤Ë¤Ç¤¤ë¤È¤¤¤¦¤ï¤±¡£
BudouX¤ÏUnicode¤ª¤è¤Ó¹ñºÝ²½¤ÈÃÏ°è²½¤Ë´Ø¤¹¤ë¥é¥¤¥Ö¥é¥ê¤Ç¤¢¤ë¡ÖInternational Components for Unicode(ICU)¡×¤Î°ìÉô¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢¥¦¥§¥Ö¤Ë¸Â¤é¤º¤µ¤Þ¤¶¤Þ¤Ê¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ÇÍøÍѤµ¤ì»Ï¤á¤Æ¤¤¤ë¤È¤Î¤³¤È¡£¤½¤Î¤Û¤«¡¢2023ǯÆâ¤ÎÅо줬ͽÄꤵ¤ì¤Æ¤¤¤ëAndroid 14¤ä¡¢2023ǯ10·î31Æü¥ê¥ê¡¼¥¹Í½Äê¤ÎChrome 119¤ÇBudouX¤¬ºÎÍѤµ¤ì¤ë¸«Ä̤·¤Ç¡¢lang°À¤¬¡Öja¡×¤ËÀßÄꤵ¤ì¤Æ¤¤¤ëÍ×ÁǤËCSS¤Ç¡Öword-break: auto-phrase¡× ¤òÀßÄꤹ¤ë¤À¤±¤ÇBudouX¤Î¼«Æ°²þ¹Ôµ¡Ç½¤¬ÍøÍѲÄǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ê¤ª¡¢BudouX¤ÏJavaScript¡¦Python¡¦Java¤Î¥é¥¤¥Ö¥é¥ê¤¬ÍÑ°Õ¤µ¤ì¤Æ¤ª¤ê¡¢¤½¤ì¤¾¤ì¤Î»ÈÍÑÎã¤âµºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¢¡JavaScript
¥Ñ¥Ã¥±¡¼¥¸´ÉÍý¥Ä¡¼¥ë¤ÎNPM¤òÍøÍѤ¹¤ë¾ì¹ç¡¢¡Önpm i budoux¡×¤ÇBudouX¤ò¥¤¥ó¥¹¥È¡¼¥ë²Äǽ¤Ç¤¹¡£¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ï²¼µ¤Î¥³¡¼¥É¤ÇÍøÍѲÄǽ¤Ç¤¹¡£
import { loadDefaultJapaneseParser } from 'budoux' ;
const parser = loadDefaultJapaneseParser();
console.log(parser.parse('º£Æü¤ÏÅ·µ¤¤Ç¤¹¡£')); // ['º£Æü¤Ï', 'Å·µ¤¤Ç¤¹¡£']
NPM¤òÍøÍѤ»¤ºES Module¤È¤·¤ÆÆɤ߹þ¤à¾ì¹ç¤Ï²¼µ¤Î¥³¡¼¥É¤¬ÍøÍѤǤ¤Þ¤¹¡£
<script type="module"> import {loadDefaultJapaneseParser} from
'https://unpkg.com/budoux/module/index.js';
const parser = loadDefaultJapaneseParser();
console.log(parser.parse('º£Æü¤ÏÅ·µ¤¤Ç¤¹¡£')); // ['º£Æü¤Ï', 'Å·µ¤¤Ç¤¹¡£']
</script>
¤µ¤é¤ËWeb ComponentsÈǤâÍÑ°Õ¤µ¤ì¤Æ¤ª¤ê¡¢²¼µ¤Î¥³¡¼¥É¤ÇBudouX¤òÆɤ߹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
<script
src="https://unpkg.com/budoux/bundle/budoux-ja.min.js"></script>
¤½¤Î¸å¡¢¡Öbudoux-ja¡×Í×ÁǤ˥ƥ¥¹¥È¤òÀßÄꤹ¤ë¤È¡¢Shadow Root¤Ë¼«Æ°¤Ç¥Æ¥¥¹¥ÈÀÞ¤êÊÖ¤·¤òÀ°¤¨¤ë¤¿¤á¤Î¥Þ¡¼¥¯¥¢¥Ã¥×¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹¡£
<budoux-ja>º£Æü¤ÏÅ·µ¤¤Ç¤¹¡£</budoux-ja>
<!-- Shadow Root -->
<span style="word-break: keep-all; overflow-wrap:
anywhere;">º£Æü¤Ï<wbr>Å·µ¤¤Ç¤¹¡£</span>
¢¡Python
Python¤Ç¤Ï¥Ñ¥Ã¥±¡¼¥¸´ÉÍý¥·¥¹¥Æ¥à¤Îpip¤ò»ÈÍѤ·¡¢¡Öpip install budoux¡×¤È¤¤¤¦¥³¥Þ¥ó¥É¤ÇBudouX¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤¤Þ¤¹¡£¤½¤Î¸å¤Ï²¼µ¤Î¥³¡¼¥É¤ÇÍøÍѲÄǽ¤Ç¤¹¡£
import budoux
parser = budoux.load_default_japanese_parser()
print(parser.parse('º£Æü¤ÏÅ·µ¤¤Ç¤¹¡£')) # ['º£Æü¤Ï', 'Å·µ¤¤Ç¤¹¡£']
¢¡Java
BudouX¥â¥¸¥å¡¼¥ë¤ÏMaven Central Repository¤Ë¤Æ¡Öcom.google.budoux¡×¤È¤·¤Æ¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ï²¼µ¤Î¥³¡¼¥É¤ÇÍøÍѲÄǽ¤Ç¤¹¡£
import com.google.budoux.Parser;
public class App {
public static void main(String[] args ){
Parser parser =
Parser.loadDefaultJapaneseParser();
System.out.println(parser.parse("º£Æü¤ÏÅ·µ¤¤Ç¤¹¡£"));
// ["º£Æü¤Ï", "Å·µ¤¤Ç¤¹¡£"]
}
}
¢¡¥Ç¥â
¼ÂºÝ¤ËBudouX¤ÎÆ°ºî¤ò³Îǧ¤Ç¤¤ë¤è¤¦¡¢¥Ç¥â¤òÍÑ°Õ¤·¤Æ¤ß¤Þ¤·¤¿¡£
¤³¤Î¥Æ¥¥¹¥È¥¨¥ê¥¢Æâ¤Ëʸ»ú¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£²¼Éô¤ËBudouX¤Ç¶èÀÚ¤ê¤òÀßÄꤷ¤¿·ë²Ì¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥µ¥¤¥º¤òÊѹ¹¤·¤¿ºÝ¤Î·ë²Ì¤¬Ê¬¤«¤ê¤ä¤¹¤¤¤è¤¦¡¢²£Éý¤ò¤¤¤¯¤Ä¤«¤Ëʬ¤±¤Æɽ¼¨¤·¤Æ¤ß¤Þ¤·¤¿¡£
¡¦²£Éý360px
¤³¤Î¥Æ¥¥¹¥È¥¨¥ê¥¢Æâ¤Ëʸ»ú¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£²¼Éô¤ËBudouX¤Ç¶èÀÚ¤ê¤òÀßÄꤷ¤¿·ë²Ì¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥µ¥¤¥º¤òÊѹ¹¤·¤¿ºÝ¤Î·ë²Ì¤¬Ê¬¤«¤ê¤ä¤¹¤¤¤è¤¦¡¢²£Éý¤ò¤¤¤¯¤Ä¤«¤Ëʬ¤±¤Æɽ¼¨¤·¤Æ¤ß¤Þ¤·¤¿¡£
¡¦²£Éý540px
¤³¤Î¥Æ¥¥¹¥È¥¨¥ê¥¢Æâ¤Ëʸ»ú¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£²¼Éô¤ËBudouX¤Ç¶èÀÚ¤ê¤òÀßÄꤷ¤¿·ë²Ì¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥µ¥¤¥º¤òÊѹ¹¤·¤¿ºÝ¤Î·ë²Ì¤¬Ê¬¤«¤ê¤ä¤¹¤¤¤è¤¦¡¢²£Éý¤ò¤¤¤¯¤Ä¤«¤Ëʬ¤±¤Æɽ¼¨¤·¤Æ¤ß¤Þ¤·¤¿¡£
¡¦²£Éý100¡ó
¤³¤Î¥Æ¥¥¹¥È¥¨¥ê¥¢Æâ¤Ëʸ»ú¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£²¼Éô¤ËBudouX¤Ç¶èÀÚ¤ê¤òÀßÄꤷ¤¿·ë²Ì¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥µ¥¤¥º¤òÊѹ¹¤·¤¿ºÝ¤Î·ë²Ì¤¬Ê¬¤«¤ê¤ä¤¹¤¤¤è¤¦¡¢²£Éý¤ò¤¤¤¯¤Ä¤«¤Ëʬ¤±¤Æɽ¼¨¤·¤Æ¤ß¤Þ¤·¤¿¡£