Contrary View Detection Based On Document Similarity

After reading a news article on your favourite news aggregator or your news site of choice, Most of the current news aggregators allows you to read other articles that are related to the one you have already read, these suggestions are usually articles describing the same event.

Here at Almeta, one feature we believe that can be helpful for our readers is the ability to suggest not only related articles but also articles that discuss the same event but suggest different viewpoints or opinions.

We believe that reading different opinions given by different anchors is the best way to find the whole truth.

This article is the third part of our series on detecting contrary view articles you are strongly advised to review the previous articles to learn:

In a very intuitive sense given a set of articles that discuss the same event for example “Palestinian-Israeli conflect” the goal is to cluster the articles accourding to the side they support. 

In this article, we will follow a different path to finding articles that express varying viewpoints. Given a certain numerical representation of each article, it is possible to measure the distance between every 2 articles. For a given article A and a specific “optimal” representation and distance function, we can assume that the articles closest to article share the same viewpoint with it while articles that are further-away have different view-points. 

The goal of this article is to investigate these “optimal” representation and distance functions.

Experiment steps

Similar to the previous article all of our experiments are carried out on a small in-house developed dataset of news articles classified into the event they represent, you can review our previous article to learn about the details of building this dataset.

Each of the experiments reported here follow the following steps:

  1. Text is fully normalized (Alefs, English, nums and punctuation).
  2. Articles are converted into a numerical representation. We will test different types of representations e.g. TFIDF.
  3. Select a specific distance metric based on the aforementioned representation.
  4. Calculate distance matrix (using all the articles of the event) using the selected representation using the aforementioned distance function.
  5. Filter the articles to eliminate anomalies using the distance matrix
  6. For each article (row in the distance matrix) order the other articles based on their similarity to this article.    
  7. Return the ordered articles.

Experimentation and Analysis

In this section we will discuss the different findings we got:

Controversial Events

What we found is that most events (in our dataset) does not include any contrary views and that all the news outlets simply report the same events.

  • After manual inspection. Out of 81 events present in the manual test data only 10     of them included at least 2 different viewpoints, most of the events talked about non-political stuff earthquakes, Nobel prize, … or talked about non-controversial global politics like trump impeachment and British elections (These events are not controversial for Arabic news anchors), so please note that all the following experiment is evaluated using 10 events only which is not optimal    
       
  • Even in the case of controversial events. Not all the articles picked a side and some do maintain neutrality. For example in the case of نبع السلام event, some articles talked about the cease-fire agreement brokered by Trump. This sub-event has no contrary view since all the outlets report it in the same manner. See the following example    
       
    أعلن الرئيس الأميركي دونالد ترامب أنّ نائبه مايك بنس ووزير الخارجية مايك بومبيو سيتوجّهان إلى تركيا للتفاوض على وقف لإطلاق النار في شمال سوريا، وذلك غداة اتصاله بنظيره التركي رجب طيب أردوغان.

ووفق بيان البيت الأبيض فان بنس سيدعو خلال المفاوضات في تركيا لوقف إطلاق النار فوراً في سوريا وبدء المحادثات.

كما أن بنس سيلتقي مع الرئيس التركي أردوغان يوم الخميس، وسيؤكد التزام ترامب بإبقاء العقوبات الاقتصادية على تركيا لحين التوصل إلى حل، بحسب البيان.

  • Furthermore, in some event the opposing news outlets simply ignore the whole event and does not describe it at all like for example when describing the Houthi attack in southern Saudi Arabia in the operation نصر من الله. The Saudi side simply ignore the whole event.

These issues raises the question of usability of this system across all the articles, since most of them won’t have a contrary view and furthermore we have no way of saying if an article do or don’t have a contrary view.

Article representation and distance metric

Simple Baseline using TFIDF:

We started by trying a very simple representation using only TFIDF and with cosine distance However, this simple baseline gave very reasonable results see the following example (original article top, contrary view bottom),

أعلنت الوكالة الدولية للطاقة الذرية اليوم الاثنين عن مضاعفة ايران عدد أجهزة الطرد المركزي المتقدمة لتخصيب اليورانيوم.

وقال المتحدث باسم الوكالة فريدريك دال إن مفتشي الوكالة تحققوا يوم أمس من تركيب 22 جهاز طرد مركزي من طراز “آي آر – 4” في منشأة تخصيب اليورانيوم في نطنز، مقابل 11 خلال الأشهر القليلة الماضية.

وظلت أعداد طرازات أجهزة الطرد الأخرى عند نفس مستوياتها تقريباً.

ودعا كورنيل فيروتا، القائم بأعمال مدير الوكالة الدولية للطاقة الذرية إيران إلى “الرد فوراً” على أسئلة الوكالة المتعلقة ببرنامجها النووي.

وزار فيروتا إيران أمس والتقى وزير الخارجية محمد جواد ظريف وعدد من كبرار المسؤولين الإيرانيين للاطلاع على أحدث التدابير التي أعلنتها إيران بشأن تعزيز الأبحاث والتطوير المرتبط بتخصيب اليورانيوم.

ويأتي هذا الإعلان بعد اتخاذ  ايران الخطوة الـثالثة لخفض التزاماتها النووية، رداً على انتهاكات واشنطن للاتفاق النووي. 

++++++++++++++++++++

 0.7658784302734492 

 وصفت لندن، اليوم السبت، قرار إيران تشغيل أجهزة طرد مركزي متطورة لزيادة مخزونها من اليورانيوم المخصب بأنه “مخيب للغاية”. وذكرت الخارجية البريطانية في بيان أن هذا التطور “الذي يخالف التعهدات في الاتفاق المبرم مخيب للغاية، في الوقت الذي نسعى فيه مع شركائنا الأوروبيين والدوليين لنزع فتيل الأزمة مع إيران”.

وكان مسؤول إيراني رفيع، أكد في مؤتمر صحافي عقد السبت أن بلاده بدأت، الجمعة، خطوة جديدة في تخفيض التزاماتها في الاتفاق النووي الإيراني.

كما لوح المتحدث باسم منظمة الطاقة الذرية الإيرانية، بهروز كمالوندي، برفع نسبة تخصيب اليورانيوم، قائلاً “إيران لديها القدرة على تخصيب اليورانيوم بما يتجاوز 20%”.

وفرض الاتفاق قيوداً على برنامج إيران النووي المثير للجدل مقابل رفع العقوبات عنها، لكنه بدأ يتفكك منذ انسحاب الولايات المتحدة منه العام الماضي وتحركها لتضييق الخناق على تجارة النفط الإيرانية، لإجبارها على تقديم تنازلات أمنية أوسع نطاقاً.وبدأت إيران منذ مايو/ أيار الماضي في تقليص التزاماتها ببنود الاتفاق رداً على حملة الرئيس الأميركي، دونالد ترمب، التي ينتهج فيها وضع الحد الأقصى من الضغط على طهران منذ الانسحاب من الاتفاق، والتي شملت إعادة فرض العقوبات لإجبار طهران على العودة للمفاوضات.

وكان الاتحاد الأوروبي، حض الخميس، إيران على “التراجع” عن التخلي عن التزاماتها بموجب الاتفاق النووي مع الدول الكبرى. وقال المتحدث باسم المفوضية الأوروبية، كارلوس مارتن رويز دي غورديخويلا، للصحافيين في بروكسل “إننا نعتبر هذه الأنشطة غير متوافقة (مع الاتفاق النووي) ونحضّ إيران على التراجع عن هذه الخطوات والامتناع عن أي خطوات إضافية تقوض الاتفاق النووي”.

Out of the 10 controversial events this simple method produced good results for 8 of them which is relatively good.

The 2 events where the system gave non-optimal results were relatively large and heterogeneous (Lebanon riots and Iraq riots). 

Mainly this simplistic approach sometimes fails with larger clusters like Lebanon riots where different details from different periods are all clustered together. In this case this simple representation usually assumes different events as contrary since they are the furthermost.

 However, this behavior is more related to purity rather than size, for example in the case of other events like Egypt riots (demonstrations against president Sisis) event nearly all the articles describe the same thing and we can see a clear distinction between the different views, see the following example:

في تظاهرات محدودة بعدد من المدن المصرية، خرج مئات المحتجين رافعين شعارات منددة بالحكومة والرئيس عبد الفتاح السيسي

في تجاوب مع دعوات أطلقت على شبكات التواصل الاجتماعي، قادها رجل الأعمال والمقاول المصري المقيم في الخارج محمد علي، ورغم تأكيد ناشطين ومنظمات حقوقية اعتقال العشرات واستخدام قنابل الغاز في تفريق التظاهرات إلا أن بعض التقارير وصفت التعامل الأمني بغير الحاد..فما هي دلالات تجاوب الشارع هذه المرة مع دعوات التظاهر؟ وهل ستكون لها تبعات في الأيام المقبلة؟ وما حقيقة ارتباطها بأطراف تقليدية وأخرى غير تقليدية؟

++++++++++++++++++++

 0.969631312181884 

 اشتعلت منصات التواصل الاجتماعي في مصر بعبارات الاحتجاج السياسي اليوم الجمعة، تزامنا مع دعوات معارضة صدرت من خارج البلاد للتظاهر والخروج في احتجاجات ضد الرئيس عبد الفتاح السيسي.

وصبغ ناشطون مصريون موقع تويتر باللون الأحمر تعبيرا عن المشاركة في الاحتجاج ضد السيسي، في حين تحدث ناشطون عن بدء أولى مبادرات الاحتجاج في الشارع، وسط دعوات لضرورة عدم التراجع.

وبرزت وسوم عدة بث المشاركون عبرها رسائل الاحتجاج. وتصدر وسم “جمعة الغضب” قائمة التداول (الترند) المصري على تويتر بعد ظهر اليوم بعشرات آلاف التغريدات، استلهاما للجمعة الأولى التي أعقبت اندلاع شرارة ثورة 25 يناير/كانون الثاني 2011.

Furthermore This simple baseline can even detect less obvious contrary views. For example in the following example anti-Qatar outlets describe the failure of the World Athletics Competition in Qatar (TOP). While Aljazeera simply describes the winning athlets and so on, this is achievable due to the shift in vocabulary.

أثارت استضافة قطر لبطولة العالم لألعاب القوى، والتي تعد بمثابة اختبار عملي لمدى استعدادها لبطولة كأس العالم لكرة القدم 2022، الكثير من الأسئلة حول مدى قدرتها على استضافة أكبر حدث رياضي في العالم، بحسب ما جاء في تقرير أعدته مراسلة شبكة “بلومبيرغ” في الدوحة، سيمون فوكسمان.

وأوضح التقرير أن الزوار الأجانب، الذين حضروا المنافسات الأولى من بطولة العالم لألعاب القوى في الدوحة، انتقدوا مدرجات المتفرجين الشاغرة في استاد خليفة مكيف الهواء، فضلاً عن العثرات والأخطاء في التشغيل والتنظيم.

++++++++++++++++++++

 0.945053891962537

 شهد اليوم الختامي لمونديال ألعاب القوى الذي استضافته قطر تحقيق العدّاء الجزائري توفيق مخلوفي الميدالية الفضية في سباق 1500 م ليرفع الغلّة العربية إلى 7 ميداليات.

ويضمّ سجلّ مخلوفي ذهبية سباق 1500 م في أولمبياد لندن، وفضيتين في سباقَي 1500 م و800 م في ريو دي جانيرو.

وقال مخلوفي بعد التتويج: “أنا فخور بهذه الميدالية، فخور بهذا الانجاز بعد عودتي من الاصابة وبعد وقت طويل بعيداً عن المنافسات”.

Using Entity Level Sentiment Analysis

The main motive behind this approach is as follows: we can assume that each article describes a set of entities (political figures, locations, ideologies, …) and every article expresses a certain opinion towards each of these entities. 

We can intuitively state that article the have the same stance towards the same entities express the same view-point. 

In this setting the representation of the article is found as follows:

  1. Find the named entities in the article, we use an in-house name entity detector for this task.
       
  2. Calculate polarity: Here we use our entity-level sentiment analysis system, given a certain named entity (target) this system can calculate the polarity of the article towards this target (does the article express positive, negative or neutral sentiment towards the target). by sending these named entities to ELSA we can find the polarity expressed by the article for each entity. You can learn more about our ELSA system by reviewing this previous article.
       
  3. Average the polarities across the named entities The ELSA system returns the different polarities for each occurrence of the target in the text, for example, the name “سعد الحريري” might be mentioned multiple time in the text, in some sentences the article might praise the target while in others it might criticize it. In order to get a single polarity of the article towards the target, we need to average the different polarities expressed for different occurrences. Note that this averaging is done based on the exact matching of (Normalized) strings and thus “سعد_الحريري” and “وسعد_الحريري” represent 2 different entities. A better approach is to combine these different mentions into the same “Aspect” using named entity linking for example. We discuss the idea of named entity linking in detail in this previous article. However, for simplicity, we choose not to do this in this experiment.  After this step is done each named entity will have a polarity score assigned to it.
  4. Find a common vocabulary: we collect a vocabulary of the most prominent named entities selected from a large corpus of news article crawled between Feb 2018 and April 2018.   
  5. Using the common vocabulary we can construct a unified vector representation of the article based on its named entities polarities each row represents a named entity where the value of the row is the polarity of this named entity in the article (0 if the named entity does not occur in the article)
  6. Then we can follow the same steps in the TFIDF steps to order the articles based on their distances.

However manual inspection (on the limited set) revealed worse than baseline performance. There are 2 main factors that may contribute to the bad results:

  • Propagation of error: between NER and ELSA polarity which itself can be really noisy (due to the averaging process).
  • Vector sparsity: The combined common vocabulary includes around 21k entry while debugging we found many articles where a lot of the named entities fall outside this common vocabulary due to segmentation issues, or simply because they are Strange, this issue can be resolved by building an independent vocabulary for every event, but we didn’t try this due to time constraints.

Improving TFIDF

The main motivation is that most of the baseline errors happen when there are several topics (sub-events) in the cluster. Intuitively we can consider 2 articles to be contrary if they are talking about the same thing but represent different takes.

To approximate this for 2 articles to be contrary, we can assume that we have 2 different distances. A positive distance that we should minimize to make sure the 2 articles discuss the same topic. And a negative distance that should be large to make sure the 2 articles have different viewpoints. thus a combined distance can be defined as:

combined_distance = normalize(lambda * negative_distance – (1-lambda) * positive_similarity)

Where:

positive_similarity = 1- positive distance aka cosine distance

And lambda is a weighting hyper-parameter between 0 and 1, the larger value gives more emphasis to the baseline and lower value gives more emphasis to the similarity between articles.

This step is extremely similar to MMR in multi-document summarization (MDS) research if you are interested in this idea you can review our previous article on MDS and how we used MMR to diversify the summary.

We assumed that if 2 articles have the same-named entities then they are likely to be discussing the same topic and thus the above mentioned NER vocabulary could be used for positive similarity, and the original TFIDF is the negative distance, we did the following:

  1. Take the TFIDF representation as a negative representation this will give us the negative vector.
  2. Induce a positive representation: we used the above-mentioned method to extract named entities and run them into a count-vectorizer this will give us a positive vector.
  3. Calculate the 2 distance matrices using the positive and negative representations, we use cosine distance for both of them, this will give us the positive and negative distance matrices.
  4. Calculate the positive similarity matrix Similarity_pos = 1 – Distance_pos.   
  5. Calculate the final distance and sort the articles based on it.

We tried 3 different values for Lambda 0.2, 0.5, 0.8 and found 0.8 to be the best value.

This operation was extremely difficult since it requires manually evaluating the events for each value. Nonetheless, this approach results were similar or worse than the original baseline, this might be due to the issues with the NER vectorizer representation (sparsity).

Cluster impurity

The Impurity of clusters causes the system to fail regardless of the article representation mainly because an anomaly would be far from all the articles, the following example illustrates the idea

أكد الرئيس التركي رجب طيب أردوغان اليوم الأحد أن التهديدات الغربية بفرض عقوبات على بلاده وحظر تصدير الأسلحة إليها لن تدفعها لوقف عملية “نبع السلام” المستمرة ضد المقاتلين الأكراد في شمال سوريا.

وقال أردوغان في خطاب متلفز “بعدما أطلقنا عمليتنا واجهنا تهديدات مثل عقوبات اقتصادية وحظر على بيع الأسلحة.. ومن يعتقدون أن بإمكانهم دفع تركيا للتراجع عبر هذه التهديدات مخطئون كثيرا”. 

++++++++++++++++++++

 0.9597737245179864 

 الجزيرة نت-طهران

أعلنت إيران فجر اليوم الخميس عن انتهاء القوات البرية في الجيش من مناورات مفاجئة تحت شعار “هدف واحد.. رصاصة واحدة” في المنطقة المحاذية لتركيا بهدف “تقييم جاهزية قواتها القتالية”، مؤكدة أن المناورات تبعث رسائل منفصلة إلى الشعب الإيراني وأعدائه.

وأعلنت دائرة العلاقات العامة للجيش الإيراني صباح أمس الأربعاء انطلاق مناورات مفاجئة للقوات البرية في منطقة أورومية شمال غربي البلاد بالقرب من حدود تركيا.

To resolve this issue for each article we first calculate the sum of its distances from all the other articles using the similarity matrix.

Intuitively an anomaly should be far from all the articles and thus this sum should be overly large, if we assume that these sums follow a gaussian distribution (which they seem to do see the following figure), then we can state that most of the data should fall between avg+2*std and avg-2*std.

Based on this reasoning any article whose distances sums is greater than avg+2*std can be considered as an anomaly and discarded from consideration. After applying this mechanism on the previous example the resulting contrary article is as follows

أكد الرئيس التركي رجب طيب أردوغان اليوم الأحد أن التهديدات الغربية بفرض عقوبات على بلاده وحظر تصدير الأسلحة إليها لن تدفعها لوقف عملية “نبع السلام” المستمرة ضد المقاتلين الأكراد في شمال سوريا.

وقال أردوغان في خطاب متلفز “بعدما أطلقنا عمليتنا واجهنا تهديدات مثل عقوبات اقتصادية وحظر على بيع الأسلحة.. ومن يعتقدون أن بإمكانهم دفع تركيا للتراجع عبر هذه التهديدات مخطئون كثيرا”. 

++++++++++++++++++++

 0.927225742795052 

            دانت الخارجية السورية بشدة عزم تركيا تنفيذ عملية عسكرية داخل أراضي سوريا، واعتبرت أن ذلك سيفقد أنقرة دور الضامن في عملية أستانا ويوجه ضربة قاصمة للعملية السياسية برمتها.

وقالت الخارجية، اليوم الأربعاء، إن سوريا تدين بأشد العبارات “التصريحات الهوجاء والنوايا العدوانية للنظام التركي والحشود العسكرية على الحدود السورية التي تشكل انتهاكا فاضحا للقانون الدولي وخرقا سافرا لقرارات مجلس الأمن الدولي التي تؤكد جميعها على احترام وحدة وسلامة وسيادة سوريا”.

Please note the following:

  • That this simple ad-hoc method can fail in removing all anomalies due to 2 factors:
    • If the cluster is extremely noisy or impure and include many events like Lebanon riots all the articles will be far from each other and thus the std will be too big that it includes everything  
    • Even in less noisy clusters, anomalies can have very similar language, for example, the following article is selected a part of a cluster describing the resignation of the Saudi power minister, and since it is talking about economy, oil and power it is similar enough to fall under the limit of avg+2*std while still     being an anomaly
             
      أصدر خادم الحرمين الشريفين الملك سلمان بن عبدالعزيز – يحفظه الله – عدداً من الأوامر الملكية يوم الجمعة الماضي، تضمنت تعيينات لقيادات حكومية جديدة وإعفاء آخرين من مناصبهم، وإعادة تشكيل لأجهزة حكومية، وترقية بعض منها لمستوى إداري أعلى من حيث الصلاحيات والمسؤوليات.

من بين ما شملت الأوامر الملكية على مستوى الأجهزة الحكومية، فصل الطاقة عن الصناعة والثروة المعدنية، وتغيير تبعاً لذلك مسمى “وزارة الطاقة والصناعة والثروة المعدنية” ليصبح “وزارة الطاقة” وإنشاء وزارة باسم “وزارة الصناعة والثروة المعدنية” تُنقل إليها الاختصاصات والمهمات والمسؤوليات المتعلقة بقطاع الصناعة ونشاط الثروة المعدنية، لتنفصل بذلك عن وزارة الطاقة. ويُعد هذا قراراً صائباً للغاية، باعتبار أن وزارة الطاقة والصناعة والثروة المعدنية قبل الفصل بين مهامها ومسؤولياتها،

  • That this step does indeed remove some authentic articles     sometimes. However, We believe it is a fair trade-off since by keeping anomalies all the other articles will have bad results.
  • This step can as well get rid of problematic articles where say very small content is provided for example from the event of Tunisian elections this was the only excluded article    

ضيوف الحوار

الصحافي التونسي منصف سليمي، بون – ألمانيا.

المحلل السياسي مُولى غازي. تونس.

برنامج “ستوديو الحدث”، ثمرة التعاون بين “

DW

  • Some events have ambiguity due to combining articles from multiple genres. For example in the manual data of event detection. The event of Aramco attacks includes both political and economic articles. These cases were ignored mainly because this case will not occur in production since event-detection is limited by the political genre.

Does This Article Has A Contrary View

As mentioned above for many events there isn’t a contrary viewpoint and even for controversial events some articles are simply neutral, in order to resolve this we tried 2 filtering schemes, both done of the TFIDF baseline since it gave the best results, the goal is to set a limit L where only if 2 articles have a distance greater than L these 2 articles can be faithfully considered as contrary, we tried to set the value of L using 2 ways:

  • Direct values: e.g. if 2 articles distance is greater than 0.95 then they are contrary. This method can be used in theory to filter out non-controversial events since they should, in theory, have all their articles very similar.
  • Event-based: for every event assume the values of the pairwise distances to be some sort of a population and find the 75th, 80th, … percentile. This method can’t detect non-controversial events. However, it can in theory detect non-controversial articles within a controversial event. since they would be similar to the 2 different viewpoints (because they are neutral).

However, both methods failed in filtering the non-contrary articles. Please note that all the evaluation is done manually. We could not pin a specific value of L (neither global or event-based). For example using a value of 0.8 some articles might have a contrary article whose distance is 0.7, while other articles might not be contrary but have a distance greater than 0.9. This is mainly due to the simplicity of representation of TFIDF. Basically if 2 articles are far they might be contrary but they might as well be describing different sub-events.

Theoretically this method should work if we have a better way to calculate the distance between the articles.

Conclusions

  • Most of the events out there are not controversial and do not include multiple viewpoints.
  • The settings of this experiment is not-optimal at best since there are only 10 events with possible controversial articles and that all the evaluation is done manually. This setting greatly complicated the process of hyperparameters search and evaluation. We are a bit sceptical about the results we have now. But we believe if we have an annotated dataset for evaluation. We might be able to get something usable based on these simplistic approaches.
  • Overall the best method was the plain TFIDF baseline. You can think of this method as a reversed content-based suggestion system. This method can’t be used to present contrary views. if it to be deployed we should instead market as “other viewpoints ”, “other takes on the event”, … and not exact contrary views.
  • We tried filtering out the non-controversial events or articles but this is not possible using the current method.   
  • It is possible to reduce the impurity in clusters using a simple ad-hoc anomaly detection
  • Event impurity and large events are also major factors in the quality of the results.

Do you know that we use all this and other AI technologies in our app? Look at what you’re reading now applied in action. Try our Almeta News app. You can download it from google play: https://play.google.com/store/apps/details?id=io.almeta.almetanewsapp&hl=ar_AR

Leave a Reply

Your email address will not be published. Required fields are marked *