<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
  </head>
  <body>
    <p>Hi Liam,</p>
    <p><br>
    </p>
    <p>If you want to count usage and abstract the service, you would
      probably ultimately want to end up with a ServiceCall data
      object.&nbsp; As this would faciltate both these goals, it would also
      mean you would have a historical record of service calls which
      could help debugging issues.&nbsp; This does feel a little bit
      over-the-top but if you keep the data object as succinct as
      possible (e.g. servicecallid, type, timestamp, request_params,
      response, response_code) then this probably would no be too
      difficult to implement.&nbsp; There may be other things that could be
      stored but as these may vary between different services.&nbsp; It is
      probably best to leave this to user-defined configuration.</p>
    <p><br>
    </p>
    <p>Regards</p>
    <p><br>
    </p>
    <p>David Newman</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 29/06/2020 10:13, Liam Green-Hughes
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:VI1PR01MB4078846BC98D6C4096EA4019A96E0@VI1PR01MB4078.eurprd01.prod.exchangelabs.com">
      
      <style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
      <div style="font-family: Calibri, Arial, Helvetica, sans-serif;
        font-size: 12pt; color: rgb(0, 0, 0);">
        Hi David,</div>
      <div style="font-family: Calibri, Arial, Helvetica, sans-serif;
        font-size: 12pt; color: rgb(0, 0, 0);">
        <br>
      </div>
      <div style="font-family: Calibri, Arial, Helvetica, sans-serif;
        font-size: 12pt; color: rgb(0, 0, 0);">
        Absolutely! This wasn't really meant to be production ready and
        just a quick experiment. There are multiple ways to do this, you
        could for instance do some sort of AJAX call and show the
        results as suggested keywords, or as you say add them via the
        event queue. One thing I would probably want to do before
        putting it in production would be to have some way of monitoring
        the number of Azure API calls that had been made as, like many
        services in the cloud, the price you pay depends on how much you
        use it. I'd probably want to abstract the service used as well
        so that people can use their favoured provider (if they have
        equivalent services).</div>
      <div style="font-family: Calibri, Arial, Helvetica, sans-serif;
        font-size: 12pt; color: rgb(0, 0, 0);">
        <br>
      </div>
      <div style="font-family: Calibri, Arial, Helvetica, sans-serif;
        font-size: 12pt; color: rgb(0, 0, 0);">
        Thanks</div>
      <div style="font-family: Calibri, Arial, Helvetica, sans-serif;
        font-size: 12pt; color: rgb(0, 0, 0);">
        Liam<br>
      </div>
      <hr style="display:inline-block;width:98%" tabindex="-1">
      <div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> David
          R Newman <a class="moz-txt-link-rfc2396E" href="mailto:drn@ecs.soton.ac.uk">&lt;drn@ecs.soton.ac.uk&gt;</a><br>
          <b>Sent:</b> 29 June 2020 10:05<br>
          <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:eprints-tech@ecs.soton.ac.uk">eprints-tech@ecs.soton.ac.uk</a>
          <a class="moz-txt-link-rfc2396E" href="mailto:eprints-tech@ecs.soton.ac.uk">&lt;eprints-tech@ecs.soton.ac.uk&gt;</a>; Liam Green-Hughes
          <a class="moz-txt-link-rfc2396E" href="mailto:L.E.Green-Hughes@kent.ac.uk">&lt;L.E.Green-Hughes@kent.ac.uk&gt;</a><br>
          <b>Subject:</b> Re: [EP-tech] Experimental integration with MS
          Azure Cognitive Services</font>
        <div>&nbsp;</div>
      </div>
      <div>
        <p>One thing I forgot to mention was that this call is probably
          better as an event queue task rather than a before commit
          trigger.&nbsp; As if you are relying on a third-party application
          you don't want to be waiting on this before the page can
          reload.&nbsp; If you are only send the abstract that is probably
          going to be fairly rapid.&nbsp; However, sometimes abstracts can be
          rather long and I can imagine the service being less
          responsive at times. So you may wait a while before you get a
          response back, so you can reload the page.&nbsp; Obviously the
          disadvantage of having an event queue task is that you will
          end up with two revisions rather than one.&nbsp; However, your code
          at the moment suggests this service will only be called once,
          as once there are keywords it cannot be run again.&nbsp;
          <br>
        </p>
        <p><br>
        </p>
        <p>Just another thought: If you were to change this so keywords
          could be updated, obviously you would want to check to see the
          fields that were being sent for keywords analysis had changed
          and only call this service if they had.&nbsp; You would also need
          some code to parse the current and returned keywords to merge
          them together.<br>
        </p>
        <p><br>
        </p>
        <div class="x_moz-cite-prefix">On 29/06/2020 09:54, David R
          Newman via Eprints-tech wrote:<br>
        </div>
        <blockquote type="cite">
          <p>Hi Liam,</p>
          <p><br>
          </p>
          <p>Looks interesting.&nbsp; I have been working on improving search
            on keywords within EPrints by introducing a new Keywords
            MetaField type that is backwards with the Longtext MetaField
            that is currently the type with the keywords field.&nbsp; I have
            also introduced a Idci (short for ID Case Insentive) field
            that could be used for keywords when set to be a multiple
            field.&nbsp; Hopefully, I will be able to make the official
            release of 3.4.2 that includes these available this week.</p>
          <p><br>
          </p>
          <p>Regards</p>
          <p><br>
          </p>
          <p>David Newman<br>
          </p>
          <p><br>
          </p>
          <div class="x_moz-cite-prefix">On 29/06/2020 09:44, Liam
            Green-Hughes via Eprints-tech wrote:<br>
          </div>
          <blockquote type="cite">
            <style type="text/css" style="display:none">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
            <div style="font-family:Calibri,Arial,Helvetica,sans-serif;
              font-size:12pt; color:rgb(0,0,0)">
              Hi everyone,</div>
            <div style="font-family:Calibri,Arial,Helvetica,sans-serif;
              font-size:12pt; color:rgb(0,0,0)">
              <br>
            </div>
            <div style="font-family:Calibri,Arial,Helvetica,sans-serif;
              font-size:12pt; color:rgb(0,0,0)">
              I've been experimenting with integrating EPrints with an
              off the shelf AI solution to generate keywords. The
              service I used was the Text Analytics service element of
              the Microsoft Azure Text Analytics. I've only gone as far
              as experimenting with the Key Phrases endpoint so far, but
              the Named Entities endpoint looks like it could add real
              value to EPrints records too.</div>
            <div style="font-family:Calibri,Arial,Helvetica,sans-serif;
              font-size:12pt; color:rgb(0,0,0)">
              <br>
            </div>
            <div style="font-family:Calibri,Arial,Helvetica,sans-serif;
              font-size:12pt; color:rgb(0,0,0)">
              The integration file is here: <a href="https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fliamgh%2Feprints-ai-expt%2Fblob%2Fmaster%2Fz_azure_keywords.pl&amp;data=01%7C01%7C%7C6e027769d15d46506d4008d81c122413%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=9ZkaXY1yaZ65bXZaJO%2BWS%2BrjErCHilDuMVd4Nfv%2Bj4U%3D&amp;reserved=0" originalSrc="https://github.com/liamgh/eprints-ai-expt/blob/master/z_azure_keywords.pl" shash="jgSJ5oK7/1gjOm1QAc7O+MVJ7tntdVyKeJQHXzBDCqNSJtg0fR1u3+kWCSNNjVV0vLoms1rUPwwxF9M4GQZ13mNqmOyTcq2iI1lBGsYfWEyiVbsd038wvNYg0JJFjTJ+BDv4ChsHcGWCMNuqeF95EOJ5EG/Z1i0Bcaw6NJnxPRo=" originalsrc="https://github.com/liamgh/eprints-ai-expt/blob/master/z_azure_keywords.pl" shash="iMSkmFSgunk701YqxGV7yCCq2odKe6qmMtETrIBU&#43;WmkHls5oCZI6fY1yi4PjgjZDqUmgm/k&#43;h6PbkcFlnbRAy4GuIUkf18K&#43;zfSBV81KnxqUsgloyXN78xGf0lMNXtS4FikCPARFowEaYrGt4Ew&#43;pyCJxFRhXLtKqL2ur2/uP8=" id="LPlnk768568" moz-do-not-send="true">
https://github.com/liamgh/eprints-ai-expt/blob/master/z_azure_keywords.pl</a>.
              It isn't really production ready, but it is a starting
              point.<br>
            </div>
            <div style="font-family:Calibri,Arial,Helvetica,sans-serif;
              font-size:12pt; color:rgb(0,0,0)">
              <br>
            </div>
            <div style="font-family:Calibri,Arial,Helvetica,sans-serif;
              font-size:12pt; color:rgb(0,0,0)">
              Let me know your thoughts! <br>
            </div>
            <div style="font-family:Calibri,Arial,Helvetica,sans-serif;
              font-size:12pt; color:rgb(0,0,0)">
              <br>
            </div>
            <div style="font-family:Calibri,Arial,Helvetica,sans-serif;
              font-size:12pt; color:rgb(0,0,0)">
              Thanks</div>
            <div style="font-family:Calibri,Arial,Helvetica,sans-serif;
              font-size:12pt; color:rgb(0,0,0)">
              Liam<br>
            </div>
            <br>
            <fieldset class="x_mimeAttachmentHeader"></fieldset>
            <pre class="x_moz-quote-pre">*** Options: <a class="x_moz-txt-link-freetext" href="http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech" moz-do-not-send="true">http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech</a>
*** Archive: <a class="x_moz-txt-link-freetext" href="https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.eprints.org%2Ftech.php%2F&amp;data=01%7C01%7C%7C6e027769d15d46506d4008d81c122413%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=8C01NE73%2BoPngKx4Y9NjHboYs6wrD1HLhSFLitwdGPM%3D&amp;reserved=0" originalSrc="http://www.eprints.org/tech.php/" shash="XktlvJvW+vh6GPwGW6llvgXunXyK96YvVvC9KAiwIC6VMpSFAX92WDMeN44pboPt32E4CHCUJaNS6zG7/Iww4bSwS5t64rbqxRCA3ogw+1ozKZnVLVkCKGCwG2JyVVOrET3nWdpHl7G1fVLou74hNOsfhQkTpUvbKggMTQxOoEE=" originalsrc="http://www.eprints.org/tech.php/" shash="XOvzWaeJp92&#43;ytC0LwPio2zTNdPr3lNMv1PJmUq8UDD4YqXUjuMAt8U0K8BqZQgioQAKwR661e0qbSDnSXnpRCooD0cw6//jEZdIvdfIzkgc84eX5xYcKragxCqn5Y5IPuNxZEXNwUtq/xuxCymTHvpBhYjJG58qvQBEyrvX2jA=" moz-do-not-send="true">http://www.eprints.org/tech.php/</a>
*** EPrints community wiki: <a class="x_moz-txt-link-freetext" href="https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwiki.eprints.org%2F&amp;data=01%7C01%7C%7C6e027769d15d46506d4008d81c122413%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=mhs0OQbfhm2VxX0IxEn8Hu43vnmQgkQPi%2BRhmIftafs%3D&amp;reserved=0" originalSrc="http://wiki.eprints.org/" shash="ftZEI6mpPA1+TedWy6No/yrv0jD/KVt6S7WE9rN3c4Qj/M/WQuqyfrvxpvt6G3TWm/zaEaTnOsvQo08FRAq5rA84JH8zd94eE2xWu9mrRLctG3Qi9Kv+zuVDx1qiqP2p69Dk+t2HwYf+e7cJY+j4e4JvIjOI1E0F2zMmCFfnIyM=" originalsrc="http://wiki.eprints.org/" shash="J21HZGY2HOPORsLRlgscD7SqBYWItYM/iBTSB&#43;RW9E3OekbkdzBPfpfWA/v2hekT2cZtGz76COM13OKQCvDqxycozRah80kYbw49rohLdKXgsPb6kNCIvFRS6XM85oPlZB3TK2OKdvkt0y4h8s6R43/2OZmUNZZ&#43;7wd7YO457Nk=" moz-do-not-send="true">http://wiki.eprints.org/</a></pre>
          </blockquote>
          <div id="x_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
            <table style="border-top:1px solid #D3D4DE">
              <tbody>
                <tr>
                  <td style="width:55px; padding-top:13px"><a href="https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.avg.com%2Femail-signature%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&amp;data=01%7C01%7C%7C6e027769d15d46506d4008d81c122413%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=aiNzv7Np0neIuKlNMjo7CqkPvwevGK6Wqz8y8xlvduQ%3D&amp;reserved=0" originalSrc="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" shash="XALtiCmxbJhMnhzR7mOGgvY7x5PcYKH0BEzHHFemGQT9WudG5o/Z/AwD1Pa9yfc/ftSdwl8kkUEtsHCiU2FeEba4bP3MoBhzb9QoWJoUsgK2ezvwzPqGxrVFpAS5fu4YjXfprP8GA/ZSUs5KoeOegolMdZFugnkShU3JCBjFJBY=" originalsrc="http://www.avg.com/email-signature?utm_medium=email&amp;utm_source=link&amp;utm_campaign=sig-email&amp;utm_content=emailclient" shash="g5Mi48LIHW9kpnJ&#43;bVHyQ3VNQfKNOGncj1oI1fj4cPJHhySP8unP&#43;IakvLoIzTTAn6VPm6/RDO8mtFRPu68eGCnDSISI6DEcBBvzk&#43;dW4RUXg9QOMiy4lZiUPoufY/Nr21BWGpwQDihjSGv3688E3D2RhEILcOtN4ou/dnTLtNM=" target="_blank" moz-do-not-send="true"><img alt="" style="width:46px; height:29px" src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png" moz-do-not-send="true" width="46" height="29"></a></td>
                  <td style="width:470px; padding-top:12px;
                    color:#41424e; font-size:13px;
                    font-family:Arial,Helvetica,sans-serif;
                    line-height:18px">
                    Virus-free. <a href="https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.avg.com%2Femail-signature%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&amp;data=01%7C01%7C%7C6e027769d15d46506d4008d81c122413%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=aiNzv7Np0neIuKlNMjo7CqkPvwevGK6Wqz8y8xlvduQ%3D&amp;reserved=0" originalSrc="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" shash="XALtiCmxbJhMnhzR7mOGgvY7x5PcYKH0BEzHHFemGQT9WudG5o/Z/AwD1Pa9yfc/ftSdwl8kkUEtsHCiU2FeEba4bP3MoBhzb9QoWJoUsgK2ezvwzPqGxrVFpAS5fu4YjXfprP8GA/ZSUs5KoeOegolMdZFugnkShU3JCBjFJBY=" originalsrc="http://www.avg.com/email-signature?utm_medium=email&amp;utm_source=link&amp;utm_campaign=sig-email&amp;utm_content=emailclient" shash="g5Mi48LIHW9kpnJ&#43;bVHyQ3VNQfKNOGncj1oI1fj4cPJHhySP8unP&#43;IakvLoIzTTAn6VPm6/RDO8mtFRPu68eGCnDSISI6DEcBBvzk&#43;dW4RUXg9QOMiy4lZiUPoufY/Nr21BWGpwQDihjSGv3688E3D2RhEILcOtN4ou/dnTLtNM=" target="_blank" style="color:#4453ea" moz-do-not-send="true">
                      www.avg.com</a> </td>
                </tr>
              </tbody>
            </table>
          </div>
          <br>
          <fieldset class="x_mimeAttachmentHeader"></fieldset>
          <pre class="x_moz-quote-pre">*** Options: <a class="x_moz-txt-link-freetext" href="http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech" moz-do-not-send="true">http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech</a>
*** Archive: <a class="x_moz-txt-link-freetext" href="https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.eprints.org%2Ftech.php%2F&amp;data=01%7C01%7C%7C6e027769d15d46506d4008d81c122413%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=8C01NE73%2BoPngKx4Y9NjHboYs6wrD1HLhSFLitwdGPM%3D&amp;reserved=0" originalSrc="http://www.eprints.org/tech.php/" shash="XktlvJvW+vh6GPwGW6llvgXunXyK96YvVvC9KAiwIC6VMpSFAX92WDMeN44pboPt32E4CHCUJaNS6zG7/Iww4bSwS5t64rbqxRCA3ogw+1ozKZnVLVkCKGCwG2JyVVOrET3nWdpHl7G1fVLou74hNOsfhQkTpUvbKggMTQxOoEE=" originalsrc="http://www.eprints.org/tech.php/" shash="XOvzWaeJp92&#43;ytC0LwPio2zTNdPr3lNMv1PJmUq8UDD4YqXUjuMAt8U0K8BqZQgioQAKwR661e0qbSDnSXnpRCooD0cw6//jEZdIvdfIzkgc84eX5xYcKragxCqn5Y5IPuNxZEXNwUtq/xuxCymTHvpBhYjJG58qvQBEyrvX2jA=" moz-do-not-send="true">http://www.eprints.org/tech.php/</a>
*** EPrints community wiki: <a class="x_moz-txt-link-freetext" href="https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwiki.eprints.org%2F&amp;data=01%7C01%7C%7C6e027769d15d46506d4008d81c122413%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=mhs0OQbfhm2VxX0IxEn8Hu43vnmQgkQPi%2BRhmIftafs%3D&amp;reserved=0" originalSrc="http://wiki.eprints.org/" shash="ftZEI6mpPA1+TedWy6No/yrv0jD/KVt6S7WE9rN3c4Qj/M/WQuqyfrvxpvt6G3TWm/zaEaTnOsvQo08FRAq5rA84JH8zd94eE2xWu9mrRLctG3Qi9Kv+zuVDx1qiqP2p69Dk+t2HwYf+e7cJY+j4e4JvIjOI1E0F2zMmCFfnIyM=" originalsrc="http://wiki.eprints.org/" shash="J21HZGY2HOPORsLRlgscD7SqBYWItYM/iBTSB&#43;RW9E3OekbkdzBPfpfWA/v2hekT2cZtGz76COM13OKQCvDqxycozRah80kYbw49rohLdKXgsPb6kNCIvFRS6XM85oPlZB3TK2OKdvkt0y4h8s6R43/2OZmUNZZ&#43;7wd7YO457Nk=" moz-do-not-send="true">http://wiki.eprints.org/</a></pre>
        </blockquote>
      </div>
    </blockquote>
  </body>
</html>