Сторінка 1 з 1

Згідно з _noun_

Додано: Суб вересня 02, 2017 10:17 pm
AIlkiv
Пропоную винести "Згідно _noun_" і "Згідно до _noun_" в окремі правила.
Такі конструкції найчастіше зустрічаються у порівнянні з adj|prep.
Винісши можна буде зробити адекватну пропозицію заміни, бо на даний момент просто пише "Згідно з чим"

Що думаєте?

Код поточного правила:

Код: Виділити все

<rule id="ZGIDNO_Z" name="Згідно з">
      <pattern>
        <token>згідно</token>
        <marker>
          <token postag_regexp="yes" postag="(noun|adj|prep).*">
            <exception regexp="yes">з|зі|із</exception>
          </token>
        </marker>
      </pattern>
      <message>Згідно з чим</message>
      <example correction="">згідно <marker>статуту</marker></example>
      <example correction="">згідно <marker>до</marker> правила</example>
      <example>згідно зі статутом</example>
      <example>згідно з правилом</example>
    </rule>

Re: Згідно з _noun_

Додано: Сер вересня 06, 2017 8:14 pm
Andriy
я не проти, зробите?

Re: Згідно з _noun_

Додано: Сер вересня 06, 2017 11:46 pm
AIlkiv
так

Re: Згідно з _noun_

Додано: Суб вересня 09, 2017 5:26 pm
AIlkiv
готово

Код: Виділити все

<rulegroup id="ZGIDNO_Z" name="Згідно з">
	<rule>
      <pattern>
        <token>згідно</token>
        <token min='0'>до</token>
        <marker>
          <token postag_regexp="yes" postag="(adj|prep).*">
            <exception regexp="yes">з|зі|із</exception>
          </token>
        </marker>
      </pattern>
      <message>Згідно з чим</message>
      <example correction="">згідно <marker>свого статусу</marker></example>
      <example correction="">згідно <marker>до статусу</marker></example>
    </rule>
	<rule>
	 <pattern>
	  <token>згідно</token>
	  <token min='0'>до</token>
	  <token postag='noun.*' postag_regexp='yes'></token>
	 </pattern>
	 <message>Правильно: <suggestion>згідно з <match no="3" postag="(noun.*)v_rod(.*)" postag_replace="$1v_oru$2" postag_regexp="yes"/></suggestion></message>
	 <example correction='з статусом'>згідно <marker>статусу</marker></example>
	 <example correction='з правилами'>згідно <marker>до правил</marker></example>
	</rule>
</rulegroup>

Re: Згідно з _noun_

Додано: Пон вересня 11, 2017 8:57 pm
Andriy
Я трішки поекспериментував і там виходить трішки складно, можна або легко виловлювати якомога більше помилок (де за «згідно», окрім «до» можуть йти інший прийменник, іменник, декілька прикметників перед іменником, або прикметниковий займенник у якості іменника), або на (майже) кожен випадок виокремлювати правило, щоб можна було давати правильну заміну.
Я ще пограюся, спробую знайти добрий компроміс.

Re: Згідно з _noun_

Додано: Пон вересня 11, 2017 11:44 pm
Andriy
Поки компроміс вийшов ось такий:

Код: Виділити все

   <rulegroup id="zgidno_z" name="Згідно з">
      <rule>
        <pattern>
          <token>згідно</token>
          <marker>
            <token postag_regexp="yes" postag="(noun|adj).*"/>
          </marker>
        </pattern>
        <message>Згідно з чим</message>
        <suggestion>з <match no="2" postag="((?:noun|adj).*?)v_(?:rod|dav)(.*)" postag_replace="$1v_oru$2" postag_regexp="yes"/></suggestion>
        <example correction="з статутом">згідно <marker>статуту</marker></example>
        <example correction="з теперішніми">згідно <marker>теперішніх</marker> умов</example>
        <example correction="з якими">згідно <marker>яких</marker></example>
        <example>згідно зі статутом</example>
        <example>згідно з правилом</example>
      </rule>
      <rule>
        <pattern>
          <token>згідно</token>
          <marker>
            <token regexp="yes">до|за</token>
            <token postag_regexp="yes" postag="(noun|adj).*"/>
          </marker>
        </pattern>
        <message>Згідно з чим</message>
        <suggestion>з <match no="3" postag="((?:noun|adj).*?)v_(?:rod|dav|oru)(.*)" postag_replace="$1v_oru$2" postag_regexp="yes"/></suggestion>
        <example correction="з статутом">згідно <marker>за статутом</marker></example>
        <example correction="з правилом">згідно <marker>до правила</marker></example>
      </rule>
    </rulegroup>