<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CSSE</journal-id>
<journal-id journal-id-type="nlm-ta">CSSE</journal-id>
<journal-id journal-id-type="publisher-id">CSSE</journal-id>
<journal-title-group>
<journal-title>Computer Systems Science &#x0026; Engineering</journal-title>
</journal-title-group>
<issn pub-type="ppub">0267-6192</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">34712</article-id>
<article-id pub-id-type="doi">10.32604/csse.2023.034712</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Graph Neural Network Recommendation Based on Long- and Short-Term Preference</article-title><alt-title alt-title-type="left-running-head">A Graph Neural Network Recommendation Based on Long- and Short-Term Preference</alt-title><alt-title alt-title-type="right-running-head">A Graph Neural Network Recommendation Based on Long- and Short-Term Preference</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Xiao</surname><given-names>Bohuai</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
<xref ref-type="aff" rid="aff-2">2</xref>
</contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Xie</surname><given-names>Xiaolan</given-names></name>
<xref ref-type="aff" rid="aff-1">1</xref>
<xref ref-type="aff" rid="aff-2">2</xref><email>xxl@glut.edu.cn</email>
</contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Yang</surname><given-names>Chengyong</given-names></name>
<xref ref-type="aff" rid="aff-3">3</xref>
</contrib>
<aff id="aff-1"><label>1</label><institution>School of Information Science and Engineering, Guilin University of Technology</institution>, <addr-line>Guilin, 541004</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>Guangxi Key Laboratory of Embedded Technology and Intelligent System, Guilin University of Technology</institution>, <addr-line>Guilin, 541004</addr-line>, <country>China</country></aff>
<aff id="aff-3"><label>3</label><institution>Network and Information Center, Guilin University of Technology</institution>, <addr-line>Guilin, 541004</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Xiaolan Xie. Email: <email>xxl@glut.edu.cn</email></corresp></author-notes>
<pub-date date-type="collection" publication-format="electronic"><year>2023</year></pub-date>
<pub-date date-type="pub" publication-format="electronic"><day>09</day><month>11</month><year>2023</year></pub-date>
<volume>47</volume>
<issue>3</issue>
<fpage>3067</fpage>
<lpage>3082</lpage>
<history>
<date date-type="received"><day>25</day><month>7</month><year>2022</year></date>
<date date-type="accepted"><day>11</day><month>10</month><year>2022</year></date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2023 Xiao et al.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Xiao et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CSSE_34712.pdf"></self-uri>
<abstract>
<p>The recommendation system (RS) on the strength of Graph Neural Networks (GNN) perceives a user-item interaction graph after collecting all items the user has interacted with. Afterward the RS performs neighborhood aggregation on the graph to generate long-term preference representations for the user in quick succession. However, user preferences are dynamic. With the passage of time and some trend guidance, users may generate some short-term preferences, which are more likely to lead to user-item interactions. A GNN recommendation based on long- and short-term preference (LSGNN) is proposed to address the above problems. LSGNN consists of four modules, using a GNN combined with the attention mechanism to extract long-term preference features, using Bidirectional Encoder Representation from Transformers (BERT) and the attention mechanism combined with Bi-Directional Gated Recurrent Unit (Bi-GRU) to extract short-term preference features, using Convolutional Neural Network (CNN) combined with the attention mechanism to add title and description representations of items, finally inner-producing long-term and short-term preference features as well as features of items to achieve recommendations. In experiments conducted on five publicly available datasets from Amazon, LSGNN is superior to state-of-the-art personalized recommendation techniques.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Recommendation systems</kwd>
<kwd>graph neural networks</kwd>
<kwd>deep learning</kwd>
<kwd>data mining</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>National Natural Science Foundation of China</funding-source>
<award-id>61762031</award-id>
</award-group>
<award-group id="awg2">
<funding-source>Science and Technology Major Project of Guangxi Province</funding-source>
<award-id>AA19046004</award-id>
</award-group>
<award-group id="awg3">
<funding-source>Natural Science Foundation of Guangxi under Grant</funding-source>
<award-id>2021JJA170130</award-id>
</award-group>
<award-group id="awg4">
<funding-source>Innovation Project of Guangxi Graduate Education</funding-source>
<award-id>YCSW2022326</award-id>
</award-group>
<award-group id="awg5">
<funding-source>Research Project of Guangxi Philosophy and Social Science Planning</funding-source>
<award-id>21FGL040</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Internet technology has increased the information available to users, resulting in an information overload problem. It is essential to recommend the content that users are interested in from the vast amount of information available. In this context, the concept of recommendation systems (RS) was proposed [<xref ref-type="bibr" rid="ref-1">1</xref>]. RS model users&#x2019; interest preferences based on their personal information and browsing history and then make personalized recommendations for users based on their interest preferences. RS is currently attracting extensive research in academia and industry [<xref ref-type="bibr" rid="ref-2">2</xref>,<xref ref-type="bibr" rid="ref-3">3</xref>].</p>
<p>In real-world scenarios, the interaction data in RS is essentially a large graph structure where most objects are connected explicitly or implicitly. This inherent data characteristic makes it necessary to consider complex inter-object relationships when making recommendations. Therefore, with the research and development of Graph Neural Network (GNN), more and more researchers are using GNN for RS to extract node information about the associations between users and items. Berg et al. [<xref ref-type="bibr" rid="ref-4">4</xref>] used a GNN to fill in the missing rating information in the interaction graph. Ying et al. [<xref ref-type="bibr" rid="ref-5">5</xref>] combined a random walk and a GNN to generate node embeddings that contain the nodes&#x2019; graph structure and feature information. Zhang et al. [<xref ref-type="bibr" rid="ref-6">6</xref>] proposed using multi-connected graph convolutional encoders to learn node representations. Wang et al. [<xref ref-type="bibr" rid="ref-7">7</xref>] introduced the idea of residuals into a GNN to multiple aggregate layers of neighbor representations into the final node representation.</p>
<p>Although GNN-based RS excels in feature extraction, current GNN-based RS usually constructs a user-item interaction graph using all items that users have interacted with in the past [<xref ref-type="bibr" rid="ref-8">8</xref>,<xref ref-type="bibr" rid="ref-9">9</xref>], and then generates long-term preference representations by performing neighborhood aggregation on the graph. In addition to relatively stable long-term preferences, user preferences are inherently dynamic, and over time and with some trend guidance, they may also generate some short-term preferences. Further, short-term preferences are more likely to lead to user-item interactions. Therefore, on top of the long-term preference representation captured by the user-item interaction graph, combining the long-term preference representation with the short-term preference representation will yield better recommendation results. At the same time, due to the data sparsity caused by the huge amount of data, the item features obtained by constructing the user-item interaction graph using IDs alone may not be sufficient. Therefore, based on the features of item nodes captured by GNN, combining other attribute information of items can further capture more adequate item features.</p>
<p>In summary, we propose a GNN recommendation model based on long- and short-term preference (LSGNN), with the following main contributions:</p>
<list list-type="simple"><list-item><label>1)</label>
<p>Design a new methodological framework. This recommendation framework fuses long-term preference features and short-term preference features. It combines item title and description information to achieve predictive recommendations based on the fused features.</p></list-item>
<list-item><label>2)</label>
<p>Design a new short-term preference feature extraction model. First, semantic information is extracted using Bidirectional Encoder Representation from Transformers (BERT). Then, the information of recent interaction data is captured by Bi-directional Gated Recurrent Unit (Bi-GRU) to empower the model to analyze recent preference features. Finally, the recent interaction features are given different attention weights by the attention mechanism, which allows the model to extract more helpful preference features.</p></list-item>
<list-item><label>3)</label>
<p>Design a new item text feature extraction model. First, semantic information is extracted using BERT. Then, the hidden word representations in the item words are captured by a Convolutional Neural Network (CNN). Finally, the final text representation is obtained by the attention mechanism.</p></list-item>
<list-item><label>4)</label>
<p>Conducted experiments with the model on five publicly available Amazon datasets. The proposed method proved better than the existing recommendation methods with improved results.</p></list-item>
</list>
</sec>
<sec id="s2">
<label>2</label>
<title>Proposed Frameworks</title>
<p>In this section, we describe the proposed LSGNN, which is structured as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. LSGNN consists of four modules: (1) long-term preference and item node feature extraction module, which uses GNN combined with the attention mechanism to extract long-term user preference representation and item node feature representation; (2) short-term preference extraction module, which uses Bi-directional Gated Recurrent Unit (Bi-GRU) combined with the attention mechanism to extract short-term user preference representation; (3) item text feature extraction module, which uses a CNN combined with the attention mechanism to extract item text feature representation; (4) prediction module, which cascades users&#x2019; final representation and items&#x2019; final representation to predict recommendation scores.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>The overall framework of the proposed model</title></caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CSSE_34712-fig-1.tif"/>
</fig>
<sec id="s2_1">
<label>2.1</label>
<title>Long-Term Preference and Item Node Feature Extraction Module</title>
<p>The long-term preference and item node feature extraction module includes the long-term preference extraction of users and the node feature extraction of items. Since the extraction methods are the same, we only describe the users&#x2019; long-term preference extraction method.</p>
<sec id="s2_1_1">
<label>2.1.1</label>
<title>ID Feature Embedding Layer</title>
<p>This layer illustrates the feature embedding representation of users and items. We construct user-item interaction graphs using the complete historical interaction data, embedding each user and item into a dense vector by their respective IDs.</p>
<p>If there are <italic>m</italic> users and <italic>n</italic> items, we denote the initial embedding vector of users as the set <inline-formula id="ieqn-1">
<mml:math id="mml-ieqn-1"><mml:msubsup><mml:mi>e</mml:mi><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msubsup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msubsup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msubsup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">]</mml:mo></mml:math>
</inline-formula> and the initial embedding vector of items as the set <inline-formula id="ieqn-2">
<mml:math id="mml-ieqn-2"><mml:msubsup><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msubsup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msubsup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msubsup><mml:mi>e</mml:mi><mml:mrow><mml:msub><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">]</mml:mo></mml:math>
</inline-formula>. The ID embedding vectors of users and items are in their initial state. We further refine the embedding by propagating them in the forward propagation layer so that the ID embedding vectors can better express their connoted association relationships.</p>
</sec>
<sec id="s2_1_2">
<label>2.1.2</label>
<title>Forward Propagation Layer</title>
<p>This layer computes the node representations of all users and items. We aggregate the neighboring nodes in the interaction graph by a Graph Convolutional Network (GCN) [<xref ref-type="bibr" rid="ref-10">10</xref>] and perform forward propagation to obtain the embedding representations of long-term preference and item nodes.</p>
<p>First, we aggregate the initial ID embeddings of the item nodes in all neighboring nodes of user <inline-formula id="ieqn-3">
<mml:math id="mml-ieqn-3"><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:math>
</inline-formula>. Thus, we obtain the first layer embedding expression of user <inline-formula id="ieqn-4">
<mml:math id="mml-ieqn-4"><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:math>
</inline-formula> in the GCN, as shown in <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>.</p>
<p><disp-formula id="eqn-1"><label>(1)</label>
<mml:math id="mml-eqn-1" display="block"><mml:msubsup><mml:mi>e</mml:mi><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:munder><mml:mrow><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msqrt><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:msqrt><mml:msqrt><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mrow></mml:mstyle></mml:mrow><mml:msubsup><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math>
</disp-formula></p>
<p>where, <inline-formula id="ieqn-5">
<mml:math id="mml-ieqn-5"><mml:msubsup><mml:mi>e</mml:mi><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math>
</inline-formula> denotes the first-order feature of user <italic>u</italic> on the first GCN layer, <inline-formula id="ieqn-6">
<mml:math id="mml-ieqn-6"><mml:msubsup><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math>
</inline-formula> denotes the first-order feature of item <italic>i</italic> on the first GCN layer, <inline-formula id="ieqn-7">
<mml:math id="mml-ieqn-7"><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msqrt><mml:msub><mml:mi>N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:msqrt><mml:msqrt><mml:msub><mml:mi>N</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:msqrt></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</inline-formula> denotes the aggregation operation in the original GCN design, <inline-formula id="ieqn-8">
<mml:math id="mml-ieqn-8"><mml:msub><mml:mi>N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:math>
</inline-formula> denotes the set of neighboring nodes of user <italic>u</italic>, and <inline-formula id="ieqn-9">
<mml:math id="mml-ieqn-9"><mml:msub><mml:mi>N</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math>
</inline-formula> denotes the set of neighboring nodes of item <italic>i</italic>. In short, <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref> aggregates the initial item node ID embedding of all neighboring nodes of user <italic>u</italic> to obtain the first level embedding representation of user <italic>u</italic> in the interaction graph.</p>
<p>Then, according to the computation of first-order propagation, we can stack multilayer graph convolution in a GCN to model the higher-order association relationship features between users and items, as shown in <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>.</p>
<p><disp-formula id="eqn-2"><label>(2)</label>
<mml:math id="mml-eqn-2" display="block"><mml:msubsup><mml:mi>e</mml:mi><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:munder><mml:mrow><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msqrt><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:msqrt><mml:msqrt><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mrow></mml:mstyle></mml:mrow><mml:msubsup><mml:mi>e</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math>
</disp-formula></p>
<p>where, <inline-formula id="ieqn-10">
<mml:math id="mml-ieqn-10"><mml:msubsup><mml:mi>e</mml:mi><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math>
</inline-formula> denotes the features of user <italic>u</italic> on the <inline-formula id="ieqn-11">
<mml:math id="mml-ieqn-11"><mml:mi>k</mml:mi><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math>
</inline-formula> GCN layer and <inline-formula id="ieqn-12">
<mml:math id="mml-ieqn-12"><mml:msubsup><mml:mi>e</mml:mi><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math>
</inline-formula> denotes the features of user <italic>u</italic> on the <inline-formula id="ieqn-13">
<mml:math id="mml-ieqn-13"><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math>
</inline-formula> GCN layer.</p>
<p>Finally, we stitch the user node representation by layer forward propagation to obtain the final representation <inline-formula id="ieqn-14">
<mml:math id="mml-ieqn-14"><mml:msub><mml:mi>e</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi>e</mml:mi><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2295;</mml:mo><mml:msubsup><mml:mi>e</mml:mi><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2295;</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>&#x2295;</mml:mo><mml:msubsup><mml:mi>e</mml:mi><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math>
</inline-formula> of the user node.</p>
</sec>
<sec id="s2_1_3">
<label>2.1.3</label>
<title>Attention Layer</title>
<p>This layer assigns attention weights to the different layer embeddings to determine the importance of each layer embedding.</p>
<p>We calculate the attention distribution <inline-formula id="ieqn-15">
<mml:math id="mml-ieqn-15"><mml:mi>&#x03B1;</mml:mi></mml:math>
</inline-formula> for each embedding layer, as shown in <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>.</p>
<p><disp-formula id="eqn-3"><label>(3)</label>
<mml:math id="mml-eqn-3" display="block"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>tanh</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msubsup><mml:mi>e</mml:mi><mml:mi>u</mml:mi><mml:mi>T</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math>
</disp-formula></p>
<p>where, <inline-formula id="ieqn-16">
<mml:math id="mml-ieqn-16"><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>u</mml:mi></mml:msub></mml:math>
</inline-formula> contains the weights of the embedding representations from layer 0 to layer <italic>k</italic>, <inline-formula id="ieqn-17">
<mml:math id="mml-ieqn-17"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mi>q</mml:mi></mml:msub></mml:math>
</inline-formula> is the weight matrix of <inline-formula id="ieqn-18">
<mml:math id="mml-ieqn-18"><mml:mi>q</mml:mi><mml:mi>u</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi></mml:math>
</inline-formula> in the attention mechanism, <inline-formula id="ieqn-19">
<mml:math id="mml-ieqn-19"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:math>
</inline-formula> is the weight matrix of <inline-formula id="ieqn-20">
<mml:math id="mml-ieqn-20"><mml:mi>k</mml:mi><mml:mi>e</mml:mi><mml:mi>y</mml:mi></mml:math>
</inline-formula> in the attention mechanism, and <inline-formula id="ieqn-21">
<mml:math id="mml-ieqn-21"><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula> function is used to normalize the weights of the <inline-formula id="ieqn-22">
<mml:math id="mml-ieqn-22"><mml:mi>k</mml:mi><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math>
</inline-formula> layer embedding.</p>
<p>We use the attention distribution to weigh and sum the embedding vectors of each layer to obtain the long-term preference representation <inline-formula id="ieqn-23">
<mml:math id="mml-ieqn-23"><mml:msub><mml:mi>U</mml:mi><mml:mi>l</mml:mi></mml:msub></mml:math>
</inline-formula> of users in the total interaction data, as shown in <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref>.</p>
<p><disp-formula id="eqn-4"><label>(4)</label>
<mml:math id="mml-eqn-4" display="block"><mml:msub><mml:mi>U</mml:mi><mml:mi>l</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>Z</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>k</mml:mi></mml:munderover><mml:mrow><mml:msub><mml:mi>&#x03B1;</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>e</mml:mi><mml:mi>u</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<p>Similarly, we use the methods in <xref ref-type="sec" rid="s2_1_2">Sections 2.1.2</xref> and <xref ref-type="sec" rid="s2_1_3">2.1.3</xref> to obtain the node feature representation <inline-formula id="ieqn-24">
<mml:math id="mml-ieqn-24"><mml:msub><mml:mi>I</mml:mi><mml:mi>l</mml:mi></mml:msub></mml:math>
</inline-formula> of the items in the total interaction data.</p>
</sec>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Short-Term Preference Feature Extraction Module</title>
<p>The short-term preference feature extraction module extracts the short-term preferences of users through their recent interaction history.</p>
<sec id="s2_2_1">
<label>2.2.1</label>
<title>Item Sequence Embedding Layer</title>
<p>This layer transforms the sequence of the items into a low-dimensional vector output. We use Bidirectional Encoder Representation from Transformers (BERT) because BERT is composed of multiple transformer overlays, which can solve the problem of multiple meanings of a word; also, BERT can selectively utilize information from all layers, allowing the multilayer properties of words to be exploited [<xref ref-type="bibr" rid="ref-11">11</xref>].</p>
<p>First, given a sequence of <italic>t</italic> items with which user <italic>u</italic> has recently interacted, we obtain a textual representation <inline-formula id="ieqn-25">
<mml:math id="mml-ieqn-25"><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>w</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math>
</inline-formula> of the corresponding items in the item sequence.</p>
<p>Then, to get the vector of the sequence low-dimensional, we input the item text into the BERT model, get the low-dimensional vector through the encoder, and denote the obtained vector as <inline-formula id="ieqn-26">
<mml:math id="mml-ieqn-26"><mml:mi>S</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>s</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math>
</inline-formula>.</p>
<p>Finally, since each item sequence has different lengths, the obtained vectors have different sizes, and too much difference in the vectors will affect the overall effect of the model. Therefore, we adopt the fixed-length strategy and select only a fixed number of low-dimensional vectors. Among them, the vectors that exceed the fixed length are truncated, and zero vectors complement the vectors that do not reach the fixed length.</p>
</sec>
<sec id="s2_2_2">
<label>2.2.2</label>
<title>Vector Encoding Layer</title>
<p>This layer captures the order information in the low-dimensional vectors. When the encoding layer encodes the word vectors, it needs to include contextual information. The standard encoders only keep the data content of the current moment and ignore the data content of the last moments, which can significantly increase the prediction error. To overcome this problem, we use Bi-directional Gated Recurrent Unit (Bi-GRU) [<xref ref-type="bibr" rid="ref-12">12</xref>] to encode the word vectors.</p>
<p>First, we use Bi-GRU to forward and backward encoding of the low-dimensional vectors of item information, as shown in <xref ref-type="disp-formula" rid="eqn-5">Eqs. (5)</xref> and <xref ref-type="disp-formula" rid="eqn-6">(6)</xref>. The forward encoding performs feature extraction in the order from vector <inline-formula id="ieqn-27">
<mml:math id="mml-ieqn-27"><mml:msub><mml:mi>s</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math>
</inline-formula> to vector <inline-formula id="ieqn-28">
<mml:math id="mml-ieqn-28"><mml:msub><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math>
</inline-formula>. The backward encoding performs feature extraction in the order from vector <inline-formula id="ieqn-29">
<mml:math id="mml-ieqn-29"><mml:msub><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math>
</inline-formula> to vector <inline-formula id="ieqn-30">
<mml:math id="mml-ieqn-30"><mml:msub><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math>
</inline-formula>.</p>
<p><disp-formula id="eqn-5"><label>(5)</label>
<mml:math id="mml-eqn-5" display="block"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>G</mml:mi><mml:mi>R</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-6"><label>(6)</label>
<mml:math id="mml-eqn-6" display="block"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>G</mml:mi><mml:mi>R</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math>
</disp-formula></p>
<p>Then, we cascade the forward features <inline-formula id="ieqn-31">
<mml:math id="mml-ieqn-31"><mml:msub><mml:mi>h</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:math>
</inline-formula> and backward features <inline-formula id="ieqn-32">
<mml:math id="mml-ieqn-32"><mml:msub><mml:mi>h</mml:mi><mml:mi>b</mml:mi></mml:msub></mml:math>
</inline-formula> to obtain the order information features <italic>h</italic> of each item vector as a whole, as shown in <xref ref-type="disp-formula" rid="eqn-7">Eq. (7)</xref>.</p>
<p><disp-formula id="eqn-7"><label>(7)</label>
<mml:math id="mml-eqn-7" display="block"><mml:msub><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>&#x2295;</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math>
</disp-formula></p>
<p>Finally, we integrate and output the order information of each item vector as a whole, denoted as <inline-formula id="ieqn-33">
<mml:math id="mml-ieqn-33"><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math>
</inline-formula>.</p>
</sec>
<sec id="s2_2_3">
<label>2.2.3</label>
<title>Attention Layer</title>
<p>This layer assigns different attention weights to each item vector [<xref ref-type="bibr" rid="ref-13">13</xref>], which determines the importance of the user&#x2019;s recently interacted items and empowers the model to extract short-term preference features.</p>
<p>We calculate the attention distribution <inline-formula id="ieqn-34">
<mml:math id="mml-ieqn-34"><mml:mi>&#x03B2;</mml:mi></mml:math>
</inline-formula> for the importance of each interaction item, as shown in <xref ref-type="disp-formula" rid="eqn-8">Eq. (8)</xref>.</p>
<p><disp-formula id="eqn-8"><label>(8)</label>
<mml:math id="mml-eqn-8" display="block"><mml:mi>&#x03B2;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mrow><mml:mover><mml:mi>q</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>tanh</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mrow><mml:mover><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msup><mml:mi>H</mml:mi><mml:mi>T</mml:mi></mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math>
</disp-formula></p>
<p>where, to distinguish from the attention mechanism of the long-term preference extraction module, we denote the weight matrix of <inline-formula id="ieqn-35">
<mml:math id="mml-ieqn-35"><mml:mi>q</mml:mi><mml:mi>u</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>y</mml:mi></mml:math>
</inline-formula> as <inline-formula id="ieqn-36">
<mml:math id="mml-ieqn-36"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mrow><mml:mover><mml:mi>q</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub></mml:math>
</inline-formula>, the weight matrix of <inline-formula id="ieqn-37">
<mml:math id="mml-ieqn-37"><mml:mi>k</mml:mi><mml:mi>e</mml:mi><mml:mi>y</mml:mi></mml:math>
</inline-formula> as <inline-formula id="ieqn-38">
<mml:math id="mml-ieqn-38"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mrow><mml:mover><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub></mml:math>
</inline-formula>, <inline-formula id="ieqn-39">
<mml:math id="mml-ieqn-39"><mml:mi>&#x03B2;</mml:mi></mml:math>
</inline-formula> contains the embedding representation weights of the 1st to the <inline-formula id="ieqn-40">
<mml:math id="mml-ieqn-40"><mml:mi>t</mml:mi><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math>
</inline-formula> item vector, and <inline-formula id="ieqn-41">
<mml:math id="mml-ieqn-41"><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">f</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">x</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula> function is used to normalize the weights of the <inline-formula id="ieqn-42">
<mml:math id="mml-ieqn-42"><mml:mi>k</mml:mi><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math>
</inline-formula> layer embedding.</p>
<p>We add the weight of the order information provided by the vector coding layer based on attention distribution and represent the overall feature of items&#x2019; order information as <inline-formula id="ieqn-43">
<mml:math id="mml-ieqn-43"><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>c</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>c</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math>
</inline-formula>, which is calculated as shown in <xref ref-type="disp-formula" rid="eqn-9">Eq. (9)</xref>.</p>
<p><disp-formula id="eqn-9"><label>(9)</label>
<mml:math id="mml-eqn-9" display="block"><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mi>H</mml:mi></mml:math>
</disp-formula></p>
</sec>
<sec id="s2_2_4">
<label>2.2.4</label>
<title>Feature Mapping Layer</title>
<p>This layer multiplies the sequential features after adding attention weights with the learnable weight matrix to get the short-term preference representation of the user, as shown in <xref ref-type="disp-formula" rid="eqn-10">Eq. (10)</xref>.</p>
<p><disp-formula id="eqn-10"><label>(10)</label>
<mml:math id="mml-eqn-10" display="block"><mml:msub><mml:mi>U</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>C</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math>
</disp-formula></p>
<p>where, <inline-formula id="ieqn-44">
<mml:math id="mml-ieqn-44"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math>
</inline-formula> is the weight parameter of the feature mapping layer and <inline-formula id="ieqn-45">
<mml:math id="mml-ieqn-45"><mml:msub><mml:mi>b</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math>
</inline-formula> is the bias parameter of the feature mapping layer.</p>
</sec>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Item Text Feature Extraction Module</title>
<p>The item text feature extraction module extracts the textual representation of the item from the item title and description information. Due to the sparsity of the data in the RS, capturing the features of the items using IDs alone may not be sufficient, so we use this module to extract additional textual representations of the items.</p>
<sec id="s2_3_1">
<label>2.3.1</label>
<title>Item Sequence Embedding Layer</title>
<p>This layer embeds the title and description information of the items. We obtain the vector sequence <inline-formula id="ieqn-46">
<mml:math id="mml-ieqn-46"><mml:mrow><mml:mover><mml:mi>S</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>s</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mover><mml:mi>s</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>s</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math>
</inline-formula> of item title and description information by the method shown in <xref ref-type="sec" rid="s2_1_1">Section 2.1.1</xref>.</p>
</sec>
<sec id="s2_3_2">
<label>2.3.2</label>
<title>Convolutional Neural Network Layer</title>
<p>This layer captures the hidden contextual word representations in the item words. The local context of words in the input text is essential for learning their representations. Therefore, we design a Convolutional Neural Network (CNN) to learn contextual word learning by capturing its local context.</p>
<p>We denote the contextual word sequence of items as <inline-formula id="ieqn-47">
<mml:math id="mml-ieqn-47"><mml:mrow><mml:mover><mml:mi>C</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>c</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mover><mml:mi>c</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>c</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math>
</inline-formula>, and its convolution is calculated as shown in <xref ref-type="disp-formula" rid="eqn-11">Eq. (11)</xref>.</p>
<p><disp-formula id="eqn-11"><label>(11)</label>
<mml:math id="mml-eqn-11" display="block"><mml:msub><mml:mrow><mml:mover><mml:mi>c</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="normal">R</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">l</mml:mi><mml:mi mathvariant="normal">u</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>S</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:msub><mml:mi></mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x00B1;</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math>
</disp-formula></p>
<p>where, <inline-formula id="ieqn-48">
<mml:math id="mml-ieqn-48"><mml:msub><mml:mrow><mml:mover><mml:mi>s</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x00B1;</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula> is the vector sequence stitching from position <inline-formula id="ieqn-49">
<mml:math id="mml-ieqn-49"><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>k</mml:mi></mml:math>
</inline-formula> to <inline-formula id="ieqn-50">
<mml:math id="mml-ieqn-50"><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mi>k</mml:mi></mml:math>
</inline-formula>, <inline-formula id="ieqn-51">
<mml:math id="mml-ieqn-51"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math>
</inline-formula> is the convolutional kernel weight of the CNN filter, <inline-formula id="ieqn-52">
<mml:math id="mml-ieqn-52"><mml:msub><mml:mi>b</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math>
</inline-formula> is the bias parameter of the CNN filter, and <inline-formula id="ieqn-53">
<mml:math id="mml-ieqn-53"><mml:mrow><mml:mi mathvariant="normal">R</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">l</mml:mi><mml:mi mathvariant="normal">u</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula> is the activation function.</p>
<p>After the convolutional computation, we design the attention mechanism to assign different attention weights to contextual words to select the essential words in the context.</p>
<p>We calculate the attention weight <inline-formula id="ieqn-54">
<mml:math id="mml-ieqn-54"><mml:mi>&#x03C7;</mml:mi></mml:math>
</inline-formula> for each word in the sequence, as shown in <xref ref-type="disp-formula" rid="eqn-12">Eq. (12)</xref>.</p>
<p><disp-formula id="eqn-12"><label>(12)</label>
<mml:math id="mml-eqn-12" display="block"><mml:mi>&#x03C7;</mml:mi><mml:mo>=</mml:mo><mml:mi>exp</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>tanh</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:mover><mml:mi>C</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math>
</disp-formula></p>
<p>where, <inline-formula id="ieqn-55">
<mml:math id="mml-ieqn-55"><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math>
</inline-formula> is the weight parameter of word attention and <inline-formula id="ieqn-56">
<mml:math id="mml-ieqn-56"><mml:msub><mml:mi>b</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math>
</inline-formula> is the bias parameter of word attention.</p>
<p>We assign impact to each input text according to the attention weights and obtain the feature representation <italic>r</italic> of the word context, as shown in <xref ref-type="disp-formula" rid="eqn-13">Eq. (13)</xref>.</p>
<p><disp-formula id="eqn-13"><label>(13)</label>
<mml:math id="mml-eqn-13" display="block"><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03C7;</mml:mi><mml:mrow><mml:mover><mml:mi>C</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:math>
</disp-formula></p>
<p>We input the title and description information of the item into this module to obtain the title representation <inline-formula id="ieqn-57">
<mml:math id="mml-ieqn-57"><mml:msub><mml:mi>r</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math>
</inline-formula> of the item and the description representation <inline-formula id="ieqn-58">
<mml:math id="mml-ieqn-58"><mml:msub><mml:mi>r</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:math>
</inline-formula> of the item. Then, we cascade the two representations to obtain the textual feature representation <italic>D</italic> of the item as a whole, as shown in <xref ref-type="disp-formula" rid="eqn-14">Eq. (14)</xref>.</p>
<p><disp-formula id="eqn-14"><label>(14)</label>
<mml:math id="mml-eqn-14" display="block"><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x2295;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>d</mml:mi></mml:msub></mml:math>
</disp-formula></p>
</sec>
</sec>
<sec id="s2_4">
<label>2.4</label>
<title>Prediction Module</title>
<p>The prediction module cascades long- and short-term preference features and item text features for the final prediction of the matching score.</p>
<p>We cascade the long-term preference representation of the user with the short-term preference representation to obtain the final representation of the user, as shown in <xref ref-type="disp-formula" rid="eqn-15">Eq. (15)</xref>.</p>
<p><disp-formula id="eqn-15"><label>(15)</label>
<mml:math id="mml-eqn-15" display="block"><mml:mi>U</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi>l</mml:mi></mml:msub><mml:mo>&#x2295;</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:math>
</disp-formula></p>
<p>Similarly, we cascade the item&#x2019;s long-term preference representation with the item&#x2019;s text feature representation to obtain the final representation of the item, as shown in <xref ref-type="disp-formula" rid="eqn-16">Eq. (16)</xref>.</p>
<p><disp-formula id="eqn-16"><label>(16)</label>
<mml:math id="mml-eqn-16" display="block"><mml:mi>I</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>I</mml:mi><mml:mi>l</mml:mi></mml:msub><mml:mo>&#x2295;</mml:mo><mml:mi>D</mml:mi></mml:math>
</disp-formula></p>
<p>Finally, we inner-product the user&#x2019;s final representation with the item&#x2019;s final representation to predict the matching score of their interaction, as shown in <xref ref-type="disp-formula" rid="eqn-17">Eq. (17)</xref>.</p>
<p><disp-formula id="eqn-17"><label>(17)</label>
<mml:math id="mml-eqn-17" display="block"><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>r</mml:mi><mml:mrow><mml:mpadded height="-3pt" depth="+3pt"><mml:mrow><mml:mstyle displaystyle="false" scriptlevel="2"><mml:mo>&#x2322;</mml:mo></mml:mstyle></mml:mrow></mml:mpadded></mml:mrow></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:msup><mml:mi>U</mml:mi><mml:mi>T</mml:mi></mml:msup></mml:mrow><mml:mo>&#x2297;</mml:mo><mml:mi>I</mml:mi></mml:math>
</disp-formula></p>
</sec>
<sec id="s2_5">
<label>2.5</label>
<title>Model Objective Function</title>
<p>We train and optimize the model using the BPR loss function to predict the interactions between users and items. In the BPR loss function, observed interactions are assumed to represent the user&#x2019;s preferences better, so higher prediction values are produced than unobserved interactions [<xref ref-type="bibr" rid="ref-14">14</xref>]. This objective function is defined as shown in <xref ref-type="disp-formula" rid="eqn-18">Eq. (18)</xref>.</p>
<p><disp-formula id="eqn-18"><label>(18)</label>
<mml:math id="mml-eqn-18" display="block"><mml:mi>L</mml:mi><mml:mi>o</mml:mi><mml:mi>s</mml:mi><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:mi>o</mml:mi></mml:mrow></mml:munder><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>ln</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>r</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>r</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>&#x03BB;</mml:mi><mml:msubsup><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:mi>&#x03B8;</mml:mi><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mn>2</mml:mn></mml:msubsup></mml:math>
</disp-formula></p>
<p>where, <inline-formula id="ieqn-59">
<mml:math id="mml-ieqn-59"><mml:mi>o</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mi>R</mml:mi><mml:mo>+</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mi>R</mml:mi><mml:mo>&#x2212;</mml:mo></mml:msup><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math>
</inline-formula> is the pairwise training data, <inline-formula id="ieqn-60">
<mml:math id="mml-ieqn-60"><mml:msup><mml:mi>R</mml:mi><mml:mo>+</mml:mo></mml:msup></mml:math>
</inline-formula> is the observed interaction, <inline-formula id="ieqn-61">
<mml:math id="mml-ieqn-61"><mml:msup><mml:mi>R</mml:mi><mml:mo>&#x2212;</mml:mo></mml:msup></mml:math>
</inline-formula> is the unobserved interaction, <inline-formula id="ieqn-62">
<mml:math id="mml-ieqn-62"><mml:mi>&#x03C3;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math>
</inline-formula> is the activation function, we choose the sigmoid function, <inline-formula id="ieqn-63">
<mml:math id="mml-ieqn-63"><mml:mi>&#x03B8;</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mrow><mml:mover><mml:mi>q</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mrow><mml:mrow><mml:mover><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>b</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>b</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>&#x03C9;</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mi>b</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mrow><mml:mo fence="false" stretchy="false">}</mml:mo></mml:mrow></mml:math>
</inline-formula> is the set of all trainable parameters of the model and <inline-formula id="ieqn-64">
<mml:math id="mml-ieqn-64"><mml:mi>&#x03BB;</mml:mi></mml:math>
</inline-formula> controls the L2 regularization strength to prevent overfitting.</p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Experiment and Analysis</title>
<p>In this section, we perform experiments on the Amazon public dataset, which consists of parameter optimization experiments, performance analysis experiments, ablation experiments, and case analysis to confirm the effectiveness of LSGNN from various aspects.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Datasets</title>
<p>The Amazon dataset, one of RS&#x2019;s most widely used datasets [<xref ref-type="bibr" rid="ref-15">15</xref>], has a large dataset to support our experiments. Therefore, we choose five datasets with review text in the Amazon dataset as the datasets for our experiments, namely Automotive (Auto), Baby, Sports &#x0026; Outdoors (SO), Video_Games (VG), and Toys_and_Games (TG). The number of users, number of items, number of interactions, and data sparsity are shown in <xref ref-type="table" rid="table-1">Table 1</xref>. To ensure feasibility and fairness, we randomly divide each dataset into a training set, a test set, and a validation set in the ratio of 7:2:1. On the validation set, we debug the optimal parameters. On the test set, we evaluate the model&#x2019;s performance.</p>
<table-wrap id="table-1"><label>Table 1</label>
<caption>
<title>Datasets details</title></caption>
<table><colgroup><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left">Dataset</th>
<th align="left">Number of users</th>
<th align="left">Number of items</th>
<th align="left">Number of interactions</th>
<th align="left">Data sparsity</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">Auto</td>
<td align="left">15280</td>
<td align="left">8157</td>
<td align="left">226477</td>
<td align="left">99.82&#x0025;</td>
</tr>
<tr>
<td align="left">Baby</td>
<td align="left">19445</td>
<td align="left">7050</td>
<td align="left">160792</td>
<td align="left">99.88&#x0025;</td>
</tr>
<tr>
<td align="left">SO</td>
<td align="left">33816</td>
<td align="left">17142</td>
<td align="left">533041</td>
<td align="left">99.91&#x0025;</td>
</tr>
<tr>
<td align="left">VG</td>
<td align="left">19412</td>
<td align="left">11924</td>
<td align="left">167597</td>
<td align="left">99.93&#x0025;</td>
</tr>
<tr>
<td align="left">TG</td>
<td align="left">24303</td>
<td align="left">10672</td>
<td align="left">231780</td>
<td align="left">99.84&#x0025;</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As seen in <xref ref-type="table" rid="table-1">Table 1</xref>, although the data for each sample differed considerably, these datasets are sufficient to train and validate the proposed model because the data is large enough. In addition, the sparsity of each dataset is above 99&#x0025;, which illustrates the significance of our adding item text features to alleviate sparsity.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Experimental Setup</title>
<sec id="s3_2_1">
<label>3.2.1</label>
<title>Evaluation Metrics</title>
<p>Since the recommendation rating prediction is essentially a regression problem, we use the Root Mean Square Error (RMSE) and the Mean Square Error (MSE) [<xref ref-type="bibr" rid="ref-16">16</xref>], the most common evaluation metrics for regression problems, as shown in <xref ref-type="disp-formula" rid="eqn-19">Eqs. (19)</xref> and <xref ref-type="disp-formula" rid="eqn-20">(20)</xref>, respectively.</p>
<p><disp-formula id="eqn-19"><label>(19)</label>
<mml:math id="mml-eqn-19" display="block"><mml:mi>R</mml:mi><mml:mi>M</mml:mi><mml:mi>S</mml:mi><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>Z</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow><mml:msup><mml:mrow><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>Z</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>Z</mml:mi></mml:mrow></mml:munder><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>r</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mstyle></mml:msqrt></mml:math>
</disp-formula></p>
<p><disp-formula id="eqn-20"><label>(20)</label>
<mml:math id="mml-eqn-20" display="block"><mml:mi>M</mml:mi><mml:mi>S</mml:mi><mml:mi>E</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>Z</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>Z</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>Z</mml:mi></mml:mrow></mml:munder><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mover><mml:mi>r</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mstyle></mml:math>
</disp-formula></p>
<p>where, <italic>Z</italic> is the number of interactions, <inline-formula id="ieqn-65">
<mml:math id="mml-ieqn-65"><mml:msub><mml:mrow><mml:mover><mml:mi>r</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula> is the predicted rating of item <italic>i</italic> by user <italic>u</italic>, and <inline-formula id="ieqn-66">
<mml:math id="mml-ieqn-66"><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math>
</inline-formula> is the actual rating of item <italic>i</italic> by user <italic>u</italic>. The smaller the RMSE and MSE, the lower the model&#x2019;s prediction error and the higher the prediction accuracy.</p>
</sec>
<sec id="s3_2_2">
<label>3.2.2</label>
<title>Baselines</title>
<p>We classify the baselines into three categories: traditional recommendation method (BPRMF), long- and short-term preference-based recommendation methods (CLSR, LSMA, and SLSTNN), and GNN-based recommendation methods (LightGCN, HA-GNN, and LDGC-SR).</p>
<p>BPRMF [<xref ref-type="bibr" rid="ref-17">17</xref>]: The Bayesian Personalized Ranking (BPR) matrix factorization method allows the interaction information to be used directly as the final target value.</p>
<p>CLSR [<xref ref-type="bibr" rid="ref-18">18</xref>]: The short-term interest representation of users is learned using the self-attention mechanism, the long-term features of users are extracted using Bi-GRU, and finally, the long- and short-term features are fused.</p>
<p>LSMA [<xref ref-type="bibr" rid="ref-19">19</xref>]: Combines multilayer attention mechanisms and spatiotemporal information to model users&#x2019; long- and short-term preferences and studies users&#x2019; preferences at a coarse-grained semantic level.</p>
<p>SLSTNN [<xref ref-type="bibr" rid="ref-20">20</xref>]: Improves the representation of spatiotemporal data by combining a two-layer attention mechanism and a long and short-term neural network.</p>
<p>LightGCN [<xref ref-type="bibr" rid="ref-21">21</xref>]: Uses a GCN to model user-items higher-order connectivity and simplifies the GCN&#x2019;s redundant parts.</p>
<p>HA-GNNN [<xref ref-type="bibr" rid="ref-22">22</xref>]: Dependencies between items are captured using a self-attentive GNN, the higher-order relationships in the graph are learned using a soft-attention mechanism, and finally, the embeddings of items are updated using a fully connected layer.</p>
<p>LDGC-SR [<xref ref-type="bibr" rid="ref-23">23</xref>]: Global contextual information of nodes is integrated using normalization and adaptive weight fusion mechanisms, and the current interest of users is captured more accurately by a global context-enhanced short-term memory module.</p>
</sec>
<sec id="s3_2_3">
<label>3.2.3</label>
<title>Parameter Setting</title>
<p>To better improve the recommendation effect of the model, we debug the essential parameters of the model.</p>
<p>We choose the appropriate GNN embedding dimension in &#x007B;16, 32, 64&#x007D;, and the results are shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>. The best result is achieved when the embedding dimension of the GNN is 32. However, the model performance is worse when the embedding dimension is larger, which may be because the overfitting of the model is caused by too large embedding dimension. Therefore, we set the GNN embedding dimension to 32.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>The effect of GNN embedding dimension on the model</title></caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CSSE_34712-fig-2.tif"/>
</fig>
<p>We choose the appropriate GNN layers in &#x007B;1, 2, 3, 4&#x007D;, and the results are shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>. The number of GNN layers achieves the best result at layer 3. At the same time, deeper GNN layers do not improve the model&#x2019;s performance much, which may be because of the model smoothing, as the representation between nodes is too similar after multilayer neighborhood aggregation. Therefore, we set the GNN layers to 3.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>The effect of GNN layers on the model</title></caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CSSE_34712-fig-3.tif"/>
</fig>
<p>We choose the appropriate word embedding dimension for item text in &#x007B;50, 100, 200, 300&#x007D;, and the results are shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>. There is no significant improvement in model performance as the word embedding dimension increases, which may be because the smaller word embedding dimension captures enough implicit information. Therefore, to speed up the model&#x2019;s training, we set the word embedding dimension to 50.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>The effect of word embedding dimension on the model</title></caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CSSE_34712-fig-4.tif"/>
</fig>
<p>We choose the appropriate number of recent interaction items in &#x007B;1, 3, 5, 7, 9, 11&#x007D; and use these items as the sequence of items used in the user&#x2019;s short-term preference extraction. The results are shown in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>. As the number of recent interactions increases, the best model performance is achieved when the number is 7, which proves that combining user short-term preference features can improve the recommendations&#x2019; performance. However, when the number of recent interactions is higher, the model&#x2019;s performance starts to decrease, which may be because too many interactions make the short-term preference representation similar to the long-term preference representation, and combining similar feature representations reduces the model&#x2019;s expressiveness. Therefore, we set the number of recent interaction items to 7.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>The effect of the number of recent interaction items on the model</title></caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CSSE_34712-fig-5.tif"/>
</fig>
</sec>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Experimental Results and Comparison</title>
<p>We conducted experiments with optimal parameters, set the optimal parameters for each model by corresponding literature, and compared each model&#x2019;s RMSE and MSE metrics under the optimal parameters. The results are shown in <xref ref-type="table" rid="table-2">Table 2</xref>. Among them, the bolded data are the best results in the same group of comparison experiments, the underlined data are the second-best results in the same group of comparison experiments, and the Improved value is the growth ratio of the best effect compared with the second-best effect. As seen from <xref ref-type="table" rid="table-2">Table 2</xref>, the LSGNN model proposed in this paper has the best overall performance, as expected.</p>
<table-wrap id="table-2"><label>Table 2</label>
<caption>
<title>Comparison of experimental results of LSGNN and each model</title></caption>
<table><colgroup><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left" rowspan="2"/>
<th align="center" colspan="2">Auto</th>
<th align="center" colspan="2">Baby</th>
<th align="center" colspan="2">SO</th>
<th align="center" colspan="2">VG</th>
<th align="center" colspan="2">TG</th>
</tr>
<tr>
<th align="left">RMSE</th>
<th align="left">MSE</th>
<th align="left">RMSE</th>
<th align="left">MSE</th>
<th align="left">RMSE</th>
<th align="left">MSE</th>
<th align="left">RMSE</th>
<th align="left">MSE</th>
<th align="left">RMSE</th>
<th align="left">MSE</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">BPRMF</td>
<td align="left">1.331</td>
<td align="left">1.338</td>
<td align="left">1.325</td>
<td align="left">1.33</td>
<td align="left">1.301</td>
<td align="left">1.337</td>
<td align="left">1.209</td>
<td align="left">1.338</td>
<td align="left">1.208</td>
<td align="left">1.232</td>
</tr>
<tr>
<td align="left">CLSR</td>
<td align="left"><underline>1.079</underline></td>
<td align="left">1.240</td>
<td align="left"><underline>1.080</underline></td>
<td align="left">1.109</td>
<td align="left">1.162</td>
<td align="left">1.136</td>
<td align="left">1.077</td>
<td align="left">1.163</td>
<td align="left"><underline>0.991</underline></td>
<td align="left"><underline>1.036</underline></td>
</tr>
<tr>
<td align="left">LSMA</td>
<td align="left">1.083</td>
<td align="left">1.212</td>
<td align="left">1.146</td>
<td align="left">1.045</td>
<td align="left">1.145</td>
<td align="left">1.211</td>
<td align="left">1.038</td>
<td align="left">1.209</td>
<td align="left">1.013</td>
<td align="left">1.062</td>
</tr>
<tr>
<td align="left">SLSTNN</td>
<td align="left">1.098</td>
<td align="left"><underline>1.013</underline></td>
<td align="left">1.132</td>
<td align="left">1.231</td>
<td align="left">1.142</td>
<td align="left">1.168</td>
<td align="left"><underline>1.031</underline></td>
<td align="left"><underline>1.043</underline></td>
<td align="left">1.062</td>
<td align="left">1.053</td>
</tr>
<tr>
<td align="left">LightGCN</td>
<td align="left">1.203</td>
<td align="left">1.323</td>
<td align="left">1.237</td>
<td align="left">1.230</td>
<td align="left">1.204</td>
<td align="left">1.307</td>
<td align="left">1.125</td>
<td align="left">1.223</td>
<td align="left">1.055</td>
<td align="left">1.232</td>
</tr>
<tr>
<td align="left">HA-GNNN</td>
<td align="left">1.190</td>
<td align="left">1.228</td>
<td align="left">1.224</td>
<td align="left">1.269</td>
<td align="left">1.148</td>
<td align="left"><underline>1.101</underline></td>
<td align="left">1.205</td>
<td align="left">1.205</td>
<td align="left">1.035</td>
<td align="left">1.043</td>
</tr>
<tr>
<td align="left">LDGC-SR</td>
<td align="left">1.182</td>
<td align="left">1.232</td>
<td align="left">1.119</td>
<td align="left"><underline>1.043</underline></td>
<td align="left"><underline>1.139</underline></td>
<td align="left">1.115</td>
<td align="left">1.133</td>
<td align="left">1.202</td>
<td align="left">1.006</td>
<td align="left">1.046</td>
</tr>
<tr>
<td align="left">LSGNN</td>
<td align="left"><bold>0.979</bold></td>
<td align="left"><bold>0.942</bold></td>
<td align="left"><bold>0.967</bold></td>
<td align="left"><bold>0.925</bold></td>
<td align="left"><bold>0.942</bold></td>
<td align="left"><bold>0.926</bold></td>
<td align="left"><bold>0.869</bold></td>
<td align="left"><bold>0.859</bold></td>
<td align="left"><bold>0.899</bold></td>
<td align="left"><bold>0.974</bold></td>
</tr>
<tr>
<td align="left">Improved (&#x0025;)</td>
<td align="left">9.27</td>
<td align="left">7.01</td>
<td align="left">10.46</td>
<td align="left">11.31</td>
<td align="left">17.30</td>
<td align="left">15.89</td>
<td align="left">15.71</td>
<td align="left">17.64</td>
<td align="left">9.28</td>
<td align="left">5.98</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>To visually analyze the effectiveness of the fusion of long- and short-term preferences and the effectiveness of the proposed model, we show histograms for each model on five datasets, as shown in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>The effect comparison histogram</title></caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CSSE_34712-fig-6.tif"/>
</fig>
<p>First, the traditional recommendation method (BPRMF) has the worst results for both metrics, which indicates that a simple interaction multiplication of user-item interaction information cannot capture the hidden higher-order relationships between users and items. Thus, its recommendation performance does not perform well in datasets with large amounts of data.</p>
<p>Second, the GNN-based recommendation methods (LightGCN, HA-GNN, and LDGC-SR) achieve better results than the traditional recommendation method, which demonstrates the superior performance of GNN in capturing higher-order relationships. Specifically, LightGCN simplifies the embedding process by removing nonlinear activation and feature transformations but does not consider the importance of each node embedding. HA-GNN utilizes an attention mechanism to learn hidden features and a fully connected layer to learn the representation of multimodal features, which has achieved good results in extracting node features using GNN. LDGC-SR uses a normalization and adaptive weight fusion mechanism with a global context-enhanced short-term memory module to capture more latent information from recent interactions and neighboring sessions, thus achieving the best experimental results among the GNN-based methods.</p>
<p>Third, the long- and short-term preference-based recommendation methods (CLSR, LSMA, and SLSTNN) achieve in most cases due to the traditional recommendation method and GNN-based recommendation methods. Specifically, CLSR models users&#x2019; recent behaviors, uses a self-attentive mechanism for long-term preference mining and combines long- and short-term to solve the sequential recommendation problem. Although CLSR works well for the extraction of user-item interactions, it does not consider data other than the interactions and thus needs to be improved. LSMA constructs long-term preference modeling through LSTM, achieves short-term preference modeling through RNN and attention mechanism, and can mine users&#x2019; motion behavior models through a multilayer attention mechanism. Although LSMA models long- and short-term preferences through temporal sequences well, it only models interaction data without considering other attributes, so it needs to be improved. SLSTNN represents user long- and short-term sequences through a hierarchical attention mechanism and uses a feature crossover network to achieve feature representation to recommend more beneficial orders for online taxi drivers. Although the recommendation effect of SLSTNN makes the order completion rate much higher, it is too single in its modeling objectives and does not integrate more objectives into the model, so it needs improvement.</p>
<p>Finally, our proposed LSGNN works better than the other baselines in every dataset. In particular, in two datasets with high sparsity, SO and VG, the improvement of LSGNN is higher than several in other datasets, which proves that LSGNN plays a role in alleviating data sparsity. Meanwhile, by fusing long and short-term preference features and item text features, LSGNN can extract deeper hidden features in interaction information and obtain more acceptable user preferences, thus achieving better recommendation results.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Analysis of Ablation Experiments</title>
<p>To further verify the effectiveness of the LSGNN model, we do ablation experiments for the critical parts of the model, long-term preference and item node feature extraction module, short-term preference feature extraction module, and item text feature extraction module, and select the experimental results on SO and VG datasets with high sparsity to demonstrate the results as shown in <xref ref-type="table" rid="table-3">Table 3</xref>, where LSGNN-LP is the model with only long-term preference and item node feature extraction module, LSGNN-SP is the model with only short-term preference extraction module, and LSGNN-IT is the model with item text feature extraction module removed.</p>
<table-wrap id="table-3"><label>Table 3</label>
<caption>
<title>Results of ablation experiments of LSGNN</title></caption>
<table><colgroup><col align="left"/><col align="left"/><col align="left"/><col align="left"/><col align="left"/>
</colgroup>
<thead>
<tr>
<th align="left" rowspan="2"/>
<th align="center" colspan="2">SO</th>
<th align="center" colspan="2">VG</th>
</tr>
<tr>
<th align="left">RMSE</th>
<th align="left">MSE</th>
<th align="left">RMSE</th>
<th align="left">MSE</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">BPRMF</td>
<td align="left">1.301</td>
<td align="left">1.337</td>
<td align="left">1.209</td>
<td align="left">1.338</td>
</tr>
<tr>
<td align="left">CLSR</td>
<td align="left">1.160</td>
<td align="left">1.143</td>
<td align="left">1.058</td>
<td align="left">1.166</td>
</tr>
<tr>
<td align="left">LSMA</td>
<td align="left">1.137</td>
<td align="left">1.257</td>
<td align="left">1.083</td>
<td align="left">1.309</td>
</tr>
<tr>
<td align="left">SLSTNN</td>
<td align="left">1.147</td>
<td align="left">1.112</td>
<td align="left">1.013</td>
<td align="left">1.043</td>
</tr>
<tr>
<td align="left">LightGCN</td>
<td align="left">1.204</td>
<td align="left">1.307</td>
<td align="left">1.125</td>
<td align="left">1.223</td>
</tr>
<tr>
<td align="left">HA-GNNN</td>
<td align="left">1.148</td>
<td align="left">1.101</td>
<td align="left">1.205</td>
<td align="left">1.205</td>
</tr>
<tr>
<td align="left">LDGC-SR</td>
<td align="left">1.139</td>
<td align="left">1.115</td>
<td align="left">1.133</td>
<td align="left">1.202</td>
</tr>
<tr>
<td align="left">LSGNN-LP</td>
<td align="left">1.141</td>
<td align="left">1.129</td>
<td align="left">1.074</td>
<td align="left">1.134</td>
</tr>
<tr>
<td align="left">LSGNN-SP</td>
<td align="left">1.149</td>
<td align="left">1.141</td>
<td align="left">1.101</td>
<td align="left">1.194</td>
</tr>
<tr>
<td align="left">LSGNN-IT</td>
<td align="left">1.241</td>
<td align="left">1.279</td>
<td align="left">1.186</td>
<td align="left">1.301</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>First, the model with only a long-term preference and item node feature extraction module outperforms the absolute majority of models in the baselines, which is because LSGNN-LP uses an attention mechanism on top of GNN to obtain feature representations on all interaction graphs, which further optimizes the performance of GNN in learning long-term preferences by targeting node embeddings based on the attention weights.</p>
<p>Then, the model with only a short-term preference feature extraction module achieves good recommendation results because LSGNN-SP introduces the BERT as an embedding layer that can effectively extract semantic information from interaction data. Meanwhile, the Bi-GRU combined with the attention mechanism can capture the contextual information of words from both directions, enabling the model to more accurately capture the meanings expressed in the recent interaction data and focus on more relevant recent preferences.</p>
<p>Finally, the effect of the model after removing the item text feature extraction module is lower than most of the models in the baselines, because when no data or attributes other than the interaction graph are added, it will cause data sparsity on the one hand. On the other hand, it will lead to over-fusion of data leading to repeated interactions, which reduces the recommendation effect after fusion.</p>
<p>In summary, the roles and effects in each module of LSGNN achieve good results.</p>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Case Analysis</title>
<p>To better understand the recommendation process, we take the user with ID 232 in dataset Auto as an example and use 3-hop propagation with Top10 recommendations for the case study. The specific process is shown in <xref ref-type="fig" rid="fig-7">Fig. 7</xref>. First, user 232 constitutes the first embedding, i.e., <inline-formula id="ieqn-67">
<mml:math id="mml-ieqn-67"><mml:mi>e</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>g</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>0</mml:mn></mml:math>
</inline-formula>. Second, the first-order neighbors of user 232, i.e., their direct purchases, are items 16, 375, 7296, etc., which generate the first-order embedding of user 232, i.e., <inline-formula id="ieqn-68">
<mml:math id="mml-ieqn-68"><mml:mi>e</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>g</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:math>
</inline-formula>. We take the next hop of item 16 as an example. Item 16 has been purchased by users 40, 211, 4696, i.e., it is part of the second-order neighbors of user 232. All second-order neighbors are aggregated to get the second-order embedding of user 232, i.e., <inline-formula id="ieqn-69">
<mml:math id="mml-ieqn-69"><mml:mi>e</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>g</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>2</mml:mn></mml:math>
</inline-formula>. Similarly, all third-order neighbors are aggregated to get the third-order embedding of user 232, i.e., <inline-formula id="ieqn-70">
<mml:math id="mml-ieqn-70"><mml:mi>e</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>g</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>3</mml:mn></mml:math>
</inline-formula>.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Case analysis</title></caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CSSE_34712-fig-7.tif"/>
</fig>
<p>The attention mechanism assigns attention weights of 0.147, 0.203, 0.367, and 0.283 to each order of embedding. From the weights, we can see that the second-order embedding has the largest weight, followed by the third-order embedding. This indicates that the second-order embedding plays an essential role in the end-user representation and verifies the validity of choosing 3 layers for the GNN layers. After adding the attention weights, long- and short-term preferences for interactions are generated.</p>
<p>The item text information set of user 232 is generated by the BERT and a CNN to generate the item text feature embedding <inline-formula id="ieqn-71">
<mml:math id="mml-ieqn-71"><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>t</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>e</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>g</mml:mi></mml:math>
</inline-formula>. This feature embedding is co-guided with the interactive long- and short-term preference embedding to give the item recommendation sequences of user 232, i.e., item 171, 6244, 325, etc. The presence of item 6244 and item 41 in the item recommendation sequence is observed. The recommendations of these two items are consistent with the embedding generation process in the previous graphs, demonstrating the interpretability of our proposed model LSGNN.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Conclusion</title>
<p>In this paper, we propose a GNN recommendation model based on long- and short-term preference, called LSGNN. This model extracts long-term preferences by a GNN combined with the attention mechanism, short-term preferences by the Bi-GRU combined with the attention mechanism and item text features by a CNN combined with the attention mechanism, and fuses these features to achieve recommendations. LSGNN showed better performance than the baselines on five publicly available datasets from Amazon.</p>
<p>In future research work, we will extend our work in two directions: first, the complexity of the model leads to the low speed of recommendations, especially for machines with insufficient arithmetic power, so we intend to simplify the structure of the model to speed up the recommendations without affecting the results. Second, since the interaction data is too large to be simply randomly sampled, we intend to design a sampling strategy that improves the performance of the recommendation while speeding it up.</p>
</sec>
</body>
<back>
<ack>
<p>We would like to sincerely thank all those who have provided support and assistance in this research. We are grateful to our advisors and laboratory colleagues for their guidance and collaboration, which have made this study possible. We also want to express our gratitude to our families and friends for their continuous encouragement and support.</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>This research was supported by the National Natural Science Foundation of China under Grant 61762031, the Science and Technology Major Project of Guangxi Province under Grant AA19046004, the Natural Science Foundation of Guangxi under Grant 2021JJA170130, the Innovation Project of Guangxi Graduate Education under Grant YCSW2022326, and the Research Project of Guangxi Philosophy and Social Science Planning under Grant 21FGL040.</p>
</sec>
<sec>
<title>Author Contributions</title>
<p>The authors confirm contribution to the paper as follows: study conception and design: Bohuai Xiao, Xiaolan Xie; data collection: Chengyong Yang; analysis and interpretation of result: Bohuai Xiao; draft manuscript preparation: Bohuai Xiao, Xiaolan Xie. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability"><title>Availability of Data and Materials</title>
<p>Due to the nature of this research, participants of this study did not agree for their data to be shared publicly, so supporting data is not available.</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Bobadilla</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Ortega</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Hernando</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Gutierrez</surname></string-name></person-group>, &#x201C;<article-title>Recommender systems survey</article-title>,&#x201D; <source>Knowledge-Based Systems</source>, vol. <volume>46</volume>, pp. <fpage>109</fpage>&#x2013;<lpage>132</lpage>, <year>2013</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>An</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Liu</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Neural news recommendation with long-and short-term user representations</article-title>,&#x201D; in <conf-name>57th Annual Meeting of the Association for Computational Linguistics</conf-name>, <conf-loc>Florence, Italy</conf-loc>, pp. <fpage>336</fpage>&#x2013;<lpage>345</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Q.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Huang</surname></string-name> and <string-name><given-names>W.</given-names> <surname>Ou</surname></string-name></person-group>, &#x201C;<article-title>Behavior sequence transformer for e-commerce recommendation in alibaba</article-title>,&#x201D; in <conf-name>1st Int. Workshop on Deep Learning Practice for High-Dimensional Sparse Data</conf-name>, <conf-loc>New York, NY, USA</conf-loc>, pp. <fpage>1</fpage>&#x2013;<lpage>4</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Berg</surname></string-name>, <string-name><given-names>T. N.</given-names> <surname>Kipf</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Welling</surname></string-name></person-group>, &#x201C;<article-title>Graph convolutional matrix completion</article-title>,&#x201D; <comment>arXiv preprint arXiv:1706.02263</comment>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Ying</surname></string-name>, <string-name><given-names>R.</given-names> <surname>He</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Pong</surname></string-name> and <string-name><given-names>H.</given-names> <surname>William</surname></string-name></person-group>, &#x201C;<article-title>Graph convolutional neural networks for web-scale recommender systems</article-title>,&#x201D; in <conf-name>24th ACM SIGKDD Int. Conf. on Knowledge Discovery &#x0026; Data Mining</conf-name>, <conf-loc>London, UK</conf-loc>, pp. <fpage>974</fpage>&#x2013;<lpage>983</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Shi</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Zhao</surname></string-name> and <string-name><given-names>I.</given-names> <surname>King</surname></string-name></person-group>, &#x201C;<article-title>Star-gcn: Stacked and reconstructed graph convolutional networks for recommender systems</article-title>,&#x201D; <comment>arXiv preprint arXiv:1905.13129</comment>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Lyu</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Qu</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Sun</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Pan</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>GNDD: A graph neural network-based method for drug-disease association prediction</article-title>,&#x201D; in <conf-name>2019 IEEE Int. Conf. on Bioinformatics and Biomedicine (BIBM)</conf-name>, <conf-loc>San Diego, USA</conf-loc>, <publisher-name>IEEE</publisher-name>, pp. <fpage>1253</fpage>&#x2013;<lpage>1255</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Sanchez-Gonzalez</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Heess</surname></string-name>, <string-name><given-names>J. T.</given-names> <surname>Springenbergs</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Merel</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Riedmiller</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Graph networks as learnable physics engines for inference and control</article-title>,&#x201D; in <conf-name>35th Int. Conf. on Machine Learning</conf-name>, <conf-loc>Stockholm, Sweden,</conf-loc> vol. <volume>80</volume>, pp. <fpage>4470</fpage>&#x2013;<lpage>4479</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Chiang</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Si</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Bengio</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Cluster-gcn: An efficient algorithm for training deep and large graph convolutional networks</article-title>,&#x201D; in <conf-name>25th ACM SIGKDD Int. Conf. on Knowledge Discovery &#x0026; Data Mining</conf-name>, <conf-loc>New York, NY, USA</conf-loc>, pp. <fpage>257</fpage>&#x2013;<lpage>266</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>T. N.</given-names> <surname>Kipf</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Welling</surname></string-name></person-group>, &#x201C;<article-title>Semi-supervised classification with graph convolutional networks</article-title>,&#x201D; <comment>arXiv preprint arXiv:1609.02907</comment>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Penha</surname></string-name> and <string-name><given-names>C.</given-names> <surname>Hauff</surname></string-name></person-group>, &#x201C;<article-title>What does bert know about books, movies and music? Probing bert for conversational recommendation</article-title>,&#x201D; in <conf-name>14th ACM Conf. on Recommender Systems</conf-name>, <conf-loc>New York, NY, USA</conf-loc>, pp. <fpage>388</fpage>&#x2013;<lpage>397</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Guan</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Bian</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Preference-aware mask for session-based recommendation with bidirectional transformer</article-title>,&#x201D; in <conf-name>2020&#x2013;2020 IEEE Int. Conf. on Acoustics, Speech and Signal Processing (ICASSP)</conf-name>, <conf-loc>Barcelona, Spain</conf-loc>, pp. <fpage>3412</fpage>&#x2013;<lpage>3416</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Vaswani</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Shazeer</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Parmar</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Uszkoreit</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Jones</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Attention is all you need</article-title>,&#x201D; <source>Advances in Neural Information Processing Systems</source>, vol. <volume>30</volume>, pp. <fpage>6000</fpage>&#x2013;<lpage>6010</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Guo</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Xu</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>Rod-revenue: Seeking strategies analysis and revenue prediction in ride-on-demand service using multi-source urban data</article-title>,&#x201D; <source>IEEE Transactions on Mobile Computing</source>, vol. <volume>19</volume>, no. <issue>9</issue>, pp. <fpage>2202</fpage>&#x2013;<lpage>2220</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T. D.</given-names> <surname>Noia</surname></string-name>, <string-name><given-names>V. C.</given-names> <surname>Ostuni</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Tomeo</surname></string-name> and <string-name><given-names>E. D.</given-names> <surname>Sciascio</surname></string-name></person-group>, &#x201C;<article-title>Sprank: Semantic path-based ranking for top-n recommendations using linked open data</article-title>,&#x201D; <source>ACM Transactions on Intelligent Systems and Technology</source>, vol. <volume>8</volume>, no. <issue>1</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>34</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Ye</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Xiong</surname></string-name></person-group>, &#x201C;<article-title>A multi-mode traffic flow prediction method with clustering based attention convolution LSTM</article-title>,&#x201D; <source>Applied Intelligence</source>, pp. <fpage>1579</fpage>&#x2013;<lpage>7497</lpage>, <year>2021</year>. [Online]. Available: <ext-link ext-link-type="uri" xlink:href="https://link.springer.com/article/10.1007/s10489-021-02770-z">https://link.springer.com/article/10.1007/s10489-021-02770-z</ext-link></mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Rendle</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Freudenthaler</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Gantner</surname></string-name> and <string-name><given-names>L.</given-names> <surname>Schmidt-Thieme</surname></string-name></person-group>, &#x201C;<article-title>BPR: Bayesian personalized ranking from implicit feedback</article-title>,&#x201D; <comment>arXiv preprint arXiv:1205.2618</comment>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Niu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Peng</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name></person-group>, &#x201C;<article-title>Deep recommendation model combining long-and short-term interest preferences</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>9</volume>, pp. <fpage>166455</fpage>&#x2013;<lpage>166464</lpage>, <year>2021</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Zhou</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Leng</surname></string-name> and <string-name><given-names>X.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Long-and short-term preference modeling based on multi-level attention for next POI recommendation</article-title>,&#x201D; <source>ISPRS International Journal of Geo-Information</source>, vol. <volume>11</volume>, pp. <fpage>323</fpage>&#x2013;<lpage>340</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Sheng</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zhu</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Liu</surname></string-name> and <string-name><given-names>H.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>Personalized recommendation of location-based services using spatio-temporal-aware long and short term neural network</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>10</volume>, pp. <fpage>39864</fpage>&#x2013;<lpage>39874</lpage>, <year>2022</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>He</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Deng</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>LightGCN: Simplifying and powering graph convolution network for recommendation</article-title>,&#x201D; in <conf-name>43rd Int. ACM SIGIR Conf. on Research and Development in Information Retrieval</conf-name>, <conf-loc>New York, NY, USA</conf-loc>, pp. <fpage>639</fpage>&#x2013;<lpage>648</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Sang</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Qin</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>High-order attentive graph neural network for session-based recommendation</article-title>,&#x201D; <source>Applied Intelligence</source>, pp. <fpage>1573</fpage>&#x2013;<lpage>7497</lpage>, <year>2022</year>. [Online]. Available: <ext-link ext-link-type="uri" xlink:href="https://link.springer.com/article/10.1007/s10489-022-03170-7">https://link.springer.com/article/10.1007/s10489-022-03170-7</ext-link></mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Qiu</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Gao</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Tu</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Guan</surname></string-name> <etal>et al.,</etal></person-group> &#x201C;<article-title>LDGC-SR: Integrating long-range dependencies and global context information for session-based recommendation</article-title>,&#x201D; <source>Knowledge-Based Systems</source>, vol. <volume>248</volume>, pp. <fpage>108894</fpage>, <year>2022</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>









