1
0
mirror of https://github.com/balkian/gists.git synced 2024-12-22 14:28:12 +00:00
gists/repos/fb995f5ddf394bea714e/emote.php
J. Fernando Sánchez f65daa9c69 Add 'repos/fb995f5ddf394bea714e/' from commit '5b93cc0d8b727c63d200640b82df47695ea3d78f'
git-subtree-dir: repos/fb995f5ddf394bea714e
git-subtree-mainline: 11586cb1b1
git-subtree-split: 5b93cc0d8b
2021-10-30 15:14:12 +02:00

81 lines
2.8 KiB
PHP

<?php
include('Eklekt/Emotion.php');
include('Eklekt/Emotion/AffectWord.php');
include('Eklekt/Emotion/EmotionalState.php');
include('Eklekt/Emotion/Empathyscope.php');
include('Eklekt/Emotion/Utility/Heuristics.php');
include('Eklekt/Emotion/Utility/Lexical.php');
#const NEUTRAL = -1;
#const HAPPINESS = 0;
#const SADNESS = 1;
#const FEAR = 2;
#const ANGER = 3;
#const DISGUST = 4;
#const SURPRISE = 5;
$wnaffect ='http://gsi.dit.upm.es/ontologies/wnaffect/ns';
$arr = array(
-1 => $wnaffect.'#neutral-emotion',
0 => $wnaffect.'#happiness',
1 => $wnaffect.'#sadness',
2 => $wnaffect.'#fear',
3 => $wnaffect.'#anger',
4 => $wnaffect.'#disgust',
5 => $wnaffect.'#surprise'
);
$empathScope = Eklekt_Emotion_Empathyscope::getInstance();
$text = $_GET['q']?$_GET['q']:'Input a string with the ?q="bla" parameter, please';
$domain = $_GET['domain']?$_GET['domain']:'http://gsi.dit.upm.es/ontologies/wndomains/ns#Root';
$sens = explode(".", $text);
$res = array();
header('Content-Type: application/xml');
#header('Content-Disposition: attachment; filename="results.rdf"');
header('Content-Type: text/plain');
echo '<?xml version="1.0"?>';
?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:prov="http://www.w3.org/ns/prov#"
xmlns:wnaffect="http://gsi.dit.upm.es/ontologies/wnaffect/ns#"
xmlns:wndomains="http://gsi.dit.upm.es/ontologies/wndomains/ns#"
xmlns:onyx="http://gsi.dit.upm.es/ontologies/onyx#"
>
<rdf:Description>
<rdf:type rdf:resource="http://gsi.dit.upm.es/ontologies/onyx/ns#EmotionAnalysis<?echo $i?>"/>
<onyx:emotionOntology><? echo $wnaffect ?></onyx:emotionOntology>
<onyx:domain rdf:resource="<?echo $domain?>"/>
<onyx:algorithm>Synesketch</onyx:algorithm>
</rdf:Description>
<rdf:Description xmlns:about="http://gsi.dit.upm.es">
<rdf:type rdf:resource="http://www.w3.org/ns/prov#Agent"/>
</rdf:Description>
<?
for($i=0; $i<count($sens); $i++){
$feel = $empathScope->feel($sen);
foreach($feel->emotions as $emo){
$emo->type = array_key_exists($emo->type, $arr)?$arr[$emo->type]:"UNKNOWN";
}
array_push($res, $feel);
?>
<rdf:Description>
<rdf:type rdf:resource="http://gsi.dit.upm.es/ontologies/onyx/ns#EmotionResult<?echo $i?>"/>
<onyx:sourceText><? echo $feel->text?></onyx:sourceText>
<onyx:domain rdf:resource="<?echo $domain?>"/>
<onyx:hasEmotion>
<onyx:Emotion>
<onyx:emotionCategory rdf:resource="<? echo $emo->type?>"/>
<onyx:hasIntensity rdf:datatype="http://www.w3.org/2001/XMLSchema#float"><?echo $emo->weight?></onyx:hasIntensity>
</onyx:Emotion>
</onyx:hasEmotion>
</rdf:Description>
<?
}
?>
</rdf:RDF>