æ³å¾ã®ãã¼ã¿æ§é ã¨æ¤ç´¢
ãã¸ã¿ã«åºã¯ãæ³ä»¤æ¨æº XML ã¹ãã¼ãã«æºæ ãããç¾è¡ã®æ³ä»¤ãã¼ã¿ãe-Govæ³ä»¤æ¤ç´¢ã¨ãããµã¤ãä¸ã§å ¬éãã¦ãã¾ã[1]ãä»åããã®æ³ä»¤XMLããã¼ã¹ããPythonã©ã¤ãã©ãª ja-law-parser ãã¤ãããæ³ä»¤ãã¼ã¿ã®å ¨ææ¤ç´¢ããã¦ã¿ã¾ããã
ãã®è¨äºã§ã¯ãæ¥æ¬ã®æ³ä»¤ã¨ãã®ãã¼ã¿æ§é ãæ³ä»¤XMLãã¼ãµã«ã¤ãã¦è§£èª¬ããæå¾ã«ããããã使ã£ãæ³ä»¤ãã¼ã¿ã®å ¨ææ¤ç´¢ã·ã¹ãã ãå®è£ ããæ¹æ³ããç´¹ä»ãã¾ããæ³ä»¤æ¤ç´¢ã®å®è£ ã«ã¤ãã¦ããGitHubãªãã¸ããªã§å ¬éãã¦ãã¾ãã
ãã®è¨äºã¯ãæ å ±æ¤ç´¢ã»æ¤ç´¢æè¡ Advent Calendar 2023ã®16æ¥ç®ã®è¨äºã§ãã
- æ³å¾ã¨æ³ä»¤
- æ³ä»¤ã®ãã¼ã¿æ§é
- æ³ä»¤XMLãã¼ãµï¼ ja-law-parser
- æ³ä»¤ã®æ¤ç´¢
- ãããã«
æ³å¾ã¨æ³ä»¤
æ³å¾ã¨ã¯
æ³å¾ã¨ã¯ã主ã«å½å®¶ã«ãã£ã¦å®ãããããå¼·å¶åããã£ãè¦ç¯ã§ã[2]ãæ¥æ¬ã®æ³å¾ã¯ãå½ä¼ã®è°æ±ºãçµã¦å¶å®ããã¾ãã
社ä¼çæ´»ãå¶ãã«ããã£ã¦æ³ãã«ã¼ã«ãéµå®ãããã¨ã大äºãªã®ã¯è¨ãã¾ã§ãããã¾ããããç¥ããç¥ããã®ãã¡ã«æ³å¾ã«éåãããã¨ã§å¶è£ã課ãããã社ä¼çãªä¿¡ç¨ã失ããã¨ããããããæ³å¾ãæ£ããç¥ããã¨ã¯éè¦ã§ãã
æ³å¾ã®å¶å®ã¨å ¬å¸
æ¥æ¬ã«ããã¦æ³å¾æ¡ã¯ãå½ä¼è°å¡ãããã¯å é£ããæåºãããå®ããããã¯ã¼ã¯ããã¼ã«åã審æ»ãè¡ããã¾ããããã坿±ºãããã¨ãæ³å¾ã¨ãã¦å¶å®ãããå®å ±ï¼ç´åªä½ï¼ã§å ¬è¡¨ããã¾ãããããæ³å¾ã®å ¬å¸ã¨ããã¾ããå ¬å¸ãããæ³å¾ã¯ãå®ããããæ½è¡æ¥ããå¹åãçºæ®ãã¾ãï¼å ¬å¸æ¥ã¨æ½è¡æ¥ã忥ã«ãªããã¨ãããã¾ãï¼ã
ãã¨ãã°å é£ãæåºããæ³å¾æ¡ï¼é£æ³ï¼ã¯ã以ä¸ã®ããã»ã¹ã§å¯©è°ã»æç«ã»å ¬å¸ããã¾ã[3]ã
- æ³å¾æ¡ã®åæ¡ä½æ
- å 飿³å¶å±ã«ããã審æ»
- å½ä¼æåºã®ããã®é£è°æ±ºå®
- å½ä¼ã«ç½®ãã審è°
- æ³å¾ã®æç«
- æ³å¾ã®å ¬å¸
å ¬å¸ãããæ³å¾ã¯ãå®å ±ï¼ç´åªä½ï¼ã ãã§ãªããe-Govæ³ä»¤æ¤ç´¢ï¼æ§æ³ä»¤ãã¼ã¿æä¾ã·ã¹ãã ï¼ãã¯ããã¨ããã以ä¸ã®ãããªãªã³ã©ã¤ã³ãµã¼ãã¹ããã¼ã¿ãã¼ã¹ã§ãå ¬éããã¾ã[4]ã
- e-Govæ³ä»¤æ¤ç´¢ï¼ãã¸ã¿ã«åºï¼
- æ¥æ¬æ³ä»¤ç´¢å¼ï¼å½ç«å½ä¼å³æ¸é¤¨ï¼
- å¶å®æ³å¾ï¼è¡è°é¢ï¼
- ã¤ã³ã¿ã¼ãããçå®å ±ï¼å½ç«å°å·å±ï¼
- ç¾è¡æ³ä»¤é»åç Superæ³ä»¤Webï¼ãããããï¼
- D1-Law.com ç¾è¡æ³è¦ï¼ç¬¬ä¸æ³è¦åºçï¼
- LexisNexis JPï¼ã¬ã¯ã·ã¹ãã¯ã·ã¹ã»ã¸ã£ãã³ï¼
- Westlaw Japanï¼ã¦ã¨ã¹ããã¼ã»ã¸ã£ãã³ï¼
æ³å¾ã¨æ³ä»¤ã®éã
æ³ä»¤ã¨ããã®ã¯ãæ³å¾ã«å ãã¦ãæ²æ³ãæ¿ä»¤ãªã©ãå«ãã æ³è¦ç¯ã®ãã¨ãæãã¾ããä¸è¬ã«ã¯ä»¥ä¸ã®ãã®ãå«ãããã§ã[5][6]ã
- æ²æ³
- æ¡ç´
- æ³å¾
- æ¿ä»¤
- å½ä»¤
- æ¿ä»¤
- åºä»¤ã»ç令
æ³ä»¤ã¯ãããä¸ä½ã®æ³ä»¤ãä¸ä½ã®æ³ä»¤ããåªå ããããã¨ããé層æ§é ã«ãªã£ã¦ãã¾ãããããããã¨ãåºæ¬çã«ä¸ä½ã®æ³ä»¤ãåªå ããããã«éåããä¸ä½ã®æ³ä»¤ã¯å¹åããã¡ã¾ããããã¨ãã°ãæ²æ³ã¯æãå¼·ãè¦ç¯ã§ãããæ²æ³ã«éåãããããªæ³ä»¤ã¯ç¡å¹ã¨ãªãã¾ã[7]ã

ãã®è¨äºã§ã¯æ±ãã¾ããããæ¥æ¬ã«ãããè¦ç¯ã¨ãã¦ã¯ä»ã«ããè¡æ¿æ©é¢çãçºããè¨ä»¤ã»ééã»éç¥ã»å示ããå°æ¹å ¬å ±å£ä½ãå¶å®ããæ¡ä¾ã»è¦åãªã©ãããã¾ãã
æ³å¾ã®æ¹æ£
æ¥æ¬ã«ãããæ³å¾ã®æ¹æ£ã«ã¯ãæ³ä»¤ã®å ¨æãæ¹ããå ¨é¨æ¹æ£ã¨ãæ¡æã®ä¸é¨ãæ¹ããä¸é¨æ¹æ£ãããã¾ãã
å ¨é¨æ¹æ£ã®å ´åã¯ãæ°ããªæ³ä»¤ã¨ãã¦å¶å®ããã¾ãï¼æ³ä»¤çªå·ãå¤ããã¾ãï¼ããã¨ã®æ³ä»¤ã¨é¡åã¯åãã¾ã¾ã«ãªããã¨ãå¤ã[8]ãããåºå¥ã§ãããããé¡åã«ã¤ã¥ãå¶å®æã«ããã¦ããæ³ã®å ¨é¨ãæ¹æ£ãããã¨ããè¨è¿°ããªããã¾ãããã¨ãã°ãå ¨é¨æ¹æ£ãããæ³ä»¤ã®ä¸ã¤ã¨ãã¦ãè使¨©æ³ï¼æåååäºå¹´æ³å¾ç¬¬ååå «å·ï¼ããããå¶å®æã«ã¯ãè使¨©æ³ï¼ææ²»ä¸åäºå¹´æ³å¾ç¬¬ä¸åä¹å·ï¼ã®å ¨é¨ãæ¹æ£ããããã¨æ¸ããã¦ãã¾ãã
ä¸é¨æ¹æ£ã®éãæ¥æ¬ã§ã¯æº¶ãè¾¼ã¿æ¹å¼ã¨å¼ã°ããæ¹æ³ãã¨ã£ã¦ãããæ¡æã®å¤æ´å å®¹ãæ¢åã®æ¡æã«é©ç¨ãã䏿¸ããã¦ãã¾ãã¾ãï¼æº¶ããè¾¼ã¿ã¨ããã¾ãï¼ãã¤ã¾ããæ¹æ£ã®å 容ã追跡ããªãã¦ãããã®æç¹ã§æå¹ãªæ³ä»¤ã®å 容ãä¸ç®ã§ãããããã«ãªã£ã¦ãã¾ããããããæ³ä»¤ãã¼ã¿ã§ã¯æ¹æ£åã®æ¡æã«æº¶ããè¾¼ã¾ããç¶æ ã§å ¬éãããããã夿´å 容ãããããªããªã£ã¦ãã¾ãã夿´å 容ã¯ãå®å ±ãæ³ä»¤å ¨æ¸ã«ããã¦ã¯ãä¸é¨æ¹æ£æ³ã¨ãã¦å ¬å¸ãããã®ã§ã夿´ç¹ãç¥ãããå ´åã¯ããã¡ãããããã¦ç¢ºèªããå¿ è¦ãããã¾ã[5:1]ã
ã¾ããæ³ä»¤ãæ¹æ£ããã«ããã£ã¦ãå ¨é¨æ¹æ£ã¨ã¯ç°ãªããæ¢åã®æ³å¾ã廿¢ããæ°ãã«ããã«ä»£ããæ³ä»¤ãå¶å®ãã廿¢å¶å®ãããã¾ã[9]ãå ¨é¨æ¹æ£ã¨ä¼¼ã¦ãã¾ããããã¡ãã«ã¯å¶å®æã«ããæ³ã®å ¨é¨ãæ¹æ£ãããã¨ããè¨è¿°ã¯ããã¾ããããã®ä»£ãããéåã«ã¦ãããæ³ã¯å»æ¢ãããã¨ããè¨è¿°ããªããã¾ããå½ç±æ³ï¼æåäºåäºå¹´æ³å¾ç¬¬ç¾ååä¸å·ï¼ã¯é¡åã¯åãã§ãããå½ç±æ³ï¼ææ²»ä¸åäºå¹´æ³å¾ç¬¬å åå å·ï¼ã廿¢å¶å®ããããã®ã§ãéå2é ã«ãå½ç±æ³ï¼ææ²»ä¸åäºå¹´æ³å¾ç¬¬å åå å·ï¼ã¯ã廿¢ããããã¨æ¸ããã¦ãã¾ãã
æ³ä»¤ã®ãã¼ã¿æ§é
e-Govã®æ³ä»¤ãã¼ã¿
e-Govæ³ä»¤æ¤ç´¢ãå ¬éãã¦ããæ³ä»¤ãã¼ã¿ï¼ä»¥ä¸ãåã«æ³ä»¤ãã¼ã¿ã¨ãã¾ãï¼ã¯ã2023å¹´12æ16æ¥ç¾å¨ã以ä¸ã®9,111ä»¶ã§ã[10]ã
| æ³ä»¤ç¨®å¥ | ç»é²æ° |
|---|---|
| æ²æ³ | 1 |
| æ³å¾ | 2,122 |
| æ¿ä»¤ | 2,302 |
| å 令 | 71 |
| åºç令 | 4,181 |
| è¦å | 434 |
ãã®æ³ä»¤ãã¼ã¿ã¯ã以ä¸ã®URLããããã¹ã¦ã®XMLãå«ã¾ããzipãã¡ã¤ã«ï¼ all_xml.zip ï¼ããã¦ã³ãã¼ãã§ãã¾ãã
XML䏿¬ãã¦ã³ãã¼ã | e-Govæ³ä»¤æ¤ç´¢
ãã®æ³ä»¤ãã¼ã¿ã¯ããã¾ãã¾ãªã¢ããªã±ã¼ã·ã§ã³ã®éçºãæ³å®ããã¦ãããäºæ¬¡å©ç¨ãå¯è½ã§ãã
Q7ï¼e-Govæ³ä»¤æ¤ç´¢ã§æä¾ãã¦ãããã¼ã¿ã®äºæ¬¡å©ç¨ããããã®ã§ããï¼
Aï¼æä¾ãã¦ããæ³ä»¤ãã¼ã¿ã«ã¤ãã¦ã¯ãç¹ã«å©ç¨å¶éãè¨ãã¦ããã¾ããã
ãã ãããã¸ã¿ã«åºåã³ååºçã¯ãæ¬ã·ã¹ãã ã®æ³ä»¤ãã¼ã¿ã®å©ç¨ã«ä¼´ã£ã¦çºçããä¸å©çãåé¡ã«ã¤ãã¦ãä½ã責任ãè² ãã¾ããã®ã§ããæ¿ç¥ãã ããã
æ³ä»¤æ¨æºXMLã¹ãã¼ã
æ³ä»¤ãã¼ã¿ã®ãã¡ã¤ã«ã®å 容ã¯ãæ³ä»¤æ¨æºXMLã¹ãã¼ãï¼PDF, xsdï¼ã«æºæ ããå½¢å¼ã«ãªã£ã¦ãã¾ã[11]ã
ãã¨ãã°æ³ä»¤XMLã«ããã¦ããã£ã¨ããå¤å´ãã®è¦ç´ ã§ãããæ³ä»¤ï¼ Law ï¼ã¯ä»¥ä¸ã®ããã«å®ç¾©ããã¦ãã¾ãã
<xs:element name="Law">
<xs:complexType>
<xs:sequence>
<xs:element ref="LawNum"/>
<xs:element ref="LawBody"/>
</xs:sequence>
<xs:attribute name="Era" use="required">...</xs:attribute>
<xs:attribute name="Year" use="required" type="xs:positiveInteger"/>
<xs:attribute name="Num" use="required" type="xs:positiveInteger"/>
<xs:attribute name="PromulgateMonth" type="xs:positiveInteger"/>
<xs:attribute name="PromulgateDay" type="xs:positiveInteger"/>
<xs:attribute name="LawType" use="required">...</xs:attribute>
<xs:attribute name="Lang" use="required">...</xs:attribute>
</xs:complexType>
</xs:element>
æ³ä»¤ãã¼ã¿ã¯ã大ããã¯ä»¥ä¸ã®ãããªæ§é ããã¡ã¾ãï¼ã«ãã³æ¸ãã®è¦ç´ ã¯ãªãã·ã§ãã«ï¼ã
- æ³ä»¤
Law- æ³ä»¤çªå·
LawNum - æ³ä»¤æ¬ä½
LawBody- é¡å
LawTitle - ï¼å¶å®æ
EnactStatementï¼ - ï¼ç®æ¬¡
TOCï¼
- é¡å
- ï¼åæ
Preambleï¼ - æ¬å
MainProvision - ï¼éå
SupplProvisionï¼ - ï¼å¥è¡¨
AppdxTableãå¥è¨AppdxNoteãä»é²Appdxçï¼
- æ³ä»¤çªå·
æ³ä»¤æ¨æºXMLã¹ãã¼ããè¦ãããå½¢ã§å ¬éãã¦ãããµã¤ããããã¾ãã®ã§ãã¹ãã¼ãã«ã¤ãã¦è©³ããç¥ãããæ¹ã¯ãã¡ããåç §ããã¨ããã§ãããã
æ³ä»¤çªå·ã¨æ³ä»¤ID
æ³ä»¤ã¯å ¬å¸ã®éã«ã䏿ã«èå¥ã§ããæ³ä»¤çªå·ãä»ä¸ããã¾ãããã¨ãã°ãç¾å¨ã®ä¼ç¤¾æ³ã®æ³ä»¤çªå·ã¯ãå¹³æåä¸å¹´æ³å¾ç¬¬å «åå å·ãã¨ãªã£ã¦ãã¾ãã
e-Govãæä¾ããæ³ä»¤ãã¼ã¿ã§ã¯ã忳令ã«ä¸æãªæ³ä»¤IDãä»ä¸ããã¾ãï¼æ¹æ£æ³ã«ãæ³ä»¤IDãä»ä¸ããã¾ãï¼ããã¨ãã°æ³å¾ã®æ³ä»¤IDã¯ã以ä¸ã®ã³ã¼ãä½ç³»ã§æ±ºå®ããã¾ã[12]ã
| æ¡æ° | æå³ |
|---|---|
| 1 | å¹´å· |
| 2-3 | å¹´ |
| 4-5 | 種å¥ï¼æ³å¾ã®å ´å ACï¼ |
| 6-12 | 飿³ã¨è°å¡ç«æ³ã®åºå¥ |
| 13-15 | æ³ä»¤ã®å·çªå· |
æ³ä»¤ãæ¹æ£ãããå ´åãåè¿°ã®ã¨ããããã¨ã®æ³ä»¤ã«æ¹æ£æ³ã溶ããè¾¼ãã ï¼ãã¼ã¸ãããï¼ãã®ãå ¬éããã¦ãã¾ãã
ãã ããæ³ä»¤ãã¼ã¿ã«ã¯ãæ½è¡æ¥ãæªæ¥ã®ãã®ãã¤ã¾ãæªæ½è¡ã®æ³ä»¤ãå«ã¾ããã®ã§æ³¨æãå¿ è¦ã§ãããã¨ãã°ä¼ç¤¾æ³ï¼å¹³æåä¸å¹´æ³å¾ç¬¬å «åå å·ï¼ã®å ´åãæ³ä»¤ãã¼ã¿ã«ã¯æªæ½è¡ã®ãã®ãå«ãã以ä¸ã®ãã¡ã¤ã«ãå«ã¾ãã¦ãã¾ãã
417AC0000000086_20230614_505AC0000000053.xmlï¼2023å¹´6æ14æ¥æ½è¡ â ç¾å¨æå¹ï¼417AC0000000086_20250616_504AC0000000068.xmlï¼æªæ½è¡ï¼417AC0000000086_20251213_505AC0000000053.xmlï¼æªæ½è¡ï¼417AC0000000086_20260524_504AC0000000048.xmlï¼æªæ½è¡ï¼417AC0000000086_20280613_505AC0000000053.xmlï¼æªæ½è¡ï¼
ãã®ããã«ãæ³ä»¤ãã¼ã¿ã¯ãæ³ä»¤ã®æ¹æ£ã«å¯¾å¿ããããã䏿ã«èå¥ã§ããå½¢ã§ãã¡ã¤ã«åãã¤ãããã¦ãã¾ãã
e-Govæ³ä»¤æ¤ç´¢ã§ã¯ããã¤æç¹ã®ãã¼ã¿ã§ããããæç¤ºããããã«ãæ³ä»¤ID_æ¹æ£æ³ã®æ½è¡æ¥_æ¹æ£æ³ã®æ³ä»¤IDããURLã¨ãã¦ãã¾ãã
ã129AC0000000089_20200401_501AC0000000034ã
ã¤ã¾ããç¾å¨æå¹ãªæ³ä»¤ãæ¢ãã«ã¯ããã¡ã¤ã«åã«å«ã¾ãããæ¹æ£æ³ã®æ½è¡æ¥ããéå»ã®ãã®ã対象ã«ããå¿ è¦ãããã¾ãã
é¡å
æ³ä»¤çªå·ã ãã§ã¯ã©ããªæ³ä»¤ãªã®ãèªèãã¥ãããã¨ããããæ°ãã«å¶å®ãããæ³ä»¤ã«ã¯ãé¡åï¼ LawTitle ï¼ãã¤ããããæ³ä»¤ãå¤å¥ãããããªã£ã¦ãã¾ãã
ãã ããæå22å¹´ããã¾ã§ã«å¶å®ãããæ³ä»¤ã®ãªãã«ã¯é¡åã®ãªããã®ãããã¾ãããããããæ³ä»¤çªå·ã ãã§ã¯æå³ã顿¨ã§ãããä¸ä¾¿ã§ãããã®ãããé¡åã®ãªãæ³ä»¤ã«ã¤ãã¦ã¯ãå ¬å¸æããä»¶åãã¨ã£ã¦ä¾¿å®çãªæ³ä»¤åã¨ãã¦æ±ãããã§ãã
ãã¨ãã°ã決é罪ã«ã¤ãã¦è¦å®ãããææ²»äºåäºå¹´æ³å¾ç¬¬ä¸ååå·ã«ã¯é¡åãããã¾ããããã®æ³ä»¤ã¯ã決é罪ãé¢ã¹ã«ä»¶ãã¨å¼ã°ãã¦ãããæ³ä»¤ãã¼ã¿ã§ããææ²»äºåäºå¹´æ³å¾ç¬¬ä¸ååå·ï¼æ±ºé罪ãé¢ã¹ã«ä»¶ï¼ãã¨ããé¡åãã¤ãããã¦ãã¾ãã
æ¬åã¨éå
æ³ä»¤ã®æ§é ã¯ã大ããã¯æ³ä»¤ã®å®è³ªçãªå
å®¹ãæ¸ããã¦ããæ¬åï¼ MainProvision ï¼ã¨ãæ¡æã®æ½è¡ææ¥ãªã©ã®ä»å¸¯çãªæ
å ±ãæ¸ãããéåï¼ SupplProvisoin ï¼ãããªãã¾ãï¼ãæ³ä»¤æ¨æºXMLã¹ãã¼ããã®é
ç®ãåç
§ï¼ã
éåã§ã¯ããã®æ³ä»¤ã«ãã£ã¦å½±é¿ãåããé¢é£æ³ä»¤ã«ã¤ãã¦ãè¨åããããã¨ãããã¾ããã¾ããæ¬åã®ç¹ä¾ãªã©ä¾å¤äºé ã«ã¤ãã¦æ¸ããããã¨ããã[13]ãéåãæ¬åã¨ãããã¦ç¢ºèªããå¿ è¦ãããã¾ãã
æ¡ã»é ã»å·
æ³ä»¤ã®å
容ã®ãã£ã¨ãåºæ¬çãªåä½ã¯æ¡ï¼ Article ï¼ã§ãããæ³ä»¤ã¯æ¡ï¼æ¡æï¼ã®éã¾ããããªããã¨èãããã¨ãã§ãã¾ã[7:1][14]ã
ã§ã¯ãæ¡ã®æ§é ã詳ããè¦ã¦ããã¾ãããã以ä¸ã¯ãå´ååºæºæ³ï¼æåäºåäºå¹´æ³å¾ç¬¬ååä¹å·ï¼ã®ç¬¬24æ¡ãæç²ãããã®ã§ãããã®æ¡ã«ã¯ã以ä¸ã®ããã«2ã¤ã®é ãããã¾ãã
ï¼è³éã®æ¯æï¼
第äºååæ¡ãè³éã¯ãé貨ã§ãç´æ¥å´åè ã«ããã®å ¨é¡ãæ¯æããªããã°ãªããªãããã ããæ³ä»¤è¥ããã¯å´ååç´ã«å¥æ®µã®å®ããããå ´ååã¯åçå´åç令ã§å®ããè³éã«ã¤ãã¦ç¢ºå®ãªæ¯æã®æ¹æ³ã§åçå´åç令ã§å®ãããã®ã«ããå ´åã«ããã¦ã¯ãé貨以å¤ã®ãã®ã§æ¯æããã¾ããæ³ä»¤ã«å¥æ®µã®å®ããããå ´ååã¯å½è©²äºæ¥å ´ã®å´åè ã®éåæ°ã§çµç¹ããå´åçµåãããã¨ãã¯ãã®å´åçµåãå´åè ã®éåæ°ã§çµç¹ããå´åçµåããªãã¨ãã¯å´åè ã®éåæ°ã代表ããè ã¨ã®æ¸é¢ã«ããåå®ãããå ´åã«ããã¦ã¯ãè³éã®ä¸é¨ãæ§é¤ãã¦æ¯æããã¨ãã§ããã
â¡ãè³éã¯ãæ¯æä¸å以ä¸ãä¸å®ã®ææ¥ãå®ãã¦æ¯æããªããã°ãªããªãããã ããè¨æã«æ¯æãããè³éãè³ä¸ãã®ä»ããã«æºãããã®ã§åçå´åç令ã§å®ããè³éï¼ç¬¬å «å乿¡ã«ããã¦ãè¨æã®è³éçãã¨ãããï¼ã«ã¤ãã¦ã¯ããã®éãã§ãªããå´ååºæºæ³ï¼æåäºåäºå¹´æ³å¾ç¬¬ååä¹å·ï¼
æ³ä»¤ãã¼ã¿ã«ããã¦æ¡ï¼ Article ï¼ã¯ãæ¡åï¼ ArticleTitle ï¼ãæ¡è¦åºãï¼ ArticleCaption ãçç¥å¯ï¼ãããã¦ä¸è¬ã«ã¯è¤æ°ã®é
( Paragraph ) ããæ§æããã¾ãï¼é
ã1ã¤ã ãã®æ¡ãå¤ãï¼ãé
ã¯ãå®éã®å
å®¹ãæ¸ãããé
æï¼ ParagraphSentence ï¼ããã¡ã¾ããé
æã¯æ®µï¼ Sentence ï¼ã¨ããæåååã®æã®ãªã¹ãã¨ãã¦å®ç¾©ããã¾ããå
ã»ã©ã®ç¬¬24æ¡ã¯ãæ³ä»¤ãã¼ã¿ã§ã¯ä»¥ä¸ã®ãããªXMLã«ãªã£ã¦ãã¾ãã
<Article Num="24">
<ArticleCaption>ï¼è³éã®æ¯æï¼</ArticleCaption>
<ArticleTitle>第äºååæ¡</ArticleTitle>
<Paragraph Num="1">
<ParagraphNum/>
<ParagraphSentence>
<Sentence Function="main" Num="1" WritingMode="vertical">è³éã¯ãé貨ã§ãç´æ¥å´åè
ã«ããã®å
¨é¡ãæ¯æããªããã°ãªããªãã</Sentence>
<Sentence Function="proviso" Num="2" WritingMode="vertical">ãã ããæ³ä»¤è¥ããã¯å´ååç´ã«å¥æ®µã®å®ããããå ´ååã¯åçå´åç令ã§å®ããè³éã«ã¤ãã¦ç¢ºå®ãªæ¯æã®æ¹æ³ã§åçå´åç令ã§å®ãããã®ã«ããå ´åã«ããã¦ã¯ãé貨以å¤ã®ãã®ã§æ¯æããã¾ããæ³ä»¤ã«å¥æ®µã®å®ããããå ´ååã¯å½è©²äºæ¥å ´ã®å´åè
ã®éåæ°ã§çµç¹ããå´åçµåãããã¨ãã¯ãã®å´åçµåãå´åè
ã®éåæ°ã§çµç¹ããå´åçµåããªãã¨ãã¯å´åè
ã®éåæ°ã代表ããè
ã¨ã®æ¸é¢ã«ããåå®ãããå ´åã«ããã¦ã¯ãè³éã®ä¸é¨ãæ§é¤ãã¦æ¯æããã¨ãã§ããã</Sentence>
</ParagraphSentence>
</Paragraph>
<Paragraph Num="2" OldNum="true" OldStyle="false">
<ParagraphNum/>
<ParagraphSentence>
<Sentence Function="main" Num="1" WritingMode="vertical">è³éã¯ãæ¯æä¸å以ä¸ãä¸å®ã®ææ¥ãå®ãã¦æ¯æããªããã°ãªããªãã</Sentence>
<Sentence Function="proviso" Num="2" WritingMode="vertical">ãã ããè¨æã«æ¯æãããè³éãè³ä¸ãã®ä»ããã«æºãããã®ã§åçå´åç令ã§å®ããè³éï¼ç¬¬å
«å乿¡ã«ããã¦ãè¨æã®è³éçãã¨ãããï¼ã«ã¤ãã¦ã¯ããã®éãã§ãªãã</Sentence>
</ParagraphSentence>
</Paragraph>
</Article>
åºæ¬çã«é
æï¼ ParagraphSentence ï¼ã«å«ã¾ããæ®µï¼ Sentence ï¼ã¯1ã¤ã®æ¬æï¼å±æ§ã Function="main" ã®ãã®ï¼ã®ã¿ã§ããããã®ç¬¬24æ¡ã®ããã«ããã ãæ¸ï¼å±æ§ã Function="proviso" ï¼ã®æ®µï¼ Sentence ï¼ããã¤ãã¨ãããã¾ã[15]ã
é
ã®å
容ãããã«ç´°ååãã¦è¨è¿°ããå¿
è¦ãããå ´åã«ã¯å·ï¼ Item ï¼ãç¨ãããã¾ããè使¨©æ³ç¬¬10æ¡ç¬¬3é
ã«ã¯ã3ã¤ã®å·ãå«ã¾ãã¦ãã¾ãã
ï¼ã第ä¸é 第ä¹å·ã«æ²ããèä½ç©ã«å¯¾ãããã®æ³å¾ã«ããä¿è·ã¯ããã®èä½ç©ã使ããããã«ç¨ããããã°ã©ã è¨èªãè¦ç´åã³è§£æ³ã«åã°ãªãããã®å ´åã«ããã¦ããããã®ç¨èªã®æç¾©ã¯ã次ã®åå·ã«å®ããã¨ããã«ããã
ä¸ãããã°ã©ã è¨èªãããã°ã©ã ã表ç¾ããææ®µã¨ãã¦ã®æåãã®ä»ã®è¨å·åã³ãã®ä½ç³»ãããã
ãäºãè¦ç´ãç¹å®ã®ããã°ã©ã ã«ãããåå·ã®ããã°ã©ã è¨èªã®ç¨æ³ã«ã¤ãã¦ã®ç¹å¥ã®ç´æãããã
ãä¸ãè§£æ³ãããã°ã©ã ã«ãããé»åè¨ç®æ©ã«å¯¾ããæä»¤ã®çµåãã®æ¹æ³ãããã
æ³ä»¤ãã¼ã¿ã§ã¯ã以ä¸ã®ããã«ãªã£ã¦ãã¾ãï¼è使¨©æ³ç¬¬10æ¡ç¬¬3é ãã第1å·ã¾ã§ãæç²ï¼ã
<Paragraph Num="3">
<ParagraphNum>ï¼</ParagraphNum>
<ParagraphSentence>
<Sentence Num="1" WritingMode="vertical">第ä¸é
第ä¹å·ã«æ²ããèä½ç©ã«å¯¾ãããã®æ³å¾ã«ããä¿è·ã¯ããã®èä½ç©ã使ããããã«ç¨ããããã°ã©ã è¨èªãè¦ç´åã³è§£æ³ã«åã°ãªãã</Sentence>
<Sentence Num="2" WritingMode="vertical">ãã®å ´åã«ããã¦ããããã®ç¨èªã®æç¾©ã¯ã次ã®åå·ã«å®ããã¨ããã«ããã</Sentence>
</ParagraphSentence>
<Item Num="1">
<ItemTitle>ä¸</ItemTitle>
<ItemSentence>
<Column Num="1">
<Sentence Num="1" WritingMode="vertical">ããã°ã©ã è¨èª</Sentence>
</Column>
<Column Num="2">
<Sentence Num="1" WritingMode="vertical">ããã°ã©ã ã表ç¾ããææ®µã¨ãã¦ã®æåãã®ä»ã®è¨å·åã³ãã®ä½ç³»ãããã</Sentence>
</Column>
</ItemSentence>
</Item>
<Item Num="2">
ï¼ä»¥ä¸ç¥ï¼
ç·¨ã»ç« ã»ç¯ã»æ¬¾ã»ç®
æ¡ææ°ã®å¤ãæ³ä»¤ã«ã¤ãã¦ã¯ãç·¨ï¼ Part ï¼ãç« ï¼ Chapter ï¼ãç¯ï¼ Section ï¼ãæ¬¾ï¼ Subsection ï¼ãç®ï¼ Division ï¼ã¨ããåºåãç¨ãã¦æ¡ãã¾ã¨ãã¾ãï¼ãã ããå¿
ãããå
¨ã¦ã®é層ãåå¨ããããã§ã¯ããã¾ããï¼ã
ãã£ã¦ä¸è¬ã«ã¯ãæ³ä»¤ã®å å®¹ï¼æ¬åï¼ã¯ã以ä¸ã®ãããªé層æ§é ã¨ãªãã¾ãã
- æ¬å
MainProvision- ç·¨
Part- ç«
Chapter- ç¯
Section- 款
Subsection- ç®
Division
- ç®
- 款
- ç¯
- ç«
- ç·¨
ãªããæ¡åï¼æ¡çªå·ï¼ã¯åºåãã¾ããã§ãéãçªå·ãæ¯ããã¾ããã¤ã¾ããç« ãã¾ããã ã¨ãã¦ãããµããã³ç¬¬ä¸æ¡ããå§ããã¨ãã£ããã¨ã¯ãã¾ããã
æ³ä»¤XMLãã¼ãµï¼ ja-law-parser
ãã¦ãXMLãã¡ã¤ã«ãè§£æãããªãããã®ãã¼ã¿å¦çãããã¨ãã«ã¯ãé©å½ãªXMLã©ã¤ãã©ãªï¼Pythonã®å ´å㯠lxml ãªã©ï¼ã使ã£ã¦ãã¼ã¹ããXPathã§ç¹å®ã®è¦ç´ ãåãåºããã¨ã«ãªãã¨æãã¾ãã
ã§ãããæ³ä»¤ãã¼ã¿ã¯åè¿°ã®éãããªãã·ã§ãã«ãªè¦ç´ ãå«ãè¤éãªæ§é ããã£ã¦ãããå ´åã«ãã£ã¦ã¯å°é£ãä¼´ãã¾ããç®çã¨ããè¦ç´ ãåãåºãããããã¼ã¿ã«å¿ãã¦æè»ã«ãã¼ã¿å¦çãããã«ã¯ãè¤éãªXPathãçµãã ããæ·±ããã¹ãããã³ã¼ããæ¸ãå¿ è¦ãããããããã¾ãããã¾ããæ³ä»¤æ¨æºXMLã¹ãã¼ãã®ä»æ§ã«ã¤ãã¦é©åã«çè§£ãã¦ããªãã¨ãç®çã®è¦ç´ ãæ½åºã§ãã¦ããªãã£ããã¨ãã£ããã¨ããããã¾ãã
ããã§ãä¸è¨ã®æ³ä»¤æ¨æºXMLã¹ãã¼ãã«æºæ ããæ³ä»¤XMLãã¡ã¤ã«ããã¼ã¹ããPythonã®ãªãã¸ã§ã¯ãï¼pydanticã®ã¢ãã«ï¼ã«å¤æããã©ã¤ãã©ãª ja-law-parser ãã¤ããã¾ããããã®ãã¼ãµã©ã¤ãã©ãªã¯ GitHub 㨠PyPI ã§å ¬éãã¦ãã¾ãã
ãã®ã©ã¤ãã©ãªã使ã£ã¦æ³ä»¤ãã¼ã¿ãè§£æãããã¨ã§ããã¨ãã°ä»¥ä¸ã®ãããªå©ç¹ãããã¾ãã
- æç¤ºçã«XMLãæ±ããã«ãã¿ãPython APIã ãã§æ±ç¨çãªãã¼ã¿å¦çãã§ãã
- XMLãXPathã®å¦ç¿ã³ã¹ããæããã«ãã
- å¿ è¦ãªæ§é ã®ã¿ãç°¡åã«æ½åºã§ãã
- Pydanticã®ã¢ãã«ã«å¤æãããã®ã§ãpydanticã®APIãå©ç¨ãã¦ãã¢ãã«ãJSONãªã©ã®ä»ã®ãã¼ã¿æ§é ã«å¤æã§ãã
ja-law-parser ã®ã¤ã³ã¹ãã¼ã«
pip ã使ãå ´åã以ä¸ã®ã³ãã³ãã§ã¤ã³ã¹ãã¼ã«ã§ãã¾ãã
pip install ja-law-parser
poetry ã®å ´åã¯ä»¥ä¸ã§ã¤ã³ã¹ãã¼ã«ã§ãã¾ãã
poetry add ja-law-parser
ja-law-parser ã®ä½¿ããã
LawParser ã import ãã parse 颿°ã«XMLã®ãã¡ã¤ã«ãã¹ãä¸ãããããã㯠parse_from 颿°ã«XMLã®å
å®¹ï¼æååãããã¯ãã¤ããªï¼ãä¸ãããã¨ã§ãæ³ä»¤ï¼ Law ï¼åã®ãªãã¸ã§ã¯ããè¿ã£ã¦ãã¾ãããã®ãªãã¸ã§ã¯ãã«ã¯ä¸ããæ³ä»¤ã®æ
å ±ããã¹ã¦å«ã¾ãã¦ããã®ã§ãèªç±ã«å±æ§ï¼attributesï¼ã«ã¢ã¯ã»ã¹ããããããã¹ããåãåºããããããã¨ãã§ãã¾ãã
from ja_law_parser.model import Article, Chapter, Law, Paragraph
from ja_law_parser.parser import LawParser
parser = LawParser()
law: Law = parser.parse(path="321CONSTITUTION_19470503_000000000000000.xml")
print(law.law_body.law_title.text)
# => æ¥æ¬å½æ²æ³
chapter3: Chapter = law.law_body.main_provision.chapters[2]
print(chapter3.chapter_title.text)
# => ä¸ç« ã彿°ã®æ¨©å©åã³ç¾©å
article11: Article = chapter3.articles[1]
print(article11.article_title.text)
# => 第å䏿¡
paragraph11: Paragraph = article11.paragraphs[0]
print(paragraph11.paragraph_sentence.sentences[0].text)
# => 彿°ã¯ããã¹ã¦ã®åºæ¬ç人権ã®äº«æã妨ããããªãã
print(paragraph11.paragraph_sentence.sentences[1].text)
# => ãã®æ²æ³ã彿°ã«ä¿éããåºæ¬ç人権ã¯ãä¾µããã¨ã®ã§ããªãæ°¸ä¹
ã®æ¨©å©ã¨ãã¦ãç¾å¨åã³å°æ¥ã®å½æ°ã«ä¸ã¸ãããã
æ³ä»¤ã®æ¤ç´¢
åç½®ããé·ããªãã¾ããããæ³ä»¤ãã¼ã¿ãElasticsearchã«ã¤ã³ããã¯ã¹ããæ¤ç´¢ãã¦ã¿ã¾ããã[16]ã
Elasticsearchã®ãããã³ã°
ä»åã¯ç°¡åã«ãæ³ä»¤çªå·ï¼ law_num ï¼ãé¡åï¼ law_title ï¼ãå¶å®æï¼ enact_statement ï¼ãæ¬åã®ã¿ãã¤ã³ããã¯ã¹ãã¦ã¿ã¾ããElasticsearchã®ãããã³ã°ã¯ãã¨ãã°ä»¥ä¸ã®ããã«ãªãã¾ãã
{
"mappings": {
"properties": {
"law_num": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"law_title": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"enact_statement": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"main_provision": {
"type": "text"
}
}
}
}
æ³ä»¤ãã¼ã¿ã®ã¤ã³ãã¯ã·ã³ã°
ããããæ³ä»¤XMLãã¼ãµã§æ³ä»¤ãã¼ã¿ããã¼ã¹ããElasticsearchã«ãã¼ã¿ãç»é²ãã¦ã¿ã¾ãããã以ä¸ã®ãã㪠index_law 颿°ãæ¸ãã¦ã¿ã¾ããï¼å®éã®ã³ã¼ãã¯GitHubãªãã¸ããªã«ããã¾ãï¼ã
from typing import Generator, Protocol
from elasticsearch import Elasticsearch
from ja_law_parser.model import Law
from ja_law_parser.parser import LawParser
def index_law() -> None:
parser = LawParser()
client = Elasticsearch(hosts="http://localhost:9200/")
# æå®ãããã£ã¬ã¯ããªã«å«ã¾ããXMLãã¡ã¤ã«ãã¤ãã¬ã¼ã
for file in Path("../data").glob("**/*.xml"):
# ãã¡ã¤ã«åããæ³ä»¤ãèå¥ããIDãæ½åºï¼æ³ä»¤ID_æ¹æ£æ³ã®æ½è¡æ¥_æ¹æ£æ³ã®æ³ä»¤IDï¼
file_name = file.stem
# æ½è¡æ¥ãæªæ¥ã®æ³ä»¤ã¯ã¤ã³ããã¯ã¹ããªã
enforce_date = date.fromisoformat(file_name.split(sep="_")[1])
today = date.today()
if today < enforce_date:
continue
# XMLããã¼ã¹ãã¦pydanticã®ã¢ãã«ã«å¤æ
law: Law = parser.parse(path=file)
# Elasticsearchã«ã¤ã³ããã¯ã¹
client.index(
index="ja_law",
id=file.stem,
document={
"law_num": law.law_num,
"law_title": text_or_none(law.law_body.law_title),
"enactg_statement": text_or_none(law.law_body.enact_statement),
"main_provision": texts_or_none(law.law_body.main_provision),
},
)
class Text(Protocol):
@property
def text(self) -> str:
...
class Texts(Protocol):
def texts(self) -> Generator[str, None, None]:
...
def text_or_none(obj: Text | None) -> str | None:
if obj is None:
return None
return obj.text
def texts_or_none(obj: Texts | None) -> str | None:
if obj is None:
return None
return " ".join(obj.texts())
ä»åã¯æ¬å以ä¸ã®ããã¹ããã¾ãã¾ãæ¤ç´¢å¯¾è±¡ã¨ãã¦ã¤ã³ããã¯ã¹ãã¾ããããç¹å®ã®è¦ç´ ã¯ã¹ããããããªã©ã®å·¥å¤«ãã§ãããã§ãã
æ³ä»¤ãã¼ã¿ã®æ¤ç´¢
æ¤ç´¢å´ã®ã³ã¼ãã¯ä»¥ä¸ã®ããã«æ¸ãã¾ããä»åã¯ã·ã³ãã«ã« multi-match query ã§è¤æ°ã®ãã£ã¼ã«ãï¼æ³ä»¤çªå·ãé¡åãæ¬åï¼ãåã«ãã¬ã¼ãºæ¤ç´¢ãã¦ãã¾ãããã®ããããè²ã 工夫ã®ä½å°ãããããã§ãã
from elastic_transport import ObjectApiResponse
from elasticsearch import Elasticsearch
def search_law(keyword: str, size: int) -> ObjectApiResponse[Any]:
client = Elasticsearch(hosts="http://localhost:9200/")
return client.search(
index="ja_law",
query={
"multi_match": {
"query": keyword,
"type": "phrase",
"fields": ["law_num", "law_title", "main_provision"],
}
},
size=size,
fields=["law_num.keyword", "law_title.keyword"],
highlight={
"fields": {"*": {"pre_tags": [" **"], "post_tags": ["** "]}},
"number_of_fragments": 1,
},
)
æ¤ç´¢UI
ä»åã¯UIã¨ã㦠streamlit ã使ãã¾ããããã©ã¼ã ã«ã¯ã¨ãªãå ¥åãã¦Enterãã¼ãæ¼ãã¨æ¤ç´¢çµæã表示ããããã¨ããã ãã®ã·ã³ãã«ãªUIã§ãã
import streamlit as st
from japanese_law_search.search import search_law
st.title("Japanese Law Search")
# ã¯ã¨ãªã®å
¥åãã©ã¼ã
query = st.text_input("Query", value="")
if query:
# æ¤ç´¢ãå®è¡ã㦠top-20 ãåå¾
res = search_law(index_name="ja_law", keyword=query, size=20)
st.write(f"{res.total_hits} hits")
for doc in res.docs:
c = st.container(border=True)
# é¡åã¨æ³ä»¤çªå·ãe-Govã¸ã®ãªã³ã¯ã表示
c.markdown(
f"[{doc.law_title}ï¼{doc.law_num}ï¼](https://elaws.e-gov.go.jp/document?lawid={doc.id})"
)
# ããããããã£ã¼ã«ãã®ãã¤ã©ã¤ãã表示
c.caption(
"".join(["".join(highlites[0]) for highlites in doc.highlight.values()])
)
è¦ç´ ãå°ãªãã¨ã¯ãããããã ãã®ã³ã¼ãã§ç°¡åã«æ¤ç´¢ç»é¢ã®Web UIã使ã§ãã¦ãã¾ãã¾ããå®éã«æ¤ç´¢ãã¦ã¿ãã¨ããããªæãã§æ¤ç´¢çµæã表示ããã¾ãã

ããã¥ã¡ã³ãæ°ãå°ãªãã¯ã¨ãªãåç´ãªã®ã§ãçµæã¯ç¬æã«è¿ã£ã¦ãã¾ãããã¤ã©ã¤ããããã¨ãã©ã®æ¡æã«ãããããã®ãããããããã¦ããã§ããããã ããããããæ¡çªå·ã¨ãæ¡æã®å ¨æã表示ãããã¨ããã使ãåæããããªããããªæ°ããã¾ã[17]ã
ãããã«
ãã®è¨äºã§ã¯ãæ¥æ¬ã®æ³ä»¤å¶åº¦ã«ã¤ãã¦æ¦è¦³ãããã¨ããã¸ã¿ã«åºãå ¬éãã¦ããæ³ä»¤ãã¼ã¿ã®å½¢å¼ã解説ããããããã¼ã¹ããPythonã©ã¤ãã©ãªãç´¹ä»ãã¾ããã
ããã«ãElasticsearchã使ã£ã¦ãå®éã«æ³ä»¤ãã¼ã¿ã®ã¤ã³ããã¯ã¹ã¨æ¤ç´¢ãå®è£ ãããµã³ãã«ãè¦ã¦ãã¾ãããä»åã¯ã¨ããããåããµã³ãã«ãéã«ã¤ããã¾ãããããããã³ã°ãã¯ã¨ãªãè¨èªè§£æï¼analyzerï¼ãªã©ãæ¹åãããã¨ã§ããã£ã¨ããæ³ä»¤æ¤ç´¢ãã¤ãããã®ã§ã¯ãªããã¨æãã¾ãã
ã¿ãªãããæ³å¾ãæ³ä»¤ã«ã¤ãã¦ãå°ãã§ã身è¿ã«æããããããã«ãªã£ããªã幸ãã§ãã
2021å¹´ããe-Govæ³ä»¤æ¤ç´¢ã¯ç·åçãããã¸ã¿ã«åºã«ç§»ç®¡ããã¾ããã https://www.e-gov.go.jp/news/2021-09-02t1914240900_715.html â©ï¸
æ³å¾ - Wikipedia https://ja.wikipedia.org/wiki/æ³å¾ â©ï¸
æ³å¾ãã§ããã¾ã§ï¼å 飿³å¶å±ï¼ https://www.clb.go.jp/recent-laws/process/ â©ï¸
æ¥æ¬-æ³ä»¤ã®èª¿ã¹æ¹ - ãªãµã¼ãã»ããï¼å½ç«å½ä¼å³æ¸é¤¨ï¼ https://rnavi.ndl.go.jp/jp/guides/japan-hourei-research.html â©ï¸
ãããã ã¾ãã; è¤äº 康å; æäº ã®ãå. ãªã¼ã¬ã«ã»ãªãµã¼ã . æ¥æ¬è©è«ç¤¾. https://www.nippyo.co.jp/shop/book/7055.html â©ï¸ â©ï¸
æ³ä»¤ - Wikipedia https://ja.wikipedia.org/wiki/æ³ä»¤ â©ï¸
æ³å¾çãèªã¿è§£ãããã§å¿ è¦ãªåºç¤ç¥èï¼æ ªå¼ä¼ç¤¾ã¿ããï¼ â©ï¸ â©ï¸
å ¨é¨æ¹æ£ã«ããã£ã¦ãå¿ è¦ã«å¿ãã¦æ³ä»¤ã®é¡åãå¤ãããã¨ãããã¾ãããã¨ãã°ãã¹ãã¼ãåºæ¬æ³ï¼å¹³æäºåä¸å¹´æ³å¾ç¬¬ä¸åå «å·ï¼ã¯ãã¹ãã¼ãæ¯èæ³ï¼æåä¸åå å¹´æ³å¾ç¬¬ç¾ååä¸å·ï¼ãå ¨é¨æ¹æ£ãããæ³ä»¤ã§ãã https://houseikyoku.sangiin.go.jp/column/column039.htm â©ï¸
https://houseikyoku.sangiin.go.jp/column/column039.htm â©ï¸
DBç»é²æ³ä»¤æ°ï¼e-Govæ³ä»¤æ¤ç´¢ï¼ https://elaws.e-gov.go.jp/registdb/ â©ï¸
ãã«ã - e-Govæ³ä»¤æ¤ç´¢ https://elaws.e-gov.go.jp/help/ â©ï¸
æ³ä»¤IDã«ã¤ãã¦ï¼e-Govæ³ä»¤æ¤ç´¢ï¼ https://elaws.e-gov.go.jp/file/LawIdNamingConvention.pdf â©ï¸
https://houseikyoku.sangiin.go.jp/column/column010.htm â©ï¸
ä¾å¤ã¨ãã¦ãæ³ä»¤ãã¼ã¿ã®ãªãã«ã¯ãæ¡ï¼
Articleï¼ããå§ã¾ãããé ï¼Paragraphï¼ããå§ã¾ãæ³ä»¤ããããããæ³¨æãå¿ è¦ã§ããä¾ï¼æææµ·åã³å «ä»£æµ·çãåçããããã®ç¹å¥æªç½®ã«é¢ããæ³å¾ç¬¬å䏿¡ç¬¬ä¸é ã«è¦å®ããç¹å®äºæ¥ãå®ããç令ï¼ä»¤åä¸å¹´ç·åç令第åååå·ï¼ â©ï¸æ³ä»¤ã¨ã¯ï¼æ³å¾ã¨ã®éããèªã¿æ¹ã®ã³ããè§£èª¬ï¼ - å¥ç´ã¦ã©ãã https://keiyaku-watch.jp/media/kisochishiki/hourei_yomikata/ â©ï¸
Geminiãªã©ã§æ¡æã®æåãè¾¼ã¿ãè¨ç®ããElasticsearchã®kNN searchã§æ¤ç´¢ãããã¨ããã®ã試ãã¦ã¿ããã£ãã®ã§ãããæéãè¶³ããªãã£ãã®ã§ä»å¾ã®å®¿é¡ã¨ãã¾ãã â©ï¸
ãããããããæ¡ã®åä½ãããã¥ã¡ã³ãã¨ãã¦ã¤ã³ããã¯ã¹ããããã»ã¼ã¸æ¤ç´¢ã®ãããªå½¢ã«ããã®ãããã®ããããã¾ãããã¹ã³ã¢ãªã³ã°ã¯é£ãããªãããã§ããã â©ï¸