SlideShare a Scribd company logo
1 of 6
<?php
//Sharon Xiao Liu
//Works out meanings, and also gets it from dictionaries and thesauruses, and a
Google search of images.
$Input = "The keen child eats the apple.";
$Input2 = "The keen child eats the pear.";
$InputDictionaryJson = '{
"Child": { "WordType": "Noun", "Definition": "A young person, typically younger
than 13." },
"The": { "WordType": "Article", "Definition": "Saying the noun generically
applies."},
"Keen": {"WordType": "Adjective"},
"Eats": {"WordType": "Verb"},
"Apple": {"WordType": "Noun"}
}';
$InputDictionary = json_decode ($InputDictionaryJson, true);
//Don't define "pear".
$InputThesaurus = array ("Article", "Adjective", "Noun", "Verb", "Article",
"Noun");
/*
//Separate into words.
$InputSingleSentences = explode (".", $Input);
foreach ($InputSingleSentences as $InputSentence) {
$SentenceCount++;
$InputSingleWords[$SentenceCount][] = explode (" ", $InputSentence);
}
$ProcessWordsGrammar = $InputSingleWords;
foreach ($ProcessWordsGrammar as $SentenceCount2) {
foreach ($SentenceCount2 as $ProcessSingleWords) {
$InputSingleWord = $ProcessSingleWords;
SearchDictionaryForWordType ($InputMatchedWord, $InputDictionary);
}
}
function SearchDictionaryForWord ($InputSingleWord, $InputDictionary) {
foreach ($InputDictionary as $InputDictionaryWord) {
if ($InputSingleWord == $InputDictionaryWord) {
$InputMatchedWord = $InputSingleWord;
return $InputMatchedWord;
}
}
}
function SearchDictionaryForWordType ($InputMatchedWord, $InputDictionary) {
foreach ($InputDictionary as $InputWordEntry) {
if ($InputWordEntry == $InputMatchedWord) {
$InputWordTypeForMatchedWord = $InputWordEntry[WordType];
return $InputWordTypeForMatchedWord;
}
}
}
function IsGrammarRecognised ($InputWordsInSentence, $InputThesaurus) {
$InputGrammarPattern = SearchDictionaryForWordType ($InputWordsInSentence);
if ($InputGrammarPattern == $InputThesaurus) {
return true;
}
}
function FillInMissingWordTypes ($InputWordsInSentence, $InputThesaurus) {
if (IsGrammarRecognised($InputWordsInSentence, $InputThesaurus) == true) {
$InputRecognisedWordType[] = $InputDictionary[$InputWordsInSentence][WordType];
} else {
$InputRecognisedWordType[] = " . ";
}
$InputStringPCREWordType;
$InputArrayGrammarPatterns;
foreach ($InputArrayGrammarPatterns as $SingleGrammarPattern) {
if (preg_match($InputStringPCREWordType, $SingleGrammarPattern) == true) {
$MatchesToSingleGrammarPatterns[] = $SingleGrammarPattern;
}
print $StringInputWordsInSentence;
print_r $MatchesToSingleGrammarPatterns;
}
}
function UpdateDictionary ($StringInputWord, $StringWordType, $InputDictionary)
{
$InputDictionary[$StringInputWord]["WordType"] = $StringWordType;
}
function UpdateThesaurus ($StringInputGrammarPattern, $InputThesaurus) {
$InputThesaurus[] = $StringInputGrammarPattern;
}
function InterpretText ($StringInputCorpus, $InputThesaurus, $InputDictionary) {
$ArrayInputCorpusSentences = explode (".", $StringInputCorpus);
foreach ($ArrayInputCorpusSentences as $StringInputCorpusSentence) {
$ArrayInputCorpusWords = explode (" ", $StringInputCorpusSentence);
foreach ($ArrayInputCorpusWords as $StringInputCorpusWord) {
$InputStringThesaurus = SearchDictionaryForWordType ($StringInputCorpusWord);
print_r $ArrayInputCorpusWords;
if (IsGrammarRecognised ($InputWordsInSentence, $InputThesaurus) == false) {
UpdateThesaurus ($StringInputGrammarPattern, $InputThesaurus);
}
}
}
}
function GetImageColours () {
$imagick = new Imagick (realpath ($imagepath));
global $InputImageColumns = 100;
$imagick -> resizeImage ($InputImageColumns, 0, FILTER_UNDEFINED, 0.9, true);
$InputImageSize = $imagick -> getImageGeometry ();
global $InputImageRows = $InputImageSize ["height"];
for ($IncrementingX = 0, $IncrementingX =<$InputImageColumns, $IncrementingX++)
{
$IntegerInputXPixel = $IncrementingX;
for ($IncrementingY = 0, $IncrementingY =< InputImageRows, $IncrementingY++) {
$IntegerInputYPixel = $IncrementingY;
$InputPixelColor = $imagick -> getImagePixelColor ($IntegerInputXPixel,
$IntegerInputYPixel);
$InputStringPixelColor = $InputPixelColor -> getColor();
$InputPixelCoordinates[$IntegerInputXPixel][] = $IntegerInputYPixel;
}
}
$InputPixelErrorTolerance = 50;
}
function FindCorners ($GLOBALS["InputImageColumns"], $GLOBALS["InputImageRows"])
{
$InputStringImageTopLeftCorner = array (0, 0);
$InputStringImageTopRightCorner = array ($GLOBALS["InputImageColumns"], 0);
$InputStringImageBottomLeftCorner = array (0, $GLOBALS["InputImageRows"]);
$InputStringImageBottomRightCorner = array ($GLOBALS["InputImageColumns"],
$GLOBALS["InputImageRows"]);
}
function FindBackgroundColours () {
$InputDarkestBackgroundColour = array ("R" => 50, "G" => 50, "B" => 50);
$InputRGBFluctuation = 5;
if ($R > 50 or $G > 50 or $B > 50) {
$BooleanBackgroundColour = true;
}
if ($R <= $G + 50 or $G <= $R + 50 or $R <= $B + 50 or $B <= $R + 50 or $G <= $B
+ 50 or $B <= $G + 50) {
$BooleanBackgroundColour = true;
}
// >=. R = 60, G = 10; R = 70, G = 10.
// <=. G = 10, R = 50; G = 10, R = 40; R = 50, G = 0.
}
function FindImageEdges () {
if ($NumberXCoordinate == 0 or $NumberYCoordinate == 0 or $NumberXCoordinate ==
100 or $NumberYCoordinate == $GLOBALS ["InputImageRows"]) {
return true;
}
}
//Scan the image multiple times.
function BackgroundPixelTravel () {
$ArrayStartPixelCoordinates = FindCorners ();
if ($ArrayCurrentPixel == array (0, 0)) {
$ArrayNextPixelCoordinatesRight = $XCoordinate + 1;
$ArrayNextPixelCoordinatesBottom = $YCoordinate + 1;
} elseif ($ArrayCurrentPixel == array (100, 0)) {
$ArrayNextPixelCoordinatesLeft = $XCoordinate - 1;
$ArrayNextPixelCoordinatesBottom = $YCoordinate + 1;
} elseif ($ArrayCurrentPixel == array (0, $GLOBALS["InputImageRows"])) {
$ArrayNextPixelCoordinatesRight = $XCoordinate + 1;
$ArrayNextPixelCoordinatesUp = $YCoordinate - 1;
} elseif ($ArrayCurrentPixel == array (100, $GLOBALS["InputImageRows"])) {
$ArrayNextPixelCoordinatesLeft = $XCoordinate - 1;
$ArrayNextPixelCoordinatesUp = $YCoordinate - 1;
} elseif ($ArrayCurrentPixel [1] == 0) {
$ArrayNextPixelCoordinatesLeft = $XCoordinate - 1;
$ArrayNextPixelCoordinatesRight = $XCoordinate + 1;
$ArrayNextPixelCoordinatesBottom = $YCoordinate + 1;
} elseif ($ArrayCurrentPixel [0] == 0) {
$ArrayNextPixelCoordinatesRight = $XCoordinate + 1;
$ArrayNextPixelCoordinatesUp = $YCoordinate - 1;
$ArrayNextPixelCoordinatesDown = $YCoordinate + 1;
} elseif ($ArrayCurrentPixel [0] == 100) {
$ArrayNextPixelCoordinatesLeft = $XCoordinate - 1;
$ArrayNextPixelCoordinatesUp = $YCoordinate - 1;
$ArrayNextPixelCoordinatesDown = $YCoordinate + 1;
} elseif ($ArrayCurrentPixel [1] = $GLOBALS["InputImageRows"]) {
$ArrayNextPixelCoordinatesLeft = $XCoordinate - 1;
$ArrayNextPixelCoordinatesRight = $XCoordinate + 1;
$ArrayNextPixelCoordinatesUp = $YCoordinate - 1;
} else {
$ArrayNextPixelCoordinatesLeft = $XCoordinate - 1;
$ArrayNextPixelCoordinatesRight = $XCoordinate + 1;
$ArrayNextPixelCoordinatesUp = $YCoordinate - 1;
$ArrayNextPixelCoordinatesDown = $YCoordinate + 1;
}
}
function NoBackgroundPixelIncludedTwice () {
//Do not add to array if the key already exists.
if (isset ($ArrayAllBackgroundPixels [$XCoordinate] [$YCoordinate])) {
}
}
function ContiguityOfBackground () {
if (FindCorners() and FindBackgroundColours () and BackgroundPixelTravel () ==
true) {
// 1 is background pixel, 0 is silhouette pixel.
return $ArrayAllBackgroundPixels;
}
}
function OutlineOfObject () {
for ($IncrementingY = 0; $IncrementingY <= $GLOBALS ["InputImageRows"];
$IncrementingY ++) {
for ($IncrementingX = 0; $IncrementingX <= 99; $IncrementingX ++) {
$CurrentPixel = $ArrayAllBackgroundPixels [$IncrementingX] [$IncrementingY];
$NextPixel = $ArrayAllBackgroundPixels [$IncrementingX + 1] [$IncrementingY];
}
}
if ($CurrentPixel == 1 and $NextPixel == 0) {
$LeftOutlineOfObject [] = $CurrentPixel;
} elseif ($CurrentPixel == 0 and $NextPixel == 1) {
$RightOutlineOfObject [] = $NextPixel;
}
//Combine left and right array.
$ArrayMainOutlineOfObject = $LeftOutlineOfObject + $RightOutlineOfObject;
}
function InnerObjectAreasColourTolerance () {
FindBackgroundColours ();
}
function InnerOutlinesOfObject () {
OutlineOfObject ();
BackgroundPixelTravel ();
InnerObjectAreasColourTolerance ();
}
function AllOutlinesOfObject () {
OutlineOfObject ();
InnerOutlinesOfObject ();
}
function PictureDictionaryStorage () {
$PictureDictionary = array ($NameOfObjectInImage => $AllOutlinesOfObject);
}
function RecogniseImages () {
AllOutlinesOfObject ($ImageToAnalyse);
PictureDictionaryStorage ();
TTestScript ();
}
function ComponentImageOutlines () {
//Happens when there are separate outlines, e.g. a ball and a cube.
$imagick -> resizeImage ();
}
function CheckTextGrammar () {
InterpretText ();
}
function MakeUpASentenceWithAMissingWord () {
$InputThesaurus;
$InputDictionary;
InterpretText ();
//Remove a random word from the sentence.
$NumberOfWordsInGrammarPattern = count ($InputThesaurus);
$KeyOfWordToRemove = rand (0, $NumberOfWordsInGrammarPattern - 1);
}
function NameTheMissingWordForTheObject () {
AllOutlinesOfObject ();
PictureDictionaryStorage ();
}
*/
?>
}
function MakeUpASentenceWithAMissingWord () {
$InputThesaurus;
$InputDictionary;
InterpretText ();
//Remove a random word from the sentence.
$NumberOfWordsInGrammarPattern = count ($InputThesaurus);
$KeyOfWordToRemove = rand (0, $NumberOfWordsInGrammarPattern - 1);
}
function NameTheMissingWordForTheObject () {
AllOutlinesOfObject ();
PictureDictionaryStorage ();
}
*/
?>

More Related Content

What's hot

Taking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order FunctionsTaking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order FunctionsDavid Golden
 
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...Mail.ru Group
 
PHP 7 – What changed internally? (Forum PHP 2015)
PHP 7 – What changed internally? (Forum PHP 2015)PHP 7 – What changed internally? (Forum PHP 2015)
PHP 7 – What changed internally? (Forum PHP 2015)Nikita Popov
 
Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8XSolve
 
Perl6 a whistle stop tour
Perl6 a whistle stop tourPerl6 a whistle stop tour
Perl6 a whistle stop tourSimon Proctor
 
Perl6 a whistle stop tour
Perl6 a whistle stop tourPerl6 a whistle stop tour
Perl6 a whistle stop tourSimon Proctor
 
Dip Your Toes in the Sea of Security (PHP South Africa 2017)
Dip Your Toes in the Sea of Security (PHP South Africa 2017)Dip Your Toes in the Sea of Security (PHP South Africa 2017)
Dip Your Toes in the Sea of Security (PHP South Africa 2017)James Titcumb
 
Climbing the Abstract Syntax Tree (PHP South Africa 2017)
Climbing the Abstract Syntax Tree (PHP South Africa 2017)Climbing the Abstract Syntax Tree (PHP South Africa 2017)
Climbing the Abstract Syntax Tree (PHP South Africa 2017)James Titcumb
 
第二讲 预备-Python基礎
第二讲 预备-Python基礎第二讲 预备-Python基礎
第二讲 预备-Python基礎anzhong70
 
第二讲 Python基礎
第二讲 Python基礎第二讲 Python基礎
第二讲 Python基礎juzihua1102
 
Groovy puzzlers jug-moscow-part 2
Groovy puzzlers jug-moscow-part 2Groovy puzzlers jug-moscow-part 2
Groovy puzzlers jug-moscow-part 2Evgeny Borisov
 
Your code sucks, let's fix it - PHP Master Series 2012
Your code sucks, let's fix it - PHP Master Series 2012Your code sucks, let's fix it - PHP Master Series 2012
Your code sucks, let's fix it - PHP Master Series 2012Rafael Dohms
 
PHP 7 – What changed internally?
PHP 7 – What changed internally?PHP 7 – What changed internally?
PHP 7 – What changed internally?Nikita Popov
 
Your code sucks, let's fix it (CakeFest2012)
Your code sucks, let's fix it (CakeFest2012)Your code sucks, let's fix it (CakeFest2012)
Your code sucks, let's fix it (CakeFest2012)Rafael Dohms
 

What's hot (20)

Taking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order FunctionsTaking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order Functions
 
Oops in php
Oops in phpOops in php
Oops in php
 
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...
Security Meetup 22 октября. «Реверс-инжиниринг в Enterprise». Алексей Секрето...
 
PHP 7 – What changed internally? (Forum PHP 2015)
PHP 7 – What changed internally? (Forum PHP 2015)PHP 7 – What changed internally? (Forum PHP 2015)
PHP 7 – What changed internally? (Forum PHP 2015)
 
Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8
 
Perl6 a whistle stop tour
Perl6 a whistle stop tourPerl6 a whistle stop tour
Perl6 a whistle stop tour
 
Perl6 a whistle stop tour
Perl6 a whistle stop tourPerl6 a whistle stop tour
Perl6 a whistle stop tour
 
Dip Your Toes in the Sea of Security (PHP South Africa 2017)
Dip Your Toes in the Sea of Security (PHP South Africa 2017)Dip Your Toes in the Sea of Security (PHP South Africa 2017)
Dip Your Toes in the Sea of Security (PHP South Africa 2017)
 
Climbing the Abstract Syntax Tree (PHP South Africa 2017)
Climbing the Abstract Syntax Tree (PHP South Africa 2017)Climbing the Abstract Syntax Tree (PHP South Africa 2017)
Climbing the Abstract Syntax Tree (PHP South Africa 2017)
 
第二讲 预备-Python基礎
第二讲 预备-Python基礎第二讲 预备-Python基礎
第二讲 预备-Python基礎
 
第二讲 Python基礎
第二讲 Python基礎第二讲 Python基礎
第二讲 Python基礎
 
Groovy puzzlers jug-moscow-part 2
Groovy puzzlers jug-moscow-part 2Groovy puzzlers jug-moscow-part 2
Groovy puzzlers jug-moscow-part 2
 
Your code sucks, let's fix it - PHP Master Series 2012
Your code sucks, let's fix it - PHP Master Series 2012Your code sucks, let's fix it - PHP Master Series 2012
Your code sucks, let's fix it - PHP Master Series 2012
 
Intoduction to php arrays
Intoduction to php arraysIntoduction to php arrays
Intoduction to php arrays
 
Daily notes
Daily notesDaily notes
Daily notes
 
PHP 7 – What changed internally?
PHP 7 – What changed internally?PHP 7 – What changed internally?
PHP 7 – What changed internally?
 
Barcelona.pm Curs1211 sess01
Barcelona.pm Curs1211 sess01Barcelona.pm Curs1211 sess01
Barcelona.pm Curs1211 sess01
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
 
Your code sucks, let's fix it (CakeFest2012)
Your code sucks, let's fix it (CakeFest2012)Your code sucks, let's fix it (CakeFest2012)
Your code sucks, let's fix it (CakeFest2012)
 
Rust ⇋ JavaScript
Rust ⇋ JavaScriptRust ⇋ JavaScript
Rust ⇋ JavaScript
 

Viewers also liked

20160227 Granma v2
20160227 Granma v220160227 Granma v2
20160227 Granma v2Sharon Liu
 
20151012 Granma Design
20151012  Granma Design20151012  Granma Design
20151012 Granma DesignSharon Liu
 
20150730 Sql AutoCommannotator - sac v2
20150730  Sql AutoCommannotator - sac v220150730  Sql AutoCommannotator - sac v2
20150730 Sql AutoCommannotator - sac v2Sharon Liu
 
Agriculture connectée 4.0
Agriculture connectée 4.0Agriculture connectée 4.0
Agriculture connectée 4.0Jérôme Monteil
 
Beyond the Gig Economy
Beyond the Gig EconomyBeyond the Gig Economy
Beyond the Gig EconomyJon Lieber
 
Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020CEW Georgetown
 
African Americans: College Majors and Earnings
African Americans: College Majors and Earnings African Americans: College Majors and Earnings
African Americans: College Majors and Earnings CEW Georgetown
 
The Online College Labor Market
The Online College Labor MarketThe Online College Labor Market
The Online College Labor MarketCEW Georgetown
 
8 Tips for Scaling Mobile Users in China by Edith Yeung
8 Tips for Scaling Mobile Users in China by Edith Yeung8 Tips for Scaling Mobile Users in China by Edith Yeung
8 Tips for Scaling Mobile Users in China by Edith YeungEdith Yeung
 
Shall we play a game?
Shall we play a game?Shall we play a game?
Shall we play a game?Maciej Lasyk
 
Creative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage StartupsCreative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage StartupsTommaso Di Bartolo
 
SXSW 2016: The Need To Knows
SXSW 2016: The Need To KnowsSXSW 2016: The Need To Knows
SXSW 2016: The Need To KnowsOgilvy Consulting
 
Digitized Student Development, Social Media, and Identity
Digitized Student Development, Social Media, and IdentityDigitized Student Development, Social Media, and Identity
Digitized Student Development, Social Media, and IdentityPaul Brown
 
3 hard facts shaping higher education thinking and behavior
3 hard facts shaping higher education thinking and behavior3 hard facts shaping higher education thinking and behavior
3 hard facts shaping higher education thinking and behaviorGrant Thornton LLP
 
GAME ON! Integrating Games and Simulations in the Classroom
GAME ON! Integrating Games and Simulations in the Classroom GAME ON! Integrating Games and Simulations in the Classroom
GAME ON! Integrating Games and Simulations in the Classroom Brian Housand
 
[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?InterQuest Group
 
Top Rumors About Apple March 21 Big Event
Top Rumors About Apple March 21 Big EventTop Rumors About Apple March 21 Big Event
Top Rumors About Apple March 21 Big EventChromeInfo Technologies
 
What's Trending in Talent and Learning for 2016?
What's Trending in Talent and Learning for 2016?What's Trending in Talent and Learning for 2016?
What's Trending in Talent and Learning for 2016?Skillsoft
 
SXSW 2016 takeaways
SXSW 2016 takeawaysSXSW 2016 takeaways
SXSW 2016 takeawaysHavas
 

Viewers also liked (20)

20160227 Granma v2
20160227 Granma v220160227 Granma v2
20160227 Granma v2
 
20151012 Granma Design
20151012  Granma Design20151012  Granma Design
20151012 Granma Design
 
20150730 Sql AutoCommannotator - sac v2
20150730  Sql AutoCommannotator - sac v220150730  Sql AutoCommannotator - sac v2
20150730 Sql AutoCommannotator - sac v2
 
Agriculture connectée 4.0
Agriculture connectée 4.0Agriculture connectée 4.0
Agriculture connectée 4.0
 
Beyond the Gig Economy
Beyond the Gig EconomyBeyond the Gig Economy
Beyond the Gig Economy
 
Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020
 
African Americans: College Majors and Earnings
African Americans: College Majors and Earnings African Americans: College Majors and Earnings
African Americans: College Majors and Earnings
 
The Online College Labor Market
The Online College Labor MarketThe Online College Labor Market
The Online College Labor Market
 
8 Tips for Scaling Mobile Users in China by Edith Yeung
8 Tips for Scaling Mobile Users in China by Edith Yeung8 Tips for Scaling Mobile Users in China by Edith Yeung
8 Tips for Scaling Mobile Users in China by Edith Yeung
 
Shall we play a game?
Shall we play a game?Shall we play a game?
Shall we play a game?
 
Creative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage StartupsCreative Traction Methodology - For Early Stage Startups
Creative Traction Methodology - For Early Stage Startups
 
SXSW 2016: The Need To Knows
SXSW 2016: The Need To KnowsSXSW 2016: The Need To Knows
SXSW 2016: The Need To Knows
 
Digitized Student Development, Social Media, and Identity
Digitized Student Development, Social Media, and IdentityDigitized Student Development, Social Media, and Identity
Digitized Student Development, Social Media, and Identity
 
Bill Aulet GEC2016 keynote speech March 16 2016 Medellin Colombia
Bill Aulet GEC2016 keynote speech March 16 2016 Medellin ColombiaBill Aulet GEC2016 keynote speech March 16 2016 Medellin Colombia
Bill Aulet GEC2016 keynote speech March 16 2016 Medellin Colombia
 
3 hard facts shaping higher education thinking and behavior
3 hard facts shaping higher education thinking and behavior3 hard facts shaping higher education thinking and behavior
3 hard facts shaping higher education thinking and behavior
 
GAME ON! Integrating Games and Simulations in the Classroom
GAME ON! Integrating Games and Simulations in the Classroom GAME ON! Integrating Games and Simulations in the Classroom
GAME ON! Integrating Games and Simulations in the Classroom
 
[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?
 
Top Rumors About Apple March 21 Big Event
Top Rumors About Apple March 21 Big EventTop Rumors About Apple March 21 Big Event
Top Rumors About Apple March 21 Big Event
 
What's Trending in Talent and Learning for 2016?
What's Trending in Talent and Learning for 2016?What's Trending in Talent and Learning for 2016?
What's Trending in Talent and Learning for 2016?
 
SXSW 2016 takeaways
SXSW 2016 takeawaysSXSW 2016 takeaways
SXSW 2016 takeaways
 

Similar to Analyze Text Grammar & Image Outlines

Crazy things done on PHP
Crazy things done on PHPCrazy things done on PHP
Crazy things done on PHPTaras Kalapun
 
JavaScript for PHP developers
JavaScript for PHP developersJavaScript for PHP developers
JavaScript for PHP developersStoyan Stefanov
 
Your code sucks, let's fix it
Your code sucks, let's fix itYour code sucks, let's fix it
Your code sucks, let's fix itRafael Dohms
 
You code sucks, let's fix it
You code sucks, let's fix itYou code sucks, let's fix it
You code sucks, let's fix itRafael Dohms
 
Jsphp 110312161301-phpapp02
Jsphp 110312161301-phpapp02Jsphp 110312161301-phpapp02
Jsphp 110312161301-phpapp02Seri Moth
 
PHP for Adults: Clean Code and Object Calisthenics
PHP for Adults: Clean Code and Object CalisthenicsPHP for Adults: Clean Code and Object Calisthenics
PHP for Adults: Clean Code and Object CalisthenicsGuilherme Blanco
 
php global $bsize,$playerToken,$myToken,$gameOver,$winArr,$rowAr.pdf
php global $bsize,$playerToken,$myToken,$gameOver,$winArr,$rowAr.pdfphp global $bsize,$playerToken,$myToken,$gameOver,$winArr,$rowAr.pdf
php global $bsize,$playerToken,$myToken,$gameOver,$winArr,$rowAr.pdfanjalitimecenter11
 
javascript Model- Render & canvas sample
javascript Model- Render & canvas samplejavascript Model- Render & canvas sample
javascript Model- Render & canvas sampleHika Maeng
 
Database Design Patterns
Database Design PatternsDatabase Design Patterns
Database Design PatternsHugo Hamon
 
Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB jhchabran
 
Uncovering Iterators
Uncovering IteratorsUncovering Iterators
Uncovering Iteratorssdevalk
 
Coding Horrors
Coding HorrorsCoding Horrors
Coding HorrorsMark Baker
 
Why async and functional programming in PHP7 suck and how to get overr it?
Why async and functional programming in PHP7 suck and how to get overr it?Why async and functional programming in PHP7 suck and how to get overr it?
Why async and functional programming in PHP7 suck and how to get overr it?Lucas Witold Adamus
 
PHP Language Trivia
PHP Language TriviaPHP Language Trivia
PHP Language TriviaNikita Popov
 
Teaching Your Machine To Find Fraudsters
Teaching Your Machine To Find FraudstersTeaching Your Machine To Find Fraudsters
Teaching Your Machine To Find FraudstersIan Barber
 
srcArtifact.javasrcArtifact.javaclassArtifactextendsCave{pub.docx
srcArtifact.javasrcArtifact.javaclassArtifactextendsCave{pub.docxsrcArtifact.javasrcArtifact.javaclassArtifactextendsCave{pub.docx
srcArtifact.javasrcArtifact.javaclassArtifactextendsCave{pub.docxwhitneyleman54422
 
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...Mateusz Zalewski
 
Object Calisthenics Adapted for PHP
Object Calisthenics Adapted for PHPObject Calisthenics Adapted for PHP
Object Calisthenics Adapted for PHPChad Gray
 
PHPUnit でよりよくテストを書くために
PHPUnit でよりよくテストを書くためにPHPUnit でよりよくテストを書くために
PHPUnit でよりよくテストを書くためにYuya Takeyama
 

Similar to Analyze Text Grammar & Image Outlines (20)

Crazy things done on PHP
Crazy things done on PHPCrazy things done on PHP
Crazy things done on PHP
 
JavaScript for PHP developers
JavaScript for PHP developersJavaScript for PHP developers
JavaScript for PHP developers
 
Your code sucks, let's fix it
Your code sucks, let's fix itYour code sucks, let's fix it
Your code sucks, let's fix it
 
You code sucks, let's fix it
You code sucks, let's fix itYou code sucks, let's fix it
You code sucks, let's fix it
 
PHP Tips & Tricks
PHP Tips & TricksPHP Tips & Tricks
PHP Tips & Tricks
 
Jsphp 110312161301-phpapp02
Jsphp 110312161301-phpapp02Jsphp 110312161301-phpapp02
Jsphp 110312161301-phpapp02
 
PHP for Adults: Clean Code and Object Calisthenics
PHP for Adults: Clean Code and Object CalisthenicsPHP for Adults: Clean Code and Object Calisthenics
PHP for Adults: Clean Code and Object Calisthenics
 
php global $bsize,$playerToken,$myToken,$gameOver,$winArr,$rowAr.pdf
php global $bsize,$playerToken,$myToken,$gameOver,$winArr,$rowAr.pdfphp global $bsize,$playerToken,$myToken,$gameOver,$winArr,$rowAr.pdf
php global $bsize,$playerToken,$myToken,$gameOver,$winArr,$rowAr.pdf
 
javascript Model- Render & canvas sample
javascript Model- Render & canvas samplejavascript Model- Render & canvas sample
javascript Model- Render & canvas sample
 
Database Design Patterns
Database Design PatternsDatabase Design Patterns
Database Design Patterns
 
Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB Introduction à CoffeeScript pour ParisRB
Introduction à CoffeeScript pour ParisRB
 
Uncovering Iterators
Uncovering IteratorsUncovering Iterators
Uncovering Iterators
 
Coding Horrors
Coding HorrorsCoding Horrors
Coding Horrors
 
Why async and functional programming in PHP7 suck and how to get overr it?
Why async and functional programming in PHP7 suck and how to get overr it?Why async and functional programming in PHP7 suck and how to get overr it?
Why async and functional programming in PHP7 suck and how to get overr it?
 
PHP Language Trivia
PHP Language TriviaPHP Language Trivia
PHP Language Trivia
 
Teaching Your Machine To Find Fraudsters
Teaching Your Machine To Find FraudstersTeaching Your Machine To Find Fraudsters
Teaching Your Machine To Find Fraudsters
 
srcArtifact.javasrcArtifact.javaclassArtifactextendsCave{pub.docx
srcArtifact.javasrcArtifact.javaclassArtifactextendsCave{pub.docxsrcArtifact.javasrcArtifact.javaclassArtifactextendsCave{pub.docx
srcArtifact.javasrcArtifact.javaclassArtifactextendsCave{pub.docx
 
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...
[PHPCon 2023] “Kto to pisał?!... a, to ja.”, czyli sposoby żeby znienawidzić ...
 
Object Calisthenics Adapted for PHP
Object Calisthenics Adapted for PHPObject Calisthenics Adapted for PHP
Object Calisthenics Adapted for PHP
 
PHPUnit でよりよくテストを書くために
PHPUnit でよりよくテストを書くためにPHPUnit でよりよくテストを書くために
PHPUnit でよりよくテストを書くために
 

More from Sharon Liu

20240408 Bending Backwards to the Second Step Up.docx
20240408 Bending Backwards to the Second Step Up.docx20240408 Bending Backwards to the Second Step Up.docx
20240408 Bending Backwards to the Second Step Up.docxSharon Liu
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
20240315 ACMJ Diagrams Set 2.docx . With light, motor, coloured light, and se...
20240315 ACMJ Diagrams Set 2.docx . With light, motor, coloured light, and se...20240315 ACMJ Diagrams Set 2.docx . With light, motor, coloured light, and se...
20240315 ACMJ Diagrams Set 2.docx . With light, motor, coloured light, and se...Sharon Liu
 
SL CV 20240312.docx . Sharon Xiao Liu's Curriculum Vitae.
SL CV 20240312.docx . Sharon Xiao Liu's Curriculum Vitae.SL CV 20240312.docx . Sharon Xiao Liu's Curriculum Vitae.
SL CV 20240312.docx . Sharon Xiao Liu's Curriculum Vitae.Sharon Liu
 
20240308 Jumping from the Fifth step up.docx
20240308 Jumping from the Fifth step up.docx20240308 Jumping from the Fifth step up.docx
20240308 Jumping from the Fifth step up.docxSharon Liu
 
20240206 Rotated Torus and Full Rotated Sphere 45 degrees down 45 left.docx
20240206 Rotated Torus and Full Rotated Sphere 45 degrees down 45 left.docx20240206 Rotated Torus and Full Rotated Sphere 45 degrees down 45 left.docx
20240206 Rotated Torus and Full Rotated Sphere 45 degrees down 45 left.docxSharon Liu
 
20231218 Plan for Two-Footed Jump on Ice.docx
20231218 Plan for Two-Footed Jump on Ice.docx20231218 Plan for Two-Footed Jump on Ice.docx
20231218 Plan for Two-Footed Jump on Ice.docxSharon Liu
 
20231130 Ice skating Unsupported.docx
20231130 Ice skating Unsupported.docx20231130 Ice skating Unsupported.docx
20231130 Ice skating Unsupported.docxSharon Liu
 
20231102 Plan for Ice Skating.docx
20231102 Plan for Ice Skating.docx20231102 Plan for Ice Skating.docx
20231102 Plan for Ice Skating.docxSharon Liu
 
20231017 xy view of Rotated 45 degrees down and 45 left Sphere.docx
20231017 xy view of Rotated 45 degrees down and 45 left Sphere.docx20231017 xy view of Rotated 45 degrees down and 45 left Sphere.docx
20231017 xy view of Rotated 45 degrees down and 45 left Sphere.docxSharon Liu
 
20231006 Sphere rotated 45 degrees down.docx
20231006 Sphere rotated 45 degrees down.docx20231006 Sphere rotated 45 degrees down.docx
20231006 Sphere rotated 45 degrees down.docxSharon Liu
 
20230904 Recycling Clay.docx
20230904 Recycling Clay.docx20230904 Recycling Clay.docx
20230904 Recycling Clay.docxSharon Liu
 
20230831 a of the equator - Rotated sphere.docx
20230831 a of the equator - Rotated sphere.docx20230831 a of the equator - Rotated sphere.docx
20230831 a of the equator - Rotated sphere.docxSharon Liu
 
20230829 Rotated Ellipse.docx
20230829 Rotated Ellipse.docx20230829 Rotated Ellipse.docx
20230829 Rotated Ellipse.docxSharon Liu
 
20230819 Recall Tests.pptx
20230819 Recall Tests.pptx20230819 Recall Tests.pptx
20230819 Recall Tests.pptxSharon Liu
 
20230810 Radial Plot of an Ellipse.docx
20230810 Radial Plot of an Ellipse.docx20230810 Radial Plot of an Ellipse.docx
20230810 Radial Plot of an Ellipse.docxSharon Liu
 
20230809 South Pole of the Rotated Sphere.docx
20230809 South Pole of the Rotated Sphere.docx20230809 South Pole of the Rotated Sphere.docx
20230809 South Pole of the Rotated Sphere.docxSharon Liu
 
20230804 Rotated Sphere with new North Pole.docx
20230804 Rotated Sphere with new North Pole.docx20230804 Rotated Sphere with new North Pole.docx
20230804 Rotated Sphere with new North Pole.docxSharon Liu
 
20230802 Horizontal Sphere.docx
20230802 Horizontal Sphere.docx20230802 Horizontal Sphere.docx
20230802 Horizontal Sphere.docxSharon Liu
 
20230727 Upright Sphere from North Pole.docx
20230727 Upright Sphere from North Pole.docx20230727 Upright Sphere from North Pole.docx
20230727 Upright Sphere from North Pole.docxSharon Liu
 

More from Sharon Liu (20)

20240408 Bending Backwards to the Second Step Up.docx
20240408 Bending Backwards to the Second Step Up.docx20240408 Bending Backwards to the Second Step Up.docx
20240408 Bending Backwards to the Second Step Up.docx
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
20240315 ACMJ Diagrams Set 2.docx . With light, motor, coloured light, and se...
20240315 ACMJ Diagrams Set 2.docx . With light, motor, coloured light, and se...20240315 ACMJ Diagrams Set 2.docx . With light, motor, coloured light, and se...
20240315 ACMJ Diagrams Set 2.docx . With light, motor, coloured light, and se...
 
SL CV 20240312.docx . Sharon Xiao Liu's Curriculum Vitae.
SL CV 20240312.docx . Sharon Xiao Liu's Curriculum Vitae.SL CV 20240312.docx . Sharon Xiao Liu's Curriculum Vitae.
SL CV 20240312.docx . Sharon Xiao Liu's Curriculum Vitae.
 
20240308 Jumping from the Fifth step up.docx
20240308 Jumping from the Fifth step up.docx20240308 Jumping from the Fifth step up.docx
20240308 Jumping from the Fifth step up.docx
 
20240206 Rotated Torus and Full Rotated Sphere 45 degrees down 45 left.docx
20240206 Rotated Torus and Full Rotated Sphere 45 degrees down 45 left.docx20240206 Rotated Torus and Full Rotated Sphere 45 degrees down 45 left.docx
20240206 Rotated Torus and Full Rotated Sphere 45 degrees down 45 left.docx
 
20231218 Plan for Two-Footed Jump on Ice.docx
20231218 Plan for Two-Footed Jump on Ice.docx20231218 Plan for Two-Footed Jump on Ice.docx
20231218 Plan for Two-Footed Jump on Ice.docx
 
20231130 Ice skating Unsupported.docx
20231130 Ice skating Unsupported.docx20231130 Ice skating Unsupported.docx
20231130 Ice skating Unsupported.docx
 
20231102 Plan for Ice Skating.docx
20231102 Plan for Ice Skating.docx20231102 Plan for Ice Skating.docx
20231102 Plan for Ice Skating.docx
 
20231017 xy view of Rotated 45 degrees down and 45 left Sphere.docx
20231017 xy view of Rotated 45 degrees down and 45 left Sphere.docx20231017 xy view of Rotated 45 degrees down and 45 left Sphere.docx
20231017 xy view of Rotated 45 degrees down and 45 left Sphere.docx
 
20231006 Sphere rotated 45 degrees down.docx
20231006 Sphere rotated 45 degrees down.docx20231006 Sphere rotated 45 degrees down.docx
20231006 Sphere rotated 45 degrees down.docx
 
20230904 Recycling Clay.docx
20230904 Recycling Clay.docx20230904 Recycling Clay.docx
20230904 Recycling Clay.docx
 
20230831 a of the equator - Rotated sphere.docx
20230831 a of the equator - Rotated sphere.docx20230831 a of the equator - Rotated sphere.docx
20230831 a of the equator - Rotated sphere.docx
 
20230829 Rotated Ellipse.docx
20230829 Rotated Ellipse.docx20230829 Rotated Ellipse.docx
20230829 Rotated Ellipse.docx
 
20230819 Recall Tests.pptx
20230819 Recall Tests.pptx20230819 Recall Tests.pptx
20230819 Recall Tests.pptx
 
20230810 Radial Plot of an Ellipse.docx
20230810 Radial Plot of an Ellipse.docx20230810 Radial Plot of an Ellipse.docx
20230810 Radial Plot of an Ellipse.docx
 
20230809 South Pole of the Rotated Sphere.docx
20230809 South Pole of the Rotated Sphere.docx20230809 South Pole of the Rotated Sphere.docx
20230809 South Pole of the Rotated Sphere.docx
 
20230804 Rotated Sphere with new North Pole.docx
20230804 Rotated Sphere with new North Pole.docx20230804 Rotated Sphere with new North Pole.docx
20230804 Rotated Sphere with new North Pole.docx
 
20230802 Horizontal Sphere.docx
20230802 Horizontal Sphere.docx20230802 Horizontal Sphere.docx
20230802 Horizontal Sphere.docx
 
20230727 Upright Sphere from North Pole.docx
20230727 Upright Sphere from North Pole.docx20230727 Upright Sphere from North Pole.docx
20230727 Upright Sphere from North Pole.docx
 

Recently uploaded

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 

Analyze Text Grammar & Image Outlines

  • 1. <?php //Sharon Xiao Liu //Works out meanings, and also gets it from dictionaries and thesauruses, and a Google search of images. $Input = "The keen child eats the apple."; $Input2 = "The keen child eats the pear."; $InputDictionaryJson = '{ "Child": { "WordType": "Noun", "Definition": "A young person, typically younger than 13." }, "The": { "WordType": "Article", "Definition": "Saying the noun generically applies."}, "Keen": {"WordType": "Adjective"}, "Eats": {"WordType": "Verb"}, "Apple": {"WordType": "Noun"} }'; $InputDictionary = json_decode ($InputDictionaryJson, true); //Don't define "pear". $InputThesaurus = array ("Article", "Adjective", "Noun", "Verb", "Article", "Noun"); /* //Separate into words. $InputSingleSentences = explode (".", $Input); foreach ($InputSingleSentences as $InputSentence) { $SentenceCount++; $InputSingleWords[$SentenceCount][] = explode (" ", $InputSentence); } $ProcessWordsGrammar = $InputSingleWords; foreach ($ProcessWordsGrammar as $SentenceCount2) { foreach ($SentenceCount2 as $ProcessSingleWords) { $InputSingleWord = $ProcessSingleWords; SearchDictionaryForWordType ($InputMatchedWord, $InputDictionary); } } function SearchDictionaryForWord ($InputSingleWord, $InputDictionary) { foreach ($InputDictionary as $InputDictionaryWord) { if ($InputSingleWord == $InputDictionaryWord) { $InputMatchedWord = $InputSingleWord; return $InputMatchedWord; } } } function SearchDictionaryForWordType ($InputMatchedWord, $InputDictionary) { foreach ($InputDictionary as $InputWordEntry) { if ($InputWordEntry == $InputMatchedWord) { $InputWordTypeForMatchedWord = $InputWordEntry[WordType]; return $InputWordTypeForMatchedWord; } } } function IsGrammarRecognised ($InputWordsInSentence, $InputThesaurus) { $InputGrammarPattern = SearchDictionaryForWordType ($InputWordsInSentence); if ($InputGrammarPattern == $InputThesaurus) { return true; } }
  • 2. function FillInMissingWordTypes ($InputWordsInSentence, $InputThesaurus) { if (IsGrammarRecognised($InputWordsInSentence, $InputThesaurus) == true) { $InputRecognisedWordType[] = $InputDictionary[$InputWordsInSentence][WordType]; } else { $InputRecognisedWordType[] = " . "; } $InputStringPCREWordType; $InputArrayGrammarPatterns; foreach ($InputArrayGrammarPatterns as $SingleGrammarPattern) { if (preg_match($InputStringPCREWordType, $SingleGrammarPattern) == true) { $MatchesToSingleGrammarPatterns[] = $SingleGrammarPattern; } print $StringInputWordsInSentence; print_r $MatchesToSingleGrammarPatterns; } } function UpdateDictionary ($StringInputWord, $StringWordType, $InputDictionary) { $InputDictionary[$StringInputWord]["WordType"] = $StringWordType; } function UpdateThesaurus ($StringInputGrammarPattern, $InputThesaurus) { $InputThesaurus[] = $StringInputGrammarPattern; } function InterpretText ($StringInputCorpus, $InputThesaurus, $InputDictionary) { $ArrayInputCorpusSentences = explode (".", $StringInputCorpus); foreach ($ArrayInputCorpusSentences as $StringInputCorpusSentence) { $ArrayInputCorpusWords = explode (" ", $StringInputCorpusSentence); foreach ($ArrayInputCorpusWords as $StringInputCorpusWord) { $InputStringThesaurus = SearchDictionaryForWordType ($StringInputCorpusWord); print_r $ArrayInputCorpusWords; if (IsGrammarRecognised ($InputWordsInSentence, $InputThesaurus) == false) { UpdateThesaurus ($StringInputGrammarPattern, $InputThesaurus); } } } } function GetImageColours () { $imagick = new Imagick (realpath ($imagepath)); global $InputImageColumns = 100; $imagick -> resizeImage ($InputImageColumns, 0, FILTER_UNDEFINED, 0.9, true); $InputImageSize = $imagick -> getImageGeometry (); global $InputImageRows = $InputImageSize ["height"]; for ($IncrementingX = 0, $IncrementingX =<$InputImageColumns, $IncrementingX++) { $IntegerInputXPixel = $IncrementingX; for ($IncrementingY = 0, $IncrementingY =< InputImageRows, $IncrementingY++) { $IntegerInputYPixel = $IncrementingY; $InputPixelColor = $imagick -> getImagePixelColor ($IntegerInputXPixel, $IntegerInputYPixel); $InputStringPixelColor = $InputPixelColor -> getColor(); $InputPixelCoordinates[$IntegerInputXPixel][] = $IntegerInputYPixel; } } $InputPixelErrorTolerance = 50; } function FindCorners ($GLOBALS["InputImageColumns"], $GLOBALS["InputImageRows"]) { $InputStringImageTopLeftCorner = array (0, 0); $InputStringImageTopRightCorner = array ($GLOBALS["InputImageColumns"], 0);
  • 3. $InputStringImageBottomLeftCorner = array (0, $GLOBALS["InputImageRows"]); $InputStringImageBottomRightCorner = array ($GLOBALS["InputImageColumns"], $GLOBALS["InputImageRows"]); } function FindBackgroundColours () { $InputDarkestBackgroundColour = array ("R" => 50, "G" => 50, "B" => 50); $InputRGBFluctuation = 5; if ($R > 50 or $G > 50 or $B > 50) { $BooleanBackgroundColour = true; } if ($R <= $G + 50 or $G <= $R + 50 or $R <= $B + 50 or $B <= $R + 50 or $G <= $B + 50 or $B <= $G + 50) { $BooleanBackgroundColour = true; } // >=. R = 60, G = 10; R = 70, G = 10. // <=. G = 10, R = 50; G = 10, R = 40; R = 50, G = 0. } function FindImageEdges () { if ($NumberXCoordinate == 0 or $NumberYCoordinate == 0 or $NumberXCoordinate == 100 or $NumberYCoordinate == $GLOBALS ["InputImageRows"]) { return true; } } //Scan the image multiple times. function BackgroundPixelTravel () { $ArrayStartPixelCoordinates = FindCorners (); if ($ArrayCurrentPixel == array (0, 0)) { $ArrayNextPixelCoordinatesRight = $XCoordinate + 1; $ArrayNextPixelCoordinatesBottom = $YCoordinate + 1; } elseif ($ArrayCurrentPixel == array (100, 0)) { $ArrayNextPixelCoordinatesLeft = $XCoordinate - 1; $ArrayNextPixelCoordinatesBottom = $YCoordinate + 1; } elseif ($ArrayCurrentPixel == array (0, $GLOBALS["InputImageRows"])) { $ArrayNextPixelCoordinatesRight = $XCoordinate + 1; $ArrayNextPixelCoordinatesUp = $YCoordinate - 1; } elseif ($ArrayCurrentPixel == array (100, $GLOBALS["InputImageRows"])) { $ArrayNextPixelCoordinatesLeft = $XCoordinate - 1; $ArrayNextPixelCoordinatesUp = $YCoordinate - 1; } elseif ($ArrayCurrentPixel [1] == 0) { $ArrayNextPixelCoordinatesLeft = $XCoordinate - 1; $ArrayNextPixelCoordinatesRight = $XCoordinate + 1; $ArrayNextPixelCoordinatesBottom = $YCoordinate + 1; } elseif ($ArrayCurrentPixel [0] == 0) { $ArrayNextPixelCoordinatesRight = $XCoordinate + 1; $ArrayNextPixelCoordinatesUp = $YCoordinate - 1; $ArrayNextPixelCoordinatesDown = $YCoordinate + 1; } elseif ($ArrayCurrentPixel [0] == 100) { $ArrayNextPixelCoordinatesLeft = $XCoordinate - 1; $ArrayNextPixelCoordinatesUp = $YCoordinate - 1; $ArrayNextPixelCoordinatesDown = $YCoordinate + 1; } elseif ($ArrayCurrentPixel [1] = $GLOBALS["InputImageRows"]) { $ArrayNextPixelCoordinatesLeft = $XCoordinate - 1; $ArrayNextPixelCoordinatesRight = $XCoordinate + 1; $ArrayNextPixelCoordinatesUp = $YCoordinate - 1; } else { $ArrayNextPixelCoordinatesLeft = $XCoordinate - 1; $ArrayNextPixelCoordinatesRight = $XCoordinate + 1; $ArrayNextPixelCoordinatesUp = $YCoordinate - 1; $ArrayNextPixelCoordinatesDown = $YCoordinate + 1; } }
  • 4. function NoBackgroundPixelIncludedTwice () { //Do not add to array if the key already exists. if (isset ($ArrayAllBackgroundPixels [$XCoordinate] [$YCoordinate])) { } } function ContiguityOfBackground () { if (FindCorners() and FindBackgroundColours () and BackgroundPixelTravel () == true) { // 1 is background pixel, 0 is silhouette pixel. return $ArrayAllBackgroundPixels; } } function OutlineOfObject () { for ($IncrementingY = 0; $IncrementingY <= $GLOBALS ["InputImageRows"]; $IncrementingY ++) { for ($IncrementingX = 0; $IncrementingX <= 99; $IncrementingX ++) { $CurrentPixel = $ArrayAllBackgroundPixels [$IncrementingX] [$IncrementingY]; $NextPixel = $ArrayAllBackgroundPixels [$IncrementingX + 1] [$IncrementingY]; } } if ($CurrentPixel == 1 and $NextPixel == 0) { $LeftOutlineOfObject [] = $CurrentPixel; } elseif ($CurrentPixel == 0 and $NextPixel == 1) { $RightOutlineOfObject [] = $NextPixel; } //Combine left and right array. $ArrayMainOutlineOfObject = $LeftOutlineOfObject + $RightOutlineOfObject; } function InnerObjectAreasColourTolerance () { FindBackgroundColours (); } function InnerOutlinesOfObject () { OutlineOfObject (); BackgroundPixelTravel (); InnerObjectAreasColourTolerance (); } function AllOutlinesOfObject () { OutlineOfObject (); InnerOutlinesOfObject (); } function PictureDictionaryStorage () { $PictureDictionary = array ($NameOfObjectInImage => $AllOutlinesOfObject); } function RecogniseImages () { AllOutlinesOfObject ($ImageToAnalyse); PictureDictionaryStorage (); TTestScript (); } function ComponentImageOutlines () { //Happens when there are separate outlines, e.g. a ball and a cube. $imagick -> resizeImage (); } function CheckTextGrammar () { InterpretText ();
  • 5. } function MakeUpASentenceWithAMissingWord () { $InputThesaurus; $InputDictionary; InterpretText (); //Remove a random word from the sentence. $NumberOfWordsInGrammarPattern = count ($InputThesaurus); $KeyOfWordToRemove = rand (0, $NumberOfWordsInGrammarPattern - 1); } function NameTheMissingWordForTheObject () { AllOutlinesOfObject (); PictureDictionaryStorage (); } */ ?>
  • 6. } function MakeUpASentenceWithAMissingWord () { $InputThesaurus; $InputDictionary; InterpretText (); //Remove a random word from the sentence. $NumberOfWordsInGrammarPattern = count ($InputThesaurus); $KeyOfWordToRemove = rand (0, $NumberOfWordsInGrammarPattern - 1); } function NameTheMissingWordForTheObject () { AllOutlinesOfObject (); PictureDictionaryStorage (); } */ ?>